diff --git a/.gitattributes b/.gitattributes index a3c95f1c0c..78e7eec301 100644 --- a/.gitattributes +++ b/.gitattributes @@ -152,3 +152,4 @@ research/community-batch1099-audit/** -text -whitespace research/community-frontier1094-audit/** -text -whitespace research/abelian-cayley-metric-scope/** -text research/exact-coarse-exponential/** -text +research/gmx-t74-borrow43-handoff/** -text -whitespace diff --git a/research/gmx-t74-borrow43-handoff/.gitattributes b/research/gmx-t74-borrow43-handoff/.gitattributes new file mode 100644 index 0000000000..fa1385d99a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch b/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch new file mode 100644 index 0000000000..ab97eb8824 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch @@ -0,0 +1,324 @@ +--- inherited/witness.py ++++ t74/witness.py +@@ -53,3 +53,16 @@ + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] ++ ++# Replica-sensitive quantities are frozen by the independently checked parent lift. ++GEO=SPEC['geometry'] ++REPLICAS=GEO['replicas']; CALLS=GEO['stages']*REPLICAS ++assert type(REPLICAS) is int and REPLICAS>0 ++assert (GEO['stages'],GEO['pairs'],GEO['dimension'])==(9,4,73) ++assert set(CALL_ORDER)=={(s,r) for s in range(GEO['stages']) for r in range(REPLICAS)} ++DATA=2*112*GEO['pairs']*REPLICAS ++DEFICIT=DATA-64*CALLS ++PAYLOAD=GEO['charged_prefix_bits'] ++assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length() ++PARENT_LIVE=GEO['parent_live'];PARENT_PHYSICAL=GEO['parent_physical'];PARENT_IDLE=GEO['parent_idle'];PARENT_HELPERS=GEO['parent_helpers'] ++assert PARENT_PHYSICAL==PARENT_LIVE+PARENT_HELPERS+8+2 +--- inherited/emit_allcold.py ++++ t74/emit_allcold.py +@@ -24,8 +24,8 @@ + read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) + assert hashlib.sha256(MAP.read_bytes()).hexdigest()==SPEC['data']['owners_sha256'],'OWNERS not pinned by spec' + plan=read(PLAN);assert plan['runtime_source_plan_sha256']==SPEC['data']['plan_sha256'],'PLAN not pinned by spec' +-call_order=[tuple(x)for x in plan['order']];assert len(call_order)==len(set(call_order))==333;at={x:i for i,x in enumerate(call_order)} +-parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz');t=copy.deepcopy(parent);canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz');ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json');roles=read(MAP);T=37;V=canon['v'];M=73;R0=canon['R'];DATA=8*T*V;assert(V,canon['h'])==(112,9) # R0: parent (split-centres) helper count ++call_order=[tuple(x)for x in plan['order']];assert len(call_order)==len(set(call_order))==CALLS;at={x:i for i,x in enumerate(call_order)} ++parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz');t=copy.deepcopy(parent);canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz');ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json');roles=read(MAP);T=REPLICAS;V=canon['v'];M=73;R0=canon['R'];DATA=8*T*V;assert(V,canon['h'])==(112,9) # R0: parent (split-centres) helper count + assert(len(canon['start']),len(ph['recipes']))==(2*V+R0,V) + sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() + provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +@@ -49,9 +49,9 @@ + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +-assert len(roles)==333*R # one whole-owner role per (call, provider helper) ++assert len(roles)==CALLS*R # one whole-owner role per (call, provider helper) + selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +-assert len(selected)==333 and set(selected)==set(call_order) ++assert len(selected)==CALLS and set(selected)==set(call_order) + assert Counter(c['provider']for c in selected.values())==COUNTS + per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} + for key,c in selected.items(): +@@ -92,7 +92,7 @@ + u=used[i,rep,port];assert u==set(range(len(u)));left=old['rank']-len(u) + if left: + f=rep*(8*V)+(2*pairs[i]+side[i])*V+port;newidle.append(dict(child=i,port=port,replica=rep,replicas=1,family=f,rank=left,hosted=len(u),pending_offset=len(u)));paid[left]+=1 +-assert M*DATA-sum(r*n for r,n in paid.items())==11840 ++assert M*DATA-sum(r*n for r,n in paid.items())==DEFICIT + C=len(canon['centers']);physical=DATA+C+R+2 + assert parent['physical']-parent['live']==C+R0+2 + # Local circuits, exact phase recipes, normalized wrappers and data routes stay +@@ -140,7 +140,7 @@ + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), +- rank_mass=sum(r*n for r,n in paid.items()),deficit=11840,maxchild=max(paid), ++ rank_mass=sum(r*n for r,n in paid.items()),deficit=DEFICIT,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), +--- inherited/audit_allcold.py ++++ t74/audit_allcold.py +@@ -77,10 +77,10 @@ + parent_canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz') + assert [canon['frames'][f]for f in canon['center_frames']]==[parent_canon['frames'][f]for f in parent_canon['center_frames']] + assert required_artifacts<=set(summary['source_artifacts']) +-prank={e['child']:e['rank']for e in parent['idle_children']};M=73;T=37;DATA=8*T*V;PHYSICAL=DATA+CENTRES+R+2;CALLS=333;HOSTED=CALLS*R ++prank={e['child']:e['rank']for e in parent['idle_children']};M=73;T=REPLICAS;DATA=8*T*V;PHYSICAL=DATA+CENTRES+R+2;CALLS=CALLS;HOSTED=CALLS*R + # The selected map is an input to check, not a claim from the emitter. + +-assert len(DISPATCH)==333 and Counter(DISPATCH.values())==COUNTS ++assert len(DISPATCH)==CALLS and Counter(DISPATCH.values())==COUNTS + expected_provider=lambda stage,replica:DISPATCH[stage,replica] + + def orthobasis(port): +@@ -93,23 +93,23 @@ + assert(t['live'],t['physical'])==(DATA,PHYSICAL) + assert t['local_providers']==registry and t['recipe']==parent['recipe']and 'each local invocation completes before the next' in t['loop_order'].lower() + assert not any(k in t for k in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256')) +- assert len(t['calls'])==333 and t['hosting']['max_helpers_per_physical_family_per_call']==1 and t['hosting']['banks']==[0]*9 ++ assert len(t['calls'])==CALLS and t['hosting']['max_helpers_per_physical_family_per_call']==1 and t['hosting']['banks']==[0]*9 + for key in('exact_data_phase_recipe_sha256','adapter_policy'):assert t[key]==parent[key] + assert t['exact_data_phase_recipe_sha256']==sha(BASE/'work/complex-nine-native/DATA-PHASES.json') + # Independently project the literal schedule onto every data replica. + src=parent['execution_schedule'];assert t['async_schedule']['source_schedule']==src + assert t['async_schedule']['source_call_order']==[[c['stage'],c['replica']]for c in parent['calls']] + order=[(c['stage'],c['replica'])for c in t['calls']] +- assert [list(x)for x in order]==t['async_schedule']['order'] and len(set(order))==333 +- all_local=[];perrep={r:[]for r in range(37)};globals_=[] ++ assert [list(x)for x in order]==t['async_schedule']['order'] and len(set(order))==CALLS ++ all_local=[];perrep={r:[]for r in range(REPLICAS)};globals_=[] + for e in t['execution_schedule']: + j=e['source_event'];old=copy.deepcopy(src[j]) + if 'replica'in e: +- r=e['replica'];assert 0<=r<37 and j<30;perrep[r].append(j) ++ r=e['replica'];assert 0<=r2*max(paid)**2 +- return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=333) ++ mass=sum(r*n for r,n in paid.items());assert73=73*DATA-mass;assert assert73==DEFICIT and 73**2>2*max(paid)**2 ++ return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=CALLS) + + r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] + assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +@@ -228,11 +228,11 @@ + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +-report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=11840,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') ++report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') + REPORT.parent.mkdir(parents=True,exist_ok=True) + REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +-owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=11840,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) ++owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) + (REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + + # Literal residual frames are a compact export of the already checked offsets, +--- inherited/invoice_allcold.py ++++ t74/invoice_allcold.py +@@ -195,7 +195,7 @@ + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] +- stages,replicas,blocks_per_stream=9,37,4 ++ stages,replicas,blocks_per_stream=GEO['stages'],REPLICAS,GEO['pairs'] + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] +@@ -238,6 +238,8 @@ + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] ++ assert (parent_live,parent_physical,sum(c['replicas'] for c in parent['idle_children']))==(PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE) ++ assert parent_helpers==PARENT_HELPERS + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages +@@ -250,7 +252,7 @@ + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] +- assert m*live-mass==owners['deficit']==11840 ++ assert m*live-mass==owners['deficit']==DEFICIT + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] +@@ -260,7 +262,7 @@ + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) +- used=max(rebased,parent_pervertex); retained=None; payload=1024 ++ used=max(rebased,parent_pervertex); retained=None; payload=PAYLOAD + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==512 +@@ -313,7 +315,7 @@ + complete_invocation_cover_sweeps=call_count,bridge_factor_two_sweeps=bridge_sweeps, + local_scalar_coefficient_work_prefix_bits=localbits,stream_input_sup_to_l2_bits=input_l2_bits, + primitive_arithmetic_margin_bits=4,controller_audit_sha256=filehash(audit/'ASYNC-AUDIT.json'), +- proof='Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 333 invocation and 333 bridge sweeps and take the maximum local scalar/Horner prefix over both orientations of the fixed provider. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional.') ++ proof='Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum every actual invocation and bridge sweep and take the maximum local scalar/Horner prefix over both orientations of the fixed provider. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional.') + out.mkdir(parents=True,exist_ok=True) + (out/'PREFIX-AND-INVOICE.json').write_text(json.dumps(receipt,indent=2)+'\n') + (out/'GLOBAL-PREFIX.json').write_text(json.dumps(prefix,indent=2)+'\n') +--- inherited/assemble.py ++++ t74/assemble.py +@@ -27,7 +27,7 @@ + M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] + def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +-from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths ++from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths,GEO,REPLICAS,CALLS,DATA,DEFICIT,PAYLOAD,PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE,PARENT_HELPERS + # Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). + BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' + BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +@@ -63,14 +63,14 @@ + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) +- assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==333*R==pin('expected.hosted_residuals',owner['hosted_residuals']) ++ assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==CALLS*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) +- assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==333 ++ assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==CALLS + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 +- assert invoice['physical_stock_identity']==dict(data_and_owner_families=33152,local_helpers=R,private_centres=8,coefficient_work=2) ++ assert invoice['physical_stock_identity']==dict(data_and_owner_families=DATA,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): +@@ -106,9 +106,9 @@ + assert p['compiler']==64*74**3 + assert p['local_adapters']==16*(max(z['macros']for z in p['local'].values())+p['children']+2*112+R+8)+64*73 + assert p['local_primitive_bound']==max(z['real_component_primitives']for z in p['local'].values())+p['local_adapters']*p['compiler'] +- calls=invoice['selected_calls'];assert len(calls)==333 ++ calls=invoice['selected_calls'];assert len(calls)==CALLS + assert [(c['stage'],c['replica'])for c in calls]==CALL_ORDER +- assert {(c['stage'],c['replica']) for c in calls}=={(s,r) for s in range(9) for r in range(37)} ++ assert {(c['stage'],c['replica']) for c in calls}=={(s,r) for s in range(9) for r in range(REPLICAS)} + for c in calls: + pid=DISPATCH[c['stage'],c['replica']] + assert c['provider_id']==pid +@@ -138,13 +138,13 @@ + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. +- parent_live,parent_physical,parent_idle=55832,56346,74592 +- parent_banks,rem=divmod(parent_live-2*112*4*37,9);assert rem==0 and parent_physical==parent_live+504+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored ++ parent_live,parent_physical,parent_idle=PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE ++ parent_banks,rem=divmod(parent_live-2*112*4*REPLICAS,9);assert rem==0 and parent_physical==parent_live+PARENT_HELPERS+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored + assert owner['source_idle_children_charged']==parent_idle +- bridges,shifts=2*112*333,4*112*37;moves=2*shifts +- nonlocal_items=(4*112*37*9+2*112*37*9+2*333*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) ++ bridges,shifts=2*112*CALLS,4*112*REPLICAS;moves=2*shifts ++ nonlocal_items=(4*112*REPLICAS*9+2*112*REPLICAS*9+2*CALLS*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 +- pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(333*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) ++ pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(CALLS*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) +@@ -160,9 +160,9 @@ + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) +@@ -185,7 +185,7 @@ + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] +- pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==11840 ++ pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==DEFICIT + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 +@@ -200,14 +200,14 @@ + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) +- conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,11840,True) ++ conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,DEFICIT,True) + assert bit['bit']['two_level_coefficient_bits']0 +- ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+1024)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+1024) ++ ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+PAYLOAD)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+PAYLOAD) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} +@@ -222,7 +222,7 @@ + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. +- native_moments=check_moment('complex',H,73,owner['live'],b,11840,False) ++ native_moments=check_moment('complex',H,73,owner['live'],b,DEFICIT,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 +@@ -231,7 +231,7 @@ + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) +- return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with 37 replicas. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') ++ return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') + if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() +--- inherited/assembly_controls.py ++++ t74/assembly_controls.py +@@ -58,7 +58,7 @@ + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' +- i['global_prefix_bits'] = 1 + 37 + 333 + 333 + 4 ++ i['global_prefix_bits'] = 1 + 37 + CALLS + CALLS + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] diff --git a/research/gmx-t74-borrow43-handoff/CLAIM.json b/research/gmx-t74-borrow43-handoff/CLAIM.json new file mode 100644 index 0000000000..efb3da2b76 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/CLAIM.json @@ -0,0 +1,20 @@ +{ + "status": "PASS_T74_PIVOT566_KERNEL_WITH_ENDPOINT_AND_OUTER_REFINEMENT_COMPLETE_FINITE_ADMISSION", + "kappa": "536158975503888965243406363091635938178299829199530433741472401188333588047308297175492878462510409441011373760059680751713826913931276745409988252463133090441356137095784622372764767597533201795626919516200184060596654301087998638101833634499386979416924681392201897282563799325707695546991284913908333187741761683555114784483949036158391060528366988511987097706919989396961265317530800167373182021630735445152178817055773833777585135823492886204170659914204100907818750284010315254536876679575625040033294023735764239335219725960301173329143340329159526155855629412256814876054981122448929798915196956785499433522236541437715931484733902305717742980720886857501346795715095011140154933704013414973285412018413459885049715653713158471358650059004059921507090500727429450704278394754906821546258861150239350416803299101120866398415298424028123409536103195850830793217629332203495902288499562127823314275402021855111659626163170340199273517380377083335992480126285939038994596557666488920172487603802865685449082358971785819436243924779188267597179671970532786512411712832478858129106029947817634886511152157491154844143173206737210208944707754495756806128734309407013012184626834216587745204584806539718215307850136052082355785452704446043787510615701773703961047100838578043725088823243819102253925254808648576375510768809178397495489214826932399684134356955743182413213734767976086398801784209144008735449050978646539370420551851593495953156475097174638156996630033776775981790669603221340146188828746241755608407385431874503136820593207667819294568020345734939820460360847497236121948267846231075954610367608740351765194866735053247758288026669033085504995980064855915859216514629468232300136002151488966100793654366962213688850651987645845470647338618436485816118113315256035872510102281055427593917101691948890922225010356261401114641359774668807221080476439614759195316685973812219228124753472078123846557667133011454122103764316281434955485031188086898031450590661468277488952163771473345368090534631183442827869320177863197356410723550974209796289428762689292721073186270948042621138372703673909592421630186532325977750020816786594214564539473922019146417929299850226108686626655767810392526713781151893253308291535119836723653875306600323545011257568133719520308850231113234865319756031836250833881751985218689218484356517274065596527397461946545538562054908635925681072322283445729874290596472413195145757495840785505228846805461615159520087363625072503526417331782382632418412268825539063333329757780192270682148301813262418832280680515722943529185034908854777999877360361003268717743337967582949739510492958175978333030290059148459851933103856694503486555053220522763275251668254560557467572221700745165208690485732001123916227564482404270049622702726047561155323171301581493817519071623970640620065386612943294397154779321795432727493616663250038048676819010360310169964273685852835788227866719723018572797041682637704762081281234196395795140219466535078494998562709071844093797/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017157087216124446887789003618932350021705594534384973879727116838026674817513865509615772110800333102112363960321909784054842461245800855853119624078820258894123396387065107915928472563121062457460061424518405889939092937634815956419258676303980383341341589804550460713042041578422646257503721117245066662007736373873763673103486369157068513936907743632383587126621439660702760490160985605355941824692183534244869722145784762680882724346351772358533461117254531229050200009088330088145180053746420001281065408759544455658727031230729637546532586890533104836987380141192218076033759395918365753565286302617135981872711569326006909807511484873782967775383068379440043097462883040356484957878528429279145133184589230716321590900918821071083476801888129917488226896023277742422536908632157018289480283556807659213337705571235867724749289549568899949105155302267226585382964138630511868873231985988090346056812864699363573108037221450886376752556172066666751759364041150049247827089845327645445519603321691701934370635487097146221959805592934024563109749503057049168397174810639323460131392958330164316368356869039716955012581542615590726686230648143864217796119497901024416389908058694930807846546713809270982889851204353666635385134486542273401200339702456758526753507226834497399202842343802211272125608153876754444016344601893708719855654874461836789892299422583781837222839512575234764761657094692608279534369631316689259853457659250991870501007203109588421023892161080856831417301427303082884678042519879736179469036333819984100378258982645370217426176651063518074254731547119911555902344571079394430547531763479691256486235735521703928265216853409058736159871362075389307494928468142983433604352068847646915225396939742790838043220863604667055060714835789967546115779626088193147920323272993773683005347254142364509511200331400364835668523512789401831074575246067672294250133951161991015299992111106499963089845348256366531907320458121005918575520998018780737006418901166984879646469240687147051778897108197870170491818245691622315405143153631174713481261720406057367074341960670337363876427926517565106957492165969034431288000666137171014866065263165504612685373737595207235477972052984569932560854840996860584105865329123834775156924009811210353440360242180279024649883207395623515690232193018760026684216063526998054991499408552770099088876718782289457233985757076349621794314313070263355977299087117222244664239866905136167323097774771685104642795636002320112845354617036244237389192602417250026666552248966152661828745658024397402632981776503134192933921117083352895996075531552104598967786814962654391664335774661631306656969281892750715261859323414224111569761703056728424808053384145937838962311094423845286678095543424035965319282063436936641587926487233521956970341481650607802160610291967060499842092371614185420708952938297453847279795733224001217557658208331529925438856757947290745223291735031136594329505333844406552386600999494284665444487022929122511839954006690299011001504", + "baseline_pr": 2824, + "baseline_kappa": "0.00171779516003201210740699999999999999", + "outer_refinement": { + "grid_digits": 2995, + "margin_digits": 3005, + "bootstrap_steps": 1116, + "endpoint_digits": 3000 + }, + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim.", + "verification": "Producer-local checks: the six pre-life hostings (482<-273, 483<-275, 494<-289, 495<-291, 507<-305, 519<-321; new/borrow/inputs/prelife_43*.json) with 78 re-derived-cleanup tamper controls per word, the one-gate frame refit refit563_43*.json with its un-refit control, the retired-lender alias 653<-563 (alias1_43*.json) with re-derived-cleanup controls and an exhaustive alias enumeration, the PR2478/PR2508 guards; the new exact owner fill (construction search in new/borrow-fill/search/, checked literally by reconstruct.py); fresh native replays, PLAN rebind, strict discovery, SPEC refreeze, certified 1e-3000 endpoints, exact outer witness, regenerated ledger (63 strict rows, 17 rejecting controls), independent derivation, and the private-buffer stock accounting. The complete proof is the publisher's run of verify_release.py.", + "gain_over_claimed_leader": "8.62277E-7", + "kappa_layers": "CLAIM.json kappa / kappa_decimal is the supplier-only kappa: the strict supplier assembly under its own (older) outer witness, new/SPEC.json expected.kappa. The headline conditional kappa of this package is the outer ledger kappa in outer/OUTER-CLAIM.json (= outer/LEDGER.json), obtained by re-evaluating the same supplier endpoint under the fine-prime-padding outer at the fixed-grid maximum; it is the number compared with the baseline.", + "supplier_only_kappa_exceeds_baseline": false, + "headline_kappa_exceeds_baseline": true, + "headline_kappa_source": "outer/OUTER-CLAIM.json" +} diff --git a/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json b/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json new file mode 100644 index 0000000000..dba20d7169 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json @@ -0,0 +1 @@ +{"dispatch":{"extra":417,"gauge44":249},"helpers_per_call":408,"idle":{"1":17316,"3":6527,"48":26625,"5":9546,"9":1},"roles":271728,"scope":"Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.","status":"PASS_EXACT_BORROW_WORD_T74_OWNER_FILL"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/DISPATCH.json b/research/gmx-t74-borrow43-handoff/DISPATCH.json new file mode 100644 index 0000000000..ae7b0d48c0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[0,5,"extra"],[0,6,"extra"],[0,7,"extra"],[0,8,"extra"],[1,0,"extra"],[0,9,"extra"],[1,1,"extra"],[0,10,"extra"],[1,2,"extra"],[2,0,"extra"],[0,11,"extra"],[1,3,"extra"],[2,1,"extra"],[0,12,"extra"],[1,4,"extra"],[2,2,"extra"],[0,13,"extra"],[3,0,"extra"],[1,5,"extra"],[2,3,"extra"],[0,14,"extra"],[3,1,"extra"],[1,6,"extra"],[2,4,"extra"],[0,15,"extra"],[3,2,"extra"],[1,7,"extra"],[2,5,"extra"],[0,16,"extra"],[3,3,"extra"],[1,8,"extra"],[2,6,"extra"],[0,17,"extra"],[3,4,"extra"],[1,9,"extra"],[2,7,"extra"],[0,18,"extra"],[3,5,"extra"],[1,10,"extra"],[2,8,"extra"],[0,19,"extra"],[3,6,"extra"],[1,11,"extra"],[2,9,"extra"],[0,20,"extra"],[3,7,"extra"],[1,12,"extra"],[2,10,"extra"],[0,21,"extra"],[3,8,"extra"],[1,13,"extra"],[2,11,"extra"],[4,0,"extra"],[0,22,"extra"],[3,9,"extra"],[1,14,"extra"],[2,12,"extra"],[4,1,"extra"],[0,23,"extra"],[3,10,"extra"],[1,15,"extra"],[2,13,"extra"],[4,2,"extra"],[0,24,"extra"],[3,11,"extra"],[1,16,"extra"],[2,14,"extra"],[4,3,"extra"],[0,25,"extra"],[3,12,"extra"],[5,0,"extra"],[1,17,"extra"],[2,15,"extra"],[4,4,"extra"],[0,26,"extra"],[3,13,"extra"],[5,1,"extra"],[1,18,"extra"],[2,16,"extra"],[4,5,"extra"],[0,27,"extra"],[3,14,"extra"],[5,2,"extra"],[1,19,"extra"],[2,17,"extra"],[4,6,"extra"],[0,28,"extra"],[3,15,"extra"],[5,3,"extra"],[1,20,"extra"],[2,18,"extra"],[4,7,"extra"],[0,29,"extra"],[3,16,"extra"],[5,4,"extra"],[6,0,"extra"],[1,21,"extra"],[2,19,"extra"],[4,8,"extra"],[0,30,"extra"],[3,17,"extra"],[5,5,"extra"],[6,1,"extra"],[1,22,"extra"],[2,20,"extra"],[4,9,"extra"],[0,31,"extra"],[3,18,"extra"],[5,6,"extra"],[6,2,"extra"],[1,23,"extra"],[2,21,"extra"],[4,10,"extra"],[0,32,"extra"],[3,19,"extra"],[5,7,"extra"],[6,3,"extra"],[1,24,"extra"],[2,22,"extra"],[4,11,"extra"],[0,33,"extra"],[3,20,"extra"],[5,8,"extra"],[6,4,"extra"],[7,0,"extra"],[1,25,"extra"],[2,23,"extra"],[4,12,"extra"],[0,34,"extra"],[3,21,"extra"],[5,9,"extra"],[6,5,"extra"],[7,1,"extra"],[1,26,"extra"],[2,24,"extra"],[4,13,"extra"],[0,35,"extra"],[3,22,"extra"],[5,10,"extra"],[6,6,"extra"],[7,2,"extra"],[1,27,"extra"],[2,25,"extra"],[4,14,"extra"],[0,36,"extra"],[3,23,"extra"],[5,11,"extra"],[6,7,"extra"],[7,3,"extra"],[1,28,"extra"],[2,26,"extra"],[4,15,"extra"],[0,37,"extra"],[3,24,"extra"],[5,12,"extra"],[6,8,"extra"],[7,4,"extra"],[8,0,"extra"],[1,29,"extra"],[2,27,"extra"],[4,16,"extra"],[0,38,"extra"],[3,25,"extra"],[5,13,"extra"],[6,9,"extra"],[7,5,"extra"],[8,1,"extra"],[1,30,"extra"],[2,28,"extra"],[4,17,"extra"],[0,39,"extra"],[3,26,"extra"],[5,14,"extra"],[6,10,"extra"],[7,6,"extra"],[8,2,"extra"],[1,31,"extra"],[2,29,"extra"],[4,18,"extra"],[0,40,"extra"],[3,27,"extra"],[5,15,"extra"],[6,11,"extra"],[7,7,"extra"],[8,3,"extra"],[1,32,"extra"],[2,30,"extra"],[4,19,"extra"],[0,41,"extra"],[3,28,"extra"],[5,16,"extra"],[6,12,"extra"],[7,8,"extra"],[8,4,"extra"],[1,33,"extra"],[2,31,"extra"],[4,20,"extra"],[0,42,"extra"],[3,29,"gauge44"],[5,17,"extra"],[6,13,"extra"],[7,9,"extra"],[8,5,"gauge44"],[1,34,"extra"],[2,32,"extra"],[4,21,"extra"],[0,43,"extra"],[3,30,"gauge44"],[5,18,"extra"],[6,14,"extra"],[7,10,"gauge44"],[8,6,"gauge44"],[1,35,"extra"],[2,33,"gauge44"],[4,22,"extra"],[0,44,"extra"],[3,31,"gauge44"],[5,19,"gauge44"],[6,15,"gauge44"],[7,11,"gauge44"],[8,7,"gauge44"],[1,36,"extra"],[2,34,"gauge44"],[4,23,"extra"],[0,45,"extra"],[3,32,"gauge44"],[5,20,"gauge44"],[6,16,"gauge44"],[7,12,"gauge44"],[8,8,"gauge44"],[1,37,"extra"],[2,35,"gauge44"],[4,24,"gauge44"],[0,46,"extra"],[3,33,"gauge44"],[5,21,"gauge44"],[6,17,"gauge44"],[7,13,"gauge44"],[8,9,"gauge44"],[1,38,"extra"],[2,36,"gauge44"],[4,25,"gauge44"],[0,47,"extra"],[3,34,"gauge44"],[5,22,"gauge44"],[6,18,"gauge44"],[7,14,"gauge44"],[8,10,"gauge44"],[1,39,"extra"],[2,37,"extra"],[4,26,"gauge44"],[0,48,"extra"],[3,35,"gauge44"],[5,23,"gauge44"],[6,19,"gauge44"],[7,15,"gauge44"],[8,11,"gauge44"],[1,40,"extra"],[2,38,"extra"],[4,27,"gauge44"],[0,49,"extra"],[3,36,"gauge44"],[5,24,"gauge44"],[6,20,"gauge44"],[7,16,"gauge44"],[8,12,"gauge44"],[1,41,"extra"],[2,39,"extra"],[4,28,"gauge44"],[0,50,"extra"],[3,37,"extra"],[5,25,"gauge44"],[6,21,"gauge44"],[7,17,"gauge44"],[8,13,"gauge44"],[1,42,"extra"],[2,40,"extra"],[4,29,"gauge44"],[0,51,"extra"],[3,38,"extra"],[5,26,"gauge44"],[6,22,"gauge44"],[7,18,"gauge44"],[8,14,"gauge44"],[1,43,"extra"],[2,41,"extra"],[4,30,"gauge44"],[0,52,"extra"],[3,39,"extra"],[5,27,"gauge44"],[6,23,"gauge44"],[7,19,"gauge44"],[8,15,"gauge44"],[1,44,"extra"],[2,42,"extra"],[4,31,"gauge44"],[0,53,"extra"],[3,40,"extra"],[5,28,"gauge44"],[6,24,"gauge44"],[7,20,"gauge44"],[8,16,"gauge44"],[1,45,"extra"],[2,43,"extra"],[4,32,"gauge44"],[0,54,"extra"],[3,41,"extra"],[5,29,"gauge44"],[6,25,"gauge44"],[7,21,"gauge44"],[8,17,"gauge44"],[1,46,"extra"],[2,44,"extra"],[4,33,"gauge44"],[0,55,"extra"],[3,42,"extra"],[5,30,"gauge44"],[6,26,"gauge44"],[7,22,"gauge44"],[8,18,"gauge44"],[1,47,"extra"],[2,45,"extra"],[4,34,"gauge44"],[0,56,"extra"],[3,43,"extra"],[5,31,"gauge44"],[6,27,"gauge44"],[7,23,"gauge44"],[8,19,"gauge44"],[1,48,"extra"],[2,46,"extra"],[4,35,"gauge44"],[0,57,"extra"],[3,44,"extra"],[5,32,"gauge44"],[6,28,"gauge44"],[7,24,"gauge44"],[8,20,"gauge44"],[1,49,"extra"],[2,47,"extra"],[4,36,"gauge44"],[0,58,"extra"],[3,45,"extra"],[5,33,"gauge44"],[6,29,"gauge44"],[7,25,"gauge44"],[8,21,"gauge44"],[1,50,"extra"],[2,48,"extra"],[4,37,"extra"],[0,59,"extra"],[3,46,"extra"],[5,34,"gauge44"],[6,30,"gauge44"],[7,26,"gauge44"],[8,22,"gauge44"],[1,51,"extra"],[2,49,"extra"],[4,38,"extra"],[0,60,"extra"],[3,47,"extra"],[5,35,"gauge44"],[6,31,"gauge44"],[7,27,"gauge44"],[8,23,"gauge44"],[1,52,"extra"],[2,50,"extra"],[4,39,"extra"],[0,61,"extra"],[3,48,"extra"],[5,36,"gauge44"],[6,32,"gauge44"],[7,28,"gauge44"],[8,24,"gauge44"],[1,53,"extra"],[2,51,"extra"],[4,40,"extra"],[0,62,"extra"],[3,49,"extra"],[5,37,"extra"],[6,33,"gauge44"],[7,29,"gauge44"],[8,25,"gauge44"],[1,54,"extra"],[2,52,"extra"],[4,41,"extra"],[0,63,"extra"],[3,50,"extra"],[5,38,"extra"],[6,34,"gauge44"],[7,30,"gauge44"],[8,26,"gauge44"],[1,55,"extra"],[2,53,"extra"],[4,42,"extra"],[0,64,"extra"],[3,51,"extra"],[5,39,"extra"],[6,35,"gauge44"],[7,31,"gauge44"],[8,27,"gauge44"],[1,56,"extra"],[2,54,"extra"],[4,43,"extra"],[0,65,"extra"],[3,52,"extra"],[5,40,"extra"],[6,36,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[1,57,"extra"],[2,55,"extra"],[4,44,"extra"],[0,66,"extra"],[3,53,"extra"],[5,41,"extra"],[6,37,"extra"],[7,33,"gauge44"],[8,29,"gauge44"],[1,58,"extra"],[2,56,"extra"],[4,45,"extra"],[0,67,"extra"],[3,54,"extra"],[5,42,"extra"],[6,38,"extra"],[7,34,"gauge44"],[8,30,"gauge44"],[1,59,"extra"],[2,57,"extra"],[4,46,"extra"],[0,68,"extra"],[3,55,"extra"],[5,43,"extra"],[6,39,"extra"],[7,35,"gauge44"],[8,31,"gauge44"],[1,60,"extra"],[2,58,"extra"],[4,47,"extra"],[0,69,"extra"],[3,56,"extra"],[5,44,"extra"],[6,40,"extra"],[7,36,"gauge44"],[8,32,"gauge44"],[1,61,"extra"],[2,59,"extra"],[4,48,"extra"],[0,70,"extra"],[3,57,"extra"],[5,45,"extra"],[6,41,"extra"],[7,37,"extra"],[8,33,"gauge44"],[1,62,"extra"],[2,60,"extra"],[4,49,"extra"],[0,71,"extra"],[3,58,"extra"],[5,46,"extra"],[6,42,"extra"],[7,38,"extra"],[8,34,"gauge44"],[1,63,"extra"],[2,61,"extra"],[4,50,"extra"],[0,72,"extra"],[3,59,"extra"],[5,47,"extra"],[6,43,"extra"],[7,39,"extra"],[8,35,"gauge44"],[1,64,"extra"],[2,62,"extra"],[4,51,"extra"],[0,73,"extra"],[3,60,"extra"],[5,48,"extra"],[6,44,"extra"],[7,40,"extra"],[8,36,"gauge44"],[1,65,"extra"],[2,63,"extra"],[4,52,"extra"],[3,61,"extra"],[5,49,"extra"],[6,45,"extra"],[7,41,"extra"],[8,37,"extra"],[1,66,"extra"],[2,64,"extra"],[4,53,"extra"],[3,62,"extra"],[5,50,"extra"],[6,46,"extra"],[7,42,"extra"],[8,38,"extra"],[1,67,"extra"],[2,65,"extra"],[4,54,"extra"],[3,63,"extra"],[5,51,"extra"],[6,47,"extra"],[7,43,"extra"],[8,39,"extra"],[1,68,"extra"],[2,66,"extra"],[4,55,"extra"],[3,64,"extra"],[5,52,"extra"],[6,48,"extra"],[7,44,"extra"],[8,40,"extra"],[1,69,"extra"],[2,67,"extra"],[4,56,"extra"],[3,65,"gauge44"],[5,53,"extra"],[6,49,"extra"],[7,45,"extra"],[8,41,"extra"],[1,70,"extra"],[2,68,"extra"],[4,57,"extra"],[3,66,"gauge44"],[5,54,"extra"],[6,50,"extra"],[7,46,"extra"],[8,42,"gauge44"],[1,71,"extra"],[2,69,"extra"],[4,58,"extra"],[3,67,"gauge44"],[5,55,"extra"],[6,51,"extra"],[7,47,"gauge44"],[8,43,"gauge44"],[1,72,"extra"],[2,70,"gauge44"],[4,59,"extra"],[3,68,"gauge44"],[5,56,"gauge44"],[6,52,"gauge44"],[7,48,"gauge44"],[8,44,"gauge44"],[1,73,"extra"],[2,71,"gauge44"],[4,60,"extra"],[3,69,"gauge44"],[5,57,"gauge44"],[6,53,"gauge44"],[7,49,"gauge44"],[8,45,"gauge44"],[2,72,"gauge44"],[4,61,"gauge44"],[3,70,"gauge44"],[5,58,"gauge44"],[6,54,"gauge44"],[7,50,"gauge44"],[8,46,"gauge44"],[2,73,"gauge44"],[4,62,"gauge44"],[3,71,"gauge44"],[5,59,"gauge44"],[6,55,"gauge44"],[7,51,"gauge44"],[8,47,"gauge44"],[4,63,"gauge44"],[3,72,"gauge44"],[5,60,"gauge44"],[6,56,"gauge44"],[7,52,"gauge44"],[8,48,"gauge44"],[4,64,"gauge44"],[3,73,"gauge44"],[5,61,"gauge44"],[6,57,"gauge44"],[7,53,"gauge44"],[8,49,"gauge44"],[4,65,"gauge44"],[5,62,"gauge44"],[6,58,"gauge44"],[7,54,"gauge44"],[8,50,"gauge44"],[4,66,"gauge44"],[5,63,"gauge44"],[6,59,"gauge44"],[7,55,"gauge44"],[8,51,"gauge44"],[4,67,"gauge44"],[5,64,"gauge44"],[6,60,"gauge44"],[7,56,"gauge44"],[8,52,"gauge44"],[4,68,"gauge44"],[5,65,"gauge44"],[6,61,"gauge44"],[7,57,"gauge44"],[8,53,"gauge44"],[4,69,"gauge44"],[5,66,"gauge44"],[6,62,"gauge44"],[7,58,"gauge44"],[8,54,"gauge44"],[4,70,"gauge44"],[5,67,"gauge44"],[6,63,"gauge44"],[7,59,"gauge44"],[8,55,"gauge44"],[4,71,"gauge44"],[5,68,"gauge44"],[6,64,"gauge44"],[7,60,"gauge44"],[8,56,"gauge44"],[4,72,"gauge44"],[5,69,"gauge44"],[6,65,"gauge44"],[7,61,"gauge44"],[8,57,"gauge44"],[4,73,"gauge44"],[5,70,"gauge44"],[6,66,"gauge44"],[7,62,"gauge44"],[8,58,"gauge44"],[5,71,"gauge44"],[6,67,"gauge44"],[7,63,"gauge44"],[8,59,"gauge44"],[5,72,"gauge44"],[6,68,"gauge44"],[7,64,"gauge44"],[8,60,"gauge44"],[5,73,"gauge44"],[6,69,"gauge44"],[7,65,"gauge44"],[8,61,"gauge44"],[6,70,"gauge44"],[7,66,"gauge44"],[8,62,"gauge44"],[6,71,"gauge44"],[7,67,"gauge44"],[8,63,"gauge44"],[6,72,"gauge44"],[7,68,"gauge44"],[8,64,"gauge44"],[6,73,"gauge44"],[7,69,"gauge44"],[8,65,"gauge44"],[7,70,"gauge44"],[8,66,"gauge44"],[7,71,"gauge44"],[8,67,"gauge44"],[7,72,"gauge44"],[8,68,"gauge44"],[7,73,"gauge44"],[8,69,"gauge44"],[8,70,"gauge44"],[8,71,"gauge44"],[8,72,"gauge44"],[8,73,"gauge44"]] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json b/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json new file mode 100644 index 0000000000..56b7fbd4dd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json @@ -0,0 +1,14 @@ +{ + "kind": "SOURCE_BOUND_EXACT_ARITHMETIC_CALLER_DERIVATION", + "parent_manifest_sha256": "cbcd17c5733b59095049523737688be15289bd784df008ebcb607b111b4b54d5", + "original_caller_sha256": "bbca8ecc6590696b98a78462912e39a3309a5f61e790510ebf717f706e3bad52", + "derived_caller_sha256": "058f45a12d4fa48d8a40ef68b546f7443dd6c59cb8ad57e75b8cdb4122b09243", + "adapter_sha256": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "adapter_origin": "PR2168 research/exact-coarse-exponential/integer_exp.py @ e3cd8375f6cd26393914e8395fff0d813e7031df (dataisfire)", + "changed_source_files": [ + "code/assemble.py" + ], + "added_source_files": [ + "code/exact_coarse.py" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz b/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..5327fc2f4e Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/MANIFEST.json b/research/gmx-t74-borrow43-handoff/MANIFEST.json new file mode 100644 index 0000000000..1bdfa4cada --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/MANIFEST.json @@ -0,0 +1,543 @@ +{ + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "ADMISSION-DERIVATION.patch": "7021000d75635fc5806af821640c02f9d7cbbbe1cf314dacfcc743fc6875fdd8", + "audit_fast.py": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "audit_mixed.py": "2286f00e462ff28abbb3f396095463482a1e063213b9526a7225275980c77eaf", + "CLAIM.json": "94fced945b1171e97c3ac7c71f819a5ba6c5230c10ef0b15556482990b46b368", + "code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "code/assembly_controls.py": "d7675ff0b0994b29541d37eaa3010c5f39bb1447700c9f8e750522bf8c951f56", + "code/audit_allcold.py": "fa3488b62efdf8a0c37de0ca0caba587b4b036c5f068e002eb04c71c12b9e9b4", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "549603ca6d28b163a43b2dfaaaa788161c73d7952ab9190289407caca5418c71", + "code/exact_coarse.py": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "code/fine_cache.py": "89282a83ab102893a4fc1e663ad2137d891d81e843b1c9ea140d13e58b7c7dbd", + "code/fine_mercator.py": "6cf29658b5c1618de4aae8bd49d6d890be06d57ead1ad0f2d41bc8d25cc578d3", + "code/fine_moment.py": "bdfc492be6a663b219d76beff444db14bd67bb53c7c8ec4086ab0f56e48323c0", + "code/freeze_spec.py": "e9132a9d195c66123f2747a17f7ef404b4d1e3ef6263ab4c28c983a052cf10bd", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/lemmag_checks.py": "cc753c5953e58f5900ce580ece8f814a352d672bcee6d4566c7dd52647912393", + "code/lemmag_stage.py": "5158e1e95e46b3119de9f4add7d849c8ad2d2dd92b17a79b0f93b86e7d4e6049", + "code/oracle_check.py": "4836046db4bec939515a5a272559f92192b56612b98f635910fd81ea754ce2e1", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/pyc_guard.py": "1def35bd093a7b3893c1cf410301d875435a2a7a096b42f49ecb060ed2a61f0e", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "CONSTRUCTION.json": "07c8c640de821978b6d2945100e2492ea7a6c006baa6b7b7585bbcb3b7f3eba9", + "DISPATCH.json": "2d178ebfbf3147d1f844897c779d151e04a0b9f480cbf57b76add4a24b8858ee", + "evidence/ADMISSION-CONTROLS.json": "5cdefeff2516a67c4dd60e609019b3e2e38eb3d43142df2d3c7ed9a6822d5050", + "evidence/ASSEMBLY.json": "5d9eb1ce551386024b5b6894836f81ed03a83d2e0c0bd0e02e3f6410a596bb2c", + "evidence/BIT-CONTROLS.json": "d74d9d2ba363c3709e9a3b33abf6d14abd6b9c68d950b35b7669d8e6edefa59e", + "evidence/FULL-ADMISSION.json": "cda48de718d060b8ca329f1254f4f999a5a5bade5cecabb265f0a9bef1135089", + "evidence/GEOMETRY-CONTROLS.json": "13a50b2f2448931ca302a55e5839c082f651331f20402448fe6ff29d1eb2f481", + "evidence/INDEPENDENT.json": "7150546e840e859268c40c11c2c79ba4fd646fc632fced68e3c19355b292fa61", + "evidence/OUTER-DISCOVERY.json": "413ef3e9eb1c3ff680cff1e600dc7160afda228e0b6b021c1a4e4a37ee486cc1", + "evidence/pr1377/CLAIM.json": "cd089b08077e0151b9ed917a5c33aa7aa6b0de790bd9567442531b48729da8d3", + "evidence/pr1377/PROOF-NOTE.md": "dafd8286b1c9224ed6f50bf71bc34b77918323b936ea7427a4b71c3b644b2264", + "evidence/pr1377/RELEASE.json": "a4fa2ca0f79a11dcdc3227ad16a408d4d22d83b7401c894cb0e31eb2c9c5f7df", + "evidence/pr1377/RESULT.json": "1cdadc74fef4cddeb2bae5e32fff7bc27456740150440ae8fda8822f569c2492", + "evidence/REGRESSION37-CONTROLS.json": "0196ae228d583f2bac3c42d3576a8d378fe622592e377c4c1921b5ae81351854", + "EXACT-ARITHMETIC-DERIVATION.json": "c0d40deaa495a7365e91aa5d9e6a846f91e0cb6daff98bb3b7f2acef84d64ec4", + "freeze_spec.py": "1d965b7a329b98008fcc67e73d03dcf6e75f0f33c2858a39f1182bb3d0ed0ea1", + "geometry_controls.py": "7edb4732b34e5814b27650a55c938626cb50d68f06397744dd4fe451437e90e0", + "GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "independent_core.py": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "inputs/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "lift_parent.py": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "new/borrow/alias1_controls.py": "f4cc82312af891ea48956d9953a061196a8c3b113ef6d81e5848fe95745147b2", + "new/borrow/alias_build.py": "40b97536c8347733eaae24a3c4a13f5d21711e983106454777837be487959f1b", + "new/borrow/alias_enumerate.py": "7324f2569e6b76981d8c964a16ff9a3bc9e770e41b9cc6ec1c9defe8e662c153", + "new/borrow/audit_local.diff": "202f6f2032552eba069b9ec7e33b729d4af2ffc20974a9e82e444d906d7137b4", + "new/borrow/audit_local.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "new/borrow/borrow_controls.py": "07fbbf8e2f06df063dc9d88e5e4f721222a9fcf30b983bf9127cd5aa4b611627", + "new/borrow/build_word.py": "40047409dd9f9c406bb37a2ed0b4c8159797e0e4a114d525a368355418128707", + "new/borrow/emit_word.py": "a057ed0c81fbb07dabf38247e0ce0cec6c5fbfa31d8bf1b38838bd3758e41f87", + "new/borrow/guard_cut_centres.py": "5df204597697756808e6c959f5bba81cf35a2f0e7a0f1f75748dca1814373b72", + "new/borrow/guard_helper_indices.py": "d93aeb2d51d77ca93ecbf9e566d9000bb436c279e2a25b699a867e9697f782fd", + "new/borrow/inputs/alias1_43base.json": "2c5b5491da4b3e8a8356fd42a12a8fc8b2c9b4b0b20c4adc4e273ba217230e11", + "new/borrow/inputs/alias1_43extra.json": "0a54f41f886bf4f61fa620c65725373be905524ce906e5e95d501890de783179", + "new/borrow/inputs/alias8_43base.json": "3b91dd5a0d1b297a48e278b45903e073c5cefb23f22921f6a738bcbbf21e521f", + "new/borrow/inputs/alias8_43extra.json": "3ab265a33750a229a9201c2baff45ad91f1bef556879306d2fb743f5290cab31", + "new/borrow/inputs/blocks.json": "ddfac1dae1fe7cc0a91e7c7205c6d9d0c07c682880aa34eed83bf4ad7384da9f", + "new/borrow/inputs/dirtentry_43base.json": "a067f7138f23eed6434286e7bd53548c86a7eef58c654374b778b4f424e9ffef", + "new/borrow/inputs/dirtentry_43extra.json": "8280fafb4642389ae91989e870ece7c9f2bffa38c9b52f2424b8abf489ba71f8", + "new/borrow/inputs/entrance_43base.json": "1b3c09f9558c50e7f299aa10fb21dcbd1b5ff397794838d8629c80d4c7a565f5", + "new/borrow/inputs/entrance_43extra.json": "e57ec67fa0a3fca63bf9e4bb9edf4e6be48db0bd7c9e092cddad29b26b897463", + "new/borrow/inputs/extra.canonical.json.gz": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "new/borrow/inputs/gauge44.canonical.json.gz": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "new/borrow/inputs/handoff_43base.json": "5ae3062bcce666c8c3a3a650e345adf15c22a2800fa0e17d79ad6e8b97208a2f", + "new/borrow/inputs/handoff_43extra.json": "4238a7c5093a4347fe69adf4f76e507d2f43c4e727d91b2c4705039e1cbaa06a", + "new/borrow/inputs/kernel_43base.json": "7f06b4b08a49192a27e8f4132ad0c93521dad90f97ca985a173944ba02c5442b", + "new/borrow/inputs/kernel_43extra.json": "ef95eae03915f0222bcd486959c6dfe307a9a0a856702420fa35491abfae4c84", + "new/borrow/inputs/lowfour_43base.json": "a8df0a2acf85e96febb35d24ae047c370d179095b46142bae968f06348bf1c18", + "new/borrow/inputs/lowfour_43extra.json": "9dbfb49fb3c04a0652dcae9a962d973489679f5d1ee2baf4e65c58d2e8ef578c", + "new/borrow/inputs/prelife_43base.json": "ec43328c198094c0e8b37cf93de0210d2ba0397ed20dcaec1f1d121ffa5cdb69", + "new/borrow/inputs/prelife_43extra.json": "a7fc8362edaf33de314bebc400bcda6a6cc345ac6ca86220e1f53ae43cbc8600", + "new/borrow/inputs/refit563_43base.json": "4ba6d0fe6f5f03095821f1080f1cceb97204a3189ab0e48092e1cbccb1d7ceae", + "new/borrow/inputs/refit563_43extra.json": "4ba6d0fe6f5f03095821f1080f1cceb97204a3189ab0e48092e1cbccb1d7ceae", + "new/borrow/inputs/refit_43base.json": "19a97e80b0ee3146e0244e6bc36bd365d89e9c1cd0f885c4e06be4193606a323", + "new/borrow/inputs/refit_43extra.json": "1349d54f704847fdcd4a00e323cdc9e1118fac7fedb0c7573e9b2b3f0169a7eb", + "new/borrow/inputs/retired7_43base.json": "74daf5826d9191be4613a61447f4dc12789190fb49a3219f6a9df63075cac1e1", + "new/borrow/inputs/retired7_43extra.json": "25d9774b512da78f042287ce1de91c79c8658d06488b8fe94e548cbdd036f034", + "new/borrow/inputs/twelve_43base.json": "ee268c45a9c768a6a4cecf401cd4446cebb042e67d69e5fb6d078934d5a49498", + "new/borrow/inputs/twelve_43extra.json": "4ff1d00714d0dfacf95b89778f6c1abb113877f8c9880c01a06d0f30998756ee", + "new/borrow/inputs/witness_43_base.json": "65ee52604e2e49a30c1e978b7ce829482a694a20a8744f37b9bf40dad1ff3a2e", + "new/borrow/inputs/witness_43_extra.json": "19c652db80d5215c958c63b5d6f2de96d9cf34a0e4d56dab5c13e556c57f7467", + "new/borrow/lowfour_controls.py": "b1484a0ab1ad5f87a71b8e48ee8c5ba7604835acfe2b841b6f13cbd12f32e344", + "new/borrow/prelife/results/gap-base.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/gap-extra.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/prelo-base.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/prelo-extra.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/tryE-base.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/results/tryE-extra.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/search/chains.py": "588d6cdb2312febfee5f3d576295f2edff53ca74c14d21ed9bffed3312dfa32c", + "new/borrow/prelife/search/edit.py": "8e5eea35d0bb83aa60bd066ae9ddf3f4b0ad46cf9ac9d31d8fc5777f49013713", + "new/borrow/prelife/search/fm.py": "36174e2b7e012726964282af926fdf541332556bcc548af5b41502cdb8b198e2", + "new/borrow/prelife/search/gapbound.py": "a0fa0fbd079a456bf5f9b75352eb68c4b7e2febad0c99e66b7553bdc744772c8", + "new/borrow/prelife/search/mk1.py": "4bab66a4e1514a067572c7854731a4fbd29681300e95a4384fdb68e0eb140575", + "new/borrow/prelife/search/prelife2.py": "db1fc5eea7bd70066188d7c7f52cf4be8991e61b821d3fe4b779ee30c7f3c9eb", + "new/borrow/prelife/search/prelo.py": "157dc45b5fcc421d26507d6d7fca6d4caeff6c73efcd679fd28e906f600ea886", + "new/borrow/prelife/search/propbound.py": "735cd4d1a6a43c96f397eb5ae2972e86ab71c2c232e6d14ac6cbf1eb7f638c1c", + "new/borrow/prelife/search/repair2.py": "410ddd6f9b3e14be6b9247cc5792d1a893175e843a0c21bf667e71a6e3a9710f", + "new/borrow/prelife/search/tryE.py": "130a859c0ad20623943b25800dd2f1d0355cf03b8520fc493ec870baa010b2ae", + "new/borrow/prelife/search/wordmodel.py": "215e678d3f3711b4291f9da5d7937cdbb0b091390bba089e6949b8c42a29f6f4", + "new/borrow/prelife_controls.py": "c24398bdc407aaf6713201100d27ba851233525a9dfd747b641d99e1cde66cba", + "new/borrow/receipts/AUDIT-43base-pinned.json": "8dc6daa8929c1137c1e37fa5a1bf869afafe94c3e65ed2705ea9f41f2dc8cee8", + "new/borrow/receipts/AUDIT-43base-prekernel.json": "fb6f40a1d117bd304cc0757ac21915bd8558e8d3f31b8709129f395033fc534e", + "new/borrow/receipts/AUDIT-43base.json": "07b8a4836fe2659d0d46957ed0973ba3334f6752b5c1235d03b961a107fb95d5", + "new/borrow/receipts/AUDIT-43extra-pinned.json": "4176a6190fb1a224d45797064cde2aa758970bce7c1ed2a009ecb2fc7839d26e", + "new/borrow/receipts/AUDIT-43extra-prekernel.json": "09041e49888a1360b7ddee29d54d82836a875ecb6547c7ad1eb92427e7f3b384", + "new/borrow/receipts/AUDIT-43extra.json": "a01ae6847449ddb88c56fa8e44d10bc0b005f1b24daa283d38ba00089d8f89f2", + "new/borrow/receipts/CONTROLS-43base.json": "02b73bfbf72c63926ebb244bbd6bf87a03201ee1487e2c15292ad52684fb4d69", + "new/borrow/receipts/CONTROLS-43extra.json": "f8b93901ef5b4810bb39a7b5ccdc62497612c2efba67920a8d6119ae8a898126", + "new/borrow/receipts/CONTROLS-KERNEL-43base.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-KERNEL-43extra.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-LOWFOUR-43base.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/refit/results/pairs-base.json": "8178d2a34be82601f2361afbc63b37294255a435b243e65295bf7b641edfc4a3", + "new/borrow/refit/results/pairs-extra.json": "3a64b6ace504a5d410a4cfd87ae2fc04576df61883ce56e3f7eb38d4b26df8af", + "new/borrow/refit/search/bounds.py": "690986e69e3125723b12255cc5aa135fceec93894d589eb196ab7fa5da37e9fb", + "new/borrow/refit/search/eval1.py": "0547e606468ad4670512ea83fb3d6e7f39fda9b66537fdf791ad22a3bf4aeeee", + "new/borrow/refit/search/mkcand.py": "c5b437f6a991de674bd781d610d98a43d9f84179beb1187340354e55f42ceaa4", + "new/borrow/refit/search/pairs.py": "7922404bf942eff2dda0125b78ff1234bfdfda5101ff428b11f8a5ed73ce4882", + "new/borrow/refit/search/refit.py": "c036d0d4cc91360e583a7ed01d6c69c17a69f16c5838062c2b9de83a616d2e23", + "new/borrow/refit/search/why.py": "209a95a62a95c06138f0b5af2d1dd1f9c60c403c4da294d39663928c2312425e", + "new/borrow/word_patch.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "new/borrow/words/BORROW-WORD-43base.json.gz": "dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac", + "new/borrow-fill/DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "new/borrow-fill/FILL.json.gz": "0cb7522e071ff064ada2efec169e23a2fe7d3daf928eec6ba752b166cffb3468", + "new/borrow-fill/ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "new/borrow-fill/search/agg.py": "267a66287336b72731b897508073dae1a7c85fa72cd86093a7340ddfc12af04c", + "new/borrow-fill/search/base74.py": "acc99c57730fe50f88538e4061e7165a7f278ed7499728c24b0522d479be8b8c", + "new/borrow-fill/search/ceil74.py": "99df541abe458fb6154755d9c67066b2ba0430b06f879a7b5a43e30618f4c1d7", + "new/borrow-fill/search/evac.py": "7c6ce4e8aa9833a9d451c5d4b891bbd1927315bcbf112d3c15845f0ede2d9dc3", + "new/borrow-fill/search/fillbase.py": "4fc6fa920d8703ccec860bee0e1187a0a8b1e37b245789256f7a4d01ae8a2b00", + "new/borrow-fill/search/inv.py": "eec279ea8e8d9d1dccc2733a88129351678c73fb51f06a4604a9c1da1d771387", + "new/borrow-fill/search/lattice.py": "8f2ee194fa4992d1f45394b09b5151ec699b28e4c950b9d40b826f33cbb635ba", + "new/borrow-fill/search/lnstime.py": "3a1ff558f10b0b935389137627359f875ca484717ffa3ced7de8d8b588836755", + "new/BORROW-PROVIDERS.json": "3666edf67d61b01336e58166ec9edebd72902cc37a2da693b05691ab2a387cda", + "new/CHAIN.json": "f18804a71bef7005e892b0b7baac818d5362fff685fe5b5aadfe8de6e442446d", + "new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/code/borrow/bw_audit_local.py": "6bc8a07942a027a52ede46521f6b5dab755643eb693efc7dcb829496050fde09", + "new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/EDITS-1.json": "dffa640c04d71111d3e4bdd7f5a991450ba07049a1d434edeef84791c0cc2d05", + "new/EDITS.json": "d5f9a0444dddcccd35c0217f60dbd6863486241629a747c3bbe4140b3d55eea1", + "new/extra-word-566.json.gz": "cd417b904408c221d9840d08faff8af040cc4207f9804284f2f5375d21298a62", + "new/fastnative/.gitattributes": "92e5734dbb86fb8958622e6dcea5895601800a24b0722ef86220322449a44ff8", + "new/fastnative/benchmark.py": "3e544453c89310281d745a37e861cbd79065b1740d90f1ec883fc200b189a557", + "new/fastnative/common.py": "8f04e08b99a370fa82115fc46fbb3af4ab44f4facd47de07b01e1a2499a94914", + "new/fastnative/compare.py": "ebf877a6f47ef1fd2b797fd6077bd45d132d8cb56ab7553044bae3d86e238e45", + "new/fastnative/controls.py": "03131f4dc6a1830f10e35fb837ada456f060ca510994d250c5c2666a6342c23a", + "new/fastnative/evidence/BENCHMARK.json": "9b192c5697514c7b36b709d0e5506915425ca61f24af0210e2508d7b1bdb295f", + "new/fastnative/evidence/COVERAGE.json": "8bead250cc97614528d9448dfd29529bf08605daa5e8007e701038ab317e00f6", + "new/fastnative/evidence/REGISTERED.log": "78a49def69d0465f4318b9e24613246ba5fb6de19441e54b88fb50dfe823f149", + "new/fastnative/evidence/VALIDATION.json": "d265ce16251effd6b5d3b7429f31f98cd385fe79f659cfa24a2820bc17ac70dd", + "new/fastnative/EXPECTED.json": "8d45fba81564631f9f8614e637b9fbe69dc911b4e2f0b77f0a7071f39cfd7ca8", + "new/fastnative/fixtures/WORD-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "new/fastnative/fixtures/WORD-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "new/fastnative/FRESHNESS.json": "92abf8c25be59ff71a90781f38c5db2f9176c623df046a6d0e2327fd0235cb6c", + "new/fastnative/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "new/fastnative/NATIVE-LINEAGE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "new/fastnative/PINS.json": "f619e8e1c163078fb70c6fc3b98a498a671b8c02927b91d6cc253af2a775b6c9", + "new/fastnative/README.md": "6a2026383804606cd7981e087192b3488c674f2d9443ec218dcb2e85d06406dc", + "new/fastnative/requirements.txt": "a23aaf94250a9f53031a592980142245a848e2372b6c6c3093e8260b129265b8", + "new/fastnative/run_native.py": "a7bfe110fe5098f6ef8bde3c43ecf15e8d1e06149abf7321a4c945383dcc2627", + "new/fastnative/SOURCE-PROVENANCE.json": "8daf4fc7c75db99d34641152682208ce6c974f50d509960d0f4fa021f862abee", + "new/fastnative/SOURCES.json": "3599ed28c8d8a9ce096bc13507b066d09e3968587781748b2bc72f634618331b", + "new/fastnative/stage.py": "3cce27dd5a359ebc4dc70d4aab994aee52bc0a12e59db7da3f902257f876cffe", + "new/fastnative/TASK.json": "8159b49d5c73dd887d432a4680dc947f63e7158a01a66d7736ff7138e8149732", + "new/fastnative/vendor/accelerators/SPARSE-NOTICE.md": "3da80a5155c625bff907a42a82c65bfcf92854d2c960bcea4537c19c99efd4f2", + "new/fastnative/vendor/accelerators/SPARSE-PROOF.md": "d73e4522602404caba8e7f247005a45c8a8cd26ffd2a70d65f4f9556a391d053", + "new/fastnative/vendor/accelerators/sparse_state.py": "e91210ecd5085cf9add872f40bb434806838da488e12152c63c86e51fb5a7a37", + "new/fastnative/vendor/accelerators/tables.py": "2fe087ba4558bd21ca49945dbedaa4047e4170e8fd4e2280701bb2f0481811b5", + "new/fastnative/vendor/native/new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py": "08d5864d9b77902fc5ab5a062a8ea843fe1e572243b8c580abb0a421b2e46d07", + "new/fastnative/vendor/native/new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/fastnative/vendor/native/new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/fastnative/vendor/native/new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/fastnative/vendor/native/new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/fastnative/vendor/native/new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/fastnative/vendor/native/new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/fastnative/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/fastnative/vendor/native/new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/fastnative/VERIFY.json": "e46542b70296c039b5bea0c0aa9cfd4e95e1df8859e67885ed3403bea9da7b32", + "new/fastnative/verify.py": "6dbdc56ca6cfde987869e12990a495d7eded78dd1887fb3fdf2d196060220fcc", + "new/gauge44-word-566.json.gz": "eeb6a236ed0ea8873b8800947d0cd19c36a6fcfdf857fc42913cb45cd984f219", + "new/pivotcheck.py": "6eb1752f077df108c908974413fc71abc751356b07c6e650e75d2075f1a51391", + "new/PLAN.json": "fe48f2a29535cfae3b0889170b87ebc1384eeeef9ab635a901929f9a40a2c95b", + "new/PROFILE.json": "69a5c98958d196e61d158c856392c9587363ee47d2c8665081e4688795c1f2b0", + "new/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "new/rebuild.py": "7391a7228d6b5afc2f88afd5d5a987565d78a100386c1f03b8696bcde2e8ef3e", + "new/rebuild_borrow.py": "a65079e5ea9553a150879898b5ab9cecb01c1be19247c20461c97211988c1ef3", + "new/rebuild_chain.py": "3a5739f94f0fea1aa267e7d12e1c986210e483c841a8855e11020128a017510f", + "new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/SPEC.json": "85635e7f1ceff706fe43c9eda5bb8847e6273b4d7509b119114e39684b0ddbdf", + "new/steps/0/extra.json.gz": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "new/steps/0/gauge44.json.gz": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "new/unpin_spec.py": "03901dbb881fa608b6540a0541b26311dd4bab23bd8768e9ed48b8b355e1b36b", + "NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "ORDER.json": "30856f042860e5b5c613357b236ff643f107d7d70e2c64eb5fcaaa09bf81a90d", + "outer/B.json": "73be46ba298e18a9849354345bc9aea956cfb35db47dc279230e7237d323e729", + "outer/check_fine_padding.py": "a0ae691251cc50ba20b7f23f89fffaed802d62f9192a441131476914a5bdfae8", + "outer/check_gaugefree.py": "f8d49739d3f5819a62f9862a624dab7bebb019f3d8ab949524cb9bbf58d3ef66", + "outer/check_ledger.py": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "outer/CLASSICAL-BOUNDARY.md": "6647d5a71d9f6c3f628ac71a7be2e63bcb0cac9618cd4fee7493dcc4ef02529a", + "outer/FINE-PADDING-COMPOSITION.md": "d20d8e5f84a9e33cc9996f875be06c24c74ea53874cc76564953785ff29c5c6c", + "outer/GAUGEFREE-INTERIORS.md": "ebeb7fa53dca671e45b3a3dedf4603607d19461bbeb977445bf5e17bbdb25db8", + "outer/INDEPENDENT.json": "1f76d5f31d69fda9d677788321e2d0f6fb7b057159a0a55525d327d7dc0019bb", + "outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "outer/LEDGER.json": "bfd5abdc0c933f7391d1a43ea01a22a304e0b4f66cd038cfeb5973dbb319017e", + "outer/OUTER-CLAIM.json": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "outer/PROOF-GRID-MAX.md": "19dc50ad398993d156f9366fc752321a88a7337dc016c00b0d5a53eceff93cf6", + "outer/RECT-BOUNDARY.md": "17ece1cc1eb4a02df4d8433e3612231768633e6674d315acbcf880f36e30bdc7", + "outer/replay_evidence.py": "d3bdcfc8ce29865b3a76d64d99b5177e73fe994a2eb915f35fa233c5ab81df65", + "outer/RETUNED-SLACKS.md": "d87beb3869fb60143c2c3872d7c427ee16174aa51b5e6f42689312fbd40d3d42", + "outer/run_outer.py": "9d5dc0a7ea38973ce52a1cda02d311c235bc7c39c4d20921d5811cab1a57ef8c", + "outer/sched_review.py": "f440a57f1f46119ee8c2934c8f0d618ca1c85c73cda8cfb8453c2aa1b9fc40fb", + "outer/sched_test.py": "f96d09b5990931e3df8cea291520bf17c424215748cd9ec068214c58309a21c8", + "outer/struct_check.py": "f1df92bb6247034a22e141dcb39c1e8b6b9df6eb9791493be25a3911f7add8d4", + "outer/STRUCTURED-BOUNDARY.md": "ceef915be6462a8ad81449eefb86bf4d97db6ac41c87660e9dd7cfd2c2bc1efa", + "outer/UNION-SCHEDULE.md": "bc8e9cf7c178bb39b092ab5aafc4eeb523e72b1f69639bfcb9f27d0f74109357", + "OWNERS.json.gz": "25e70226d625ec6222f9436332fb8f4a82664f71cb6e5af0e056d0d32ca76baa", + "PARENT-LIFT-RECEIPT.json": "787db0b6f847cb03ff9b71246aba6e702ad3ab8e2fbbcb7dff9f51b8a8a783e8", + "PLAN.json": "5345bbb91255a3229000ef154daab7d6dcb31c98aadeac9d5dac748a58cc5c44", + "PRICE.json": "c5ec535fd9edbdec7b64edd5a8b862edb1a7f173d411dacb279172659573e16a", + "PROFILE.json": "dafbfc76552e3b0c5d6f29bbf5bbafe5602149d3a3f8e35d5c316741e7eff64a", + "README.md": "b794473b965406360e7732f0e86b66fbcf8e91bc16632330ada8e1150f2ddb62", + "reconstruct.py": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "RELEASE.json": "034e061609a987eb6275787e74b3b775ef0782a277bb26e2ca664f61b2863e55", + "replay.py": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "requirements.txt": "255a2ee4a60637759d4d5c89448c55849153e81ec1d1383555c6697784d9dc97", + "SOURCE-PIN-REFINEMENT.json": "8c0bad79978decd6f8aba0932c0a94c7f61c64bf9ce5a19a36f67cc1390bf74f", + "SOURCE-PIN.json": "66faac1fd4e79bb6d9fc774fd8ba63522ad3309456be1c81405794b284c55c83", + "SPEC.json": "81676590c26018aa95082e3252f394ac99c61c0c4e5578f59501401700e38033", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/audit_mixed.py": "7466461cc15cbb12135d94f2d904d4e90e78cbf4755d0293ab9bd55e3568d4b0", + "vendor/pr1297/build_word.py": "ff08af2851b4813c113ef63113566cbd79625e9310611292913d51be554b5aa9", + "vendor/pr1297/CLAIM.json": "bc9e90a475333b957a8c4eae8b950988caea89e20e9b44a919e83415fb76b1b8", + "vendor/pr1297/COMPOSITION.json": "6fb74e73fd298b356402eb2fbcd625463b2fa540a6be4ef2d6335ddfa31d70f6", + "vendor/pr1297/construct.py": "71aff454291d4a35068c43dbb65c00ff511f48e91ab7cdada462833f04ac73e3", + "vendor/pr1297/CONSTRUCTION.json": "fb5f74f59c89b93c63ec47e32e2c9264658e115d1f21eed3eceefec7dc7a0cde", + "vendor/pr1297/CONTROL-SITES-base.json": "b41361f5a2f6ab3d223c146269c8027a0537f1a6e3c963f28cf1ebbe05c5d7e2", + "vendor/pr1297/CONTROL-SITES-extra.json": "f1aada769389ec410b41bc9e2082826bb916b8332c915ee9e07045135c30393b", + "vendor/pr1297/controls.py": "935cf39ed6601eb6ac411b7b1a4adf5d4238589cad9fd5969d7dca967ace4c4b", + "vendor/pr1297/DEPENDENCIES.json": "9c9fff3ac059da4d4e2f13e655afb9e42ada1a57987f5b47b68dda4b64797966", + "vendor/pr1297/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "vendor/pr1297/EXACT-RELATIONS.json": "6864f378d917d0ecfd8cd53cc26303217ebb48f47f2987bbc01cf1e2c9a28093", + "vendor/pr1297/extra-word.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "vendor/pr1297/freeze_spec.py": "0f5c8ad43180a633a2cbbd11f7832729039402c68f593679552c43a1693d69fa", + "vendor/pr1297/gauge44-word.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "vendor/pr1297/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/pr1297/INDEPENDENT-DERIVATION.patch": "6b3af098ec1c9e2360a366933eb7fbf0e16ebb37d43809d26b275e66fb5ee779", + "vendor/pr1297/independent_core.py": "d1dcd5593a05cf647b485db38891984f829abea5f95c6cc91e37d554bf163d48", + "vendor/pr1297/inputs/base.json.gz": "b87c706d14a7e1972514ee901002a930908073811ef38761def31c8e36351916", + "vendor/pr1297/inputs/extra.json.gz": "ded6903e00deb9e158fa700b03ccc9b8bfaae6c8bad8ca4842f0ad9b963234ab", + "vendor/pr1297/KERNEL-CONTROLS-base.json": "cbe755333f469a1f01258b65f2b273763212dba6642edabfb58f7490f326abda", + "vendor/pr1297/KERNEL-CONTROLS-extra.json": "cf255deb866ecaefca4b6ecb72f105d6b08dc8ea907a8381d45aedc39b2022cf", + "vendor/pr1297/kernel543_controls.py": "ac16d605e773197e3664643d40b36c15a7130a45e95e36bfe7b42d939644367c", + "vendor/pr1297/kernel_controls.py": "436e3f3d9974da7c1968ef99fdde5ad203a61544d8195493e3150eb25869f4dc", + "vendor/pr1297/MANIFEST.json": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "vendor/pr1297/MAPPED-RECIPE.json": "09aca649da97a37116262827cbd3ebe0addcd2b1a33c08e8347f3daf3394176a", + "vendor/pr1297/NATIVE-VALIDATION.json": "755b7087e0ae964c538e9378311e07dba2867c16b568d1bf6ae9051657f9f5cb", + "vendor/pr1297/NOTICE": "b352129a07fc8693f57c77cbb0ea92230b2fa77439f86c9f35b828213f9c42db", + "vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/pr1297/premise/inputs/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "vendor/pr1297/premise/premise_check.py": "28a7f881a988b29b8ed3c927dd142ac3d4ee273dedab3a65bb02c01a64eb2639", + "vendor/pr1297/premise/verify_1049.py": "a1736324c6db161733d8e11f608defd87b7f97cacd611203d22499e4c7de5545", + "vendor/pr1297/PRICE.json": "e19f9f9e70e4fda2bc4a39fae93ea44555945cdaea59728864c5a44dcc5522e6", + "vendor/pr1297/PROFILE.json": "d9bbe0d73ba005749615915a2d884819a6b141e3402d9e7f87f4592a2d27af99", + "vendor/pr1297/README.md": "102ac7f080c1799aaedd5345ffb3631845215e8ab770e2af34750c25f667686d", + "vendor/pr1297/RECIPE-base.json.gz": "0f2db2c658e9732fdd1aeb7bbbb5c786d6045de8a2575b7654b9e6fddc71b03d", + "vendor/pr1297/RECIPE-extra.json.gz": "9e6f58570b0a8f9e8271bfbc73a339fce42f1cf28bf14d4db93f246b8f63a3c9", + "vendor/pr1297/replay.py": "d3ea7c2e74ff6df9d14969f994eaa85f825372cee92dafb77bec4767edb242e7", + "vendor/pr1297/SEARCH-RESULT.json": "7cdacadcbbf83b81f9f91668fcc707f8a238c6025f35a8bdc36758619c2591c4", + "vendor/pr1297/search_relations.py": "58f3bd092cb8592a070d7879918ff318a658a6fa02bfad7b5b8f4cb0fe16691c", + "vendor/pr1297/SOURCE-PIN.json": "e93f303f4de383757e50d612ada5e379533d46737a32281aa6879fb4b6138e09", + "vendor/pr1297/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "vendor/pr1297/upstream-layout.tar.gz": "a0cc229bb0fc9ab8ee5c14d5de87b3de31d1fcb793e99192c9cdc63781e794a0", + "vendor/pr1297/UPSTREAM-NOTICE.md": "b97fb4731e84aef736c58a9c126334eb5b8d3a057a8d9d45b4ffff24af65c38b", + "vendor/pr1297/VALIDATION.json": "1008f637a22f954ee774920a8362931ca7cfed63ca146e725768c0f39803c0a5", + "vendor/pr1297/vendor/pr1193/audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "vendor/pr1297/vendor/pr1193/build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "vendor/pr1297/vendor/pr1193/CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "vendor/pr1297/vendor/pr1193/common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "vendor/pr1297/vendor/pr1193/construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "vendor/pr1297/vendor/pr1193/controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "vendor/pr1297/vendor/pr1193/controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "vendor/pr1297/vendor/pr1193/data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "vendor/pr1297/vendor/pr1193/data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "vendor/pr1297/vendor/pr1193/data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/vendor/pr1193/data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "vendor/pr1297/vendor/pr1193/data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "vendor/pr1297/vendor/pr1193/evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "vendor/pr1297/vendor/pr1193/evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "vendor/pr1297/vendor/pr1193/evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "vendor/pr1297/vendor/pr1193/local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "vendor/pr1297/vendor/pr1193/MANIFEST.json": "4837d070679d9e70218c7cfa2d3e70d7d742a5b74dc66d224840b1a3a4ac4a31", + "vendor/pr1297/vendor/pr1193/native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "vendor/pr1297/vendor/pr1193/NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "vendor/pr1297/vendor/pr1193/package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "vendor/pr1297/vendor/pr1193/prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "vendor/pr1297/vendor/pr1193/price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1297/vendor/pr1193/PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "vendor/pr1297/vendor/pr1193/README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "vendor/pr1297/vendor/pr1193/SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1297/vendor/pr1193/verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29", + "vendor/pr1297/verify.py": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "vendor/pr1297/x54_controls.py": "82f91b81be9173dca546345dbdaddfc71e6d21e626fb84a8b4d1b4ba0d673814", + "vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "vendor/pr1673/capped-phase-fusion/MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "vendor/pr1673/capped-phase-fusion/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json": "298f1eaf79b5d5d57cb96fb3abb422174b78c31c14491a878f6176431d731d04", + "vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "vendor/pr1673/capped-phase-fusion/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "vendor/pr1673/capped-phase-fusion/README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "vendor/pr1673/capped-phase-fusion/TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "vendor/pr1673/capped-phase-fusion/VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "vendor/pr1673/capped-phase-fusion/verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "vendor/pr1786/FINE-PRIME-PADDING.md": "47d1b1b4df28aadda3cd6bdeb1fbc47290595e9208cd09c1a1f338520d33fdce", + "vendor/pr1786/NOTICE.md": "dcc1adb2461aa93ca62b6a912dbd8b215599e6af8053dfbacb7423b544dd659a", + "verify.py": "c52149ed10c0cae4950c92cef0edc38f382c5cc74cf66c5eeeebb7191b4bc0a0", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_release.py": "c43680a2da390f79925547a5ee1919d8a76637cccf98e2c8164b6f667fbc3183" +} diff --git a/research/gmx-t74-borrow43-handoff/NOTICE b/research/gmx-t74-borrow43-handoff/NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/gmx-t74-borrow43-handoff/ORDER.json b/research/gmx-t74-borrow43-handoff/ORDER.json new file mode 100644 index 0000000000..9ee137518b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[1,0],[0,9],[1,1],[0,10],[1,2],[2,0],[0,11],[1,3],[2,1],[0,12],[1,4],[2,2],[0,13],[3,0],[1,5],[2,3],[0,14],[3,1],[1,6],[2,4],[0,15],[3,2],[1,7],[2,5],[0,16],[3,3],[1,8],[2,6],[0,17],[3,4],[1,9],[2,7],[0,18],[3,5],[1,10],[2,8],[0,19],[3,6],[1,11],[2,9],[0,20],[3,7],[1,12],[2,10],[0,21],[3,8],[1,13],[2,11],[4,0],[0,22],[3,9],[1,14],[2,12],[4,1],[0,23],[3,10],[1,15],[2,13],[4,2],[0,24],[3,11],[1,16],[2,14],[4,3],[0,25],[3,12],[5,0],[1,17],[2,15],[4,4],[0,26],[3,13],[5,1],[1,18],[2,16],[4,5],[0,27],[3,14],[5,2],[1,19],[2,17],[4,6],[0,28],[3,15],[5,3],[1,20],[2,18],[4,7],[0,29],[3,16],[5,4],[6,0],[1,21],[2,19],[4,8],[0,30],[3,17],[5,5],[6,1],[1,22],[2,20],[4,9],[0,31],[3,18],[5,6],[6,2],[1,23],[2,21],[4,10],[0,32],[3,19],[5,7],[6,3],[1,24],[2,22],[4,11],[0,33],[3,20],[5,8],[6,4],[7,0],[1,25],[2,23],[4,12],[0,34],[3,21],[5,9],[6,5],[7,1],[1,26],[2,24],[4,13],[0,35],[3,22],[5,10],[6,6],[7,2],[1,27],[2,25],[4,14],[0,36],[3,23],[5,11],[6,7],[7,3],[1,28],[2,26],[4,15],[0,37],[3,24],[5,12],[6,8],[7,4],[8,0],[1,29],[2,27],[4,16],[0,38],[3,25],[5,13],[6,9],[7,5],[8,1],[1,30],[2,28],[4,17],[0,39],[3,26],[5,14],[6,10],[7,6],[8,2],[1,31],[2,29],[4,18],[0,40],[3,27],[5,15],[6,11],[7,7],[8,3],[1,32],[2,30],[4,19],[0,41],[3,28],[5,16],[6,12],[7,8],[8,4],[1,33],[2,31],[4,20],[0,42],[3,29],[5,17],[6,13],[7,9],[8,5],[1,34],[2,32],[4,21],[0,43],[3,30],[5,18],[6,14],[7,10],[8,6],[1,35],[2,33],[4,22],[0,44],[3,31],[5,19],[6,15],[7,11],[8,7],[1,36],[2,34],[4,23],[0,45],[3,32],[5,20],[6,16],[7,12],[8,8],[1,37],[2,35],[4,24],[0,46],[3,33],[5,21],[6,17],[7,13],[8,9],[1,38],[2,36],[4,25],[0,47],[3,34],[5,22],[6,18],[7,14],[8,10],[1,39],[2,37],[4,26],[0,48],[3,35],[5,23],[6,19],[7,15],[8,11],[1,40],[2,38],[4,27],[0,49],[3,36],[5,24],[6,20],[7,16],[8,12],[1,41],[2,39],[4,28],[0,50],[3,37],[5,25],[6,21],[7,17],[8,13],[1,42],[2,40],[4,29],[0,51],[3,38],[5,26],[6,22],[7,18],[8,14],[1,43],[2,41],[4,30],[0,52],[3,39],[5,27],[6,23],[7,19],[8,15],[1,44],[2,42],[4,31],[0,53],[3,40],[5,28],[6,24],[7,20],[8,16],[1,45],[2,43],[4,32],[0,54],[3,41],[5,29],[6,25],[7,21],[8,17],[1,46],[2,44],[4,33],[0,55],[3,42],[5,30],[6,26],[7,22],[8,18],[1,47],[2,45],[4,34],[0,56],[3,43],[5,31],[6,27],[7,23],[8,19],[1,48],[2,46],[4,35],[0,57],[3,44],[5,32],[6,28],[7,24],[8,20],[1,49],[2,47],[4,36],[0,58],[3,45],[5,33],[6,29],[7,25],[8,21],[1,50],[2,48],[4,37],[0,59],[3,46],[5,34],[6,30],[7,26],[8,22],[1,51],[2,49],[4,38],[0,60],[3,47],[5,35],[6,31],[7,27],[8,23],[1,52],[2,50],[4,39],[0,61],[3,48],[5,36],[6,32],[7,28],[8,24],[1,53],[2,51],[4,40],[0,62],[3,49],[5,37],[6,33],[7,29],[8,25],[1,54],[2,52],[4,41],[0,63],[3,50],[5,38],[6,34],[7,30],[8,26],[1,55],[2,53],[4,42],[0,64],[3,51],[5,39],[6,35],[7,31],[8,27],[1,56],[2,54],[4,43],[0,65],[3,52],[5,40],[6,36],[7,32],[8,28],[1,57],[2,55],[4,44],[0,66],[3,53],[5,41],[6,37],[7,33],[8,29],[1,58],[2,56],[4,45],[0,67],[3,54],[5,42],[6,38],[7,34],[8,30],[1,59],[2,57],[4,46],[0,68],[3,55],[5,43],[6,39],[7,35],[8,31],[1,60],[2,58],[4,47],[0,69],[3,56],[5,44],[6,40],[7,36],[8,32],[1,61],[2,59],[4,48],[0,70],[3,57],[5,45],[6,41],[7,37],[8,33],[1,62],[2,60],[4,49],[0,71],[3,58],[5,46],[6,42],[7,38],[8,34],[1,63],[2,61],[4,50],[0,72],[3,59],[5,47],[6,43],[7,39],[8,35],[1,64],[2,62],[4,51],[0,73],[3,60],[5,48],[6,44],[7,40],[8,36],[1,65],[2,63],[4,52],[3,61],[5,49],[6,45],[7,41],[8,37],[1,66],[2,64],[4,53],[3,62],[5,50],[6,46],[7,42],[8,38],[1,67],[2,65],[4,54],[3,63],[5,51],[6,47],[7,43],[8,39],[1,68],[2,66],[4,55],[3,64],[5,52],[6,48],[7,44],[8,40],[1,69],[2,67],[4,56],[3,65],[5,53],[6,49],[7,45],[8,41],[1,70],[2,68],[4,57],[3,66],[5,54],[6,50],[7,46],[8,42],[1,71],[2,69],[4,58],[3,67],[5,55],[6,51],[7,47],[8,43],[1,72],[2,70],[4,59],[3,68],[5,56],[6,52],[7,48],[8,44],[1,73],[2,71],[4,60],[3,69],[5,57],[6,53],[7,49],[8,45],[2,72],[4,61],[3,70],[5,58],[6,54],[7,50],[8,46],[2,73],[4,62],[3,71],[5,59],[6,55],[7,51],[8,47],[4,63],[3,72],[5,60],[6,56],[7,52],[8,48],[4,64],[3,73],[5,61],[6,57],[7,53],[8,49],[4,65],[5,62],[6,58],[7,54],[8,50],[4,66],[5,63],[6,59],[7,55],[8,51],[4,67],[5,64],[6,60],[7,56],[8,52],[4,68],[5,65],[6,61],[7,57],[8,53],[4,69],[5,66],[6,62],[7,58],[8,54],[4,70],[5,67],[6,63],[7,59],[8,55],[4,71],[5,68],[6,64],[7,60],[8,56],[4,72],[5,69],[6,65],[7,61],[8,57],[4,73],[5,70],[6,66],[7,62],[8,58],[5,71],[6,67],[7,63],[8,59],[5,72],[6,68],[7,64],[8,60],[5,73],[6,69],[7,65],[8,61],[6,70],[7,66],[8,62],[6,71],[7,67],[8,63],[6,72],[7,68],[8,64],[6,73],[7,69],[8,65],[7,70],[8,66],[7,71],[8,67],[7,72],[8,68],[7,73],[8,69],[8,70],[8,71],[8,72],[8,73]] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/OWNERS.json.gz new file mode 100644 index 0000000000..89b3311d9c Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json b/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json new file mode 100644 index 0000000000..02fd34ba82 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json @@ -0,0 +1 @@ +{"calls":666,"geometry":{"charged_prefix_bits":2048,"dimension":73,"pairs":4,"parent_helpers":504,"parent_idle":149184,"parent_live":111664,"parent_physical":112178,"replicas":74,"stages":9},"new_replicas":74,"new_sha256":"1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db","old_replicas":37,"private_work_shared":514,"roles":271728,"source_sha256":"21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e","status":"PASS_EXACT_DIRECT_SUM_PARENT_AND_WINDOW_LIFT"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/PLAN.json b/research/gmx-t74-borrow43-handoff/PLAN.json new file mode 100644 index 0000000000..3ccc3686f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PLAN.json @@ -0,0 +1 @@ +{"K":4,"L":9,"M":73,"T":74,"assignment_content_sha256":"2e30f3e938677ee9fc0b3b44443ee39741c4f449d1c1537b88e294dceb8b8931","assignment_sha256":"25e70226d625ec6222f9436332fb8f4a82664f71cb6e5af0e056d0d32ca76baa","deficit":23680,"gap":null,"live":66304,"mode":"mixed-t74-exact-fill","order":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[1,0],[0,9],[1,1],[0,10],[1,2],[2,0],[0,11],[1,3],[2,1],[0,12],[1,4],[2,2],[0,13],[3,0],[1,5],[2,3],[0,14],[3,1],[1,6],[2,4],[0,15],[3,2],[1,7],[2,5],[0,16],[3,3],[1,8],[2,6],[0,17],[3,4],[1,9],[2,7],[0,18],[3,5],[1,10],[2,8],[0,19],[3,6],[1,11],[2,9],[0,20],[3,7],[1,12],[2,10],[0,21],[3,8],[1,13],[2,11],[4,0],[0,22],[3,9],[1,14],[2,12],[4,1],[0,23],[3,10],[1,15],[2,13],[4,2],[0,24],[3,11],[1,16],[2,14],[4,3],[0,25],[3,12],[5,0],[1,17],[2,15],[4,4],[0,26],[3,13],[5,1],[1,18],[2,16],[4,5],[0,27],[3,14],[5,2],[1,19],[2,17],[4,6],[0,28],[3,15],[5,3],[1,20],[2,18],[4,7],[0,29],[3,16],[5,4],[6,0],[1,21],[2,19],[4,8],[0,30],[3,17],[5,5],[6,1],[1,22],[2,20],[4,9],[0,31],[3,18],[5,6],[6,2],[1,23],[2,21],[4,10],[0,32],[3,19],[5,7],[6,3],[1,24],[2,22],[4,11],[0,33],[3,20],[5,8],[6,4],[7,0],[1,25],[2,23],[4,12],[0,34],[3,21],[5,9],[6,5],[7,1],[1,26],[2,24],[4,13],[0,35],[3,22],[5,10],[6,6],[7,2],[1,27],[2,25],[4,14],[0,36],[3,23],[5,11],[6,7],[7,3],[1,28],[2,26],[4,15],[0,37],[3,24],[5,12],[6,8],[7,4],[8,0],[1,29],[2,27],[4,16],[0,38],[3,25],[5,13],[6,9],[7,5],[8,1],[1,30],[2,28],[4,17],[0,39],[3,26],[5,14],[6,10],[7,6],[8,2],[1,31],[2,29],[4,18],[0,40],[3,27],[5,15],[6,11],[7,7],[8,3],[1,32],[2,30],[4,19],[0,41],[3,28],[5,16],[6,12],[7,8],[8,4],[1,33],[2,31],[4,20],[0,42],[3,29],[5,17],[6,13],[7,9],[8,5],[1,34],[2,32],[4,21],[0,43],[3,30],[5,18],[6,14],[7,10],[8,6],[1,35],[2,33],[4,22],[0,44],[3,31],[5,19],[6,15],[7,11],[8,7],[1,36],[2,34],[4,23],[0,45],[3,32],[5,20],[6,16],[7,12],[8,8],[1,37],[2,35],[4,24],[0,46],[3,33],[5,21],[6,17],[7,13],[8,9],[1,38],[2,36],[4,25],[0,47],[3,34],[5,22],[6,18],[7,14],[8,10],[1,39],[2,37],[4,26],[0,48],[3,35],[5,23],[6,19],[7,15],[8,11],[1,40],[2,38],[4,27],[0,49],[3,36],[5,24],[6,20],[7,16],[8,12],[1,41],[2,39],[4,28],[0,50],[3,37],[5,25],[6,21],[7,17],[8,13],[1,42],[2,40],[4,29],[0,51],[3,38],[5,26],[6,22],[7,18],[8,14],[1,43],[2,41],[4,30],[0,52],[3,39],[5,27],[6,23],[7,19],[8,15],[1,44],[2,42],[4,31],[0,53],[3,40],[5,28],[6,24],[7,20],[8,16],[1,45],[2,43],[4,32],[0,54],[3,41],[5,29],[6,25],[7,21],[8,17],[1,46],[2,44],[4,33],[0,55],[3,42],[5,30],[6,26],[7,22],[8,18],[1,47],[2,45],[4,34],[0,56],[3,43],[5,31],[6,27],[7,23],[8,19],[1,48],[2,46],[4,35],[0,57],[3,44],[5,32],[6,28],[7,24],[8,20],[1,49],[2,47],[4,36],[0,58],[3,45],[5,33],[6,29],[7,25],[8,21],[1,50],[2,48],[4,37],[0,59],[3,46],[5,34],[6,30],[7,26],[8,22],[1,51],[2,49],[4,38],[0,60],[3,47],[5,35],[6,31],[7,27],[8,23],[1,52],[2,50],[4,39],[0,61],[3,48],[5,36],[6,32],[7,28],[8,24],[1,53],[2,51],[4,40],[0,62],[3,49],[5,37],[6,33],[7,29],[8,25],[1,54],[2,52],[4,41],[0,63],[3,50],[5,38],[6,34],[7,30],[8,26],[1,55],[2,53],[4,42],[0,64],[3,51],[5,39],[6,35],[7,31],[8,27],[1,56],[2,54],[4,43],[0,65],[3,52],[5,40],[6,36],[7,32],[8,28],[1,57],[2,55],[4,44],[0,66],[3,53],[5,41],[6,37],[7,33],[8,29],[1,58],[2,56],[4,45],[0,67],[3,54],[5,42],[6,38],[7,34],[8,30],[1,59],[2,57],[4,46],[0,68],[3,55],[5,43],[6,39],[7,35],[8,31],[1,60],[2,58],[4,47],[0,69],[3,56],[5,44],[6,40],[7,36],[8,32],[1,61],[2,59],[4,48],[0,70],[3,57],[5,45],[6,41],[7,37],[8,33],[1,62],[2,60],[4,49],[0,71],[3,58],[5,46],[6,42],[7,38],[8,34],[1,63],[2,61],[4,50],[0,72],[3,59],[5,47],[6,43],[7,39],[8,35],[1,64],[2,62],[4,51],[0,73],[3,60],[5,48],[6,44],[7,40],[8,36],[1,65],[2,63],[4,52],[3,61],[5,49],[6,45],[7,41],[8,37],[1,66],[2,64],[4,53],[3,62],[5,50],[6,46],[7,42],[8,38],[1,67],[2,65],[4,54],[3,63],[5,51],[6,47],[7,43],[8,39],[1,68],[2,66],[4,55],[3,64],[5,52],[6,48],[7,44],[8,40],[1,69],[2,67],[4,56],[3,65],[5,53],[6,49],[7,45],[8,41],[1,70],[2,68],[4,57],[3,66],[5,54],[6,50],[7,46],[8,42],[1,71],[2,69],[4,58],[3,67],[5,55],[6,51],[7,47],[8,43],[1,72],[2,70],[4,59],[3,68],[5,56],[6,52],[7,48],[8,44],[1,73],[2,71],[4,60],[3,69],[5,57],[6,53],[7,49],[8,45],[2,72],[4,61],[3,70],[5,58],[6,54],[7,50],[8,46],[2,73],[4,62],[3,71],[5,59],[6,55],[7,51],[8,47],[4,63],[3,72],[5,60],[6,56],[7,52],[8,48],[4,64],[3,73],[5,61],[6,57],[7,53],[8,49],[4,65],[5,62],[6,58],[7,54],[8,50],[4,66],[5,63],[6,59],[7,55],[8,51],[4,67],[5,64],[6,60],[7,56],[8,52],[4,68],[5,65],[6,61],[7,57],[8,53],[4,69],[5,66],[6,62],[7,58],[8,54],[4,70],[5,67],[6,63],[7,59],[8,55],[4,71],[5,68],[6,64],[7,60],[8,56],[4,72],[5,69],[6,65],[7,61],[8,57],[4,73],[5,70],[6,66],[7,62],[8,58],[5,71],[6,67],[7,63],[8,59],[5,72],[6,68],[7,64],[8,60],[5,73],[6,69],[7,65],[8,61],[6,70],[7,66],[8,62],[6,71],[7,67],[8,63],[6,72],[7,68],[8,64],[6,73],[7,69],[8,65],[7,70],[8,66],[7,71],[8,67],[7,72],[8,68],[7,73],[8,69],[8,70],[8,71],[8,72],[8,73]],"pairs":{"0":1,"1":1,"10":3,"11":3,"12":0,"13":0,"14":1,"15":1,"16":2,"17":2,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":3,"9":3},"per_call_widths":[{"replica":0,"stage":0,"time":0,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":0,"time":1,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":0,"time":2,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":0,"time":3,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":0,"time":4,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":0,"time":5,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":0,"time":6,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":0,"time":7,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":0,"time":8,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":1,"time":9,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":0,"time":10,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":1,"time":11,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":0,"time":12,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":1,"time":13,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":2,"time":14,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":0,"time":15,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":1,"time":16,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":2,"time":17,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":0,"time":18,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":1,"time":19,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":2,"time":20,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":0,"time":21,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":3,"time":22,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":1,"time":23,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":2,"time":24,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":0,"time":25,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":3,"time":26,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":1,"time":27,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":2,"time":28,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":0,"time":29,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":3,"time":30,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":1,"time":31,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":2,"time":32,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":0,"time":33,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":3,"time":34,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":1,"time":35,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":2,"time":36,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":0,"time":37,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":3,"time":38,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":1,"time":39,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":2,"time":40,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":0,"time":41,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":3,"time":42,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":1,"time":43,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":2,"time":44,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":0,"time":45,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":3,"time":46,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":1,"time":47,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":2,"time":48,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":0,"time":49,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":3,"time":50,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":1,"time":51,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":2,"time":52,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":0,"time":53,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":3,"time":54,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":1,"time":55,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":2,"time":56,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":4,"time":57,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":0,"time":58,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":3,"time":59,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":1,"time":60,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":2,"time":61,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":4,"time":62,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":0,"time":63,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":3,"time":64,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":1,"time":65,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":2,"time":66,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":4,"time":67,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":0,"time":68,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":3,"time":69,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":1,"time":70,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":2,"time":71,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":4,"time":72,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":0,"time":73,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":3,"time":74,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":5,"time":75,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":1,"time":76,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":2,"time":77,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":4,"time":78,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":0,"time":79,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":3,"time":80,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":5,"time":81,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":1,"time":82,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":2,"time":83,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":4,"time":84,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":0,"time":85,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":3,"time":86,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":5,"time":87,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":1,"time":88,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":2,"time":89,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":4,"time":90,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":0,"time":91,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":3,"time":92,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":5,"time":93,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":1,"time":94,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":2,"time":95,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":4,"time":96,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":0,"time":97,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":3,"time":98,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":5,"time":99,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":6,"time":100,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":1,"time":101,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":2,"time":102,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":4,"time":103,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":0,"time":104,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":3,"time":105,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":5,"time":106,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":6,"time":107,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":1,"time":108,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":2,"time":109,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":4,"time":110,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":0,"time":111,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":3,"time":112,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":5,"time":113,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":6,"time":114,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":1,"time":115,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":2,"time":116,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":4,"time":117,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":0,"time":118,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":3,"time":119,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":5,"time":120,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":6,"time":121,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":1,"time":122,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":2,"time":123,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":4,"time":124,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":0,"time":125,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":3,"time":126,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":5,"time":127,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":6,"time":128,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":7,"time":129,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":1,"time":130,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":2,"time":131,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":4,"time":132,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":0,"time":133,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":3,"time":134,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":5,"time":135,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":6,"time":136,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":7,"time":137,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":1,"time":138,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":2,"time":139,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":4,"time":140,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":0,"time":141,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":3,"time":142,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":5,"time":143,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":6,"time":144,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":7,"time":145,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":1,"time":146,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":2,"time":147,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":4,"time":148,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":0,"time":149,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":3,"time":150,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":5,"time":151,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":6,"time":152,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":7,"time":153,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":1,"time":154,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":2,"time":155,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":4,"time":156,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":0,"time":157,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":3,"time":158,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":5,"time":159,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":6,"time":160,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":7,"time":161,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":0,"stage":8,"time":162,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":1,"time":163,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":2,"time":164,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":4,"time":165,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":0,"time":166,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":3,"time":167,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":5,"time":168,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":6,"time":169,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":7,"time":170,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":1,"stage":8,"time":171,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":1,"time":172,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":2,"time":173,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":4,"time":174,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":0,"time":175,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":3,"time":176,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":5,"time":177,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":6,"time":178,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":7,"time":179,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":2,"stage":8,"time":180,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":1,"time":181,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":2,"time":182,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":4,"time":183,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":0,"time":184,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":3,"time":185,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":5,"time":186,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":6,"time":187,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":7,"time":188,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":3,"stage":8,"time":189,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":1,"time":190,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":2,"time":191,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":4,"time":192,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":0,"time":193,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":3,"time":194,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":5,"time":195,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":6,"time":196,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":7,"time":197,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":4,"stage":8,"time":198,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":1,"time":199,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":2,"time":200,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":4,"time":201,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":0,"time":202,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":3,"time":203,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":5,"time":204,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":6,"time":205,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":7,"time":206,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":5,"stage":8,"time":207,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":1,"time":208,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":2,"time":209,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":4,"time":210,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":0,"time":211,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":3,"time":212,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":5,"time":213,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":6,"time":214,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":7,"time":215,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":6,"stage":8,"time":216,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":1,"time":217,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":2,"time":218,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":4,"time":219,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":0,"time":220,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":3,"time":221,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":5,"time":222,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":6,"time":223,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":7,"time":224,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":7,"stage":8,"time":225,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":1,"time":226,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":2,"time":227,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":4,"time":228,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":0,"time":229,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":3,"time":230,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":5,"time":231,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":6,"time":232,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":7,"time":233,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":8,"stage":8,"time":234,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":1,"time":235,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":2,"time":236,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":4,"time":237,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":0,"time":238,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":3,"time":239,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":5,"time":240,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":6,"time":241,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":7,"time":242,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":9,"stage":8,"time":243,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":1,"time":244,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":2,"time":245,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":4,"time":246,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":0,"time":247,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":3,"time":248,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":5,"time":249,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":6,"time":250,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":7,"time":251,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":10,"stage":8,"time":252,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":1,"time":253,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":2,"time":254,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":4,"time":255,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":0,"time":256,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":3,"time":257,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":5,"time":258,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":6,"time":259,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":7,"time":260,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":11,"stage":8,"time":261,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":1,"time":262,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":2,"time":263,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":4,"time":264,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":0,"time":265,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":3,"time":266,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":5,"time":267,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":6,"time":268,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":7,"time":269,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":12,"stage":8,"time":270,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":1,"time":271,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":2,"time":272,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":4,"time":273,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":0,"time":274,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":3,"time":275,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":5,"time":276,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":6,"time":277,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":7,"time":278,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":13,"stage":8,"time":279,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":1,"time":280,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":2,"time":281,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":4,"time":282,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":0,"time":283,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":3,"time":284,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":5,"time":285,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":6,"time":286,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":7,"time":287,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":14,"stage":8,"time":288,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":1,"time":289,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":2,"time":290,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":4,"time":291,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":0,"time":292,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":3,"time":293,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":5,"time":294,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":6,"time":295,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":7,"time":296,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":15,"stage":8,"time":297,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":1,"time":298,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":2,"time":299,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":4,"time":300,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":0,"time":301,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":3,"time":302,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":5,"time":303,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":6,"time":304,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":7,"time":305,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":16,"stage":8,"time":306,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":1,"time":307,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":2,"time":308,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":4,"time":309,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":0,"time":310,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":3,"time":311,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":5,"time":312,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":6,"time":313,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":7,"time":314,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":17,"stage":8,"time":315,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":1,"time":316,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":2,"time":317,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":4,"time":318,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":0,"time":319,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":3,"time":320,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":5,"time":321,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":6,"time":322,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":7,"time":323,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":18,"stage":8,"time":324,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":1,"time":325,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":2,"time":326,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":4,"time":327,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":0,"time":328,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":3,"time":329,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":5,"time":330,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":6,"time":331,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":7,"time":332,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":19,"stage":8,"time":333,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":1,"time":334,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":2,"time":335,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":4,"time":336,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":0,"time":337,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":3,"time":338,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":5,"time":339,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":6,"time":340,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":7,"time":341,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":20,"stage":8,"time":342,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":1,"time":343,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":2,"time":344,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":4,"time":345,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":0,"time":346,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":3,"time":347,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":5,"time":348,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":6,"time":349,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":7,"time":350,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":21,"stage":8,"time":351,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":1,"time":352,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":2,"time":353,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":4,"time":354,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":0,"time":355,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":3,"time":356,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":5,"time":357,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":6,"time":358,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":7,"time":359,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":22,"stage":8,"time":360,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":1,"time":361,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":2,"time":362,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":4,"time":363,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":0,"time":364,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":3,"time":365,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":5,"time":366,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":6,"time":367,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":7,"time":368,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":23,"stage":8,"time":369,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":1,"time":370,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":2,"time":371,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":4,"time":372,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":0,"time":373,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":3,"time":374,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":5,"time":375,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":6,"time":376,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":7,"time":377,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":24,"stage":8,"time":378,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":1,"time":379,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":2,"time":380,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":4,"time":381,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":0,"time":382,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":3,"time":383,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":5,"time":384,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":6,"time":385,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":7,"time":386,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":25,"stage":8,"time":387,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":1,"time":388,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":2,"time":389,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":4,"time":390,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":0,"time":391,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":3,"time":392,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":5,"time":393,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":6,"time":394,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":7,"time":395,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":26,"stage":8,"time":396,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":1,"time":397,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":2,"time":398,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":4,"time":399,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":0,"time":400,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":3,"time":401,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":5,"time":402,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":6,"time":403,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":7,"time":404,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":27,"stage":8,"time":405,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":1,"time":406,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":2,"time":407,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":4,"time":408,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":0,"time":409,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":3,"time":410,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":5,"time":411,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":6,"time":412,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":7,"time":413,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":28,"stage":8,"time":414,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":1,"time":415,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":2,"time":416,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":4,"time":417,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":0,"time":418,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":3,"time":419,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":5,"time":420,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":6,"time":421,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":7,"time":422,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":29,"stage":8,"time":423,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":1,"time":424,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":2,"time":425,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":4,"time":426,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":0,"time":427,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":3,"time":428,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":5,"time":429,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":6,"time":430,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":7,"time":431,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":30,"stage":8,"time":432,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":1,"time":433,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":2,"time":434,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":4,"time":435,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":0,"time":436,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":3,"time":437,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":5,"time":438,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":6,"time":439,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":7,"time":440,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":31,"stage":8,"time":441,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":1,"time":442,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":2,"time":443,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":4,"time":444,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":0,"time":445,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":3,"time":446,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":5,"time":447,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":6,"time":448,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":7,"time":449,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":32,"stage":8,"time":450,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":1,"time":451,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":2,"time":452,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":4,"time":453,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":0,"time":454,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":3,"time":455,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":5,"time":456,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":6,"time":457,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":7,"time":458,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":33,"stage":8,"time":459,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":1,"time":460,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":2,"time":461,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":4,"time":462,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":0,"time":463,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":3,"time":464,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":5,"time":465,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":6,"time":466,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":7,"time":467,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":34,"stage":8,"time":468,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":1,"time":469,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":2,"time":470,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":4,"time":471,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":0,"time":472,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":3,"time":473,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":5,"time":474,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":6,"time":475,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":7,"time":476,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":35,"stage":8,"time":477,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":1,"time":478,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":2,"time":479,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":4,"time":480,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":0,"time":481,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":3,"time":482,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":5,"time":483,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":6,"time":484,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":7,"time":485,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":36,"stage":8,"time":486,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":1,"time":487,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":2,"time":488,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":4,"time":489,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":3,"time":490,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":5,"time":491,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":6,"time":492,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":7,"time":493,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":37,"stage":8,"time":494,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":1,"time":495,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":2,"time":496,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":4,"time":497,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":3,"time":498,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":5,"time":499,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":6,"time":500,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":7,"time":501,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":38,"stage":8,"time":502,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":1,"time":503,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":2,"time":504,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":4,"time":505,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":3,"time":506,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":5,"time":507,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":6,"time":508,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":7,"time":509,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":39,"stage":8,"time":510,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":1,"time":511,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":2,"time":512,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":4,"time":513,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":3,"time":514,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":5,"time":515,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":6,"time":516,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":7,"time":517,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":40,"stage":8,"time":518,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":1,"time":519,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":2,"time":520,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":4,"time":521,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":3,"time":522,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":5,"time":523,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":6,"time":524,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":7,"time":525,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":41,"stage":8,"time":526,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":1,"time":527,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":2,"time":528,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":4,"time":529,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":3,"time":530,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":5,"time":531,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":6,"time":532,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":7,"time":533,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":42,"stage":8,"time":534,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":1,"time":535,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":2,"time":536,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":4,"time":537,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":3,"time":538,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":5,"time":539,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":6,"time":540,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":7,"time":541,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":43,"stage":8,"time":542,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":1,"time":543,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":2,"time":544,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":4,"time":545,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":3,"time":546,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":5,"time":547,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":6,"time":548,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":7,"time":549,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":44,"stage":8,"time":550,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":1,"time":551,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":2,"time":552,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":4,"time":553,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":3,"time":554,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":5,"time":555,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":6,"time":556,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":7,"time":557,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":45,"stage":8,"time":558,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":2,"time":559,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":4,"time":560,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":3,"time":561,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":5,"time":562,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":6,"time":563,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":7,"time":564,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":46,"stage":8,"time":565,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":2,"time":566,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":4,"time":567,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":3,"time":568,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":5,"time":569,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":6,"time":570,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":7,"time":571,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":47,"stage":8,"time":572,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":4,"time":573,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":3,"time":574,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":5,"time":575,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":6,"time":576,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":7,"time":577,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":48,"stage":8,"time":578,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":4,"time":579,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":3,"time":580,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":5,"time":581,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":6,"time":582,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":7,"time":583,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":49,"stage":8,"time":584,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":4,"time":585,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":5,"time":586,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":6,"time":587,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":7,"time":588,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":50,"stage":8,"time":589,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":4,"time":590,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":5,"time":591,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":6,"time":592,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":7,"time":593,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":51,"stage":8,"time":594,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":4,"time":595,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":5,"time":596,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":6,"time":597,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":7,"time":598,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":52,"stage":8,"time":599,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":4,"time":600,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":5,"time":601,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":6,"time":602,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":7,"time":603,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":53,"stage":8,"time":604,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":4,"time":605,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":5,"time":606,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":6,"time":607,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":7,"time":608,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":54,"stage":8,"time":609,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":4,"time":610,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":5,"time":611,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":6,"time":612,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":7,"time":613,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":55,"stage":8,"time":614,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":4,"time":615,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":5,"time":616,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":6,"time":617,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":7,"time":618,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":56,"stage":8,"time":619,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":4,"time":620,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":5,"time":621,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":6,"time":622,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":7,"time":623,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":57,"stage":8,"time":624,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":4,"time":625,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":5,"time":626,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":6,"time":627,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":7,"time":628,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":58,"stage":8,"time":629,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":5,"time":630,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":6,"time":631,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":7,"time":632,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":59,"stage":8,"time":633,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":5,"time":634,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":6,"time":635,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":7,"time":636,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":60,"stage":8,"time":637,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":5,"time":638,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":6,"time":639,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":7,"time":640,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":61,"stage":8,"time":641,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":6,"time":642,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":7,"time":643,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":62,"stage":8,"time":644,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":6,"time":645,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":7,"time":646,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":63,"stage":8,"time":647,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":6,"time":648,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":7,"time":649,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":64,"stage":8,"time":650,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":6,"time":651,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":7,"time":652,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":65,"stage":8,"time":653,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":7,"time":654,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":66,"stage":8,"time":655,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":7,"time":656,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":67,"stage":8,"time":657,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":7,"time":658,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":68,"stage":8,"time":659,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":7,"time":660,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":69,"stage":8,"time":661,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":70,"stage":8,"time":662,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":71,"stage":8,"time":663,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":72,"stage":8,"time":664,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},{"replica":73,"stage":8,"time":665,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]}],"profile":{"1":1603728,"2":432900,"3":183683,"4":85248,"48":26625,"5":26862,"8":5328,"9":1},"provider_calls":[{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":0,"time":0},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":0,"time":1},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":0,"time":2},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":0,"time":3},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":0,"time":4},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":0,"time":5},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":0,"time":6},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":0,"time":7},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":0,"time":8},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":1,"time":9},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":0,"time":10},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":1,"time":11},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":0,"time":12},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":1,"time":13},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":2,"time":14},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":0,"time":15},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":1,"time":16},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":2,"time":17},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":0,"time":18},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":1,"time":19},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":2,"time":20},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":0,"time":21},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":3,"time":22},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":1,"time":23},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":2,"time":24},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":0,"time":25},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":3,"time":26},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":1,"time":27},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":2,"time":28},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":0,"time":29},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":3,"time":30},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":1,"time":31},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":2,"time":32},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":0,"time":33},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":3,"time":34},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":1,"time":35},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":2,"time":36},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":0,"time":37},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":3,"time":38},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":1,"time":39},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":2,"time":40},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":0,"time":41},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":3,"time":42},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":1,"time":43},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":2,"time":44},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":0,"time":45},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":3,"time":46},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":1,"time":47},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":2,"time":48},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":0,"time":49},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":3,"time":50},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":1,"time":51},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":2,"time":52},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":0,"time":53},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":3,"time":54},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":1,"time":55},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":2,"time":56},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":4,"time":57},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":0,"time":58},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":3,"time":59},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":1,"time":60},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":2,"time":61},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":4,"time":62},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":0,"time":63},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":3,"time":64},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":1,"time":65},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":2,"time":66},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":4,"time":67},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":24,"stage":0,"time":68},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":3,"time":69},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":1,"time":70},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":2,"time":71},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":4,"time":72},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":25,"stage":0,"time":73},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":3,"time":74},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":5,"time":75},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":1,"time":76},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":2,"time":77},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":4,"time":78},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":26,"stage":0,"time":79},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":3,"time":80},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":5,"time":81},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":1,"time":82},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":2,"time":83},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":4,"time":84},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":27,"stage":0,"time":85},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":3,"time":86},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":5,"time":87},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":19,"stage":1,"time":88},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":2,"time":89},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":4,"time":90},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":28,"stage":0,"time":91},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":3,"time":92},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":5,"time":93},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":20,"stage":1,"time":94},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":2,"time":95},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":4,"time":96},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":29,"stage":0,"time":97},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":3,"time":98},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":5,"time":99},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":6,"time":100},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":21,"stage":1,"time":101},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":2,"time":102},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":4,"time":103},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":30,"stage":0,"time":104},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":3,"time":105},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":5,"time":106},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":6,"time":107},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":22,"stage":1,"time":108},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":2,"time":109},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":4,"time":110},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":31,"stage":0,"time":111},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":3,"time":112},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":5,"time":113},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":6,"time":114},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":23,"stage":1,"time":115},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":2,"time":116},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":4,"time":117},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":32,"stage":0,"time":118},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":19,"stage":3,"time":119},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":5,"time":120},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":6,"time":121},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":24,"stage":1,"time":122},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":2,"time":123},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":4,"time":124},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":33,"stage":0,"time":125},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":20,"stage":3,"time":126},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":5,"time":127},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":6,"time":128},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":7,"time":129},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":25,"stage":1,"time":130},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":2,"time":131},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":4,"time":132},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":34,"stage":0,"time":133},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":21,"stage":3,"time":134},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":5,"time":135},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":6,"time":136},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":7,"time":137},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":26,"stage":1,"time":138},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":24,"stage":2,"time":139},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":4,"time":140},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":35,"stage":0,"time":141},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":22,"stage":3,"time":142},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":5,"time":143},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":6,"time":144},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":7,"time":145},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":27,"stage":1,"time":146},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":25,"stage":2,"time":147},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":4,"time":148},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":36,"stage":0,"time":149},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":23,"stage":3,"time":150},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":5,"time":151},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":6,"time":152},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":7,"time":153},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":28,"stage":1,"time":154},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":26,"stage":2,"time":155},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":4,"time":156},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":0,"time":157},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":24,"stage":3,"time":158},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":5,"time":159},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":6,"time":160},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":7,"time":161},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":8,"time":162},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":29,"stage":1,"time":163},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":27,"stage":2,"time":164},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":4,"time":165},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":0,"time":166},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":25,"stage":3,"time":167},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":5,"time":168},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":6,"time":169},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":7,"time":170},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":8,"time":171},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":30,"stage":1,"time":172},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":28,"stage":2,"time":173},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":4,"time":174},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":0,"time":175},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":26,"stage":3,"time":176},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":5,"time":177},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":6,"time":178},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":7,"time":179},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":8,"time":180},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":31,"stage":1,"time":181},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":29,"stage":2,"time":182},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":4,"time":183},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":0,"time":184},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":27,"stage":3,"time":185},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":5,"time":186},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":6,"time":187},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":7,"time":188},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":8,"time":189},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":32,"stage":1,"time":190},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":30,"stage":2,"time":191},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":4,"time":192},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":0,"time":193},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":28,"stage":3,"time":194},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":5,"time":195},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":6,"time":196},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":7,"time":197},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":8,"time":198},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":33,"stage":1,"time":199},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":31,"stage":2,"time":200},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":4,"time":201},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":0,"time":202},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":3,"time":203},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":5,"time":204},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":6,"time":205},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":7,"time":206},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":5,"stage":8,"time":207},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":34,"stage":1,"time":208},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":32,"stage":2,"time":209},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":4,"time":210},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":0,"time":211},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":3,"time":212},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":5,"time":213},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":6,"time":214},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":10,"stage":7,"time":215},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":6,"stage":8,"time":216},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":35,"stage":1,"time":217},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":2,"time":218},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":4,"time":219},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":0,"time":220},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":3,"time":221},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":19,"stage":5,"time":222},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":15,"stage":6,"time":223},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":11,"stage":7,"time":224},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":7,"stage":8,"time":225},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":36,"stage":1,"time":226},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":2,"time":227},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":4,"time":228},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":0,"time":229},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":3,"time":230},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":20,"stage":5,"time":231},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":16,"stage":6,"time":232},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":12,"stage":7,"time":233},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":8,"stage":8,"time":234},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":1,"time":235},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":2,"time":236},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":4,"time":237},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":0,"time":238},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":3,"time":239},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":21,"stage":5,"time":240},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":17,"stage":6,"time":241},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":13,"stage":7,"time":242},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":9,"stage":8,"time":243},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":1,"time":244},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":2,"time":245},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":4,"time":246},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":0,"time":247},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":3,"time":248},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":22,"stage":5,"time":249},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":18,"stage":6,"time":250},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":14,"stage":7,"time":251},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":10,"stage":8,"time":252},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":1,"time":253},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":2,"time":254},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":4,"time":255},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":0,"time":256},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":3,"time":257},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":23,"stage":5,"time":258},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":19,"stage":6,"time":259},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":15,"stage":7,"time":260},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":11,"stage":8,"time":261},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":1,"time":262},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":2,"time":263},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":4,"time":264},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":0,"time":265},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":3,"time":266},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":24,"stage":5,"time":267},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":20,"stage":6,"time":268},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":16,"stage":7,"time":269},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":12,"stage":8,"time":270},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":1,"time":271},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":2,"time":272},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":4,"time":273},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":0,"time":274},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":3,"time":275},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":25,"stage":5,"time":276},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":21,"stage":6,"time":277},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":17,"stage":7,"time":278},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":13,"stage":8,"time":279},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":1,"time":280},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":2,"time":281},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":4,"time":282},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":0,"time":283},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":3,"time":284},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":26,"stage":5,"time":285},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":22,"stage":6,"time":286},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":18,"stage":7,"time":287},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":14,"stage":8,"time":288},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":1,"time":289},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":2,"time":290},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":4,"time":291},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":0,"time":292},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":3,"time":293},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":27,"stage":5,"time":294},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":23,"stage":6,"time":295},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":19,"stage":7,"time":296},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":15,"stage":8,"time":297},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":1,"time":298},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":2,"time":299},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":4,"time":300},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":0,"time":301},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":3,"time":302},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":28,"stage":5,"time":303},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":6,"time":304},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":20,"stage":7,"time":305},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":16,"stage":8,"time":306},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":1,"time":307},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":2,"time":308},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":4,"time":309},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":0,"time":310},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":3,"time":311},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":5,"time":312},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":6,"time":313},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":21,"stage":7,"time":314},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":17,"stage":8,"time":315},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":1,"time":316},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":2,"time":317},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":4,"time":318},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":0,"time":319},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":3,"time":320},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":5,"time":321},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":6,"time":322},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":22,"stage":7,"time":323},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":18,"stage":8,"time":324},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":1,"time":325},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":2,"time":326},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":4,"time":327},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":0,"time":328},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":3,"time":329},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":5,"time":330},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":6,"time":331},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":23,"stage":7,"time":332},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":19,"stage":8,"time":333},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":1,"time":334},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":2,"time":335},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":4,"time":336},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":0,"time":337},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":3,"time":338},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":5,"time":339},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":6,"time":340},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":24,"stage":7,"time":341},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":20,"stage":8,"time":342},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":1,"time":343},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":2,"time":344},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":4,"time":345},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":0,"time":346},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":3,"time":347},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":5,"time":348},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":6,"time":349},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":25,"stage":7,"time":350},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":21,"stage":8,"time":351},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":1,"time":352},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":2,"time":353},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":4,"time":354},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":0,"time":355},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":3,"time":356},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":5,"time":357},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":6,"time":358},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":26,"stage":7,"time":359},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":22,"stage":8,"time":360},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":1,"time":361},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":2,"time":362},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":4,"time":363},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":0,"time":364},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":3,"time":365},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":5,"time":366},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":6,"time":367},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":27,"stage":7,"time":368},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":23,"stage":8,"time":369},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":1,"time":370},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":2,"time":371},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":4,"time":372},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":61,"stage":0,"time":373},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":3,"time":374},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":5,"time":375},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":6,"time":376},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":28,"stage":7,"time":377},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":8,"time":378},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":1,"time":379},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":2,"time":380},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":4,"time":381},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":62,"stage":0,"time":382},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":3,"time":383},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":5,"time":384},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":6,"time":385},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":7,"time":386},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":8,"time":387},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":1,"time":388},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":2,"time":389},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":4,"time":390},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":63,"stage":0,"time":391},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":3,"time":392},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":5,"time":393},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":6,"time":394},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":7,"time":395},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":8,"time":396},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":1,"time":397},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":2,"time":398},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":4,"time":399},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":64,"stage":0,"time":400},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":3,"time":401},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":5,"time":402},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":6,"time":403},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":7,"time":404},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":8,"time":405},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":56,"stage":1,"time":406},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":2,"time":407},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":4,"time":408},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":65,"stage":0,"time":409},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":3,"time":410},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":5,"time":411},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":6,"time":412},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":7,"time":413},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":8,"time":414},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":57,"stage":1,"time":415},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":2,"time":416},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":4,"time":417},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":66,"stage":0,"time":418},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":3,"time":419},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":5,"time":420},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":6,"time":421},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":7,"time":422},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":8,"time":423},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":58,"stage":1,"time":424},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":2,"time":425},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":4,"time":426},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":67,"stage":0,"time":427},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":3,"time":428},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":5,"time":429},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":6,"time":430},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":7,"time":431},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":8,"time":432},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":59,"stage":1,"time":433},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":2,"time":434},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":4,"time":435},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":68,"stage":0,"time":436},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":3,"time":437},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":5,"time":438},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":6,"time":439},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":7,"time":440},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":8,"time":441},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":60,"stage":1,"time":442},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":2,"time":443},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":4,"time":444},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":69,"stage":0,"time":445},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":56,"stage":3,"time":446},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":5,"time":447},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":6,"time":448},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":7,"time":449},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":8,"time":450},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":61,"stage":1,"time":451},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":2,"time":452},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":4,"time":453},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":70,"stage":0,"time":454},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":57,"stage":3,"time":455},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":5,"time":456},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":6,"time":457},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":7,"time":458},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":8,"time":459},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":62,"stage":1,"time":460},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":2,"time":461},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":4,"time":462},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":71,"stage":0,"time":463},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":58,"stage":3,"time":464},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":5,"time":465},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":6,"time":466},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":7,"time":467},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":8,"time":468},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":63,"stage":1,"time":469},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":61,"stage":2,"time":470},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":4,"time":471},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":72,"stage":0,"time":472},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":59,"stage":3,"time":473},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":5,"time":474},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":6,"time":475},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":7,"time":476},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":8,"time":477},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":64,"stage":1,"time":478},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":62,"stage":2,"time":479},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":4,"time":480},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":73,"stage":0,"time":481},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":60,"stage":3,"time":482},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":5,"time":483},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":6,"time":484},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":7,"time":485},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":8,"time":486},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":65,"stage":1,"time":487},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":63,"stage":2,"time":488},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":4,"time":489},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":61,"stage":3,"time":490},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":5,"time":491},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":6,"time":492},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":7,"time":493},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":8,"time":494},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":66,"stage":1,"time":495},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":64,"stage":2,"time":496},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":4,"time":497},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":62,"stage":3,"time":498},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":5,"time":499},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":6,"time":500},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":7,"time":501},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":8,"time":502},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":67,"stage":1,"time":503},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":65,"stage":2,"time":504},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":4,"time":505},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":63,"stage":3,"time":506},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":5,"time":507},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":6,"time":508},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":7,"time":509},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":8,"time":510},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":68,"stage":1,"time":511},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":66,"stage":2,"time":512},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":4,"time":513},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":64,"stage":3,"time":514},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":5,"time":515},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":6,"time":516},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":7,"time":517},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":8,"time":518},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":69,"stage":1,"time":519},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":67,"stage":2,"time":520},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":4,"time":521},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":3,"time":522},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":5,"time":523},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":6,"time":524},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":7,"time":525},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":8,"time":526},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":70,"stage":1,"time":527},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":68,"stage":2,"time":528},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":4,"time":529},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":3,"time":530},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":5,"time":531},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":6,"time":532},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":7,"time":533},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":42,"stage":8,"time":534},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":71,"stage":1,"time":535},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":69,"stage":2,"time":536},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":4,"time":537},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":3,"time":538},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":5,"time":539},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":6,"time":540},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":47,"stage":7,"time":541},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":43,"stage":8,"time":542},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":72,"stage":1,"time":543},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":2,"time":544},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":4,"time":545},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":3,"time":546},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":56,"stage":5,"time":547},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":52,"stage":6,"time":548},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":48,"stage":7,"time":549},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":44,"stage":8,"time":550},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":73,"stage":1,"time":551},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":2,"time":552},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":4,"time":553},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":3,"time":554},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":57,"stage":5,"time":555},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":53,"stage":6,"time":556},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":49,"stage":7,"time":557},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":45,"stage":8,"time":558},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":2,"time":559},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":4,"time":560},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":3,"time":561},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":58,"stage":5,"time":562},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":54,"stage":6,"time":563},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":50,"stage":7,"time":564},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":46,"stage":8,"time":565},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":2,"time":566},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":4,"time":567},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":3,"time":568},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":59,"stage":5,"time":569},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":55,"stage":6,"time":570},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":51,"stage":7,"time":571},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":47,"stage":8,"time":572},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":4,"time":573},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":3,"time":574},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":60,"stage":5,"time":575},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":56,"stage":6,"time":576},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":52,"stage":7,"time":577},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":48,"stage":8,"time":578},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":4,"time":579},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":3,"time":580},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":61,"stage":5,"time":581},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":57,"stage":6,"time":582},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":53,"stage":7,"time":583},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":49,"stage":8,"time":584},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":4,"time":585},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":62,"stage":5,"time":586},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":58,"stage":6,"time":587},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":54,"stage":7,"time":588},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":50,"stage":8,"time":589},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":4,"time":590},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":63,"stage":5,"time":591},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":59,"stage":6,"time":592},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":55,"stage":7,"time":593},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":51,"stage":8,"time":594},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":4,"time":595},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":64,"stage":5,"time":596},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":60,"stage":6,"time":597},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":56,"stage":7,"time":598},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":52,"stage":8,"time":599},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":4,"time":600},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":5,"time":601},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":6,"time":602},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":57,"stage":7,"time":603},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":53,"stage":8,"time":604},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":4,"time":605},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":5,"time":606},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":6,"time":607},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":58,"stage":7,"time":608},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":54,"stage":8,"time":609},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":4,"time":610},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":5,"time":611},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":6,"time":612},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":59,"stage":7,"time":613},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":55,"stage":8,"time":614},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":4,"time":615},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":5,"time":616},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":6,"time":617},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":60,"stage":7,"time":618},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":56,"stage":8,"time":619},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":4,"time":620},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":5,"time":621},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":6,"time":622},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":61,"stage":7,"time":623},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":57,"stage":8,"time":624},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":4,"time":625},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":5,"time":626},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":6,"time":627},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":62,"stage":7,"time":628},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":58,"stage":8,"time":629},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":5,"time":630},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":6,"time":631},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":63,"stage":7,"time":632},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":59,"stage":8,"time":633},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":5,"time":634},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":6,"time":635},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":64,"stage":7,"time":636},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":60,"stage":8,"time":637},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":5,"time":638},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":6,"time":639},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":7,"time":640},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":8,"time":641},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":6,"time":642},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":7,"time":643},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":8,"time":644},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":6,"time":645},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":7,"time":646},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":8,"time":647},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":6,"time":648},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":7,"time":649},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":8,"time":650},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":6,"time":651},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":7,"time":652},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":8,"time":653},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":7,"time":654},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":8,"time":655},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":7,"time":656},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":8,"time":657},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":7,"time":658},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":8,"time":659},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":7,"time":660},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":8,"time":661},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":8,"time":662},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":8,"time":663},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":8,"time":664},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":8,"time":665}],"provider_registry":{"extra":{"actual_paid_profile":{"1":2382,"2":650,"3":266,"4":128,"5":26,"8":8},"artifact_semantic_sha256":{"CANONICAL-WORD.json.gz":"c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58","CLIFFORD-RECIPES.json":"cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02","CLIFFORD-REVIEW.json":"6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd","INDEPENDENT-LOCAL-REPLAY.json":"b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa","LOCAL-CHECKS.json":"5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589","LOCAL-PROGRAMS.json.gz":"937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd","RESIDUAL-ADAPTERS.json":"435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1"},"artifact_sha256":{"CANONICAL-WORD.json.gz":"e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d","CLIFFORD-RECIPES.json":"cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02","CLIFFORD-REVIEW.json":"1f8a65f2f97628c91b813df1e49e9a3672081e53a924493a10e570afb282e924","INDEPENDENT-LOCAL-REPLAY.json":"39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da","LOCAL-CHECKS.json":"ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286","LOCAL-PROGRAMS.json.gz":"26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904","RESIDUAL-ADAPTERS.json":"0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b"},"centers":[92,57,81,224,11,240,9,256],"directory":"providers/extra","orientation_program_sha256":{"backward":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","forward":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06"},"ports":[11,19,35,67,131,259,13,21,37,69,133,261,41,73,137,265,49,81,145,273,161,289,193,321,385,14,22,38,70,134,262,26,74,138,266,50,146,274,98,162,290,194,322,386,28,44,140,268,84,148,276,100,164,292,196,324,388,56,88,152,280,104,168,296,200,328,392,112,176,304,208,336,400,224,352,416,448,508,506,502,494,478,446,382,254,505,501,493,477,445,381,253,499,491,475,443,379,251,487,471,439,375,247,463,431,367,239,415,351,223,319,191],"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]},"gauge44":{"actual_paid_profile":{"1":2382,"2":650,"3":266,"4":128,"5":26,"8":8},"artifact_semantic_sha256":{"CANONICAL-WORD.json.gz":"499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be","CLIFFORD-RECIPES.json":"f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063","CLIFFORD-REVIEW.json":"54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112","INDEPENDENT-LOCAL-REPLAY.json":"dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff","LOCAL-CHECKS.json":"d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2","LOCAL-PROGRAMS.json.gz":"b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d","RESIDUAL-ADAPTERS.json":"df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133"},"artifact_sha256":{"CANONICAL-WORD.json.gz":"f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91","CLIFFORD-RECIPES.json":"f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063","CLIFFORD-REVIEW.json":"6154a20efd7dc4fc1f774676daed2bce47c9c2772a4e1c274a15d97f6fc2d783","INDEPENDENT-LOCAL-REPLAY.json":"70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058","LOCAL-CHECKS.json":"e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4","LOCAL-PROGRAMS.json.gz":"81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff","RESIDUAL-ADAPTERS.json":"89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5"},"centers":[92,57,81,224,11,240,9,256],"directory":"providers/gauge44","orientation_program_sha256":{"backward":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","forward":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638"},"ports":[11,19,35,67,131,259,13,21,37,69,133,261,41,73,137,265,49,81,145,273,161,289,193,321,385,14,22,38,70,134,262,26,74,138,266,50,146,274,98,162,290,194,322,386,28,44,140,268,84,148,276,100,164,292,196,324,388,56,88,152,280,104,168,296,200,328,392,112,176,304,208,336,400,224,352,416,448,508,506,502,494,478,446,382,254,505,501,493,477,445,381,253,499,491,475,443,379,251,487,471,439,375,247,463,431,367,239,415,351,223,319,191],"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,9,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,7,7,7,7,7,7,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,7,7,8,9,8,8,9,9,9,9,8,8,8,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,8,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,8,8,8,8]}},"replica_lift":{"copies":2,"owners_file_sha256":"25e70226d625ec6222f9436332fb8f4a82664f71cb6e5af0e056d0d32ca76baa","parent_template_content_sha256":"84e1c038e40bb86a8e20629a7492c75c2dff1b00c8543720a74f62ab224ef67f","phase_recipe_unchanged":true,"replicas":74,"schedule_content_sha256":"3c01dcbb0c8e38b2b51e4f74b44a74d6df782ad845619aa0cab97befbae89b96","source_replicas":37},"sides":{"0":0,"1":0,"10":1,"11":1,"12":0,"13":1,"14":0,"15":1,"16":0,"17":1,"2":1,"3":1,"4":0,"5":0,"6":1,"7":1,"8":0,"9":0},"solver_status":"exact alternating paths on frozen legal bins","source_owners_sha256":"c41fdf51541ecc91af914f264967f3633570500994f8866daf642440a5d843dd","source_plan_sha256":"c5da66a8061a86ca7d3eab975829488f6c086a59966150b193d614ff0d0c4847","status":"EXPLICIT_T74_ALTERNATING_PATH_EXACT_FILL","windows":{"0,0":[16,[0,1,2,3,4,5,6,7,8,9]],"0,1":[8,[10,11,12,13,14]],"0,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]],"0,11":[8,[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]],"0,12":[48,[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,13":[48,[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,14":[32,[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,15":[32,[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,16":[16,[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,17":[16,[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162]],"0,2":[16,[0,1,2,3,4,5,6,7,8,9]],"0,3":[8,[10,11,12,13,14]],"0,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]],"0,5":[8,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]],"0,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]],"0,7":[8,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]],"0,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]],"0,9":[8,[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]],"1,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11]],"1,1":[8,[12,13,14,15,16,17]],"1,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]],"1,11":[8,[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]],"1,12":[48,[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,13":[48,[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,14":[32,[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,15":[32,[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,16":[16,[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,17":[16,[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]],"1,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11]],"1,3":[8,[12,13,14,15,16,17]],"1,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]],"1,5":[8,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]],"1,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]],"1,7":[8,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]],"1,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]],"1,9":[8,[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]],"10,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]],"10,1":[8,[44,45,46,47,48,49,50,51,52]],"10,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143]],"10,11":[8,[144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178]],"10,12":[48,[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,13":[48,[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,14":[32,[118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,15":[32,[118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,16":[16,[179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,17":[16,[179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252]],"10,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]],"10,3":[8,[44,45,46,47,48,49,50,51,52]],"10,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]],"10,5":[8,[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117]],"10,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]],"10,7":[8,[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117]],"10,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143]],"10,9":[8,[144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178]],"11,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47]],"11,1":[8,[48,49,50,51,52,53,54,55,56]],"11,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151]],"11,11":[8,[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187]],"11,12":[48,[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,13":[48,[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,14":[32,[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,15":[32,[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,16":[16,[188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,17":[16,[188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261]],"11,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47]],"11,3":[8,[48,49,50,51,52,53,54,55,56]],"11,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]],"11,5":[8,[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124]],"11,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]],"11,7":[8,[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124]],"11,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151]],"11,9":[8,[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187]],"12,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]],"12,1":[8,[52,53,54,55,56,57,58,59,60,61]],"12,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159]],"12,11":[8,[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196]],"12,12":[48,[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,13":[48,[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,14":[32,[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,15":[32,[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,16":[16,[197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,17":[16,[197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]],"12,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]],"12,3":[8,[52,53,54,55,56,57,58,59,60,61]],"12,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]],"12,5":[8,[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132]],"12,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]],"12,7":[8,[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132]],"12,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159]],"12,9":[8,[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196]],"13,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]],"13,1":[8,[56,57,58,59,60,61,62,63,64,65,66]],"13,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]],"13,11":[8,[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205]],"13,12":[48,[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,13":[48,[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,14":[32,[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,15":[32,[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,16":[16,[206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,17":[16,[206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]],"13,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]],"13,3":[8,[56,57,58,59,60,61,62,63,64,65,66]],"13,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]],"13,5":[8,[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]],"13,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]],"13,7":[8,[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]],"13,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]],"13,9":[8,[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205]],"14,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]],"14,1":[8,[61,62,63,64,65,66,67,68,69,70,71]],"14,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177]],"14,11":[8,[178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214]],"14,12":[48,[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,13":[48,[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,14":[32,[149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,15":[32,[149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,16":[16,[215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,17":[16,[215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288]],"14,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]],"14,3":[8,[61,62,63,64,65,66,67,68,69,70,71]],"14,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]],"14,5":[8,[87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148]],"14,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]],"14,7":[8,[87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148]],"14,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177]],"14,9":[8,[178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214]],"15,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]],"15,1":[8,[66,67,68,69,70,71,72,73,74,75,76,77]],"15,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186]],"15,11":[8,[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223]],"15,12":[48,[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,13":[48,[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,14":[32,[157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,15":[32,[157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,16":[16,[224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,17":[16,[224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297]],"15,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]],"15,3":[8,[66,67,68,69,70,71,72,73,74,75,76,77]],"15,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92]],"15,5":[8,[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156]],"15,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92]],"15,7":[8,[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156]],"15,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186]],"15,9":[8,[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223]],"16,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]],"16,1":[8,[71,72,73,74,75,76,77,78,79,80,81,82,83]],"16,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195]],"16,11":[8,[196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232]],"16,12":[48,[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,13":[48,[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,14":[32,[166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,15":[32,[166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,16":[16,[233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,17":[16,[233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],"16,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]],"16,3":[8,[71,72,73,74,75,76,77,78,79,80,81,82,83]],"16,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]],"16,5":[8,[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165]],"16,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]],"16,7":[8,[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165]],"16,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195]],"16,9":[8,[196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232]],"17,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]],"17,1":[8,[77,78,79,80,81,82,83,84,85,86,87,88,89]],"17,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204]],"17,11":[8,[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241]],"17,12":[48,[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,13":[48,[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,14":[32,[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,15":[32,[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,16":[16,[242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,17":[16,[242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315]],"17,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]],"17,3":[8,[77,78,79,80,81,82,83,84,85,86,87,88,89]],"17,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105]],"17,5":[8,[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174]],"17,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105]],"17,7":[8,[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174]],"17,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204]],"17,9":[8,[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241]],"18,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]],"18,1":[8,[83,84,85,86,87,88,89,90,91,92,93,94,95]],"18,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213]],"18,11":[8,[214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250]],"18,12":[48,[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,13":[48,[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,14":[32,[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,15":[32,[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,16":[16,[251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,17":[16,[251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324]],"18,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]],"18,3":[8,[83,84,85,86,87,88,89,90,91,92,93,94,95]],"18,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]],"18,5":[8,[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183]],"18,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]],"18,7":[8,[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183]],"18,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213]],"18,9":[8,[214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250]],"19,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]],"19,1":[8,[89,90,91,92,93,94,95,96,97,98,99,100,101,102]],"19,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],"19,11":[8,[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259]],"19,12":[48,[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,13":[48,[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,14":[32,[193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,15":[32,[193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,16":[16,[260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,17":[16,[260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333]],"19,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]],"19,3":[8,[89,90,91,92,93,94,95,96,97,98,99,100,101,102]],"19,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]],"19,5":[8,[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192]],"19,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]],"19,7":[8,[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192]],"19,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],"19,9":[8,[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259]],"2,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13]],"2,1":[8,[14,15,16,17,18,19,20]],"2,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]],"2,11":[8,[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114]],"2,12":[48,[21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,13":[48,[21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,14":[32,[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,15":[32,[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,16":[16,[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,17":[16,[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],"2,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13]],"2,3":[8,[14,15,16,17,18,19,20]],"2,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]],"2,5":[8,[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]],"2,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]],"2,7":[8,[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]],"2,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]],"2,9":[8,[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114]],"20,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94]],"20,1":[8,[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109]],"20,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231]],"20,11":[8,[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268]],"20,12":[48,[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,13":[48,[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,14":[32,[202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,15":[32,[202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,16":[16,[269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,17":[16,[269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342]],"20,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94]],"20,3":[8,[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109]],"20,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126]],"20,5":[8,[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201]],"20,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126]],"20,7":[8,[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201]],"20,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231]],"20,9":[8,[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268]],"21,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]],"21,1":[8,[102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]],"21,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240]],"21,11":[8,[241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277]],"21,12":[48,[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,13":[48,[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,14":[32,[211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,15":[32,[211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,16":[16,[278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,17":[16,[278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351]],"21,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]],"21,3":[8,[102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]],"21,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134]],"21,5":[8,[135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210]],"21,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134]],"21,7":[8,[135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210]],"21,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240]],"21,9":[8,[241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277]],"22,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108]],"22,1":[8,[109,110,111,112,113,114,115,116,117,118,119,120,121,122,123]],"22,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249]],"22,11":[8,[250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286]],"22,12":[48,[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,13":[48,[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,14":[32,[220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,15":[32,[220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,16":[16,[287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,17":[16,[287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360]],"22,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108]],"22,3":[8,[109,110,111,112,113,114,115,116,117,118,119,120,121,122,123]],"22,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142]],"22,5":[8,[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219]],"22,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142]],"22,7":[8,[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219]],"22,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249]],"22,9":[8,[250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286]],"23,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115]],"23,1":[8,[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131]],"23,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258]],"23,11":[8,[259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295]],"23,12":[48,[132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,13":[48,[132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,14":[32,[229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,15":[32,[229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,16":[16,[296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,17":[16,[296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369]],"23,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115]],"23,3":[8,[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131]],"23,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150]],"23,5":[8,[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228]],"23,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150]],"23,7":[8,[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228]],"23,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258]],"23,9":[8,[259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295]],"24,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122]],"24,1":[8,[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139]],"24,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267]],"24,11":[8,[268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304]],"24,12":[48,[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,13":[48,[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,14":[32,[238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,15":[32,[238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,16":[16,[305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,17":[16,[305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378]],"24,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122]],"24,3":[8,[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139]],"24,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158]],"24,5":[8,[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237]],"24,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158]],"24,7":[8,[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237]],"24,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267]],"24,9":[8,[268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304]],"25,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]],"25,1":[8,[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147]],"25,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276]],"25,11":[8,[277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313]],"25,12":[48,[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,13":[48,[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,14":[32,[247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,15":[32,[247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,16":[16,[314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,17":[16,[314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387]],"25,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]],"25,3":[8,[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147]],"25,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167]],"25,5":[8,[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246]],"25,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167]],"25,7":[8,[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246]],"25,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276]],"25,9":[8,[277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313]],"26,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138]],"26,1":[8,[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155]],"26,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],"26,11":[8,[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322]],"26,12":[48,[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,13":[48,[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,14":[32,[256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,15":[32,[256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,16":[16,[323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,17":[16,[323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]],"26,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138]],"26,3":[8,[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155]],"26,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176]],"26,5":[8,[177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]],"26,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176]],"26,7":[8,[177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]],"26,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],"26,9":[8,[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322]],"27,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146]],"27,1":[8,[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164]],"27,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294]],"27,11":[8,[295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331]],"27,12":[48,[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,13":[48,[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,14":[32,[265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,15":[32,[265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,16":[16,[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,17":[16,[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405]],"27,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146]],"27,3":[8,[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164]],"27,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185]],"27,5":[8,[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264]],"27,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185]],"27,7":[8,[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264]],"27,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294]],"27,9":[8,[295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331]],"28,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154]],"28,1":[8,[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173]],"28,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303]],"28,11":[8,[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340]],"28,12":[48,[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,13":[48,[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,14":[32,[274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,15":[32,[274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,16":[16,[341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,17":[16,[341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414]],"28,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154]],"28,3":[8,[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173]],"28,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194]],"28,5":[8,[195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273]],"28,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194]],"28,7":[8,[195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273]],"28,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303]],"28,9":[8,[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340]],"29,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163]],"29,1":[8,[164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182]],"29,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312]],"29,11":[8,[313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349]],"29,12":[48,[183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,13":[48,[183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,14":[32,[283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,15":[32,[283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,16":[16,[350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,17":[16,[350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423]],"29,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163]],"29,3":[8,[164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182]],"29,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203]],"29,5":[8,[204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282]],"29,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203]],"29,7":[8,[204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282]],"29,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312]],"29,9":[8,[313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349]],"3,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]],"3,1":[8,[17,18,19,20,21,22,23,24]],"3,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93]],"3,11":[8,[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]],"3,12":[48,[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,13":[48,[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,14":[32,[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,15":[32,[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,16":[16,[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,17":[16,[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]],"3,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]],"3,3":[8,[17,18,19,20,21,22,23,24]],"3,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]],"3,5":[8,[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]],"3,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]],"3,7":[8,[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]],"3,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93]],"3,9":[8,[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]],"30,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172]],"30,1":[8,[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191]],"30,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321]],"30,11":[8,[322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358]],"30,12":[48,[192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,13":[48,[192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,14":[32,[292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,15":[32,[292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,16":[16,[359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,17":[16,[359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432]],"30,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172]],"30,3":[8,[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191]],"30,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212]],"30,5":[8,[213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291]],"30,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212]],"30,7":[8,[213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291]],"30,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321]],"30,9":[8,[322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358]],"31,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181]],"31,1":[8,[182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200]],"31,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330]],"31,11":[8,[331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367]],"31,12":[48,[201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,13":[48,[201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,14":[32,[301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,15":[32,[301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,16":[16,[368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,17":[16,[368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441]],"31,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181]],"31,3":[8,[182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200]],"31,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221]],"31,5":[8,[222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],"31,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221]],"31,7":[8,[222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],"31,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330]],"31,9":[8,[331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367]],"32,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190]],"32,1":[8,[191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209]],"32,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339]],"32,11":[8,[340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376]],"32,12":[48,[210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,13":[48,[210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,14":[32,[310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,15":[32,[310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,16":[16,[377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,17":[16,[377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450]],"32,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190]],"32,3":[8,[191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209]],"32,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230]],"32,5":[8,[231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309]],"32,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230]],"32,7":[8,[231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309]],"32,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339]],"32,9":[8,[340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376]],"33,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]],"33,1":[8,[200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218]],"33,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348]],"33,11":[8,[349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385]],"33,12":[48,[219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,13":[48,[219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,14":[32,[319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,15":[32,[319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,16":[16,[386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,17":[16,[386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459]],"33,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]],"33,3":[8,[200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218]],"33,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239]],"33,5":[8,[240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318]],"33,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239]],"33,7":[8,[240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318]],"33,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348]],"33,9":[8,[349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385]],"34,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208]],"34,1":[8,[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227]],"34,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357]],"34,11":[8,[358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394]],"34,12":[48,[228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,13":[48,[228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,14":[32,[328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,15":[32,[328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,16":[16,[395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,17":[16,[395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468]],"34,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208]],"34,3":[8,[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227]],"34,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248]],"34,5":[8,[249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327]],"34,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248]],"34,7":[8,[249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327]],"34,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357]],"34,9":[8,[358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394]],"35,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217]],"35,1":[8,[218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236]],"35,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366]],"35,11":[8,[367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403]],"35,12":[48,[237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,13":[48,[237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,14":[32,[337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,15":[32,[337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,16":[16,[404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,17":[16,[404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],"35,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217]],"35,3":[8,[218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236]],"35,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257]],"35,5":[8,[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336]],"35,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257]],"35,7":[8,[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336]],"35,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366]],"35,9":[8,[367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403]],"36,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226]],"36,1":[8,[227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245]],"36,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375]],"36,11":[8,[376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412]],"36,12":[48,[246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,13":[48,[246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,14":[32,[346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,15":[32,[346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,16":[16,[413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,17":[16,[413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486]],"36,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226]],"36,3":[8,[227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245]],"36,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266]],"36,5":[8,[267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345]],"36,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266]],"36,7":[8,[267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345]],"36,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375]],"36,9":[8,[376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412]],"37,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235]],"37,1":[8,[236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254]],"37,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384]],"37,11":[8,[385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421]],"37,12":[48,[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,13":[48,[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,14":[32,[355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,15":[32,[355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,16":[16,[422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,17":[16,[422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"37,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235]],"37,3":[8,[236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254]],"37,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],"37,5":[8,[276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354]],"37,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],"37,7":[8,[276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354]],"37,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384]],"37,9":[8,[385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421]],"38,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244]],"38,1":[8,[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263]],"38,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393]],"38,11":[8,[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430]],"38,12":[48,[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,13":[48,[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,14":[32,[364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,15":[32,[364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,16":[16,[431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,17":[16,[431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502]],"38,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244]],"38,3":[8,[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263]],"38,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284]],"38,5":[8,[285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363]],"38,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284]],"38,7":[8,[285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363]],"38,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393]],"38,9":[8,[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430]],"39,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253]],"39,1":[8,[254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272]],"39,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402]],"39,11":[8,[403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439]],"39,12":[48,[273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,13":[48,[273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,14":[32,[373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,15":[32,[373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,16":[16,[440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,17":[16,[440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"39,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253]],"39,3":[8,[254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272]],"39,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293]],"39,5":[8,[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372]],"39,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293]],"39,7":[8,[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372]],"39,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402]],"39,9":[8,[403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439]],"4,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]],"4,1":[8,[20,21,22,23,24,25,26,27,28]],"4,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]],"4,11":[8,[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128]],"4,12":[48,[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,13":[48,[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,14":[32,[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,15":[32,[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,16":[16,[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,17":[16,[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198]],"4,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]],"4,3":[8,[20,21,22,23,24,25,26,27,28]],"4,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]],"4,5":[8,[39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78]],"4,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]],"4,7":[8,[39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78]],"4,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]],"4,9":[8,[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128]],"40,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262]],"40,1":[8,[263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281]],"40,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411]],"40,11":[8,[412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448]],"40,12":[48,[282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,13":[48,[282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,14":[32,[382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,15":[32,[382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,16":[16,[449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,17":[16,[449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"40,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262]],"40,3":[8,[263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281]],"40,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302]],"40,5":[8,[303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381]],"40,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302]],"40,7":[8,[303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381]],"40,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411]],"40,9":[8,[412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448]],"41,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271]],"41,1":[8,[272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290]],"41,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420]],"41,11":[8,[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457]],"41,12":[48,[291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,13":[48,[291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,14":[32,[391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,15":[32,[391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,16":[16,[458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,17":[16,[458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"41,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271]],"41,3":[8,[272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290]],"41,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311]],"41,5":[8,[312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390]],"41,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311]],"41,7":[8,[312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390]],"41,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420]],"41,9":[8,[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457]],"42,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280]],"42,1":[8,[281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299]],"42,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429]],"42,11":[8,[430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466]],"42,12":[48,[300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,13":[48,[300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,14":[32,[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,15":[32,[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,16":[16,[467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,17":[16,[467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"42,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280]],"42,3":[8,[281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299]],"42,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320]],"42,5":[8,[321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399]],"42,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320]],"42,7":[8,[321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399]],"42,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429]],"42,9":[8,[430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466]],"43,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289]],"43,1":[8,[290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308]],"43,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438]],"43,11":[8,[439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475]],"43,12":[48,[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,13":[48,[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,14":[32,[409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,15":[32,[409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,16":[16,[476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,17":[16,[476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"43,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289]],"43,3":[8,[290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308]],"43,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329]],"43,5":[8,[330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408]],"43,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329]],"43,7":[8,[330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408]],"43,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438]],"43,9":[8,[439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475]],"44,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298]],"44,1":[8,[299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]],"44,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447]],"44,11":[8,[448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484]],"44,12":[48,[318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,13":[48,[318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,14":[32,[418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,15":[32,[418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,16":[16,[485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,17":[16,[485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"44,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298]],"44,3":[8,[299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]],"44,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338]],"44,5":[8,[339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417]],"44,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338]],"44,7":[8,[339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417]],"44,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447]],"44,9":[8,[448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484]],"45,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307]],"45,1":[8,[308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326]],"45,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456]],"45,11":[8,[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492]],"45,12":[48,[327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,13":[48,[327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,14":[32,[427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,15":[32,[427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,16":[16,[493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,17":[16,[493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"45,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307]],"45,3":[8,[308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326]],"45,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347]],"45,5":[8,[348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426]],"45,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347]],"45,7":[8,[348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426]],"45,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456]],"45,9":[8,[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492]],"46,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316]],"46,1":[8,[317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335]],"46,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465]],"46,11":[8,[466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500]],"46,12":[48,[336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,13":[48,[336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,14":[32,[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,15":[32,[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,16":[16,[501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,17":[16,[501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"46,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316]],"46,3":[8,[317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335]],"46,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356]],"46,5":[8,[357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435]],"46,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356]],"46,7":[8,[357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435]],"46,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465]],"46,9":[8,[466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500]],"47,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325]],"47,1":[8,[326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]],"47,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474]],"47,11":[8,[475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508]],"47,12":[48,[345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,13":[48,[345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,14":[32,[445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,15":[32,[445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,16":[16,[509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,17":[16,[509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"47,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325]],"47,3":[8,[326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]],"47,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365]],"47,5":[8,[366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444]],"47,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365]],"47,7":[8,[366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444]],"47,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474]],"47,9":[8,[475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508]],"48,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334]],"48,1":[8,[335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353]],"48,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483]],"48,11":[8,[484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516]],"48,12":[48,[354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,13":[48,[354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,14":[32,[454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,15":[32,[454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,16":[16,[517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,17":[16,[517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"48,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334]],"48,3":[8,[335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353]],"48,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374]],"48,5":[8,[375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453]],"48,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374]],"48,7":[8,[375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453]],"48,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483]],"48,9":[8,[484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516]],"49,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343]],"49,1":[8,[344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362]],"49,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491]],"49,11":[8,[492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524]],"49,12":[48,[363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,13":[48,[363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,14":[32,[463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,15":[32,[463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,16":[16,[525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,17":[16,[525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"49,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343]],"49,3":[8,[344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362]],"49,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383]],"49,5":[8,[384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462]],"49,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383]],"49,7":[8,[384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462]],"49,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491]],"49,9":[8,[492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524]],"5,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]],"5,1":[8,[24,25,26,27,28,29,30,31,32]],"5,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106]],"5,11":[8,[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136]],"5,12":[48,[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,13":[48,[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,14":[32,[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,15":[32,[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,16":[16,[137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,17":[16,[137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]],"5,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]],"5,3":[8,[24,25,26,27,28,29,30,31,32]],"5,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]],"5,5":[8,[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]],"5,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]],"5,7":[8,[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]],"5,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106]],"5,9":[8,[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136]],"50,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352]],"50,1":[8,[353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371]],"50,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499]],"50,11":[8,[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532]],"50,12":[48,[372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,13":[48,[372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,14":[32,[472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,15":[32,[472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,16":[16,[533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,17":[16,[533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"50,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352]],"50,3":[8,[353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371]],"50,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392]],"50,5":[8,[393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471]],"50,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392]],"50,7":[8,[393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471]],"50,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499]],"50,9":[8,[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532]],"51,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361]],"51,1":[8,[362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380]],"51,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507]],"51,11":[8,[508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540]],"51,12":[48,[381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,13":[48,[381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,14":[32,[481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,15":[32,[481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,16":[16,[541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,17":[16,[541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"51,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361]],"51,3":[8,[362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380]],"51,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401]],"51,5":[8,[402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480]],"51,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401]],"51,7":[8,[402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480]],"51,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507]],"51,9":[8,[508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540]],"52,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370]],"52,1":[8,[371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389]],"52,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515]],"52,11":[8,[516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548]],"52,12":[48,[390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,13":[48,[390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,14":[32,[490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,15":[32,[490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,16":[16,[549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,17":[16,[549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370]],"52,3":[8,[371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389]],"52,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410]],"52,5":[8,[411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489]],"52,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410]],"52,7":[8,[411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489]],"52,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515]],"52,9":[8,[516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548]],"53,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379]],"53,1":[8,[380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398]],"53,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523]],"53,11":[8,[524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556]],"53,12":[48,[399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,13":[48,[399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,14":[32,[498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,15":[32,[498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,16":[16,[557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,17":[16,[557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604]],"53,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379]],"53,3":[8,[380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398]],"53,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419]],"53,5":[8,[420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497]],"53,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419]],"53,7":[8,[420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497]],"53,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523]],"53,9":[8,[524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556]],"54,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388]],"54,1":[8,[389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407]],"54,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531]],"54,11":[8,[532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563]],"54,12":[48,[408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,13":[48,[408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,14":[32,[506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,15":[32,[506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,16":[16,[564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,17":[16,[564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609]],"54,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388]],"54,3":[8,[389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407]],"54,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428]],"54,5":[8,[429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505]],"54,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428]],"54,7":[8,[429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505]],"54,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531]],"54,9":[8,[532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563]],"55,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397]],"55,1":[8,[398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416]],"55,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539]],"55,11":[8,[540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570]],"55,12":[48,[417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,13":[48,[417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,14":[32,[514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,15":[32,[514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,16":[16,[571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,17":[16,[571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614]],"55,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397]],"55,3":[8,[398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416]],"55,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437]],"55,5":[8,[438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513]],"55,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437]],"55,7":[8,[438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513]],"55,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539]],"55,9":[8,[540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570]],"56,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406]],"56,1":[8,[407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425]],"56,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547]],"56,11":[8,[548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576]],"56,12":[48,[426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,13":[48,[426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,14":[32,[522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,15":[32,[522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,16":[16,[577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,17":[16,[577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],"56,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406]],"56,3":[8,[407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425]],"56,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446]],"56,5":[8,[447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"56,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446]],"56,7":[8,[447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"56,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547]],"56,9":[8,[548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576]],"57,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415]],"57,1":[8,[416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434]],"57,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555]],"57,11":[8,[556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582]],"57,12":[48,[435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,13":[48,[435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,14":[32,[530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,15":[32,[530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,16":[16,[583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,17":[16,[583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624]],"57,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415]],"57,3":[8,[416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434]],"57,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455]],"57,5":[8,[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"57,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455]],"57,7":[8,[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"57,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555]],"57,9":[8,[556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582]],"58,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424]],"58,1":[8,[425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443]],"58,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562]],"58,11":[8,[563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"58,12":[48,[444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,13":[48,[444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,14":[32,[538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,15":[32,[538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,16":[16,[588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,17":[16,[588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424]],"58,3":[8,[425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443]],"58,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464]],"58,5":[8,[465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"58,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464]],"58,7":[8,[465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"58,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562]],"58,9":[8,[563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"59,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433]],"59,1":[8,[434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452]],"59,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],"59,11":[8,[570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592]],"59,12":[48,[453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,13":[48,[453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,14":[32,[546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,15":[32,[546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,16":[16,[593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,17":[16,[593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433]],"59,3":[8,[434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452]],"59,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473]],"59,5":[8,[474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"59,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473]],"59,7":[8,[474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"59,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],"59,9":[8,[570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592]],"6,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]],"6,1":[8,[28,29,30,31,32,33,34,35,36]],"6,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113]],"6,11":[8,[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144]],"6,12":[48,[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,13":[48,[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,14":[32,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,15":[32,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,16":[16,[145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,17":[16,[145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216]],"6,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]],"6,3":[8,[28,29,30,31,32,33,34,35,36]],"6,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]],"6,5":[8,[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]],"6,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]],"6,7":[8,[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]],"6,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113]],"6,9":[8,[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144]],"60,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442]],"60,1":[8,[443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461]],"60,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575]],"60,11":[8,[576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597]],"60,12":[48,[462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,13":[48,[462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,14":[32,[554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,15":[32,[554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,16":[16,[598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,17":[16,[598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442]],"60,3":[8,[443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461]],"60,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]],"60,5":[8,[483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"60,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]],"60,7":[8,[483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"60,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575]],"60,9":[8,[576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597]],"61,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451]],"61,1":[8,[452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470]],"61,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"61,11":[8,[582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602]],"61,12":[48,[471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,13":[48,[471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,14":[32,[561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,15":[32,[561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,16":[16,[603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,17":[16,[603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451]],"61,3":[8,[452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470]],"61,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490]],"61,5":[8,[491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"61,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490]],"61,7":[8,[491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"61,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"61,9":[8,[582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602]],"62,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460]],"62,1":[8,[461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479]],"62,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586]],"62,11":[8,[587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607]],"62,12":[48,[480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,13":[48,[480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,14":[32,[568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,15":[32,[568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,16":[16,[608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,17":[16,[608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460]],"62,3":[8,[461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479]],"62,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498]],"62,5":[8,[499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"62,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498]],"62,7":[8,[499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"62,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586]],"62,9":[8,[587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607]],"63,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],"63,1":[8,[470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488]],"63,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591]],"63,11":[8,[592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"63,12":[48,[489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,13":[48,[489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,14":[32,[574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,15":[32,[574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,16":[16,[613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,17":[16,[613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],"63,3":[8,[470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488]],"63,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506]],"63,5":[8,[507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573]],"63,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506]],"63,7":[8,[507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573]],"63,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591]],"63,9":[8,[592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"64,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478]],"64,1":[8,[479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496]],"64,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596]],"64,11":[8,[597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617]],"64,12":[48,[497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,13":[48,[497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,14":[32,[580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,15":[32,[580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,16":[16,[618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,17":[16,[618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478]],"64,3":[8,[479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496]],"64,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514]],"64,5":[8,[515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579]],"64,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514]],"64,7":[8,[515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579]],"64,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596]],"64,9":[8,[597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617]],"65,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487]],"65,1":[8,[488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504]],"65,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601]],"65,11":[8,[602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622]],"65,12":[48,[505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,13":[48,[505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,14":[32,[586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,15":[32,[586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,16":[16,[623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,17":[16,[623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487]],"65,3":[8,[488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504]],"65,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522]],"65,5":[8,[523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585]],"65,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522]],"65,7":[8,[523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585]],"65,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601]],"65,9":[8,[602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622]],"66,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495]],"66,1":[8,[496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"66,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606]],"66,11":[8,[607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],"66,12":[48,[513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,13":[48,[513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,14":[32,[591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,15":[32,[591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,16":[16,[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,17":[16,[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495]],"66,3":[8,[496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"66,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530]],"66,5":[8,[531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590]],"66,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530]],"66,7":[8,[531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590]],"66,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606]],"66,9":[8,[607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],"67,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"67,1":[8,[504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520]],"67,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611]],"67,11":[8,[612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631]],"67,12":[48,[521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,13":[48,[521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,14":[32,[596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,15":[32,[596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,16":[16,[632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,17":[16,[632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"67,3":[8,[504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520]],"67,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538]],"67,5":[8,[539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595]],"67,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538]],"67,7":[8,[539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595]],"67,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611]],"67,9":[8,[612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631]],"68,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511]],"68,1":[8,[512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528]],"68,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616]],"68,11":[8,[617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635]],"68,12":[48,[529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,13":[48,[529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,14":[32,[601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,15":[32,[601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,16":[16,[636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,17":[16,[636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511]],"68,3":[8,[512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528]],"68,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546]],"68,5":[8,[547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600]],"68,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546]],"68,7":[8,[547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600]],"68,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616]],"68,9":[8,[617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635]],"69,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],"69,1":[8,[520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536]],"69,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621]],"69,11":[8,[622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639]],"69,12":[48,[537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,13":[48,[537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,14":[32,[606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,15":[32,[606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,16":[16,[640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,17":[16,[640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],"69,3":[8,[520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536]],"69,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554]],"69,5":[8,[555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"69,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554]],"69,7":[8,[555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"69,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621]],"69,9":[8,[622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639]],"7,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]],"7,1":[8,[32,33,34,35,36,37,38,39,40]],"7,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120]],"7,11":[8,[121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"7,12":[48,[41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,13":[48,[41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,14":[32,[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,15":[32,[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,16":[16,[153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,17":[16,[153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225]],"7,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]],"7,3":[8,[32,33,34,35,36,37,38,39,40]],"7,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]],"7,5":[8,[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96]],"7,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]],"7,7":[8,[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96]],"7,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120]],"7,9":[8,[121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"70,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],"70,1":[8,[528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544]],"70,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626]],"70,11":[8,[627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642]],"70,12":[48,[545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,13":[48,[545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,14":[32,[611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,15":[32,[611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,16":[16,[643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,17":[16,[643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],"70,3":[8,[528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544]],"70,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561]],"70,5":[8,[562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"70,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561]],"70,7":[8,[562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"70,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626]],"70,9":[8,[627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642]],"71,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535]],"71,1":[8,[536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552]],"71,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630]],"71,11":[8,[631,632,633,634,635,636,637,638,639,640,641,642,643,644,645]],"71,12":[48,[553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,13":[48,[553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,14":[32,[616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,15":[32,[616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,16":[16,[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,17":[16,[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535]],"71,3":[8,[536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552]],"71,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568]],"71,5":[8,[569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"71,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568]],"71,7":[8,[569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"71,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630]],"71,9":[8,[631,632,633,634,635,636,637,638,639,640,641,642,643,644,645]],"72,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543]],"72,1":[8,[544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559]],"72,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634]],"72,11":[8,[635,636,637,638,639,640,641,642,643,644,645,646,647,648]],"72,12":[48,[560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,13":[48,[560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,14":[32,[621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,15":[32,[621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,16":[16,[649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,17":[16,[649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543]],"72,3":[8,[544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559]],"72,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"72,5":[8,[575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"72,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"72,7":[8,[575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"72,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634]],"72,9":[8,[635,636,637,638,639,640,641,642,643,644,645,646,647,648]],"73,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551]],"73,1":[8,[552,553,554,555,556,557,558,559,560,561,562,563,564,565,566]],"73,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638]],"73,11":[8,[639,640,641,642,643,644,645,646,647,648,649,650,651]],"73,12":[48,[567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,13":[48,[567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,14":[32,[626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,15":[32,[626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,16":[16,[652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,17":[16,[652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551]],"73,3":[8,[552,553,554,555,556,557,558,559,560,561,562,563,564,565,566]],"73,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580]],"73,5":[8,[581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"73,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580]],"73,7":[8,[581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"73,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638]],"73,9":[8,[639,640,641,642,643,644,645,646,647,648,649,650,651]],"8,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]],"8,1":[8,[36,37,38,39,40,41,42,43,44]],"8,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127]],"8,11":[8,[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160]],"8,12":[48,[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,13":[48,[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,14":[32,[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,15":[32,[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,16":[16,[161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,17":[16,[161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]],"8,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]],"8,3":[8,[36,37,38,39,40,41,42,43,44]],"8,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]],"8,5":[8,[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]],"8,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]],"8,7":[8,[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]],"8,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127]],"8,9":[8,[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160]],"9,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]],"9,1":[8,[40,41,42,43,44,45,46,47,48]],"9,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135]],"9,11":[8,[136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]],"9,12":[48,[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,13":[48,[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,14":[32,[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,15":[32,[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,16":[16,[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,17":[16,[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243]],"9,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]],"9,3":[8,[40,41,42,43,44,45,46,47,48]],"9,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]],"9,5":[8,[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]],"9,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]],"9,7":[8,[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]],"9,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135]],"9,9":[8,[136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]]}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/PRICE.json b/research/gmx-t74-borrow43-handoff/PRICE.json new file mode 100644 index 0000000000..c41b950145 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PRICE.json @@ -0,0 +1,123 @@ +{ + "status": "PASS_EXACT_ARITHMETIC_ONLY_PENDING_FULL_ADMISSION", + "prices": { + "native": { + "root": { + "lower": "0.001679671795504737621542", + "upper": "0.001679671795504737621543", + "lower_endpoint_residual_upper": "-2.214843238935323432073938893534855946978454725883380247191670198954729E-25", + "upper_endpoint_residual_lower": "2.700126917211241084768417233750364339987396100484466423632185848624352E-24", + "strict_rational_signs": true, + "moment_minus_one_at_current_k_required_rate": [ + "-0.002870901781943869507709008174039951600690116611395906463473618176265266", + "-0.002870901781943869507709008174039951600690116611395906463473618176191082" + ], + "nominal_k_ceiling_interval": [ + "0.001676855229071321886206381217337894076302355284707188159342538611752683", + "0.001676855229071321886207377866439279392922418267609489064799178863936182" + ] + }, + "moments": [ + { + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two_residual": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "outer": { + "complex_b": "839835897752368810771/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.00167967179265877105202", + "upper": "0.001679671792658771052021", + "lower_endpoint_residual_upper": "-5.049272477586136135798678107830013841507105262202038802418257022965858E-25", + "upper_endpoint_residual_lower": "2.416683993351547199687986237949547805302378623519523316271126931033384E-24", + "strict_rational_signs": true, + "moment_minus_one_at_current_k_required_rate": [ + "-0.002870901773664105570158483130477446858764617530230225522856376540343864", + "-0.002870901773664105570158483130477446858764617530230225522856376540269680" + ], + "nominal_k_ceiling_interval": [ + "0.001676855226234891862111568849431110493467335322946343478701079175369697", + "0.001676855226234891862112565498532501473434881467922152178684471836032915" + ] + }, + "moments": [ + { + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator_residual": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two_residual": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two_residual": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer": { + "complex_b": "83983589632938552601/50000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1676855226234891/1000000000000000000", + "kappa_decimal": "0.001676855226234891", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "gain_over_pr1061": "62605049/250000000000000000", + "gain_percent": "0.0000149339208928752995350720010745176338680104426106738137703909496989036537167", + "profile_sha256": "932453b2b045f73c81aa2b6f169a05ae2426c573965bbf4f5d3998b63b78a38f", + "scope": "Conditional PR645 framework and PR589 bit assumptions retained. Owner, native and global admission are separate." +} diff --git a/research/gmx-t74-borrow43-handoff/PROFILE.json b/research/gmx-t74-borrow43-handoff/PROFILE.json new file mode 100644 index 0000000000..df003b0d5d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PROFILE.json @@ -0,0 +1 @@ +{"1":1603728,"2":432900,"3":183683,"4":85248,"5":26862,"8":5328,"9":1,"48":26625} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/README.md b/research/gmx-t74-borrow43-handoff/README.md new file mode 100644 index 0000000000..5c865c3903 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/README.md @@ -0,0 +1,130 @@ +# Dirt-entry rewrite of helpers 530 and 542 on #2802's construction: kappa 0.0017186574371668559556... + +**Credit first: PR2802 (mdumitrean, Marius-Paul Dumitrean) is the base construction**: seven retired-lender aliases and two hostee moves on PR2751's (tekuuu) twelve-alias words with PR2766's (DavidAriasC) frame refit. **The dirt-entry rewrite of helpers 530 and 542 on top of it is ours**, by Jeremy Kothe (jeremykothe2), with AI assistance: four gates inject their dirt at B entry and 26 compensation gates are removed, which changes the local profile and the width inventory (8:80, 9:238). Also credited: PR2768 (tekuuu) exact sparse native replay, PR2788 (jeremydiviney) stale-bytecode finding, GaugeFix (Theorem 4.1 correction), PR2733 (mdumitrean), and the lineage PR2696 (mason-hale), PR2679 (philippeVV), PR2588 / PR2530 (zxv), PR2621 (themilkman216), PR2559 (philippeVV). + +Conditional final kappa = **0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999** (outer ledger, `outer/LEDGER.json` = `outer/OUTER-CLAIM.json`). The supplier's own strict-assembly kappa, recorded in `CLAIM.json` and `new/SPEC.json`, is 0.0017157087216124446887789003618932350021705594534384973879727116838026674817513865509615772110800333102112363960321909784054842461245800855853119624078820258894123396387065107915928472563121062457460061424518405889939092937634815956419258676303980383341341589804550460713042041578422646257503721117245066662007736373873763673103486369157068513936907743632383587126621439660702760490160985605355941824692183534244869722145784762680882724346351772358533461117254531229050200009088330088145180053746420001281065408759544455658727031230729637546532586890533104836987380141192218076033759395918365753565286302617135981872711569326006909807511484873782967775383068379440043097462883040356484957878528429279145133184589230716321590900918821071083476801888129917488226896023277742422536908632157018289480283556807659213337705571235867724749289549568899949105155302267226585382964138630511868873231985988090346056812864699363573108037221450886376752556172066666751759364041150049247827089845327645445519603321691701934370635487097146221959805592934024563109749503057049168397174810639323460131392958330164316368356869039716955012581542615590726686230648143864217796119497901024416389908058694930807846546713809270982889851204353666635385134486542273401200339702456758526753507226834497399202842343802211272125608153876754444016344601893708719855654874461836789892299422583781837222839512575234764761657094692608279534369631316689259853457659250991870501007203109588421023892161080856831417301427303082884678042519879736179469036333819984100378258982645370217426176651063518074254731547119911555902344571079394430547531763479691256486235735521703928265216853409058736159871362075389307494928468142983433604352068847646915225396939742790838043220863604667055060714835789967546115779626088193147920323272993773683005347254142364509511200331400364835668523512789401831074575246067672294250133951161991015299992111106499963089845348256366531907320458121005918575520998018780737006418901166984879646469240687147051778897108197870170491818245691622315405143153631174713481261720406057367074341960670337363876427926517565106957492165969034431288000666137171014866065263165504612685373737595207235477972052984569932560854840996860584105865329123834775156924009811210353440360242180279024649883207395623515690232193018760026684216063526998054991499408552770099088876718782289457233985757076349621794314313070263355977299087117222244664239866905136167323097774771685104642795636002320112845354617036244237389192602417250026666552248966152661828745658024397402632981776503134192933921117083352895996075531552104598967786814962654391664335774661631306656969281892750715261859323414224111569761703056728424808053384145937838962311094423845286678095543424035965319282063436936641587926487233521956970341481650607802160610291967060499842092371614185420708952938297453847279795733224001217557658208331529925438856757947290745223291735031136594329505333844406552386600999494284665444487022929122511839954006690299011001504. + +**What this package adds.** The `dirtentry` stage of `new/rebuild_borrow.py` on the `retired7` state (PR2802): the patch input `new/borrow/inputs/dirtentry_43*.json` declares the four inserted gates, the 26 removed compensation gates and the entry frames of 530 and 542; the stage checks the exact gate edit and compensation removal and the audit re-verifies the word forward and dual. Tamper controls (log line `DIRTENTRY-CONTROLS`) reject a dropped injection, a flipped sign, a wrong time and a missing removal. The owner fill, order and dispatch for the new widths are re-derived exactly and re-checked literally by `reconstruct.py`; local profile {1:2382, 2:650, 3:266, 4:128, 5:26, 8:8}, leftover idle {1:17316, 3:6527, 5:9546, 9:1, 48:26625}. Unchanged from our PR2818: the 1e-3000 certified endpoint and fixed-grid-maximum outer kappa, PR2768's exact sparse native replay (`new/fastnative/`), the stale-bytecode guard (`code/pyc_guard.py`) and our hardening stages (cut-centre guard, helper-index guard, entrance-width binding, private-buffer stock accounting, derived lifted-target and centre-child checks with controls). + +**Two kappa layers.** `CLAIM.json` (`kappa`, `kappa_decimal`) and `new/SPEC.json` hold the SUPPLIER-ONLY kappa, the strict supplier assembly under the older outer witness; it is not the headline and is below the baseline. The HEADLINE conditional kappa is the outer ledger kappa in `outer/OUTER-CLAIM.json` (= `outer/LEDGER.json`). `CLAIM.json` states this in `kappa_layers`. + +Comparison: exceeds PR2824 (kappa from its claim) by 8.62277E-7 (exact difference 8.6227713484384828646E-7; exact gate in `verify_release.py`). + +**What is new.** The words are PR2588's: PR2530's (zxv) eight source-partner aliases with PR2588's helper-label swap. Two mechanisms are added on top, and they touch registers disjoint from PR2530/PR2588's aliases. A new owner fill follows. `new/rebuild_borrow.py` applies and checks every stage. + +1. **Pre-life hosting** (stage `prelife`, `new/borrow/inputs/prelife_43*.json`; our mechanism). Six cold width-4 helpers h each host the whole life of a width-9 helper L that starts at dimension 0: 482<-273, 483<-275, 494<-289, 495<-291, 507<-305, 519<-321. + - Each host first restores itself and retires. + - One B warp then carries h's cold-end frame onto a dim-4 frame E at L's first gate. + - L's dirt-compensation reads become anticipatory corrections t += c K_op(h), pulled back through the target-only precondition. + - The host stops being cold, so the derived cleanup's private-buffer set shrinks from 78 to 72 (`word_patch.apply_prelife`). + - It builds on PR2226's anticipatory dirty-borrowing semantics (Cinna Davis) and PR2436's retired-lender aliases (tekuuu). + - The stage checks: + - the removed and cold sets; + - that warps only append, with lender = host; + - that the compensation equals PR2588's minus exactly the hosted helpers' reads; + - that every new correction reads its host through the host's own warp; + - the declared B gate edit; + - that A, precondition, cut, entrances, levels, centres and ports are unchanged. +2. **One-gate frame refit and alias 653<-563** (stages `refit563`, `alias1`). + - The refit lowers the frame of gate B 894 (add 515 += 563) from dim 6 to dim 5, its exact propagated floor. Lender 563 then retires at the dimension of helper 653's entrance frame. + - 653 then borrows 563 through one K_G warp (explicit invertible G, G(U)=E). + - Control: restoring the un-refitted frame must be rejected with `warp frame mismatch`. +3. **Owner fill** (`new/borrow-fill/FILL.json.gz`). + - Construction: plfill (each host takes its borrower's slot in every call; 653's roles are deleted), then greedy bin evacuation, then the aggregated window-class CP-SAT LNS of the parallel fill lane of this work, relabelled by width. + - The tools are in `new/borrow-fill/search/` and are construction-only. `reconstruct.py` checks the shipped fill literally (every window, bin, helper and family rule). + - Idle remainders: {'1': 17428, '3': 6614, '5': 5163, '7': 170, '39': 1, '48': 26535}. + +**Per call:** 415 helpers (PR2588: 422); local profile {1:2374, 2:646, 3:297, 4:120, 5:26, 7:8}; width inventory {4:26, 5:9, 7:62, 8:78, 9:240}; physical stock 66801. + +**Ceiling for this inventory (search-side evidence, not part of the verification).** +- `new/borrow-fill/search/ceil74.py`, with `lattice.py` and `inv.py`, certifies in interval arithmetic a class-level ceiling C <= 0.00171514043461 for every fill of this inventory. +- It uses an LP dual plus an integrality correction over a pattern lattice; windows and families are ignored, which only loosens the bound. +- The shipped fill is within about 2.8e-7 of it. + +**Search evidence.** +- **Pre-life** (`new/borrow/prelife/search/` gapbound.py, prelo.py, prelife2.py, repair2.py, tryE.py, mk1.py; results in `new/borrow/prelife/results/` on the PR2530 words, whose registers these hostings share with PR2588's). + - `mk1.py` with `tryE-*.json` rebuilds the pre-life state of PR2588's words. That state is what `prelife_43*.json` records. +- **Refit pairs** (`new/borrow/refit/search/`, `new/borrow/refit/results/pairs-*.json`). Census on these words: + - no fixed-frame retired-lender pair; + - 48 refit-OK pairs, all with lenders 550-553/562-565. +- **Alias enumeration** (`new/borrow/alias_enumerate.py`, receipts asserted by the rebuild). + - On the pre-life + refit state, the only pair is 653<-563. + - None is left on the shipped word. + +**Controls.** +- **Pre-life:** `new/borrow/prelife_controls.py` runs 78 per word (13 types x 6 pairs), with the cleanup re-derived for each. All are rejected for the expected reason. + - Scope: a G' with G'(U)=E that differs from G off U is not a mutant. Only G(from)=to is a bound property of a warp record. +- **Alias:** `new/borrow/alias1_controls.py` re-derives the cleanup for each mutant and treats a stale-cleanup or operator-id rejection as a failure. All are rejected for real reasons. +- **Retained guards:** the PR2478 cut-centre guard (mdumitrean) and the PR2508 helper-index guard (ywz65) pass, as do their negative controls. + +**Changes to inherited checks forced by the construction (stated openly).** +- **`code/lemmag_stage.py`:** the borrow reference-change mutants are now built from the first forward warp whose from-frame lies strictly between ZERO and FULL. + - The anticipatory corrections' zero-frame K_G events (0 -> 0) are not reference changes. + - Dropping one is invisible to a frame-only label check, but the algebraic replays reject it. +- **`new/SPEC.json` `width_spot_helpers`:** now [278, 281, 284, 289] (registers 506, 510, 513, 518, all width 8). The old spot helpers 482 and 494 are pre-life borrowers. + +**Endpoints.** +- The strict discovery assembly certified both endpoints with the fine engines at 1e-3000. Each is the 1e-3000 floor of its exact moment root. +- During discovery only, a scratch copy of `code/assemble.py` read these endpoints in place of its 1e-24 discovery values. The shipped strict run uses the unmodified code. +- Afterwards the SPEC was unpinned and refrozen, and `outer/B.json`, `LEDGER.json`, `INDEPENDENT.json` and `OUTER-CLAIM.json` were regenerated. +- The LF-pin, line-ending-insensitive and receipts-to-scratch portability fixes are already in PR2588 and are kept. + +**Dependencies:** Python 3.12 with numpy, gmpy2, sympy 1.14, mpmath and psutil. The search tools also need scipy and ortools. + +**Reproduce:** `python3 -B verify_release.py --main --work [--native-cache ]` ends with `PASS_RELEASE `. + +**Credits.** +- **zxv:** PR2530 — the source-partner words. +- **jeremykothe2:** PR2588 (helper-label swap and evacuated fill), PR2575, PR2526, PR2474, PR2462, PR2447, PR2435 — the package lineage, exact pricing and the gmx layout. +- **rohanarun:** PR2571 — repacked fill. +- **tekuuu:** PR2436. +- **Vlado Vojdanovski:** PR2322 and PR1673. +- **mdumitrean:** PR2478 and PR1625. +- **ywz65:** PR2508. +- **Cinna Davis:** PR2226. +- All inherited credits below. + +New here, prepared with substantial Claude Code assistance: the pre-life hosting, the refit alias, the refill, the controls and the fixes above. Earlier versions of this line are PR2559 and philippeVV's evacuation work. + +## Previous package text (PR2588), retained; its kappa figures are superseded by the section above + +**Credit first: this construction is PR2530's (zxv).** Our change is the swap of two helper labels (see below). PR2530 adds eight dirty aliases to the PR2462 supplier by restoring the second member of a retired source pair before the first member's handoff: 656 borrows 49, 657 borrows 83, 658 borrows 98, 660 borrows 101, 632 borrows 68, 596 borrows 80, 600 borrows 88, 633 borrows 31 (422 helpers per call, local profile {1:2367, 2:632, 3:318, 4:120, 5:26, 7:8}, width inventory {4:33, 5:9, 7:62, 8:78, 9:240}, all eight centres with 7+1 paths, twenty lifted targets (twelve on line 30, eight on line 45), a diagonal call order). Its words, order and dispatch are reproduced here exactly (`new/borrow/inputs/alias8_43base.json`, `alias8_43extra.json`, applied by `apply_lowfour` in `new/borrow/word_patch.py`; `new/borrow-fill/ORDER.json`, `DISPATCH.json`; its `independent_core.py` with the twenty-target pins). The aliases extend PR2436's (tekuuu) lifted-target mechanism on our PR2462 supplier, which rests on PR2322's handoff construction (Vlado Vojdanovski) and the PR2312 words. + +**What this package adds.** (0) The helper-label swap: the aliases of lenders 80 and 88 use registers 596 and 600 instead of 648 and 649 (same lenders and partners; `new/borrow/inputs/alias8_43*.json`); the local profile becomes {1:2367, 2:632, 3:318, 4:120, 5:26, 7:8}, with twenty lifted targets, so the checker pins in `independent_core.py` accept targets on lines 30 and 45 (twenty offsets). (1) An owner fill obtained by the evacuation method of PR2559 (philippeVV), run by Jeremy Kothe (jeremykothe2), with AI assistance on PR2530's owner map (`new/borrow-fill/FILL.json.gz`; words, order, windows and plan unchanged; `reconstruct.py` checks every window, bin, helper and family rule literally); leftover idle {1:22090, 3:6661, 5:422, 7:170, 14:1, 23:1, 32:77, 48:26489}. (2) Hardening stages in `new/rebuild_borrow.py`: the cut-centre guard of PR2478 (mdumitrean; log line `CUT-CENTRE-GUARD`) and the helper-index guard of PR2508 (ywz65; log line `HELPER-INDEX-GUARD`), each with a negative control. (3) Portability and determinism, after philippeVV's audit of PR2474 and with the fixes of PR2559: every generated artifact and every pinned artifact hash is LF-only (the package has `.gitattributes` `* -text`); `outer/run_outer.py` compares regenerated artifacts line-ending-insensitively; verification writes its receipts to its work directory and never into the package; the alias controls re-derive the inverse cleanup so each is rejected for its own reason; the four-alias control picks its warps by lender; the predecessor gates of `verify_release.py` are de-duplicated; `requirements.txt` declares the dependencies. (4) The private cleanup-buffer stock accounting (PR2309, PR2315; physical stock 66814 = 66304 + 422 + 8 + 78 + 2), the pooled-slot time binding (PR2301, PR1959) and the 3000-digit endpoints with the fixed-grid-maximum outer kappa C - 1/F - B (PR2180 / PR2161). + +**Entrance frames and hosting (answering the open question of PR2446).** The raised entrance frames reach the hosted helpers through the widths. (1) `new/rebuild_borrow.py`, stage `ENTRANCE-WIDTH-BINDING` (log line `ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True`, and the same for extra): for each word, width = |helper_final| - |start_extra| of every remaining helper must equal the ordered widths of `new/BORROW-PROVIDERS.json`; a raised buffer with its start frame lowered to dimension 1 changes a width and is rejected. (2) `code/bind_providers_portable.py` re-derives the same widths from the native canonical word (|final| - |start|) and asserts they equal the plan registry widths. (3) `reconstruct.py` and `code/emit_allcold.py` use exactly those widths for every hosted role (`w == registry widths`), and `code/audit_allcold.py` rejects a wrong per-call residual width, a wrong provider width registry and an entering helper width silently restored to nine. A buffer delivered at dimension 1 would be width 8, not 7, and fails (1), (2) and the audit. **Scope of these stages:** the width stages bind dimensions only (|final| - |start_extra|); the frame contents of `start_extra` are established by the independent audit_local forward and dual replay of each word and by the native chain, which consume the same frames. + +**Private cleanup stock (charged as physical stock).** The borrowed words clear their private zero buffers at the end of each local program; these 78 buffers per call (`zero_buffers` of the canonical words) are private physical arrays outside the helper inventory, not paid rank. This package charges them exactly as PR2309 (Dugongue) does and as the audit PR2315 (thakrarsagar) requires: physical stock = data + helpers + 8 centres + 78 + 2 = 66830 (a disjoint private bank `zero_buffers` in `private_namespace`), a FULL-frame CLEAR on every allocation and release (156 extra scalar macros and 312 extra real primitives per orientation), a monomial routing reserve for the 84 warp events per orientation and the 78 buffers in the local adapter bound (355712), with the matching identities in `code/emit_allcold.py`, `code/invoice_allcold.py`, `code/audit_allcold.py`, `code/assemble.py` and `independent_core.py`, and two new controls in `code/audit_allcold.py` (`omit private zero buffers`, `private buffer aliases data`). The profile and kappa are unchanged by this accounting (it only adds guards; stock bits 2644, row coefficient 19545 < 20161). `evidence/INDEPENDENT.json` is regenerated for this fill (291708 roles, 438 helpers per call). + +**Pooled-slot time binding.** `code/audit_allcold.py` now binds all eleven fields of each pooled slot of `OWNERS.json.gz`, including `time`, to the base-derived call owners, with tamper controls (equal-width slots exchanging times; a shifted time). The gap was found by PR1959 (Josie Elliston) and executed by PR2301 (navinor / Aaron Wang); our owners satisfy it exactly. + +**Precision of this package** (`new/SPEC.json:outer_refinement`, `CLAIM.json:outer_refinement`): endpoint_digits 3000 (the native and conservative complex endpoints are certified to 1e-3000: accept at the endpoint, reject at endpoint + 1e-3000, by finer-constant copies of both fine engines (`code/fine_mercator.py`, `code/fine_moment.py`) in directed-rounding integer fixed point, floor for lower and ceiling for upper bounds), grid_digits 2995 (the final kappa grid), margin_digits 3005, bootstrap_steps 1116; kappa decimals are printed with 3120 significant digits. Every free slack of the ledger is the fixed-grid-maximum point of PR2180 / PR2161 (dataisfire) at this package's own endpoint: r0, layout slack, q gap and endpoint gap 1e-3080, epsilon = 1 - (1025/1024) 1e-3080, beta = 1 - 3 (1025/1024) 1e-3080, zeta 1e-3082, stop 1e-3086, backoff 1e-3022, kappa floor grid 1e-3046. With C the certified complex endpoint, F the floor denominator and B the backoff, the ledger kappa is exactly C - 1/F - B, the maximum of the declared floor-grid/backoff family (every point has epsilon q < C and C F is an integer, so floor(F epsilon q)/F <= C - 1/F; attained since 0 < C - epsilon q < 1/F, checked exactly; `outer/PROOF-GRID-MAX.md`). The main-binding family condition (Gaussian saving minus main saving = delta (1 - 2q) > 0) is an explicit 63rd strict row `gaussian_above_main`; the 62 earlier strict inequalities and all 17 rejecting controls are retained. The single 3000-digit rejection moment of the strict assembly uses the exact-integer coarse exponential of PR2168 (dataisfire; derivation as PR2184): `code/exact_coarse.py`, `EXACT-ARITHMETIC-DERIVATION.json`, intervals identical to the retained engine. Margins are asymptotic: the all-size statements still need p beyond an astronomically large cutoff. + +`new/CHAIN.json` lists every kernel step; `new/rebuild_chain.py` re-verifies each step against its own base words (exact B + early-cleanup map over all rows, remaining cleanup, interfaces). Pivot reads: every inserted read of the pivot q must see the row of q equal to s*I with s = +1 or -1 (`new/pivotcheck.py`); a pivot restored by a sign-flipping cleanup gate is read with that sign. Tamper controls (signs unaccounted; each new coefficient moved one dyadic step) must all fail the map check. + +Repairs retained: the PR1956 carried bootstrap cutoffs (every stage cutoff carries the previous constant; exact check at proof time, with the control that the uncarried cutoffs fail) and the PR1964 Lemma G extended-label stage `lemmag-labels` with the X/Y/Z adapter mutants. + +Credits: PR2530 (zxv): the eight source-partner aliases, the order, the words and the starting owner map (new/borrow/inputs/alias8_43*.json, new/borrow-fill/ORDER.json, DISPATCH.json, independent_core.py). PR2559 (philippeVV): the owner-fill evacuation method, and the portability fixes (line endings, receipts outside the package, re-derived controls, dependency declaration) reused here; philippeVV's audit of PR2474. Jeremy Kothe (jeremykothe2), with AI assistance: running the evacuation on PR2530's owner map (new/borrow-fill/FILL.json.gz) and the integration. PR2436 (tekuuu): the lifted-target aliases and the A-phase prelude mechanism that PR2530 extends. PR2322 (Vlado Vojdanovski): the handoff construction; PR2435/PR2447/PR2462/PR2474/PR2526 and PR2312 (ours): the entrance raise, the supplier chain and the borrowed words. PR2478 (mdumitrean) and PR2508 (ywz65): the cut-centre and helper-index guards. PR2309 (Dugongue) and PR2315 (thakrarsagar): private-stock accounting; PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): pooled-slot time binding; PR2161 / PR2180 (dataisfire): fixed-grid maximum; PR2168 / PR2184: exact-integer coarse exponential. PR2226 (Cinna Davis / 1337isnot1337 with OpenAI Codex): anticipatory dirty borrowing. PR1786 (chafreaky / Chafik Boukhalfa): fine source-prime padding, its proof and checks, vendored under vendor/pr1786; Tim Trudgian: effective prime number theorem (arXiv:1401.2689). PR1673 (Vlado Vojdanovski, with AI assistance): capped phase-cell fusion outer construction, its proof and exact evidence, vendored under vendor/pr1673. PR1758 (IdeaOuter and contributors): fractional-shift gauge-free interiors, accretive shallow-circuit lemma, per-visit tag accounting. Jeremy Kothe and contributors (PR1731 ledger lineage, radix-union schedule), LeverRank (independent schedule simulation), Gohberg, Semencul, Kailath, Kung, Morf, Bitmead, Anderson, Pan (structured Toeplitz-like algorithms of the retained alternative), Francois Le Gall et al. and Chafik Boukhalfa (PR1699). Supplier: PR1625 (mdumitrean), PR1661 (midhatn), pivot-554 kernel (PR1672 lineage) and the PR1319/PR1297/PR1274/PR1286 lineage as in earlier packages. PR1956 (Josie Elliston: the bootstrap-cutoff carry finding and repair), PR1897 (M6LI), PR1876, PR1875 and PR1828 (rohanarun): the endpoint and slack refinements that this package exceeds; rohanarun also PR1319 and PR1297; chafreaky PR1786; Vlado Vojdanovski PR1673; mdumitrean PR1625; midhatn; philippeVV PR1519 (odd-term Mercator finding); Kothe and the existing lineage. PR1964 (thakrarsagar / Sagar Thakrar): Lemma G label and adapter-rule checks and the X/Y/Z adapter mutants (code/lemmag_checks.py), Lemma G by DreamingOfClouds (PR509 / PR516). PR2161 / PR2180 (dataisfire, OpenAI Codex-assisted): the fixed-grid maximum point and its proof, re-derived at this endpoint; PR2044 (Kothe) free-epsilon refinement they stack on; PR1786 (chafreaky / Chafik Boukhalfa) and PR1673 (Vlado Vojdanovski) ledger formulas. PR2168 / PR2184 (dataisfire): exact-integer coarse exponential and its one-site derivation. PR2309, PR2302 and PR2265 are the records exceeded. PR2286 (thakrarsagar) side-condition audit and philippeVV (PR1897 / PR2044 comments): the text defects (minimum-margin claim, xi aside, HALO K0^2 branch, p^10 umbrella, vacuous or-True guards, stale xi digits) corrected in outer/FINE-PADDING-COMPOSITION.md section 4, outer/check_ledger.py, outer/struct_check.py and outer/check_gaugefree.py. Jeremy Kothe (jeremykothe2), with AI assistance: change of the lender of alias 651 to 530 and dropping of alias 653, the exact owner fill for the new width inventory, the exact frame re-solve of both borrowed words and the exact kernel search and pricing, new work in this package (new/borrow/inputs/refit_43*.json, kernel_43*.json, new/borrow-fill/FILL.json.gz). PR1625 (mdumitrean): the helper-donor kernel shape reused here at pivots 518 and 506. PR2309 (Dugongue): concurrent independent work, a 44th dirty alias with owner repacking that also borrows from lender 530; the leader this package exceeds. PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): the unbound pooled-slot time field, bound in code/audit_allcold.py here. PR2315 (thakrarsagar): the audit finding that the private cleanup buffers must be charged. PR2309 (Dugongue): the private-stock accounting (physical stock, CLEAR charges, warp routing reserve, adapter bound, controls) ported here. + +## Lineage and construction notes (text of earlier packages; their kappa and precision figures are superseded by the section above and were removed) + +Adds the exact helper-donor kernel k554-signed-001 (pivot 554, found by LeverRank/kernel566) to the previous record's local words: re-solved frames, fresh natives, PLAN rebound, SPEC refrozen, certified fine endpoints and exact outer witness of the base package. + +Credits: pivot-554 helper-donor kernel generalising PR1625 (kernel566.py; sign-aware pivot-read check pivotcheck.py). PR1625 (mdumitrean): pivot-566 helper-donor kernel, words, edits, rebuild.py, rebind.py. PR1319, PR1297, PR1424, PR1485, PR1574 (rohanarun); PR1274, PR1378... (see README) and the 1e-200/1e-300/1e-400 refinement PR1479, PR1510, PR1513, PR1536, PR1578 (jeremykothe2); PR1534, PR1549 (midhatn); PR1519 (philippeVV, fine Mercator engine soundness finding); PR1286, PR1193 (jeremydiviney), PR1148 (Thomas DiFiore) and the retained lineage. Research direction, prioritisation and release strategy: jeremykothe2. Implementation assistance: oh-my-pi. + +--- +# PR1625's pivot-566 helper-donor kernel on the T74 exact fill, with certified 1e-3000 endpoints and a 1e-2995 outer witness + +4. Stage `lemmag-labels` (beside the frame-only `local-replay`; `code/lemmag_stage.py` with `code/lemmag_checks.py`, vendored verbatim from PR1964 by thakrarsagar / Sagar Thakrar; Lemma G by DreamingOfClouds, PR509 / PR516): runs the Lemma G extended-label check (`label_check`, strict and permissive readings) and the adapter rule (`adapter_rule`) on each provider's emitted LOCAL-PROGRAMS in both orientations, asserting 0 violations, and requires the three physically wrong adapter mutants that the frame-only replay accepts (X exit straddle, Y entry straddle, Z exit adapters moved before a phase-B add) to be REJECTED on every provider. + +The top-level PLAN.json/SPEC.json are the unchanged PR1424/PR1319 files used by the owner reconstruction and parent lift checks; the strict stage uses `new/`. All 47 strict outer inequalities, the rejection controls and next-grid rejection hold (checked offline with the package's own outer witness and engine). The remaining gap to the exact root is the 1e-3000 endpoint bracket; the displayed digits are set by the 1e-2995 grid. + +The three witness settings are frozen in `SPEC.json:outer_refinement`: 12 bootstrap iterations, eta = beta = 10^-40 with target backoff 10^-43, and a 10^-36 final κ grid. The inherited complex and bit endpoint grids and their native/surcharge models remain unchanged. Every bootstrap cutoff is recomputed from the exact gap. The next final κ grid point rejects for this witness. No optimality over all outer parameters is claimed. + +The recurrence is a_(j+1) = (1-s)s + s a_j. Its closed form is a_j = s - (s-a_0)s^j; 0 < a_0 < s < 1 gives a finite increasing chain below s. This only changes witnesses to the inherited conditional bootstrap and outer lemmas, whose assumptions remain in force. Root endpoints, arithmetic engines and finite construction are inherited unchanged. + +Reproduce complete admission with `python3 -B verify.py --work /absolute/new/work --base-native-from /bound/base/native --extra-native-from /bound/extra/native`, or omit the two reuse flags for fresh native supplier runs. The output directory must not exist and assertions must be enabled. `evidence/OUTER-DISCOVERY.json` is discovery evidence, not a completed new-package replay. `evidence/pr1377/` contains predecessor receipts; inherited `PRICE.json` and input/parent receipts are not new verification. + +Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim. + +Credit Rohan Arun PR1319 (74-replica exact fill) and PR1297 (four cold kernels); Jeremy Kothe PR1377 (finer final grid), PR1019 and PR1274; Jeremy Diviney PR1193; Thomas DiFiore PR1148; Hao Yan and retained owner/controller lineage; eumemic and icekylinx/Zhihao Chen for the exact outer assembly; the PR547/548/559 recurrence and PR589 bit suppliers. Prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0; predecessor notices and bytes are retained. No independent human or proof-assistant verification is claimed. diff --git a/research/gmx-t74-borrow43-handoff/RELEASE.json b/research/gmx-t74-borrow43-handoff/RELEASE.json new file mode 100644 index 0000000000..90dc063de3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/RELEASE.json @@ -0,0 +1,28 @@ +{ + "package_dir": "research/gmx-t74-borrow43-handoff", + "base": "origin/main", + "title_suffix": "dirt-entry rewrite of helpers 530 and 542 on #2802's construction", + "summary": "This package takes PR2802's (mdumitrean, Marius-Paul Dumitrean) construction as its base: seven retired-lender aliases and two hostee moves on PR2751's (tekuuu) twelve-alias words with PR2766's (DavidAriasC) frame refit, its owner-side inputs re-derived for the new widths. New here, by Jeremy Kothe (jeremykothe2), with AI assistance: a dirt-entry rewrite of the dirt sources of helpers 530 and 542: four gates inject their dirt at B entry and the 26 compensation gates that carried it are removed (stage `dirtentry`, `new/borrow/inputs/dirtentry_43*.json`, with tamper controls for a dropped injection, a flipped sign, a wrong time and a missing removal). It moves the local profile to {1:2382, 2:650, 3:266, 4:128, 5:26, 8:8} and the width inventory to 8:80, 9:238; the owner fill and order are re-derived exactly for it (leftover idle {1:17316, 3:6527, 5:9546, 9:1, 48:26625}). Also used: the 1e-3000 certified endpoint with the fixed-grid-maximum outer kappa (our PR2818 over PR2802), PR2768's (tekuuu) exact sparse native replay, the stale-bytecode guard (PR2788, jeremydiviney). Conditional final kappa = 0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999 (supplier strict-assembly kappa 0.0017157087216124446887789003618932350021705594534384973879727116838026674817513865509615772110800333102112363960321909784054842461245800855853119624078820258894123396387065107915928472563121062457460061424518405889939092937634815956419258676303980383341341589804550460713042041578422646257503721117245066662007736373873763673103486369157068513936907743632383587126621439660702760490160985605355941824692183534244869722145784762680882724346351772358533461117254531229050200009088330088145180053746420001281065408759544455658727031230729637546532586890533104836987380141192218076033759395918365753565286302617135981872711569326006909807511484873782967775383068379440043097462883040356484957878528429279145133184589230716321590900918821071083476801888129917488226896023277742422536908632157018289480283556807659213337705571235867724749289549568899949105155302267226585382964138630511868873231985988090346056812864699363573108037221450886376752556172066666751759364041150049247827089845327645445519603321691701934370635487097146221959805592934024563109749503057049168397174810639323460131392958330164316368356869039716955012581542615590726686230648143864217796119497901024416389908058694930807846546713809270982889851204353666635385134486542273401200339702456758526753507226834497399202842343802211272125608153876754444016344601893708719855654874461836789892299422583781837222839512575234764761657094692608279534369631316689259853457659250991870501007203109588421023892161080856831417301427303082884678042519879736179469036333819984100378258982645370217426176651063518074254731547119911555902344571079394430547531763479691256486235735521703928265216853409058736159871362075389307494928468142983433604352068847646915225396939742790838043220863604667055060714835789967546115779626088193147920323272993773683005347254142364509511200331400364835668523512789401831074575246067672294250133951161991015299992111106499963089845348256366531907320458121005918575520998018780737006418901166984879646469240687147051778897108197870170491818245691622315405143153631174713481261720406057367074341960670337363876427926517565106957492165969034431288000666137171014866065263165504612685373737595207235477972052984569932560854840996860584105865329123834775156924009811210353440360242180279024649883207395623515690232193018760026684216063526998054991499408552770099088876718782289457233985757076349621794314313070263355977299087117222244664239866905136167323097774771685104642795636002320112845354617036244237389192602417250026666552248966152661828745658024397402632981776503134192933921117083352895996075531552104598967786814962654391664335774661631306656969281892750715261859323414224111569761703056728424808053384145937838962311094423845286678095543424035965319282063436936641587926487233521956970341481650607802160610291967060499842092371614185420708952938297453847279795733224001217557658208331529925438856757947290745223291735031136594329505333844406552386600999494284665444487022929122511839954006690299011001504). It exceeds PR2824 (exact kappa_decimal from its claim) by 8.62277E-7 (exact gate in verify_release.py). grid_digits 2995, margin_digits 3005, bootstrap_steps 1116; 63 strict inequalities, 17 rejecting controls.", + "credits": "PR2802 (mdumitrean, Marius-Paul Dumitrean): the base construction, credited first: seven retired-lender aliases and two hostee moves, their words, owner fill, order, dispatch and certified frames (new/borrow/inputs/retired7_43*.json). The dirt-entry rewrite on top of it is ours. PR2751 (tekuuu): the twelve-alias reassignment; PR2768 (tekuuu): the exact sparse native replay (new/fastnative/), with PR662 (Charles Bethin) tables and the PR1029 (Ali Romman) sparse evaluator. PR2766 (DavidAriasC): the frame refit of PR2751's words; PR2733 (mdumitrean) found it concurrently. PR2788 (jeremydiviney): the stale-bytecode finding (code/pyc_guard.py, with a planted-.pyc control). GaugeFix: the Theorem 4.1 correction (outer/GAUGEFREE-INTERIORS.md, outer/check_gaugefree.py). PR2696 (mason-hale), PR2679 (philippeVV), PR2588 / PR2530 (zxv), PR2621 (themilkman216) and PR2559 (philippeVV): the lineage. Jeremy Kothe (jeremykothe2), with AI assistance: the dirt-entry rewrite (stage, controls), its exact owner fill and the integration. PR2696 (mason-hale): the concentrated eight-lender source-partner assignment (new/borrow/inputs/alias8_43*.json) and its construction. PR2679 (philippeVV): the six pre-life hostings, the frame refit and the retired-lender alias 653<-563 (new/borrow/inputs/prelife_43*.json, refit563_43*.json, alias1_43*.json; word_patch.py and rebuild_borrow.py stages and controls), the base package, and the owner-fill evacuation method of PR2559. PR2588 (jeremykothe2) and PR2530 (zxv): the words they build on (the eight source-partner aliases, the helper-label swap) and the realize flows. PR2621 (themilkman216): the priority re-ordering idea applied here to the call order. PR2733 (mdumitrean): concurrent independent work with the same composition (concentrated assignment plus pre-life hosting); our refinement is the 1e-3000 endpoint grid. Jeremy Kothe (jeremykothe2), with AI assistance: stacking PR2696's assignment with PR2679's hostings and alias, the priority-ordered window-optimal fill (the offset search for the order and the fill) and the integration. PR2530 (zxv): the eight source-partner aliases, the order, the words and the starting owner map (new/borrow/inputs/alias8_43*.json, new/borrow-fill/ORDER.json, DISPATCH.json, independent_core.py). PR2559 (philippeVV): the owner-fill evacuation method, and the portability fixes (line endings, receipts outside the package, re-derived controls, dependency declaration) reused here; philippeVV's audit of PR2474. Jeremy Kothe (jeremykothe2), with AI assistance: running the evacuation on PR2530's owner map (new/borrow-fill/FILL.json.gz) and the integration. PR2436 (tekuuu): the lifted-target aliases and the A-phase prelude mechanism that PR2530 extends. PR2322 (Vlado Vojdanovski): the handoff construction; PR2435/PR2447/PR2462/PR2474/PR2526 and PR2312 (ours): the entrance raise, the supplier chain and the borrowed words. PR2478 (mdumitrean) and PR2508 (ywz65): the cut-centre and helper-index guards. PR2309 (Dugongue) and PR2315 (thakrarsagar): private-stock accounting; PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): pooled-slot time binding; PR2161 / PR2180 (dataisfire): fixed-grid maximum; PR2168 / PR2184: exact-integer coarse exponential. PR2226 (Cinna Davis / 1337isnot1337 with OpenAI Codex): anticipatory dirty borrowing. PR1786 (chafreaky / Chafik Boukhalfa): fine source-prime padding, its proof and checks, vendored under vendor/pr1786; Tim Trudgian: effective prime number theorem (arXiv:1401.2689). PR1673 (Vlado Vojdanovski, with AI assistance): capped phase-cell fusion outer construction, its proof and exact evidence, vendored under vendor/pr1673. PR1758 (IdeaOuter and contributors): fractional-shift gauge-free interiors, accretive shallow-circuit lemma, per-visit tag accounting. Jeremy Kothe and contributors (PR1731 ledger lineage, radix-union schedule), LeverRank (independent schedule simulation), Gohberg, Semencul, Kailath, Kung, Morf, Bitmead, Anderson, Pan (structured Toeplitz-like algorithms of the retained alternative), Francois Le Gall et al. and Chafik Boukhalfa (PR1699). Supplier: PR1625 (mdumitrean), PR1661 (midhatn), pivot-554 kernel (PR1672 lineage) and the PR1319/PR1297/PR1274/PR1286 lineage as in earlier packages. PR1956 (Josie Elliston: the bootstrap-cutoff carry finding and repair), PR1897 (M6LI), PR1876, PR1875 and PR1828 (rohanarun): the endpoint and slack refinements that this package exceeds; rohanarun also PR1319 and PR1297; chafreaky PR1786; Vlado Vojdanovski PR1673; mdumitrean PR1625; midhatn; philippeVV PR1519 (odd-term Mercator finding); Kothe and the existing lineage. PR1964 (thakrarsagar / Sagar Thakrar): Lemma G label and adapter-rule checks and the X/Y/Z adapter mutants (code/lemmag_checks.py), Lemma G by DreamingOfClouds (PR509 / PR516). PR2161 / PR2180 (dataisfire, OpenAI Codex-assisted): the fixed-grid maximum point and its proof, re-derived at this endpoint; PR2044 (Kothe) free-epsilon refinement they stack on; PR1786 (chafreaky / Chafik Boukhalfa) and PR1673 (Vlado Vojdanovski) ledger formulas. PR2168 / PR2184 (dataisfire): exact-integer coarse exponential and its one-site derivation. PR2309, PR2302 and PR2265 are the records exceeded. PR2286 (thakrarsagar) side-condition audit and philippeVV (PR1897 / PR2044 comments): the text defects (minimum-margin claim, xi aside, HALO K0^2 branch, p^10 umbrella, vacuous or-True guards, stale xi digits) corrected in outer/FINE-PADDING-COMPOSITION.md section 4, outer/check_ledger.py, outer/struct_check.py and outer/check_gaugefree.py. Jeremy Kothe (jeremykothe2), with AI assistance: change of the lender of alias 651 to 530 and dropping of alias 653, the exact owner fill for the new width inventory, the exact frame re-solve of both borrowed words and the exact kernel search and pricing, new work in this package (new/borrow/inputs/refit_43*.json, kernel_43*.json, new/borrow-fill/FILL.json.gz). PR1625 (mdumitrean): the helper-donor kernel shape reused here at pivots 518 and 506. PR2309 (Dugongue): concurrent independent work, a 44th dirty alias with owner repacking that also borrows from lender 530; the leader this package exceeds. PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): the unbound pooled-slot time field, bound in code/audit_allcold.py here. PR2315 (thakrarsagar): the audit finding that the private cleanup buffers must be charged. PR2309 (Dugongue): the private-stock accounting (physical stock, CLEAR charges, warp routing reserve, adapter bound, controls) ported here.", + "required": [ + "verify.py", + "verify_release.py", + "MANIFEST.json", + "outer/check_ledger.py", + "outer/RETUNED-SLACKS.md", + "outer/CLASSICAL-BOUNDARY.md", + "outer/UNION-SCHEDULE.md", + "outer/sched_test.py", + "outer/sched_review.py", + "outer/RECT-BOUNDARY.md", + "outer/STRUCTURED-BOUNDARY.md", + "outer/struct_check.py", + "outer/GAUGEFREE-INTERIORS.md", + "outer/check_gaugefree.py", + "outer/FINE-PADDING-COMPOSITION.md", + "outer/check_fine_padding.py", + "vendor/pr1786/FINE-PRIME-PADDING.md", + "vendor/pr1786/NOTICE.md", + "outer/PROOF-GRID-MAX.md" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json b/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json new file mode 100644 index 0000000000..23d7a6f997 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json @@ -0,0 +1,7 @@ +{ + "predecessor_pr": 1377, + "predecessor_head": "7b6b538212812e01c45a51966837598a197a799b", + "construction_pr": 1319, + "construction_head": "603defe58aac018c6a8457840481390a15846fe4", + "scope": "Only outer witness settings and their assembly implementation change; unchanged native words explicitly reused." +} diff --git a/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json b/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json new file mode 100644 index 0000000000..e7415786b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json @@ -0,0 +1,13 @@ +{ + "parent_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/1297", + "parent_head": "4abf710a7f0d2a46f522f3f13c15769d003f9495", + "parent_package": "research/global-mixed-four-cold-kernels", + "local_words_unchanged": true, + "source_files": { + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e" + } +} diff --git a/research/gmx-t74-borrow43-handoff/SPEC.json b/research/gmx-t74-borrow43-handoff/SPEC.json new file mode 100644 index 0000000000..1469990731 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SPEC.json @@ -0,0 +1 @@ +{"call_order":[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[2,0],[0,9],[1,5],[2,1],[0,10],[1,6],[2,2],[0,11],[1,7],[2,3],[0,12],[1,8],[2,4],[3,0],[0,13],[1,9],[2,5],[3,1],[0,14],[1,10],[2,6],[3,2],[0,15],[1,11],[2,7],[3,3],[0,16],[1,12],[2,8],[3,4],[4,0],[0,17],[1,13],[2,9],[3,5],[4,1],[0,18],[1,14],[2,10],[3,6],[4,2],[0,19],[1,15],[2,11],[3,7],[4,3],[0,20],[1,16],[2,12],[3,8],[4,4],[5,0],[0,21],[1,17],[2,13],[3,9],[4,5],[5,1],[0,22],[1,18],[2,14],[3,10],[4,6],[5,2],[0,23],[1,19],[2,15],[3,11],[4,7],[5,3],[0,24],[1,20],[2,16],[3,12],[4,8],[5,4],[6,0],[0,25],[1,21],[2,17],[3,13],[4,9],[5,5],[6,1],[0,26],[1,22],[2,18],[3,14],[4,10],[5,6],[6,2],[0,27],[1,23],[2,19],[3,15],[4,11],[5,7],[6,3],[0,28],[1,24],[2,20],[3,16],[4,12],[5,8],[6,4],[7,0],[0,29],[1,25],[2,21],[3,17],[4,13],[5,9],[6,5],[7,1],[0,30],[1,26],[2,22],[3,18],[4,14],[5,10],[6,6],[7,2],[0,31],[1,27],[2,23],[3,19],[4,15],[5,11],[6,7],[7,3],[0,32],[1,28],[2,24],[3,20],[4,16],[5,12],[6,8],[7,4],[8,0],[0,33],[1,29],[2,25],[3,21],[4,17],[5,13],[6,9],[7,5],[8,1],[0,34],[1,30],[2,26],[3,22],[4,18],[5,14],[6,10],[7,6],[8,2],[0,35],[1,31],[2,27],[3,23],[4,19],[5,15],[6,11],[7,7],[8,3],[0,36],[1,32],[2,28],[3,24],[4,20],[5,16],[6,12],[7,8],[8,4],[0,37],[1,33],[2,29],[3,25],[4,21],[5,17],[6,13],[7,9],[8,5],[0,38],[1,34],[2,30],[3,26],[4,22],[5,18],[6,14],[7,10],[8,6],[0,39],[1,35],[2,31],[3,27],[4,23],[5,19],[6,15],[7,11],[8,7],[0,40],[1,36],[2,32],[3,28],[4,24],[5,20],[6,16],[7,12],[8,8],[0,41],[1,37],[2,33],[3,29],[4,25],[5,21],[6,17],[7,13],[8,9],[0,42],[1,38],[2,34],[3,30],[4,26],[5,22],[6,18],[7,14],[8,10],[0,43],[1,39],[2,35],[3,31],[4,27],[5,23],[6,19],[7,15],[8,11],[0,44],[1,40],[2,36],[3,32],[4,28],[5,24],[6,20],[7,16],[8,12],[0,45],[1,41],[2,37],[3,33],[4,29],[5,25],[6,21],[7,17],[8,13],[0,46],[1,42],[2,38],[3,34],[4,30],[5,26],[6,22],[7,18],[8,14],[0,47],[1,43],[2,39],[3,35],[4,31],[5,27],[6,23],[7,19],[8,15],[0,48],[1,44],[2,40],[3,36],[4,32],[5,28],[6,24],[7,20],[8,16],[0,49],[1,45],[2,41],[3,37],[4,33],[5,29],[6,25],[7,21],[8,17],[0,50],[1,46],[2,42],[3,38],[4,34],[5,30],[6,26],[7,22],[8,18],[0,51],[1,47],[2,43],[3,39],[4,35],[5,31],[6,27],[7,23],[8,19],[0,52],[1,48],[2,44],[3,40],[4,36],[5,32],[6,28],[7,24],[8,20],[0,53],[1,49],[2,45],[3,41],[4,37],[5,33],[6,29],[7,25],[8,21],[0,54],[1,50],[2,46],[3,42],[4,38],[5,34],[6,30],[7,26],[8,22],[0,55],[1,51],[2,47],[3,43],[4,39],[5,35],[6,31],[7,27],[8,23],[0,56],[1,52],[2,48],[3,44],[4,40],[5,36],[6,32],[7,28],[8,24],[0,57],[1,53],[2,49],[3,45],[4,41],[5,37],[6,33],[7,29],[8,25],[0,58],[1,54],[2,50],[3,46],[4,42],[5,38],[6,34],[7,30],[8,26],[0,59],[1,55],[2,51],[3,47],[4,43],[5,39],[6,35],[7,31],[8,27],[0,60],[1,56],[2,52],[3,48],[4,44],[5,40],[6,36],[7,32],[8,28],[0,61],[1,57],[2,53],[3,49],[4,45],[5,41],[6,37],[7,33],[8,29],[0,62],[1,58],[2,54],[3,50],[4,46],[5,42],[6,38],[7,34],[8,30],[0,63],[1,59],[2,55],[3,51],[4,47],[5,43],[6,39],[7,35],[8,31],[0,64],[1,60],[2,56],[3,52],[4,48],[5,44],[6,40],[7,36],[8,32],[0,65],[1,61],[2,57],[3,53],[4,49],[5,45],[6,41],[7,37],[8,33],[0,66],[1,62],[2,58],[3,54],[4,50],[5,46],[6,42],[7,38],[8,34],[0,67],[1,63],[2,59],[3,55],[4,51],[5,47],[6,43],[7,39],[8,35],[0,68],[1,64],[2,60],[3,56],[4,52],[5,48],[6,44],[7,40],[8,36],[0,69],[1,65],[2,61],[3,57],[4,53],[5,49],[6,45],[7,41],[8,37],[0,70],[1,66],[2,62],[3,58],[4,54],[5,50],[6,46],[7,42],[8,38],[0,71],[1,67],[2,63],[3,59],[4,55],[5,51],[6,47],[7,43],[8,39],[0,72],[1,68],[2,64],[3,60],[4,56],[5,52],[6,48],[7,44],[8,40],[0,73],[1,69],[2,65],[3,61],[4,57],[5,53],[6,49],[7,45],[8,41],[1,70],[2,66],[3,62],[4,58],[5,54],[6,50],[7,46],[8,42],[1,71],[2,67],[3,63],[4,59],[5,55],[6,51],[7,47],[8,43],[1,72],[2,68],[3,64],[4,60],[5,56],[6,52],[7,48],[8,44],[1,73],[2,69],[3,65],[4,61],[5,57],[6,53],[7,49],[8,45],[2,70],[3,66],[4,62],[5,58],[6,54],[7,50],[8,46],[2,71],[3,67],[4,63],[5,59],[6,55],[7,51],[8,47],[2,72],[3,68],[4,64],[5,60],[6,56],[7,52],[8,48],[2,73],[3,69],[4,65],[5,61],[6,57],[7,53],[8,49],[3,70],[4,66],[5,62],[6,58],[7,54],[8,50],[3,71],[4,67],[5,63],[6,59],[7,55],[8,51],[3,72],[4,68],[5,64],[6,60],[7,56],[8,52],[3,73],[4,69],[5,65],[6,61],[7,57],[8,53],[4,70],[5,66],[6,62],[7,58],[8,54],[4,71],[5,67],[6,63],[7,59],[8,55],[4,72],[5,68],[6,64],[7,60],[8,56],[4,73],[5,69],[6,65],[7,61],[8,57],[5,70],[6,66],[7,62],[8,58],[5,71],[6,67],[7,63],[8,59],[5,72],[6,68],[7,64],[8,60],[5,73],[6,69],[7,65],[8,61],[6,70],[7,66],[8,62],[6,71],[7,67],[8,63],[6,72],[7,68],[8,64],[6,73],[7,69],[8,65],[7,70],[8,66],[7,71],[8,67],[7,72],[8,68],[7,73],[8,69],[8,70],[8,71],[8,72],[8,73]],"data":{"owners_sha256":"e5a46f423debb846c49f8ed97202ba3919d417e237e22cb7b805c1df592e0e1d","plan_sha256":"abc47a9fffdb2079de0386a50c43b0f71f705f59fe71d3f9683031b4357560ce"},"dispatch":[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[1,0,"extra"],[0,5,"extra"],[1,1,"extra"],[0,6,"extra"],[1,2,"extra"],[0,7,"extra"],[1,3,"extra"],[0,8,"extra"],[1,4,"extra"],[2,0,"extra"],[0,9,"extra"],[1,5,"extra"],[2,1,"extra"],[0,10,"extra"],[1,6,"extra"],[2,2,"extra"],[0,11,"extra"],[1,7,"extra"],[2,3,"extra"],[0,12,"extra"],[1,8,"extra"],[2,4,"extra"],[3,0,"extra"],[0,13,"extra"],[1,9,"extra"],[2,5,"extra"],[3,1,"extra"],[0,14,"extra"],[1,10,"extra"],[2,6,"extra"],[3,2,"extra"],[0,15,"extra"],[1,11,"extra"],[2,7,"extra"],[3,3,"extra"],[0,16,"extra"],[1,12,"extra"],[2,8,"extra"],[3,4,"extra"],[4,0,"extra"],[0,17,"extra"],[1,13,"extra"],[2,9,"extra"],[3,5,"extra"],[4,1,"extra"],[0,18,"extra"],[1,14,"extra"],[2,10,"extra"],[3,6,"extra"],[4,2,"extra"],[0,19,"extra"],[1,15,"extra"],[2,11,"extra"],[3,7,"extra"],[4,3,"extra"],[0,20,"extra"],[1,16,"extra"],[2,12,"extra"],[3,8,"extra"],[4,4,"extra"],[5,0,"extra"],[0,21,"extra"],[1,17,"extra"],[2,13,"extra"],[3,9,"extra"],[4,5,"extra"],[5,1,"extra"],[0,22,"extra"],[1,18,"extra"],[2,14,"extra"],[3,10,"extra"],[4,6,"extra"],[5,2,"extra"],[0,23,"extra"],[1,19,"extra"],[2,15,"extra"],[3,11,"extra"],[4,7,"extra"],[5,3,"extra"],[0,24,"extra"],[1,20,"extra"],[2,16,"extra"],[3,12,"extra"],[4,8,"extra"],[5,4,"extra"],[6,0,"extra"],[0,25,"extra"],[1,21,"extra"],[2,17,"extra"],[3,13,"extra"],[4,9,"extra"],[5,5,"extra"],[6,1,"extra"],[0,26,"extra"],[1,22,"extra"],[2,18,"extra"],[3,14,"extra"],[4,10,"extra"],[5,6,"extra"],[6,2,"extra"],[0,27,"extra"],[1,23,"extra"],[2,19,"extra"],[3,15,"extra"],[4,11,"extra"],[5,7,"extra"],[6,3,"extra"],[0,28,"extra"],[1,24,"extra"],[2,20,"extra"],[3,16,"extra"],[4,12,"extra"],[5,8,"extra"],[6,4,"extra"],[7,0,"extra"],[0,29,"extra"],[1,25,"extra"],[2,21,"extra"],[3,17,"extra"],[4,13,"extra"],[5,9,"extra"],[6,5,"extra"],[7,1,"extra"],[0,30,"extra"],[1,26,"extra"],[2,22,"extra"],[3,18,"extra"],[4,14,"extra"],[5,10,"extra"],[6,6,"extra"],[7,2,"extra"],[0,31,"extra"],[1,27,"extra"],[2,23,"extra"],[3,19,"extra"],[4,15,"extra"],[5,11,"extra"],[6,7,"extra"],[7,3,"extra"],[0,32,"extra"],[1,28,"extra"],[2,24,"extra"],[3,20,"extra"],[4,16,"extra"],[5,12,"extra"],[6,8,"extra"],[7,4,"extra"],[8,0,"extra"],[0,33,"extra"],[1,29,"extra"],[2,25,"extra"],[3,21,"extra"],[4,17,"extra"],[5,13,"extra"],[6,9,"extra"],[7,5,"extra"],[8,1,"extra"],[0,34,"extra"],[1,30,"extra"],[2,26,"extra"],[3,22,"extra"],[4,18,"extra"],[5,14,"extra"],[6,10,"extra"],[7,6,"extra"],[8,2,"extra"],[0,35,"extra"],[1,31,"extra"],[2,27,"extra"],[3,23,"extra"],[4,19,"extra"],[5,15,"extra"],[6,11,"extra"],[7,7,"extra"],[8,3,"extra"],[0,36,"extra"],[1,32,"extra"],[2,28,"extra"],[3,24,"extra"],[4,20,"extra"],[5,16,"extra"],[6,12,"extra"],[7,8,"extra"],[8,4,"extra"],[0,37,"extra"],[1,33,"extra"],[2,29,"extra"],[3,25,"extra"],[4,21,"extra"],[5,17,"extra"],[6,13,"extra"],[7,9,"extra"],[8,5,"gauge44"],[0,38,"extra"],[1,34,"extra"],[2,30,"extra"],[3,26,"extra"],[4,22,"extra"],[5,18,"extra"],[6,14,"extra"],[7,10,"gauge44"],[8,6,"gauge44"],[0,39,"extra"],[1,35,"extra"],[2,31,"extra"],[3,27,"extra"],[4,23,"extra"],[5,19,"gauge44"],[6,15,"gauge44"],[7,11,"gauge44"],[8,7,"gauge44"],[0,40,"extra"],[1,36,"extra"],[2,32,"extra"],[3,28,"extra"],[4,24,"gauge44"],[5,20,"gauge44"],[6,16,"gauge44"],[7,12,"gauge44"],[8,8,"gauge44"],[0,41,"extra"],[1,37,"extra"],[2,33,"gauge44"],[3,29,"gauge44"],[4,25,"gauge44"],[5,21,"gauge44"],[6,17,"gauge44"],[7,13,"gauge44"],[8,9,"gauge44"],[0,42,"extra"],[1,38,"extra"],[2,34,"gauge44"],[3,30,"gauge44"],[4,26,"gauge44"],[5,22,"gauge44"],[6,18,"gauge44"],[7,14,"gauge44"],[8,10,"gauge44"],[0,43,"extra"],[1,39,"extra"],[2,35,"gauge44"],[3,31,"gauge44"],[4,27,"gauge44"],[5,23,"gauge44"],[6,19,"gauge44"],[7,15,"gauge44"],[8,11,"gauge44"],[0,44,"extra"],[1,40,"extra"],[2,36,"gauge44"],[3,32,"gauge44"],[4,28,"gauge44"],[5,24,"gauge44"],[6,20,"gauge44"],[7,16,"gauge44"],[8,12,"gauge44"],[0,45,"extra"],[1,41,"extra"],[2,37,"extra"],[3,33,"gauge44"],[4,29,"gauge44"],[5,25,"gauge44"],[6,21,"gauge44"],[7,17,"gauge44"],[8,13,"gauge44"],[0,46,"extra"],[1,42,"extra"],[2,38,"extra"],[3,34,"gauge44"],[4,30,"gauge44"],[5,26,"gauge44"],[6,22,"gauge44"],[7,18,"gauge44"],[8,14,"gauge44"],[0,47,"extra"],[1,43,"extra"],[2,39,"extra"],[3,35,"gauge44"],[4,31,"gauge44"],[5,27,"gauge44"],[6,23,"gauge44"],[7,19,"gauge44"],[8,15,"gauge44"],[0,48,"extra"],[1,44,"extra"],[2,40,"extra"],[3,36,"gauge44"],[4,32,"gauge44"],[5,28,"gauge44"],[6,24,"gauge44"],[7,20,"gauge44"],[8,16,"gauge44"],[0,49,"extra"],[1,45,"extra"],[2,41,"extra"],[3,37,"extra"],[4,33,"gauge44"],[5,29,"gauge44"],[6,25,"gauge44"],[7,21,"gauge44"],[8,17,"gauge44"],[0,50,"extra"],[1,46,"extra"],[2,42,"extra"],[3,38,"extra"],[4,34,"gauge44"],[5,30,"gauge44"],[6,26,"gauge44"],[7,22,"gauge44"],[8,18,"gauge44"],[0,51,"extra"],[1,47,"extra"],[2,43,"extra"],[3,39,"extra"],[4,35,"gauge44"],[5,31,"gauge44"],[6,27,"gauge44"],[7,23,"gauge44"],[8,19,"gauge44"],[0,52,"extra"],[1,48,"extra"],[2,44,"extra"],[3,40,"extra"],[4,36,"gauge44"],[5,32,"gauge44"],[6,28,"gauge44"],[7,24,"gauge44"],[8,20,"gauge44"],[0,53,"extra"],[1,49,"extra"],[2,45,"extra"],[3,41,"extra"],[4,37,"extra"],[5,33,"gauge44"],[6,29,"gauge44"],[7,25,"gauge44"],[8,21,"gauge44"],[0,54,"extra"],[1,50,"extra"],[2,46,"extra"],[3,42,"extra"],[4,38,"extra"],[5,34,"gauge44"],[6,30,"gauge44"],[7,26,"gauge44"],[8,22,"gauge44"],[0,55,"extra"],[1,51,"extra"],[2,47,"extra"],[3,43,"extra"],[4,39,"extra"],[5,35,"gauge44"],[6,31,"gauge44"],[7,27,"gauge44"],[8,23,"gauge44"],[0,56,"extra"],[1,52,"extra"],[2,48,"extra"],[3,44,"extra"],[4,40,"extra"],[5,36,"gauge44"],[6,32,"gauge44"],[7,28,"gauge44"],[8,24,"gauge44"],[0,57,"extra"],[1,53,"extra"],[2,49,"extra"],[3,45,"extra"],[4,41,"extra"],[5,37,"extra"],[6,33,"gauge44"],[7,29,"gauge44"],[8,25,"gauge44"],[0,58,"extra"],[1,54,"extra"],[2,50,"extra"],[3,46,"extra"],[4,42,"extra"],[5,38,"extra"],[6,34,"gauge44"],[7,30,"gauge44"],[8,26,"gauge44"],[0,59,"extra"],[1,55,"extra"],[2,51,"extra"],[3,47,"extra"],[4,43,"extra"],[5,39,"extra"],[6,35,"gauge44"],[7,31,"gauge44"],[8,27,"gauge44"],[0,60,"extra"],[1,56,"extra"],[2,52,"extra"],[3,48,"extra"],[4,44,"extra"],[5,40,"extra"],[6,36,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[0,61,"extra"],[1,57,"extra"],[2,53,"extra"],[3,49,"extra"],[4,45,"extra"],[5,41,"extra"],[6,37,"extra"],[7,33,"gauge44"],[8,29,"gauge44"],[0,62,"extra"],[1,58,"extra"],[2,54,"extra"],[3,50,"extra"],[4,46,"extra"],[5,42,"extra"],[6,38,"extra"],[7,34,"gauge44"],[8,30,"gauge44"],[0,63,"extra"],[1,59,"extra"],[2,55,"extra"],[3,51,"extra"],[4,47,"extra"],[5,43,"extra"],[6,39,"extra"],[7,35,"gauge44"],[8,31,"gauge44"],[0,64,"extra"],[1,60,"extra"],[2,56,"extra"],[3,52,"extra"],[4,48,"extra"],[5,44,"extra"],[6,40,"extra"],[7,36,"gauge44"],[8,32,"gauge44"],[0,65,"extra"],[1,61,"extra"],[2,57,"extra"],[3,53,"extra"],[4,49,"extra"],[5,45,"extra"],[6,41,"extra"],[7,37,"extra"],[8,33,"gauge44"],[0,66,"extra"],[1,62,"extra"],[2,58,"extra"],[3,54,"extra"],[4,50,"extra"],[5,46,"extra"],[6,42,"extra"],[7,38,"extra"],[8,34,"gauge44"],[0,67,"extra"],[1,63,"extra"],[2,59,"extra"],[3,55,"extra"],[4,51,"extra"],[5,47,"extra"],[6,43,"extra"],[7,39,"extra"],[8,35,"gauge44"],[0,68,"extra"],[1,64,"extra"],[2,60,"extra"],[3,56,"extra"],[4,52,"extra"],[5,48,"extra"],[6,44,"extra"],[7,40,"extra"],[8,36,"gauge44"],[0,69,"extra"],[1,65,"extra"],[2,61,"extra"],[3,57,"extra"],[4,53,"extra"],[5,49,"extra"],[6,45,"extra"],[7,41,"extra"],[8,37,"extra"],[0,70,"extra"],[1,66,"extra"],[2,62,"extra"],[3,58,"extra"],[4,54,"extra"],[5,50,"extra"],[6,46,"extra"],[7,42,"extra"],[8,38,"extra"],[0,71,"extra"],[1,67,"extra"],[2,63,"extra"],[3,59,"extra"],[4,55,"extra"],[5,51,"extra"],[6,47,"extra"],[7,43,"extra"],[8,39,"extra"],[0,72,"extra"],[1,68,"extra"],[2,64,"extra"],[3,60,"extra"],[4,56,"extra"],[5,52,"extra"],[6,48,"extra"],[7,44,"extra"],[8,40,"extra"],[0,73,"extra"],[1,69,"extra"],[2,65,"extra"],[3,61,"extra"],[4,57,"extra"],[5,53,"extra"],[6,49,"extra"],[7,45,"extra"],[8,41,"extra"],[1,70,"extra"],[2,66,"extra"],[3,62,"extra"],[4,58,"extra"],[5,54,"extra"],[6,50,"extra"],[7,46,"extra"],[8,42,"gauge44"],[1,71,"extra"],[2,67,"extra"],[3,63,"extra"],[4,59,"extra"],[5,55,"extra"],[6,51,"extra"],[7,47,"gauge44"],[8,43,"gauge44"],[1,72,"extra"],[2,68,"extra"],[3,64,"extra"],[4,60,"extra"],[5,56,"gauge44"],[6,52,"gauge44"],[7,48,"gauge44"],[8,44,"gauge44"],[1,73,"extra"],[2,69,"extra"],[3,65,"gauge44"],[4,61,"gauge44"],[5,57,"gauge44"],[6,53,"gauge44"],[7,49,"gauge44"],[8,45,"gauge44"],[2,70,"gauge44"],[3,66,"gauge44"],[4,62,"gauge44"],[5,58,"gauge44"],[6,54,"gauge44"],[7,50,"gauge44"],[8,46,"gauge44"],[2,71,"gauge44"],[3,67,"gauge44"],[4,63,"gauge44"],[5,59,"gauge44"],[6,55,"gauge44"],[7,51,"gauge44"],[8,47,"gauge44"],[2,72,"gauge44"],[3,68,"gauge44"],[4,64,"gauge44"],[5,60,"gauge44"],[6,56,"gauge44"],[7,52,"gauge44"],[8,48,"gauge44"],[2,73,"gauge44"],[3,69,"gauge44"],[4,65,"gauge44"],[5,61,"gauge44"],[6,57,"gauge44"],[7,53,"gauge44"],[8,49,"gauge44"],[3,70,"gauge44"],[4,66,"gauge44"],[5,62,"gauge44"],[6,58,"gauge44"],[7,54,"gauge44"],[8,50,"gauge44"],[3,71,"gauge44"],[4,67,"gauge44"],[5,63,"gauge44"],[6,59,"gauge44"],[7,55,"gauge44"],[8,51,"gauge44"],[3,72,"gauge44"],[4,68,"gauge44"],[5,64,"gauge44"],[6,60,"gauge44"],[7,56,"gauge44"],[8,52,"gauge44"],[3,73,"gauge44"],[4,69,"gauge44"],[5,65,"gauge44"],[6,61,"gauge44"],[7,57,"gauge44"],[8,53,"gauge44"],[4,70,"gauge44"],[5,66,"gauge44"],[6,62,"gauge44"],[7,58,"gauge44"],[8,54,"gauge44"],[4,71,"gauge44"],[5,67,"gauge44"],[6,63,"gauge44"],[7,59,"gauge44"],[8,55,"gauge44"],[4,72,"gauge44"],[5,68,"gauge44"],[6,64,"gauge44"],[7,60,"gauge44"],[8,56,"gauge44"],[4,73,"gauge44"],[5,69,"gauge44"],[6,65,"gauge44"],[7,61,"gauge44"],[8,57,"gauge44"],[5,70,"gauge44"],[6,66,"gauge44"],[7,62,"gauge44"],[8,58,"gauge44"],[5,71,"gauge44"],[6,67,"gauge44"],[7,63,"gauge44"],[8,59,"gauge44"],[5,72,"gauge44"],[6,68,"gauge44"],[7,64,"gauge44"],[8,60,"gauge44"],[5,73,"gauge44"],[6,69,"gauge44"],[7,65,"gauge44"],[8,61,"gauge44"],[6,70,"gauge44"],[7,66,"gauge44"],[8,62,"gauge44"],[6,71,"gauge44"],[7,67,"gauge44"],[8,63,"gauge44"],[6,72,"gauge44"],[7,68,"gauge44"],[8,64,"gauge44"],[6,73,"gauge44"],[7,69,"gauge44"],[8,65,"gauge44"],[7,70,"gauge44"],[8,66,"gauge44"],[7,71,"gauge44"],[8,67,"gauge44"],[7,72,"gauge44"],[8,68,"gauge44"],[7,73,"gauge44"],[8,69,"gauge44"],[8,70,"gauge44"],[8,71,"gauge44"],[8,72,"gauge44"],[8,73,"gauge44"]],"expected":{"gain_baseline_kappa":"13414839829209/8000000000000000"},"geometry":{"charged_prefix_bits":2048,"dimension":73,"pairs":4,"parent_helpers":504,"parent_idle":149184,"parent_live":111664,"parent_physical":112178,"replicas":74,"stages":9},"name":"mixed-t74-exact-fill","pivot_swap":{"recipe":"construction/leaver/PIVOT-SWAP-k8.json","sha256":"3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb"},"providers":{},"schema":"witness-spec/1","width_spot_helpers":[258,270,282,294]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/audit_fast.py b/research/gmx-t74-borrow43-handoff/audit_fast.py new file mode 100644 index 0000000000..252cf3c68a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/audit_fast.py @@ -0,0 +1,87 @@ +"""Run audit_allcold.py with the same checks and byte-identical outputs, faster. + +1. copy.deepcopy -> pickle round-trip (equal, independent copies with the same aliasing for the plain + dict/list/tuple/int/str data the audit copies; the mutation controls deep-copy the whole template per control). +2. The mutation controls (independent of each other: each is deepcopy -> mutate -> audit -> must be rejected) are sharded + over AUDIT_FAST_SHARDS processes. Every control still runs and must be rejected; shard 0 merges the control names in + their original order and writes the report exactly as the unmodified script does. +Usage: audit_fast.py AUDIT_SCRIPT BASE HOSTED REPORT [--mutation-controls] (run via run_portable.py like the original) +""" +import copy, json, os, pickle, subprocess, sys, time +from pathlib import Path + +_real = copy.deepcopy + + +def _fast(x, memo=None): + if memo is not None: + return _real(x, memo) + return pickle.loads(pickle.dumps(x, pickle.HIGHEST_PROTOCOL)) + + +copy.deepcopy = _fast +script = Path(sys.argv[1]).resolve() +shards = int(os.environ.get('AUDIT_FAST_SHARDS', '1')) +shard = int(os.environ.get('AUDIT_FAST_SHARD', '0')) +src = script.read_text(encoding='utf-8') +if shards > 1 and '--mutation-controls' in sys.argv[2:]: + old_reject = """def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +""" + new_reject = """_idx=[0];_own=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + i=_idx[0];_idx[0]+=1 + if i%_AF_SHARDS!=_AF_SHARD:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name);_own.append((i,name)) + else:raise AssertionError('ACCEPTED '+name) +""" + marker = "\nreport=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS'" + assert src.count(old_reject) == 1 and src.count(marker) == 1, 'audit script layout changed' + merge = """ +import json as _j,sys as _s,time as _t +_part=Path(os.environ['AUDIT_FAST_PARTIAL']) +if _AF_SHARD!=0: + _part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0) +_all=list(_own);_total=_idx[0] +for _k in range(1,_AF_SHARDS): + _f=_part.with_name(_part.name+'.%d'%_k) + while not _f.exists(): + _t.sleep(0.2) + assert all(_p.poll() in (None,0) for _p in _AF_PROCS),'a mutation-control shard failed' + _n,_o=_j.loads(_f.read_text());_f.unlink();assert _n==_total,'shards disagree on control count';_all+=[tuple(x) for x in _o] +assert sorted(i for i,_ in _all)==list(range(_total)),'every control must run exactly once and be rejected' +controls[:]=[n for i,n in sorted(_all)] +for _p in _AF_PROCS:assert _p.wait()==0 +""" + src = src.replace(old_reject, new_reject).replace(marker, merge + marker) + if shard == 0: + part = Path(sys.argv[4]).parent / '.audit-fast-partial' + env0 = dict(os.environ, AUDIT_FAST_PARTIAL=str(part)) + os.environ['AUDIT_FAST_PARTIAL'] = str(part) + rp = Path(os.environ['MULTICOLD_SOURCE']) / 'code/run_portable.py' + procs = [] + part.parent.mkdir(parents=True, exist_ok=True) + for old in part.parent.glob(part.name + '.*'): + old.unlink() + for k in range(1, shards): + e = dict(os.environ, AUDIT_FAST_SHARD=str(k)) + procs.append(subprocess.Popen([sys.executable, '-B', str(rp), str(Path(__file__).resolve()), str(script)] + sys.argv[2:], + env=e, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, + creationflags=getattr(subprocess, 'CREATE_NO_WINDOW', 0))) + g = {'_AF_SHARDS': shards, '_AF_SHARD': 0, '_AF_PROCS': procs} + else: + os.environ.setdefault('AUDIT_FAST_PARTIAL', str(Path(sys.argv[4]).parent / '.audit-fast-partial')) + g = {'_AF_SHARDS': shards, '_AF_SHARD': shard, '_AF_PROCS': []} +else: + g = {} +g.update({'__file__': str(script), '__name__': '__main__'}) +sys.argv = sys.argv[1:] +sys.path.insert(0, str(script.parent)) +exec(compile(src, str(script), 'exec'), g) diff --git a/research/gmx-t74-borrow43-handoff/audit_mixed.py b/research/gmx-t74-borrow43-handoff/audit_mixed.py new file mode 100644 index 0000000000..cc32b2133a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/audit_mixed.py @@ -0,0 +1,33 @@ +import argparse,collections,json,copy +from pathlib import Path +import independent_core as A +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--data',type=Path,required=True);ap.add_argument('--provider',action='append',required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();dirs={p:Path(d) for p,d in (x.split('=',1) for x in a.provider)};plan=A.read(a.data/'PLAN.json');dispatch={(s,r):p for s,r,p in A.read(a.data/'DISPATCH.json')};roles=A.read(a.data/'OWNERS.json.gz');parent=A.read(a.parent);phases=A.read(a.parent.parent.parent/'work/complex-nine-native/DATA-PHASES.json');canonical=A.read(a.parent.parent/'CANONICAL-WORD.json.gz');inventories={};words={};replays={};profiles={};prefix=[] +A.R=len(next(iter(plan['provider_registry'].values()))['widths']);A.require(all(len(d_['widths'])==A.R for d_ in plan['provider_registry'].values()),'common helper count R');A.require(len(dispatch)==len(plan['order']) and set(dispatch.values())==set(dirs),'complete provider dispatch') +A.require({(c['stage'],c['replica']):c['provider'] for c in plan['provider_calls']}==dispatch,'plan dispatch binding') +for pid,d in dirs.items(): + w,r=A.read(d/'CANONICAL-WORD.json.gz'),A.read(d/'INDEPENDENT-LOCAL-REPLAY.json');A.require(r['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY','native status');A.require(r['canonical_word_sha256']==A.filehash(d/'CANONICAL-WORD.json.gz'),'word binding');A.require(set(r['local'])=={'forward','backward'},'both orientations');A.require(w['ports']==canonical['ports'],'common ports');A.require([A.basis(w['frames'][f]) for f in w['center_frames']]==[A.basis(canonical['frames'][f]) for f in canonical['center_frames']],'common ordered center frames');A.EXPECTED_WIDTHS=collections.Counter(plan['provider_registry'][pid]['widths']);ws,paid=A.local_inventory(w,r,A.read(d/'LOCAL-PROGRAMS.json.gz'));A.require(ws==plan['provider_registry'][pid]['widths'],'ordered provider widths');inventories[pid]=ws;profiles[pid]=paid;words[pid]=w;replays[pid]=r;prefix.extend(x['prefix_bits_upper'] for x in r['local'].values()) + for _nm,_mut,_msg in (('changed lifted target frame',lambda b_:b_['target_levels'].__setitem__(sorted(b_['target_levels'],key=int)[0],0),'target line30'),('spurious lifted target',lambda b_:b_['target_levels'].__setitem__(str(next(t_ for t_ in range(112) if str(t_) not in b_['target_levels'])),next(iter(b_['target_levels'].values()))),'lifted target set equals the centres at non-zero frames'),('missing lifted target',lambda b_:b_['target_levels'].pop(sorted(b_['target_levels'],key=int)[0]),'lifted target set equals the centres at non-zero frames')): + _bad=copy.deepcopy(w);_mut(_bad) + try:A.local_inventory(_bad,r,None) + except ValueError as _e:A.require(str(_e)==_msg,'target mutation rejection') + else:raise ValueError('accepted changed lifted target') + _pg=A.read(d/'LOCAL-PROGRAMS.json.gz');_bp=copy.deepcopy(_pg);_bp['forward'].remove(next(e for e in _bp['forward'] if e[0]=='center')) + try:A.local_inventory(w,r,_bp) + except ValueError as _e:A.require(str(_e)=='literal centre COPY segments','COPY mutation rejection') + else:raise ValueError('accepted missing split COPY child') + _ce=[e for e in _pg['forward'] if e[0]=='center'] + for _nm,_mk in (('extra centre child',lambda b_:b_['forward'].append(list(_ce[0]))),('changed centre split',lambda b_:b_['forward'].__setitem__(b_['forward'].index(next(e for e in b_['forward'] if e[0]=='center')),[*_ce[0][:4],_ce[0][4]+1]))): + _b2=copy.deepcopy(_pg);_mk(_b2) + try:A.local_inventory(w,r,_b2) + except ValueError as _e:A.require(str(_e)=='literal centre COPY segments','COPY child mutation rejection') + else:raise ValueError('accepted '+_nm) +pid=next(iter(dirs));A.EXPECTED_WIDTHS=collections.Counter(inventories[pid]);A.T=plan['T'];A.EXPECTED_IDLE={int(k):v for k,v in A.read(a.data/'CONSTRUCTION.json')['idle'].items()};ctx=A.make_context(parent,phases,canonical['ports'],words[pid],replays[pid],roles);A.require(set(ctx['order'])==set(dispatch),'complete dispatch calls');ctx['call_widths']={c:inventories[p] for c,p in dispatch.items()};ctx['aggregate_paid']=collections.Counter() +A.require(A.ZERO_BUFFERS==max(len(w.get('zero_buffers',[]))for w in words.values()),'shared private buffer bank') +for p in dispatch.values():ctx['aggregate_paid'].update(profiles[p]) +ctx.update(max_local_prefix=max(prefix),local_profiles=profiles,width_inventories={p:dict(collections.Counter(ws)) for p,ws in inventories.items()});pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles);A.require(receipt['profile']=={int(k):v for k,v in plan['profile'].items()},'aggregate profile binding');receipt['controls_rejected']=A.controls(ctx,roles) +# A wrong provider at one changed call must fail the literal width predicate. +call=next(c for c,p in dispatch.items() if p=='extra');bad=dict(ctx,call_widths=dict(ctx['call_widths']));bad['call_widths'][call]=inventories['gauge44'] if inventories['gauge44']!=inventories['extra'] else (lambda w:(lambda i,j:w[:i]+[w[j]]+w[i+1:j]+[w[i]]+w[j+1:])(0,next(k for k in range(len(w)) if w[k]!=w[0])))(list(inventories['extra'])) # borrowed words have identical width lists: control = swapped widths of two helpers at that call +try:A.check_roles(bad,roles) +except ValueError as e:A.require(str(e)=='whole-helper residual width','wrong provider control predicate');receipt['controls_rejected'].append(dict(name='wrong_provider_at_changed_call',reason=str(e))) +else:raise ValueError('accepted incorrect provider') +receipt.update(disjoint_pending_child_axis_checks=pending,provider_counts=dict(collections.Counter(dispatch.values())),input_sha256={str(p):A.filehash(p) for p in [a.data/'PLAN.json',a.data/'DISPATCH.json',a.data/'OWNERS.json.gz',a.parent]+[d/'CANONICAL-WORD.json.gz' for d in dirs.values()]});a.out.write_text(json.dumps(receipt,indent=2)+'\n');print('PASS_INDEPENDENT_MIXED_OWNER',len(receipt['controls_rejected']),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/code/assemble.py b/research/gmx-t74-borrow43-handoff/code/assemble.py new file mode 100644 index 0000000000..b317e9b35d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/assemble.py @@ -0,0 +1,292 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +import hashlib +try: + from gmpy2 import mpz # optional accelerator, identical integer results +except ImportError: + mpz=int +def dec(x): + with localcontext()as ctx:ctx.prec=3120;return str(Decimal(x.numerator)/Decimal(x.denominator)) +import sys as _sys;_sys.path.insert(0,str(Path(__file__).resolve().parent));import fine_moment as BF,fine_mercator as MF,fine_cache as FC;from exact_coarse import moment as exact_coarse_moment +from witness import SPEC,DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths,GEO,REPLICAS,CALLS,DATA,DEFICIT,PAYLOAD,PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE,PARENT_HELPERS +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==CALLS*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==CALLS + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=DATA,local_helpers=R,private_centres=8,private_zero_buffers=invoice['private_zero_buffers'],coefficient_work=2) + assert invoice['private_zero_buffers']==max(p['zero_buffers']for p in invoice['providers'].values()) + for p in invoice['providers'].values(): + for z in p['local'].values(): + assert z['private_zero_buffer_peak']==p['zero_buffers'] and z['private_zero_buffer_clears']==2*p['zero_buffers'] + assert z['macros']==z['literal_scalar_macros']+z['private_zero_buffer_clears'] + assert z['real_component_primitives']==z['literal_real_component_primitives']+2*z['private_zero_buffer_clears'] + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE + parent_banks,rem=divmod(parent_live-2*112*4*REPLICAS,9);assert rem==0 and parent_physical==parent_live+PARENT_HELPERS+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*CALLS,4*112*REPLICAS;moves=2*shifts + nonlocal_items=(4*112*REPLICAS*9+2*112*REPLICAS*9+2*CALLS*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(CALLS*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==DEFICIT + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad,digits=24): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + def certify(z,accept,eM,eB): + if eM is MF: # finer engines: memoised across stages and prefetched concurrently (fine_cache.py); results are the engines' own outputs + l,u=FC.moment('fine_mercator',h,m,W,z,bad);ll,uu=FC.moment('fine_moment',None,m,W,z,False,list(h.items())) + if bad: + fl,fu=FC.moment('fine_moment',None,m,W,z,False,[(1,32*m*m*sum(h.values()))]);ll+=fl/10**16;uu+=fu/10**16 + else: + l,u=eM.moment(h,m,W,z,bad);ll,uu=eB.moment(m,W,list(h.items()),z) + if bad: + fl,fu=eB.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + coarse=Q((lower*10**24).__floor__(),10**24) # retained engines certify the inherited 1e-24 bracket containing the endpoint + certify(coarse,True,M,B);certify(coarse+Q(1,10**24),False,M,B) + if digits>24: # finer-constant copies of both engines certify the 1e-digits bracket (accept at the endpoint, reject at endpoint+1e-digits) + FC.prefetch([dict(name=nm,H=hh,m=m,W=W,z=zz,bad=bb,entries=ee) for zz in (lower,lower+Q(1,10**digits)) for nm,hh,bb,ee in [('fine_mercator',h,bad,None),('fine_moment',None,False,list(h.items()))]+([('fine_moment',None,False,[(1,32*m*m*sum(h.values()))])] if bad else [])]) + certify(lower,True,MF,BF);certify(lower+Q(1,10**digits),False,MF,BF) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,DEFICIT,True,SPEC['outer_refinement']['endpoint_digits']) + assert bit['bit']['two_level_coefficient_bits']0 for v in options.values()) + grid=10**options["grid_digits"]; margin_grid=10**options["margin_digits"] + eta=beta=Q(1,margin_grid);s=min(c,(1-beta)*bb)-Q(1,1000*margin_grid);assert 0= 36 and + # L_j*gap_j >= 2*(4+ell_j), where ell_j >= log2 C_j and C_j dominates the stage's fresh constants (< 2^PAYLOAD) PLUS THE CARRIED previous constant: the next constant + # is C_large + C_old*2^(L_j*(a_{j+1}-a_j)), so ell_{j+1} = max(PAYLOAD, ell_j + ceil(L_j*(a_{j+1}-a_j))) + 1. L_j is the least power of two (up to one extra doubling) + # meeting both inequalities; a larger cutoff satisfies the same hypotheses, and kappa is computed from the chain end only. + KB=int(3.6*options["margin_digits"])+64;ONE=mpz(1)<>KB + g=min((S-A_)*ONE,(ONE-A_-S)*ONE,ONE*ONE-A_*ONE-S*(ONE-O),(ONE-S)*ONE) # gap = g/ONE^2: the same four terms as min(s-a,1-a-s,1-a-s*(1-old),1-s) + assert O0 + N2=2*(4+ell)*ONE2 + e=max(N1.bit_length()-(2*g.bit_length()-1)+2,N2.bit_length()-g.bit_length()+2,0);cut=1<=N1 and cut*g>=N2 # both lemma inequalities with the carried log2 C bound ell + carry=-((-(cut*(A_-O)))>>KB) # ceil(L*(a_{j+1}-a_j)): log2 of the factor 2^(L*Delta a) carried into the next stage's constant + if step<7: # control: the UNCARRIED least cutoff of the old formula cannot pay the carry from stage 2 on (shortfall ratio about 2(1-s)) + Lu=max(-(-N1//(g*g)),-(-2*(4+PAYLOAD)*ONE2//g)) + if unc_prev is not None: + cu=-((-(unc_prev[0]*unc_prev[1]))>>KB);unc_failed.append(Lu*g<2*(4+cu)*ONE2);assert unc_failed[-1],step + unc_prev=(Lu,A_-O) + h=lambda v:hashlib.sha256(('%x'%int(v)).encode()).hexdigest() + cuts.append(dict(step=step,grid_bits=KB,exponent_numerator_sha256=h(A_),gap_numerator_sha256=h(g),log2C_bound_sha256=h(ell),cutoff_log2_power_of_two_exponent=e,carry_bits_bit_length=int(carry).bit_length())) + ell=max(PAYLOAD,ell+carry)+1;O=A_ + cuts.append(dict(control='uncarried_cutoffs_fail_carry_rule',stages_checked=list(range(2,2+len(unc_failed))),all_rejected=all(unc_failed))) + chain=[chain0,Q(int(O),int(ONE))] + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*grid;k=Q((ticks.numerator-1)//ticks.denominator,grid) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,grid),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + def outer_witness(bb): # memoised across stages (fine_cache.memo): the exact outer witness is a pure function of these inputs and the two source files + return FC.memo('outer_witness',(str(bb),str(c),json.dumps(SPEC['outer_refinement'],sort_keys=True),PAYLOAD,sha(Path(__file__)),sha(Path(A.__file__))),lambda:_outer_witness_raw(bb)) + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,DEFICIT,False,SPEC['outer_refinement']['endpoint_digits']) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert exact_coarse_moment(M,H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/code/assembly_controls.py b/research/gmx-t74-borrow43-handoff/code/assembly_controls.py new file mode 100644 index 0000000000..a666b0a1d3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/assembly_controls.py @@ -0,0 +1,264 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + CALLS + CALLS + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp, i0=invoice): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + if p['program_hashes'] == i0['providers'][P]['program_hashes']: # identical partner programs: substitute a dishonest hash instead + p['program_hashes'] = {k_: '1' * 64 for k_ in p['program_hashes']} + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp, orig=copy.deepcopy(invoice['providers'][P]['paid_profile'])): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + if p['paid_profile'] == orig: # equal partner profiles (e.g. after a frame refit): the substitution would be the identity, so use a dishonest profile with a re-summed child total instead + p['paid_profile']['1'] -= 1; p['paid_profile']['2'] += 1 + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gmx-t74-borrow43-handoff/code/audit_allcold.py b/research/gmx-t74-borrow43-handoff/code/audit_allcold.py new file mode 100644 index 0000000000..8b40462349 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/audit_allcold.py @@ -0,0 +1,262 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=CALLS) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('omit private zero buffers',lambda q:q['private_namespace'].__setitem__('zero_buffers',[DATA+CENTRES+R,DATA+CENTRES+R])) +reject('private buffer aliases data',lambda q:q['private_zero_buffer_lowering']['provider_maps'][provider_ids[0]].__setitem__(str(zero_labels[provider_ids[0]][0]),0)) +def swap_pooled_times(q): + ps=q['hosting']['pooled_slots'];j=next(k for k in range(1,len(ps))if ps[k]['time']!=ps[0]['time']and ps[k]['width']==ps[0]['width']);ps[0]['time'],ps[j]['time']=ps[j]['time'],ps[0]['time'] +reject('pooled slots exchange invocation time (equal widths)',swap_pooled_times) +reject('pooled slot time shifted',lambda q:q['hosting']['pooled_slots'][0].__setitem__('time',q['hosting']['pooled_slots'][0]['time']+1)) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',(lambda ph,own:ph if ph!=own else '1'*64)(registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'],registry[P]['local_program_checks'][at_p(q)['orientation']]['sha256']))) # equal partner programs (identical local programs): substitution would be the identity, use a dishonest hash instead + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'] if registry[Qp]['local_programs']!=registry[P]['local_programs'] else {**registry[P]['local_programs'],'forward':registry[P]['local_programs']['forward'][:-1]})) # equal partner programs: drop an instruction instead + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py b/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py b/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gmx-t74-borrow43-handoff/code/emit_allcold.py b/research/gmx-t74-borrow43-handoff/code/emit_allcold.py new file mode 100644 index 0000000000..fb06ae767b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/emit_allcold.py @@ -0,0 +1,154 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==CALLS*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==CALLS and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=DEFICIT,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/code/exact_coarse.py b/research/gmx-t74-borrow43-handoff/code/exact_coarse.py new file mode 100644 index 0000000000..d73ed91829 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/exact_coarse.py @@ -0,0 +1,57 @@ +"""Exact integer evaluation of the retained degree-24 exponential enclosure. + +Same polynomial, geometric tail and final rounding as the pinned rational engine. +Prepared under dataisfire with substantial OpenAI Codex assistance. Apache-2.0. +""" +from fractions import Fraction as F +if not __debug__: + raise RuntimeError('Assertions must be enabled') + + +def _polynomial(x): + """Return A,D with A/D = sum(x**j/j!, j=0..24), without Fraction steps.""" + p, q = x.numerator, x.denominator + total = coefficient = q_power = 1 + for j in range(23, -1, -1): + q_power *= q + coefficient *= j + 1 + total = total * p + coefficient * q_power + return total, coefficient * q_power + + +def exponential(lower, upper, dyad=1 << 224): + """Return exactly the original outward-rounded interval, not a tighter proxy.""" + if not isinstance(lower, (int, F)) or not isinstance(upper, (int, F)): + raise TypeError('Exact rational endpoints required') + lower, upper = F(lower), F(upper) + assert 0 <= lower <= upper < F(1, 10) + assert type(dyad) is int and dyad > 0 + a, d = _polynomial(lower) + low = (a * dyad) // d + a, d = _polynomial(upper) + p, q = upper.numerator, upper.denominator + # S24 + (u**25/25!) / (1-u/26), written over one integer denominator. + remainder_denominator = 26 * q - p + numerator = 25 * a * remainder_denominator + 26 * p**25 + denominator = 25 * d * remainder_denominator + high = -((-numerator * dyad) // denominator) + return F(low, dyad), F(high, dyad) + + +def moment(engine, profile, dimension, live, endpoint, bad=False): + """Opt-in adapter; retains the original logs, weights, surcharge and rounding.""" + low = high = F(0) + for rank, count in profile.items(): + assert 0 < rank < dimension and count > 0 + l, u = engine.logarithm(F(dimension, rank)) + e, f = exponential(endpoint*l, endpoint*u, engine.DYAD) + weight = F(rank*count, dimension*live) + low += weight*e + high += weight*f + if bad: + l, u = engine.logarithm(F(dimension)) + e, f = exponential(endpoint*l, endpoint*u, engine.DYAD) + weight = F(32*dimension*sum(profile.values()), 10**16*live) + low += weight*e + high += weight*f + return engine.floor(low), engine.ceil(high) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_cache.py b/research/gmx-t74-borrow43-handoff/code/fine_cache.py new file mode 100644 index 0000000000..b121840b8e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_cache.py @@ -0,0 +1,135 @@ +"""Hash-keyed memo + parallel prefetch for the finer-constant rational moment engines (package code). + +The finer engines are deterministic pure functions of (engine source, H, m, W, z, bad). Several package stages +(assembly, admission controls, bit controls, geometry controls) each run the same assembler on the same valid inputs; this module +lets them share one computation: each result is stored in the directory named by FINE_ENGINE_CACHE (set by verify.py to a +directory inside the work directory), keyed by sha256 over (engine file sha256, all arguments). Without that variable nothing is cached +and nothing changes. `prefetch` computes the independent enclosures concurrently in worker processes (this file run as a script). +""" +import hashlib, json, os, subprocess, sys, time +from fractions import Fraction as F +from pathlib import Path + +HERE = Path(__file__).resolve().parent +ENGINE_FILES = {'fine_mercator': HERE / 'fine_mercator.py', 'fine_moment': HERE / 'fine_moment.py'} + + +def _sha(p): + return hashlib.sha256(Path(p).read_bytes()).hexdigest() + + +def _key(name, H, m, W, z, bad, entries=None): + blob = json.dumps([name, _sha(ENGINE_FILES[name]), sorted(H.items()) if H is not None else None, m, W, str(z), bool(bad), + entries], sort_keys=True) + return hashlib.sha256(blob.encode()).hexdigest() + + +def _compute(name, H, m, W, z, bad, entries): + if name == 'fine_mercator': + import fine_mercator as E + return E.moment(H, m, W, z, bad) + import fine_moment as E + return E.moment(m, W, entries if entries is not None else list(H.items()), z) + + +def _dump(res): + return [[str(x.numerator), str(x.denominator)] for x in res] + + +def _load(raw): + return tuple(F(int(a), int(b)) for a, b in raw) + + +def _log(d, what, name, key, t0): + try: + with open(Path(d) / 'LOG.txt', 'a') as f: + f.write('%s %s %s %.1fs pid=%d\n' % (what, name, key[:12], time.monotonic() - t0, os.getpid())) + except OSError: + pass + + +def memo(name, key_parts, fn): + """Pickle memo of a deterministic pure computation (used for the exact outer witness): key = sha256 of key_parts.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return fn() + import pickle + t0 = time.monotonic() + k = hashlib.sha256(repr((name, key_parts)).encode()).hexdigest() + p = Path(d) / (name + '-' + k + '.pkl') + if p.is_file(): + try: + blob = p.read_bytes() + rec = pickle.loads(blob) + if rec['key'] == k: + _log(d, 'HIT', name, k, t0) + return rec['value'] + except Exception: + pass + val = fn() + Path(d).mkdir(parents=True, exist_ok=True) + tmp = p.with_suffix('.tmp%d' % os.getpid()) + tmp.write_bytes(pickle.dumps(dict(key=k, value=val), pickle.HIGHEST_PROTOCOL)) + tmp.replace(p) + _log(d, 'MISS', name, k, t0) + return val + + +def moment(name, H, m, W, z, bad=False, entries=None): + """fine_mercator.moment(H,m,W,z,bad) or fine_moment.moment(m,W,entries or H.items(),z), memoised on disk when enabled.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return _compute(name, H, m, W, z, bad, entries) + k = _key(name, H, m, W, z, bad, entries) + p = Path(d) / (k + '.json') + t0 = time.monotonic() + if p.is_file(): + try: + rec = json.loads(p.read_text()) + if rec['key'] == k and rec['check'] == hashlib.sha256((k + json.dumps(rec['result'])).encode()).hexdigest(): + _log(d, 'HIT', name, k, t0) + return _load(rec['result']) + except (ValueError, KeyError, OSError): + pass + res = _compute(name, H, m, W, z, bad, entries) + Path(d).mkdir(parents=True, exist_ok=True) + raw = _dump(res) + tmp = p.with_suffix('.tmp%d' % os.getpid()) + tmp.write_text(json.dumps(dict(key=k, result=raw, check=hashlib.sha256((k + json.dumps(raw)).encode()).hexdigest()))) + tmp.replace(p) + _log(d, 'MISS', name, k, t0) + return res + + +def prefetch(tasks, workers=None): + """tasks: list of dicts(name,H,m,W,z,bad,entries). Computes the missing ones concurrently into the cache.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return + Path(d).mkdir(parents=True, exist_ok=True) + todo = [t for t in tasks if not (Path(d) / (_key(t['name'], t['H'], t['m'], t['W'], t['z'], t['bad'], t.get('entries')) + '.json')).is_file()] + if not todo: + return + workers = max(1, min(int(workers or os.environ.get('FINE_ENGINE_WORKERS') or 8), len(todo), os.cpu_count() or 1)) + procs = [] + for w in range(workers): + chunk = todo[w::workers] + spec = Path(d) / ('.tasks%d-%d.json' % (os.getpid(), w)) + spec.write_text(json.dumps([dict(name=t['name'], H=sorted(t['H'].items()) if t['H'] is not None else None, m=t['m'], W=t['W'], + z=str(t['z']), bad=bool(t['bad']), entries=t.get('entries')) for t in chunk])) + procs.append((subprocess.Popen([sys.executable, '-B', str(Path(__file__).resolve()), str(spec)], stdout=subprocess.DEVNULL, + stderr=subprocess.PIPE, creationflags=getattr(subprocess, 'CREATE_NO_WINDOW', 0)), spec)) + for pr, spec in procs: + err = pr.communicate()[1] + spec.unlink() + if pr.returncode: + raise RuntimeError('fine-engine prefetch worker failed: ' + err.decode('utf-8', 'replace')[-800:]) + + +if __name__ == '__main__': + sys.set_int_max_str_digits(0) + sys.path.insert(0, str(HERE)) + for t in json.loads(Path(sys.argv[1]).read_text()): + H = {int(r): int(n) for r, n in t['H']} if t['H'] is not None else None + entries = [tuple(e) for e in t['entries']] if t.get('entries') is not None else None + moment(t['name'], H, t['m'], t['W'], F(t['z']), t['bad'], entries) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_mercator.py b/research/gmx-t74-borrow43-handoff/code/fine_mercator.py new file mode 100644 index 0000000000..e22682427d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_mercator.py @@ -0,0 +1,72 @@ +"""Finer-constant copy of the retained Mercator moment engine (engines/moment.py): same algorithm and enclosure logic, evaluated in directed-rounding +integer fixed point on the 2^-10182 grid instead of exact rationals (same enclosure semantics, far faster). +10182 (even) Mercator terms (tail bounded by the next term), 1542 exponential terms. + +Soundness of the integer evaluation: every quantity is non-negative and every operation is monotone, so flooring every intermediate gives a lower +bound and ceiling every intermediate gives an upper bound; the alternating Mercator sum tracks separate lower/upper term bounds and subtracts +upper terms from the lower sum (and lower terms from the upper sum). The enclosure is then outward-rounded to the 2^-10182 grid.""" +from fractions import Fraction as F +try: + from gmpy2 import mpz # optional accelerator: identical integer results, much faster +except ImportError: + mpz = int +from functools import lru_cache +from math import factorial +DYAD = 1 << 10182 +LOGN = 10183 # the loop sums n = 1..LOGN-1 = 10182 terms: an EVEN alternating partial sum lies BELOW log(1+z), as the retained engine (n = 1..224) does +EXPN = 1542 +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) +@lru_cache(None) +def mercator(y): + """Enclosure [s, s + next term] of log(y) for 1 <= y <= 3/2 by the alternating Mercator series in z = y-1.""" + z=y-1 + assert 0 <= z <= F(1,2) + assert (LOGN - 1) % 2 == 0, 'an even number of terms is required: an odd partial sum lies above the log' + p,q=mpz(z.numerator),mpz(z.denominator) + tl=tu=mpz(DYAD); sl=su=0 + for n in range(1, LOGN): + tl=tl*p//q; tu=-((-tu*p)//q) # z^n bounds + lo=tl//n; hi=-((-tu)//n) + if n & 1: sl+=lo; su+=hi + else: sl-=hi; su-=lo + tu=-((-tu*p)//q) # z^LOGN upper bound + su+=-((-tu)//LOGN) + return F(int(sl),DYAD), F(int(su),DYAD) + +@lru_cache(None) +def logarithm(x): + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + 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): + """Outward enclosure of exp on [l,u] (0 <= l <= u < 1/10) on the 2^-10182 grid: lower = partial sum through x^(EXPN-1)/(EXPN-1)! + (all terms positive), upper = partial sum at u plus 2*u^EXPN/EXPN! (the tail is at most u^EXPN/EXPN! / (1 - u/(EXPN+1)) <= 2 u^EXPN/EXPN!).""" + assert 0 <= l <= u < F(1,10) + xl=mpz(l.numerator)*DYAD//l.denominator; xu=-((-mpz(u.numerator)*DYAD)//u.denominator) + # lower: Taylor sum through x^(EXPN-1)/(EXPN-1)! with every term floored; upper: same with ceilings plus the tail 2*x^EXPN/EXPN! + # (nested floors/ceilings: floor(floor(v/2^k)/j) = floor(v/(j 2^k)), so the shift form is the same rounding) + tl=sl=mpz(DYAD); th=sh=mpz(DYAD) + for j in range(1, EXPN): + tl=((xl*tl)>>10182)//j; sl+=tl + c=-((-xu*th)>>10182); th=-((-c)//j); sh+=th + c=-((-xu*th)>>10182); tn=-((-c)//EXPN) + sh+=2*tn+2 + return F(int(sl),DYAD), F(int(sh),DYAD) + +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: + 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) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_moment.py b/research/gmx-t74-borrow43-handoff/code/fine_moment.py new file mode 100644 index 0000000000..9d7d774d62 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_moment.py @@ -0,0 +1,59 @@ +"""Higher-precision independent base-two moment enclosure (same algorithm as base_two_moment.py, finer constants), evaluated in directed-rounding +integer fixed point on the 2^-10239 grid (lower bounds: floor every non-negative intermediate; upper bounds: ceil every intermediate), which is +monotone and therefore sound; same enclosure semantics as the exact-rational original, far faster.""" +from fractions import Fraction as Q +from functools import lru_cache +try: + from gmpy2 import mpz # optional accelerator: identical integer results, much faster +except ImportError: + mpz = int +GRID = 1 << 10239 +LOG_TERMS = 3226 +EXP_TERMS = 1542 +def require(c, msg): + if not c: raise ValueError(msg) +def _cd(a, b): return -((-a)//b) +SH = 10239 +@lru_cache(None) +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + p, q = mpz(z.numerator), mpz(z.denominator) + p2, q2 = p*p, q*q + pl = GRID*p//q; ph = _cd(GRID*p, q) # z^1 bounds + sl = sh = mpz(0) + for j in range(LOG_TERMS): + sl += pl//(2*j+1); sh += _cd(ph, 2*j+1) + pl = pl*p2//q2; ph = _cd(ph*p2, q2) # z^(2j+3) + # tail 2 z^(2N+1) / ((2N+1)(1-z^2)), rounded up; ph = z^(2N+1) upper bound + tail = _cd(2*ph*q2, (2*LOG_TERMS+1)*(q2-p2)) + return Q(int(2*sl), GRID), Q(int(2*sh+tail), GRID) +def log_bounds(x): + require(x >= 1, "logarithm range") + k = 0 + while x > 2: + x /= 2; k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) +def exp_bounds(x): + """Outward enclosure of exp(x), 0 <= x < 1, on the 1/GRID grid: lower = partial sum through x^(EXP_TERMS-1)/(EXP_TERMS-1)! (positive terms), + upper = partial sum + 2*x^EXP_TERMS/EXP_TERMS! (tail <= that for x < 1).""" + require(0 <= x < 1, "exponential range") + xl = mpz(x.numerator)*GRID//x.denominator; xu = _cd(mpz(x.numerator)*GRID, x.denominator) + tl = th = mpz(GRID); sl = sh = mpz(GRID) + for j in range(1, EXP_TERMS): + tl = ((tl*xl) >> SH)//j; th = _cd(-((-th*xu) >> SH), j) + sl += tl; sh += th + tn = _cd(-((-th*xu) >> SH), EXP_TERMS) + return Q(int(sl), GRID), Q(int(sh+2*tn+2), GRID) +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)) + lo += Q(t*count, m*W)*exp_bounds(saving*l)[0] + hi += Q(t*count, m*W)*exp_bounds(saving*u)[1] + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) diff --git a/research/gmx-t74-borrow43-handoff/code/freeze_spec.py b/research/gmx-t74-borrow43-handoff/code/freeze_spec.py new file mode 100644 index 0000000000..e4e72b5a07 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':333} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/code/generated_identity.py b/research/gmx-t74-borrow43-handoff/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py b/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py new file mode 100644 index 0000000000..68f0d5aa64 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py @@ -0,0 +1,367 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + zero_labels=sorted(w.get('zero_buffers',[]));zero_buffers=len(zero_labels) + assert len(set(zero_labels))==zero_buffers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + zero_clears=zero_peak=warp_events=0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + warp_classes = set(); zlive = set() # BW: PR2226 warps / private zero buffers (rank zero, price zero) + for event in events: + tag = event[0] + assert not zlive or tag in ('scalar','warp','zero_buffer'), 'a child cannot observe a private cleanup buffer' + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'warp': + warp_events+=1 + # BW: rank-zero monomial logical reference change K_G^{+-1} of one register (PR2226): no paid rank, no coefficient work, + # coefficient norms are unchanged by a unit-phase permutation. Frames and exact columns are bound by the hash-checked replay. + _, register, op, f0, f1 = event + assert op and len(w['frames'][f0]) == len(w['frames'][f1]), 'a warp is rank zero' + assert tuple(register) in env, 'warp on an unallocated register' + warp_classes.add((1 if op > 0 else -1, abs(op), f0, f1)) + elif tag == 'zero_buffer': + _, kind, z = event + assert z in zero_labels + zero_clears+=1 # allocation and release each lower to an actual real/imaginary CLEAR + if kind == 'alloc': + assert ('Z', z) not in env and z in ends + env[('Z', z)] = Q(0); zlive.add(z);zero_peak=max(zero_peak,len(zlive)) + else: + assert kind == 'free' and z in zlive + del env[('Z', z)]; zlive.remove(z) + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + # BW: every emitted warp class has an exact rank-zero recipe (lowered, then independently rechecked on all 512 columns) + # and every zero buffer was freed; a word without warps carries neither. + assert not zlive and zero_clears==2*zero_buffers and zero_peak==zero_buffers + assert {op for _, op, _, _ in warp_classes} == {x['op'] for x in w.get('warps', [])} + warp_recipes = read(local_dir/'CLIFFORD-RECIPES.json').get('warps', []) + assert warp_classes == {(x['sign'], x['op'], x['old'], x['new']) for x in warp_recipes} and all(x['rank'] == 0 for x in warp_recipes) + assert {int(k) for k in read(local_dir/'RESIDUAL-ADAPTERS.json').get('warps', {})} == {op for _, op, _, _ in warp_classes} + assert bool(warp_classes) == bool(replay.get('warp_replay', {}).get('warps')) and (not warp_classes or replay['warp_replay']['status'] == 'PASS_EXACT_MONOMIAL_WARP_COLUMNS_ALL_512_BOTH_ORIENTATIONS') + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert warp_events==checks[orientation].get('warp_events',0) + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros+zero_clears, real_component_primitives=real+2*zero_clears, + warp_events=warp_events,literal_scalar_macros=macros,literal_real_component_primitives=real,private_zero_buffer_clears=zero_clears,private_zero_buffer_peak=zero_peak, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + # A rank-zero warp is still an actual unit-phase permutation circuit. + # Charge one complete monomial routing reserve for every literal event. + warp_bound=max(row['warp_events']for row in local.values()) + adapters = 16*(macro_bound+warp_bound+children+n+centres+zero_buffers+2)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n,zero_buffers=zero_buffers, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers'];zero_buffers=max(p['zero_buffers']for p in providers.values()); n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=GEO['stages'],REPLICAS,GEO['pairs'] + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + assert (parent_live,parent_physical,sum(c['replicas'] for c in parent['idle_children']))==(PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE) + assert parent_helpers==PARENT_HELPERS + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==DEFICIT + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+zero_buffers+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=PAYLOAD + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==512 + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix(T,b) of register r + _, x, op, a, b = e; x = tuple(x); st['warp'] += 1 + if x[0] != 'L' or v <= x[1] < 2 * v: bad(idx, f'warp of target or non-L register {x}') + if lab.get(x) != (T, a): bad(idx, f'warp of {x} from {lab.get(x)} not (T,{a})') + lab[x] = (T, b); wcount[x[1]] += 1 + continue + if kind == 'scalar': + op, f = e[1], e[2]; regs = operands(op); st['scalar_' + op[0]] += 1; by_phase[phase] += 1 + for x in regs: + if x[0] == 'Z' and x not in lab: bad(idx, f'zero buffer {x} used before allocation') + if x[0] == 'C' and x not in first_private: + # Lean leaves a private register's initial label free; record whether its dirty initial content + # can be read (a hygiene fact, not a label violation). + first_private[x] = op[0] if (op[0] == 'clear' or (op[0] == 'copy' and x == regs[0])) else 'read' + lab.setdefault(x, FREE) + if op[0] in ('add', 'scale') and regs[0][0] == 'L' and regs[0][1] < v: + src[phase] += 1 + want = (T, f) + if op[0] == 'clear': + lab[regs[0]] = want if reading == 'strict' else FREE + elif op[0] == 'copy': + t, s = regs + if reading == 'strict': + if lab.get(s) != want: bad(idx, f'copy source {s} at {lab.get(s)} not {want}') + lab[t] = want + else: + lab[t] = lab.get(s) + elif op[0] == 'add': + t, s = regs + if reading == 'strict': + for x in (t, s): + if lab.get(x) == FREE and x[0] == 'C': lab[x] = want + off = [(x, lab.get(x)) for x in (t, s) if lab.get(x) != want] + if off: bad(idx, f'add operands {off} not at {want}') + else: + if lab.get(t) == FREE: lab[t] = lab.get(s) + if lab.get(s) == FREE: lab[s] = lab.get(t) + if lab.get(t) != lab.get(s): bad(idx, f'add {t} at {lab.get(t)} but {s} at {lab.get(s)}') + elif op[0] == 'scale': + if reading == 'strict': + x = regs[0] + if lab.get(x) == FREE and x[0] == 'C': lab[x] = want + if lab.get(x) != want: bad(idx, f'scale operand {x} at {lab.get(x)} not {want}') + else: + bad(idx, 'unknown scalar ' + str(op[0])) + continue + if kind == 'climb': + _, part, r, a, b, rank = e; x = ('L', r); st['climb'] += 1 + if lab[x] != (T, a): bad(idx, f'climb of {r} from {lab[x]} not (T,{a})') + lab[x] = (T, b) + elif kind == 'center': + _, k, a, b, rank = e; x = ('C', k); st['centre_step'] += 1 + if lab.get(x) == FREE: lab[x] = (T, a) + if lab.get(x) != (T, a): bad(idx, f'centre step of {x} from {lab.get(x)} not (T,{a})') + lab[x] = (T, b) + elif kind == 'adapter': + _, way, r, f = e; x = ('L', r) + if way == 'old_to_new': + entry[r] += 1; st['entry_adapter'] += 1 + if r < v: + if f != start[r] or lab[x] != (('pre', r), f): bad(idx, f'source entry adapter of {r} at {lab[x]}, frame {f}') + lab[x] = (T, f) + else: + if r in wrapped or f != 0 or lab[x] != (T, 0): bad(idx, f'identity entry adapter of {r} at {lab[x]}, frame {f}') + elif way == 'new_to_old': + exit_[r] += 1; st['exit_adapter'] += 1 + if v <= r < 2 * v: + if f != final[r] or lab[x] != (T, f): bad(idx, f'target exit adapter of {r} at {lab[x]}, frame {f}') + lab[x] = (('post', r), f) + else: + if r in hpe or f != FULL or lab[x] != (T, FULL): bad(idx, f'identity exit adapter of {r} at {lab[x]}, frame {f}') + else: + bad(idx, 'unknown adapter ' + str(way)) + elif kind == 'residual_adapter': + _, side, r, f, *U = e; x = ('L', r) + if r not in wrapped or f != start[r] or U != ([final[r]] if r in hpe else []): + bad(idx, f'wrapper key of {r}: frame {f}, terminal {U}') + if side == 'pre': + pre[r] += 1; st['pre_wrapper'] += 1 + if lab[x] != (('prew', r), start[r]): bad(idx, f'pre wrapper of {r} at {lab[x]}') + lab[x] = (T, start[r]) + elif side == 'post': + post[r] += 1; st['post_wrapper'] += 1 + if lab[x] != (T, final[r]): bad(idx, f'post wrapper of {r} at {lab[x]}') + lab[x] = (('done', r), final[r]) + else: + bad(idx, 'unknown wrapper side ' + str(side)) + else: + bad(idx, 'unknown event ' + str(kind)) + phase = 'end' + if phases != PHASE_ORDER: bad(len(events), 'phase order ' + str(phases)) + for r in range(n): + want_end = ((T, FULL) if r < v else (('post', r), final[r]) if r < 2 * v + else (('done', r), final[r]) if r in wrapped else (T, FULL)) + if lab[('L', r)] != want_end: bad(len(events), f'register {r} ends at {lab[("L", r)]} not {want_end}') + want_entry = 0 if r in wrapped else 1 + want_exit = 0 if r in hpe else 1 + want_wrap = 1 if r in wrapped else 0 + if (entry[r], exit_[r], pre[r], post[r]) != (want_entry, want_exit, want_wrap, want_wrap): + bad(len(events), f'bridge of {r}: entry {entry[r]} exit {exit_[r]} pre {pre[r]} post {post[r]}') + if zalloc != zfree or any(('Z', r) in lab for r in zalloc): bad(len(events), 'zero buffers not all freed') + stats = dict(warps=st['warp'], zero_buffers=len(zalloc), private_first_touch_reads=sum(first == 'read' for first in first_private.values()),events=st['events'], phases=len(phases), scalar_events=sum(by_phase.values()), + scalar_by_kind={k[7:]: z for k, z in sorted(st.items()) if k.startswith('scalar_')}, + scalar_by_phase=dict(sorted(by_phase.items())), climbs=st['climb'], centre_steps=st['centre_step'], + entry_adapters=st['entry_adapter'], exit_adapters=st['exit_adapter'], pre_wrappers=st['pre_wrapper'], + post_wrappers=st['post_wrapper'], private_registers=len(first_private), + source_writes=sum(src.values()), source_writes_by_phase=dict(sorted(src.items()))) + return viol, stats + + +def straddle(events, adapter_event, frame, reg): + """[C0 += L; L -= C0] adapter [L += C0; C0 -= L; clear C0], all at the adapter's frame.""" + i = events.index(adapter_event) + need(events.count(adapter_event) == 1, 'adapter event not unique') + C0, L = ['C', 0], ['L', reg] + before = [['scalar', ['add', C0, L, 1, 1], frame], ['scalar', ['add', L, C0, -1, 1], frame]] + after = [['scalar', ['add', L, C0, 1, 1], frame], ['scalar', ['add', C0, L, -1, 1], frame], ['scalar', ['clear', C0], frame]] + return events[:i] + before + [events[i]] + after + events[i + 1:], i + + +def adapter_rule(c, events): + """The hardening README (b) recommends next to the frame-only replay (a sketch, not proved sufficient for H1): every + data adapter and wrapper sits in its own phase at cur[r] == its frame, and per-register adapter state is tracked as + the replay tracks wrappers: no scalar or climb touches a source before its entry adapter or a target after its exit + adapter. Returns the indices of offending events.""" + v = c['v']; cur = list(c['start']); phase = None; entered, exited = set(), set(); bad = [] + for idx, e in enumerate(events): + kind = e[0]; regs = [] + if kind == 'phase': + phase = e[1]; continue + if kind == 'scalar': + regs = [x[1] for x in operands(e[1]) if x[0] == 'L'] + elif kind == 'climb': + regs = [e[2]] + elif kind == 'warp': + regs = [e[1][1]] + elif kind == 'adapter': + _, way, r, f = e + if phase != ('entry_adapters' if way == 'old_to_new' else 'exit_adapters') or cur[r] != f: + bad.append(idx) + (entered if way == 'old_to_new' else exited).add(r) + elif kind == 'residual_adapter': + _, side, r, f, *U = e + if (phase, cur[r]) != (('entry_adapters', c['start'][r]) if side == 'pre' else ('full_frame_cleanup', c['final'][r])): + bad.append(idx) + if any((r < v and r not in entered) or (v <= r < 2 * v and r in exited) for r in regs): + bad.append(idx) + if kind == 'climb': + cur[e[2]] = e[4] + if kind == 'warp': # BORROW extension: the warp must find the register at its from frame + if cur[e[1][1]] != e[3]: bad.append(idx) + cur[e[1][1]] = e[4] + return bad + + +def exit_block_move(c, events): + """Mutant Z: the exit adapters of registers 0 .. t (t = v, the target of port 0), in order, moved to just before the + last scalar event on L_t ahead of its exit adapter. Returns (mutant, insertion index, first and last moved index).""" + t = c['v'] + xs = [x for x, e in enumerate(events) if e[0] == 'adapter' and e[1] == 'new_to_old' and e[2] <= t] + need([events[x][2] for x in xs] == list(range(t + 1)) and xs == list(range(xs[0], xs[-1] + 1)), + 'the exit adapters of registers 0..t are not one ordered block') + g = max(x for x in range(xs[0]) if events[x][0] == 'scalar' and ('L', t) in operands(events[x][1])) + return events[:g] + events[xs[0]:xs[-1] + 1] + events[g:xs[0]] + events[xs[-1] + 1:], g, xs[0], xs[-1] + + +def touches(e, reg): + if e[0] == 'scalar': + return reg in operands(e[1]) + if e[0] in ('climb', 'adapter', 'residual_adapter'): + return reg == ('L', e[2]) + if e[0] == 'center': + return reg == ('C', e[1]) + return False diff --git a/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py b/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py new file mode 100644 index 0000000000..fca2abd189 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Package stage `lemmag-labels` (beside the frame-only `local-replay`): runs the Lemma G label / adapter checks of PR1964 (thakrarsagar; Lemma G by +DreamingOfClouds, PR509 / PR516; vendored verbatim in lemmag_checks.py) on every provider's emitted LOCAL-PROGRAMS, both orientations: + * label_check strict and permissive and adapter_rule must each report 0 violations on the honest programs; + * the physically wrong adapter mutants X (exit straddle), Y (entry straddle) and Z (exit adapters moved before a phase-B add), which the frame-only replay + accepts, must each be REJECTED (at least one of the three checks reports a violation); the stage fails if a mutant is accepted or cannot be built. +usage: lemmag_stage.py OUT.json DIR [DIR ...] (each DIR contains local/CANONICAL-WORD.json.gz and local/LOCAL-PROGRAMS.json.gz)""" +import gzip, json, sys +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import lemmag_checks as V + + +def main(out, dirs): + report = {} + for d in dirs: + L = Path(d) / 'local' + c = json.loads(gzip.decompress((L / 'CANONICAL-WORD.json.gz').read_bytes())) + progs = json.loads(gzip.decompress((L / 'LOCAL-PROGRAMS.json.gz').read_bytes())) + row = {'v': c['v'], 'R': c['R'], 'events': {o: len(p) for o, p in progs.items()}, 'honest': {}, 'mutants': {}} + for o in ('forward', 'backward'): + s, _ = V.label_check(c, progs[o], 'strict') + p, _ = V.label_check(c, progs[o], 'permissive') + r = V.adapter_rule(c, progs[o]) + row['honest'][o] = {'label_strict': len(s), 'label_permissive': len(p), 'adapter_rule': len(r)} + assert not s and not p and not r, ('honest programs violate the Lemma G label / adapter checks', str(d), o, s[:2], p[:2], r[:2]) + fw = progs['forward']; t, s0 = c['v'], 0 + muts = {'X': lambda: V.straddle(fw, ['adapter', 'new_to_old', t, c['final'][t]], c['final'][t], t)[0], + 'Y': lambda: V.straddle(fw, ['adapter', 'old_to_new', s0, c['start'][s0]], c['start'][s0], s0)[0], + 'Z': lambda: V.exit_block_move(c, fw)[0]} + for name, build in muts.items(): + m = build() + st = len(V.label_check(c, m, 'strict')[0]); pe = len(V.label_check(c, m, 'permissive')[0]); ar = len(V.adapter_rule(c, m)) + row['mutants'][name] = {'label_strict': st, 'label_permissive': pe, 'adapter_rule': ar, 'rejected': bool(st or pe or ar)} + assert st or pe or ar, ('adapter mutant ACCEPTED by the Lemma G checks', str(d), name) + ws = [i for i, e in enumerate(fw) if e[0] == 'warp' and e[3] not in (0, 1)] # forward reference-change warps (from frame strictly between ZERO and FULL); the zero-frame K_G events of the anticipatory corrections (tadd expansion, frame 0 -> 0) are not reference changes and are checked by the algebraic replays + if ws: # BORROW controls: reference-change mutants must be rejected + def rej(m): return bool(V.label_check(c, m, 'strict')[0] or V.label_check(c, m, 'permissive')[0] or V.adapter_rule(c, m)) + w0 = ws[0]; e0 = fw[w0]; other = next(f for f in range(2, len(c['frames'])) if f not in (e0[3], e0[4])) + bw = {'warp_wrong_from_frame': fw[:w0] + [e0[:3] + [other, e0[4]]] + fw[w0 + 1:], + 'warp_dropped': fw[:w0] + fw[w0 + 1:], + 'warp_to_wrong_frame': fw[:w0] + [e0[:4] + [other]] + fw[w0 + 1:], + 'inverse_warp_from_wrong_frame': [e[:3] + [other] + e[4:] if i == next(j for j, x in enumerate(fw) if x[0] == 'warp' and x[3] == 1) else e for i, e in enumerate(fw)], + 'zero_buffer_not_freed': [e for e in fw if not (e[0] == 'zero_buffer' and e[1] == 'free')][:], + 'zero_buffer_not_allocated': [e for e in fw if not (e[0] == 'zero_buffer' and e[1] == 'alloc')], + 'zero_buffer_outside_cleanup': fw[:w0] + [['zero_buffer', 'alloc', next(e[2] for e in fw if e[0] == 'zero_buffer')]] + fw[w0:]} + row['borrow_mutants'] = {} + for name, m in bw.items(): + row['borrow_mutants'][name] = rej(m) + assert rej(m), ('borrow mutant ACCEPTED', str(d), name) + report[str(d)] = row + Path(out).write_text(json.dumps(report, indent=1, sort_keys=True) + '\n') + print('PASS_LEMMAG_LABELS dirs=%d mutants_rejected=%d borrow_mutants_rejected=%d' % (len(dirs), 3 * len(dirs), sum(len(r.get('borrow_mutants', {})) for r in report.values()))) + + +if __name__ == '__main__': + main(sys.argv[1], sys.argv[2:]) diff --git a/research/gmx-t74-borrow43-handoff/code/oracle_check.py b/research/gmx-t74-borrow43-handoff/code/oracle_check.py new file mode 100644 index 0000000000..db055a6fe6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/oracle_check.py @@ -0,0 +1,69 @@ +"""Independent exact oracle for the finer-constant engines (package stage). + +Compares logarithm enclosures of code/fine_mercator.py and code/fine_moment.py with a separately written exact +2*atanh enclosure (integer fixed point 128 bits finer than the engines, directed rounding) on every logarithm argument the pinned T74 complex and surcharge checks use +(73/t for t = 1..72 and 73) plus 43, 189 and 352 (the first integers on which a wrong-parity Mercator sum fails). +A valid enclosure [L, U] must satisfy L <= oracle_lower and U >= oracle_upper (so L <= ln <= U) and be tight (width below 2^-(bits-40) resp. 2^-(grid bits-40)). +Also asserts the Mercator term count is even (an odd alternating partial sum lies above the log). +""" +import sys +from fractions import Fraction as F +try: + from gmpy2 import mpz # optional accelerator, identical results +except ImportError: + mpz = int +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import fine_mercator as FM, fine_moment as BF +assert (FM.LOGN - 1) % 2 == 0, 'fine_mercator must sum an even number of terms' +# Exact 2*atanh enclosure in directed-rounding integer fixed point on a 2^-OB grid (OB = max engine bits + 128, strictly finer than both engines); +# N terms with 3^-2N below 2^-OB, tail bounded by the geometric series. Written separately from both engines. +OB = max(FM.DYAD.bit_length(), BF.GRID.bit_length()) - 1 + 128 +N = int(OB / 3.1699) + 20 +ONE = 1 << OB + + +def atanh2(z): + p, q = mpz(z.numerator), mpz(z.denominator) + p2, q2 = p*p, q*q + pl = ONE*p//q + ph = -((-ONE*p)//q) + sl = sh = mpz(0) + for j in range(N): + sl += pl//(2*j+1) + sh += -((-ph)//(2*j+1)) + pl = pl*p2//q2 + ph = -((-ph*p2)//q2) + tail = -((-2*ph*q2)//((2*N+1)*(q2-p2))) + return F(int(2*sl), ONE), F(int(2*sh + tail), ONE) + + +LN2 = atanh2(F(1, 3)) + + +def oracle(x): + assert x >= 1 + k = 0 + while x >= 2: + x /= 2 + k += 1 + lo, hi = atanh2((x-1)/(x+1)) + return lo + k*LN2[0], hi + k*LN2[1] + + +# inner Mercator enclosures (before any outward rounding): the constants log(3/2), log(4/3) and sample reductions +for y in (F(3, 2), F(4, 3), F(5, 4), F(1), F(7, 6)): + lo_o, hi_o = oracle(y) if y >= 1 else (None, None) + L, U = FM.mercator(y) + assert L <= lo_o and U >= hi_o, ('false inner Mercator enclosure', y) +tight = {'fine_mercator': F(1, 2**(FM.DYAD.bit_length() - 1 - 40)), 'fine_moment': F(1, 2**(BF.GRID.bit_length() - 1 - 40))} +inputs = [F(73, t) for t in range(1, 73)] + [F(73), F(43), F(189), F(352)] +checked = 0 +for x in inputs: + lo_o, hi_o = oracle(x) + for name, (L, U) in (('fine_mercator', FM.logarithm(x)), ('fine_moment', BF.log_bounds(x))): + assert L <= lo_o, ('false lower log bound', name, x) + assert U >= hi_o, ('false upper log bound', name, x) + assert U - L < tight[name], ('enclosure not tight', name, x) + checked += 1 +print('PASS_FINE_ENGINE_LOG_ORACLE inputs=%d enclosures=%d' % (len(inputs), checked)) diff --git a/research/gmx-t74-borrow43-handoff/code/prepare_global.py b/research/gmx-t74-borrow43-handoff/code/prepare_global.py new file mode 100644 index 0000000000..655c9470f6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/prepare_global.py @@ -0,0 +1,124 @@ +"""Bind a frozen explicit owner map to exact native local artifacts. + +This preparer nominates a witness. The separate serialized controller audit, +finite invoice, two exact moment engines and strict pinned replay admit it. +Apache-2.0; prepared with OpenAI assistance. See NOTICE.md. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path +import shutil + +from generated_identity import artifact_identities, FILES + +assert __debug__, 'Assertions required' + + +def read(path): + raw = Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--parent', type=Path, required=True) +ap.add_argument('--owners', type=Path, required=True) +ap.add_argument('--local', type=Path, required=True) +ap.add_argument('--data', type=Path, required=True) +args = ap.parse_args() +args.data.mkdir(parents=True, exist_ok=True) +parent_path = args.parent / 'data/PLAN.json' +assert sha(parent_path) == '258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda' +plan = read(parent_path) +word = read(args.local / 'CANONICAL-WORD.json.gz') +checks = read(args.local / 'LOCAL-CHECKS.json') +assert (word['v'], word['h'], word['R']) == (112, 9, 492) +widths = [len(word['frames'][word['final'][224+h]]) - + len(word['frames'][word['start'][224+h]]) for h in range(492)] +profile = {int(k): v for k, v in word['local_profile'].items()} +assert profile == {1: 2514, 2: 404, 3: 448, 4: 160, 5: 56, 8: 8} +assert Counter(widths) == {4: 52, 5: 48, 7: 34, 8: 114, 9: 244} +assert sum(widths) == 3794 +owners = read(args.owners) +assert len(owners) == 72 * 492 +order = [tuple(x) for x in plan['order']] +times = {x: i for i, x in enumerate(order)} +used, call_helpers, call_families = defaultdict(set), defaultdict(set), defaultdict(set) +for z in owners: + key = (z['stage'], z['replica']) + h, i, rep, port = z['helper'], z['child'], z['owner_replica'], z['port'] + assert key in times and 0 <= h < 492 and 0 <= rep < 8 and 0 <= port < 112 + assert z['time'] == times[key] and h not in call_helpers[key] + assert z['family'] not in call_families[key] + call_helpers[key].add(h) + call_families[key].add(z['family']) + cap, allowed = plan['windows'][f'{rep},{i}'] + assert z['time'] in allowed and z['width'] == widths[h] + assert z['copy'] == rep * 112 + port + assert z['family'] == rep * 896 + (2*plan['pairs'][str(i)] + plan['sides'][str(i)])*112 + port + assert 0 <= z['offset'] and z['offset'] + z['width'] <= cap + cells = set(range(z['offset'], z['offset'] + z['width'])) + group = (i, rep, port) + assert not used[group] & cells + used[group].update(cells) +assert set(call_helpers) == set(order) +assert all(hs == set(range(492)) for hs in call_helpers.values()) +idle = Counter() +for key, (cap, _) in plan['windows'].items(): + rep, i = map(int, key.split(',')) + for port in range(112): + cells = used[i, rep, port] + assert cells == set(range(len(cells))) + left = cap - len(cells) + if left: + idle[left] += 1 +global_profile = Counter({r: 72*n for r, n in profile.items()}) + idle +assert sum(r*n for r, n in global_profile.items()) == 520704 +assert 73*7168 - sum(r*n for r, n in global_profile.items()) == 2560 +pid = 'gauge44' +for c in plan['provider_calls']: + c['provider'] = pid + c['local_program_sha256'] = checks[c['orientation']]['sha256'] +for c in plan['per_call_widths']: + c['widths'] = widths +artifacts = {name: sha(args.local / name) for name in FILES} +identities = artifact_identities(args.local) +plan['provider_registry'] = {pid: dict( + directory='providers/' + pid, artifact_sha256=artifacts, + ports=word['ports'], centers=word['centers'], widths=widths, + actual_paid_profile=word['local_profile'], + orientation_program_sha256={k: v['sha256'] for k, v in checks.items()}, + artifact_semantic_sha256=identities)} +plan.update(status='FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION', + mode='gauge44-all72', profile=dict(sorted(global_profile.items())), + solver_status='deterministic-capacity-matching', gap=None, + source_plan_sha256=sha(parent_path), + source_owners_sha256=sha(args.parent / 'data/OWNERS.json.gz'), + assignment_sha256=sha(args.owners)) +target_owners = args.data / 'OWNERS.json.gz' +if args.owners.resolve() != target_owners.resolve(): + shutil.copyfile(args.owners, target_owners) +dump(args.data / 'PLAN.json', plan) +spec = dict(schema='witness-spec/1', name='gauge44-all72', + data=dict(plan_sha256=sha(args.data / 'PLAN.json'), owners_sha256=sha(target_owners)), + dispatch=[[s, r, pid] for s in range(9) for r in range(8)], + call_order=plan['order'], width_spot_helpers=[264, 276, 288, 300], + providers={pid: {}}, expected=dict(gain_baseline_kappa='0.001636241501576388')) +dump(args.data / 'SPEC.json', spec) +dump(args.data / 'PREPARATION.json', dict( + status='PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION', + parent_plan_sha256=sha(parent_path), source_owners_sha256=sha(args.owners), + global_profile=dict(sorted(global_profile.items())), idle_profile=dict(sorted(idle.items())), + roles=len(owners), rank_mass=520704, deficit=2560, + remaining='Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly.')) +print('Prepared all72 gauge44 candidate:', dict(sorted(global_profile.items()))) diff --git a/research/gmx-t74-borrow43-handoff/code/pyc_guard.py b/research/gmx-t74-borrow43-handoff/code/pyc_guard.py new file mode 100644 index 0000000000..95fdd85628 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/pyc_guard.py @@ -0,0 +1,48 @@ +"""Stale-bytecode guard (after PR2788, jeremydiviney: a verifier can execute a stale .pyc beside vendored sources instead of the authenticated source). +guard(root): reject any *.pyc or __pycache__ anywhere in the package tree (the manifest excludes them, so they would be unauthenticated). +selftest(): plant a stale unchecked-hash .pyc beside a copy of an authenticated source and show (a) guard rejects the tree, and (b) an interpreter run with a fresh +PYTHONPYCACHEPREFIX (what verify_release/verify.py set for every child) ignores the planted bytecode and runs the source.""" +import os, py_compile, subprocess, sys, tempfile +from pathlib import Path + + +def stale(root): + root = Path(root) + return sorted(str(p.relative_to(root)) for p in root.rglob('*') if p.suffix in ('.pyc', '.pyo') or p.name == '__pycache__') + + +def guard(root): + found = stale(root) + if found: + raise SystemExit('stale bytecode in the package tree (unauthenticated): ' + ', '.join(found[:5])) + + +def selftest(): + with tempfile.TemporaryDirectory() as t: + t = Path(t) + (t / 'src').mkdir() + mod = t / 'src' / 'engine.py' + mod.write_text("VALUE = 'authenticated source'\n") + evil = t / 'evil.py' + evil.write_text("VALUE = 'STALE BYTECODE'\n") + cache = t / 'src' / '__pycache__' + cache.mkdir() + tag = sys.implementation.cache_tag + py_compile.compile(str(evil), cfile=str(cache / ('engine.' + tag + '.pyc')), invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH) + try: + guard(t / 'src') + raise SystemExit('pyc guard FAILED to reject a planted stale .pyc') + except SystemExit as e: + if 'stale bytecode' not in str(e): + raise + code = "import sys; sys.path.insert(0, %r); import engine; print(engine.VALUE)" % str(mod.parent) + plain = subprocess.run([sys.executable, '-c', code], capture_output=True, text=True, env=dict(os.environ, PYTHONDONTWRITEBYTECODE='1')).stdout.strip() + pref = subprocess.run([sys.executable, '-c', code], capture_output=True, text=True, + env=dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONPYCACHEPREFIX=str(t / 'fresh-prefix'))).stdout.strip() + if pref != 'authenticated source': + raise SystemExit('PYTHONPYCACHEPREFIX did not isolate the stale .pyc: ' + pref) + print('PYC-GUARD planted stale .pyc: tree guard rejected; plain interpreter ran %r; fresh-prefix interpreter ran %r' % (plain, pref), flush=True) + + +if __name__ == '__main__': + selftest() diff --git a/research/gmx-t74-borrow43-handoff/code/restore_parent.py b/research/gmx-t74-borrow43-handoff/code/restore_parent.py new file mode 100644 index 0000000000..21135f898a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/restore_parent.py @@ -0,0 +1,67 @@ +"""Materialize the omitted generated PR558 parent, then require its reviewed hash. + +The integrated review contains the native inputs and INTEGRATION.json but +omits GLOBAL-TEMPLATE.json.gz. This is only the deterministic template +binding from the inherited prepare_supplier_base.py; no old circuit or +phase calculation is rerun. The whole exact payload must match the review. +""" +import argparse +import copy +import gzip +import hashlib +import json +from pathlib import Path +import shutil + +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--source',type=Path,required=True) +ap.add_argument('--baseline',type=Path,required=True) +ap.add_argument('--out',type=Path,required=True) +a=ap.parse_args() +read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +assert not a.out.exists() +base=a.out/'complex-global/base' +shutil.copytree(a.baseline/'complex-global/base',base) +d=base/'split-centres' +parent=a.source/'vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz' +old=read(parent);can=read(d/'CANONICAL-WORD.json.gz') +checks=read(d/'LOCAL-CHECKS.json');programs=read(d/'LOCAL-PROGRAMS.json.gz') +v,h,r=can['v'],can['h'],can['R'];c=len(can['centers']);m,t,l,k=73,8,9,4 +assert(v,h,r,c)==(112,9,504,8) +widths=[h-len(can['frames'][f])for f in can['start'][2*v:]] +data=2*k*t*v;live=data+l*r;physical=live+r+c+2 +word=copy.deepcopy(old) +word.update(version='round20-new-supplier-dedicated-bank-parent-v1',live=live,physical=physical,local_programs=programs) +word['private_namespace']={'centers':[live,live+c],'reserved_tableau':[live+c,live+c+r],'coefficient':[physical-2,physical]} +for call in word['calls']: + s,rep=call['stage'],call['replica'];owners=copy.deepcopy(call['owners'][:2*v]) + for helper,w in enumerate(widths): + route=[2,rep]if w==9 else[2,rep*w,w,list(range(t*w,t*w+9-w))] + owners.append([data+s*r+helper,route]) + call['owners']=owners;call['local_program_sha256']=checks[call['orientation']]['sha256'] +children=[] +for s in range(l): + for helper,w in enumerate(widths): + axes=list(range(t*w,m)) + children.append(dict(family=data+s*r+helper,rank=len(axes),axis_indices=axes,orthogonal_axes=[1< R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] + +# Replica-sensitive quantities are frozen by the independently checked parent lift. +GEO=SPEC['geometry'] +REPLICAS=GEO['replicas']; CALLS=GEO['stages']*REPLICAS +assert type(REPLICAS) is int and REPLICAS>0 +assert (GEO['stages'],GEO['pairs'],GEO['dimension'])==(9,4,73) +assert set(CALL_ORDER)=={(s,r) for s in range(GEO['stages']) for r in range(REPLICAS)} +DATA=2*112*GEO['pairs']*REPLICAS +DEFICIT=DATA-64*CALLS +PAYLOAD=GEO['charged_prefix_bits'] +assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length() +PARENT_LIVE=GEO['parent_live'];PARENT_PHYSICAL=GEO['parent_physical'];PARENT_IDLE=GEO['parent_idle'];PARENT_HELPERS=GEO['parent_helpers'] +assert PARENT_PHYSICAL==PARENT_LIVE+PARENT_HELPERS+8+2 diff --git a/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json b/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json new file mode 100644 index 0000000000..7a8edeb1e4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json @@ -0,0 +1 @@ +{"input_content_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", "output_content_sha256": "377ab10c2bf6173498c8af15f8654060331ec9ee232e58cc75956dc015b23685", "swaps": [{"pivot": 482, "new_pivot": 554, "entrance": [24], "gates": [{"part": "B", "index": 331, "before": ["add", 554, 482, -1, 1, [24]], "after": ["add", 482, 554, -1, 1, [24]]}, {"part": "B", "index": 332, "before": ["add", 616, 482, 2, 1, [24]], "after": ["add", 616, 554, -2, 1, [24]]}, {"part": "B", "index": 333, "before": ["add", 618, 482, -2, 1, [24]], "after": ["add", 618, 554, 2, 1, [24]]}, {"part": "B", "index": 334, "before": ["add", 664, 482, 1, 1, [24]], "after": ["add", 664, 554, -1, 1, [24]]}, {"part": "B", "index": 335, "before": ["add", 666, 482, -1, 1, [24]], "after": ["add", 666, 554, 1, 1, [24]]}]}, {"pivot": 483, "new_pivot": 555, "entrance": [24], "gates": [{"part": "B", "index": 468, "before": ["add", 123, 483, 1, 1, [24]], "after": ["add", 123, 555, -1, 1, [24]]}, {"part": "B", "index": 504, "before": ["add", 187, 483, -1, 1, [24]], "after": ["add", 187, 555, 1, 1, [24]]}, {"part": "B", "index": 734, "before": ["add", 555, 483, -1, 1, [24]], "after": ["add", 483, 555, -1, 1, [24]]}]}, {"pivot": 494, "new_pivot": 566, "entrance": [24], "gates": [{"part": "B", "index": 128, "before": ["add", 628, 494, 2, 1, [24]], "after": ["add", 628, 566, -2, 1, [24]]}, {"part": "B", "index": 130, "before": ["add", 628, 494, -2, 1, [24]], "after": ["add", 628, 566, 2, 1, [24]]}, {"part": "B", "index": 230, "before": ["add", 676, 494, -2, 1, [24]], "after": ["add", 676, 566, 2, 1, [24]]}, {"part": "B", "index": 232, "before": ["add", 676, 494, 2, 1, [24]], "after": ["add", 676, 566, -2, 1, [24]]}, {"part": "B", "index": 750, "before": ["add", 566, 494, -1, 1, [24]], "after": ["add", 494, 566, -1, 1, [24]]}]}, {"pivot": 495, "new_pivot": 567, "entrance": [24], "gates": [{"part": "B", "index": 49, "before": ["add", 211, 495, -1, 1, [24]], "after": ["add", 211, 567, 1, 1, [24]]}, {"part": "B", "index": 477, "before": ["add", 147, 495, 1, 1, [24]], "after": ["add", 147, 567, -1, 1, [24]]}, {"part": "B", "index": 752, "before": ["add", 567, 495, -1, 1, [24]], "after": ["add", 495, 567, -1, 1, [24]]}]}, {"pivot": 507, "new_pivot": 531, "entrance": [30], "gates": [{"part": "B", "index": 459, "before": ["add", 115, 507, -1, 1, [30]], "after": ["add", 115, 531, 1, 1, [30]]}, {"part": "B", "index": 495, "before": ["add", 179, 507, 1, 1, [30]], "after": ["add", 179, 531, -1, 1, [30]]}, {"part": "B", "index": 770, "before": ["add", 531, 507, -1, 1, [30]], "after": ["add", 507, 531, -1, 1, [30]]}]}, {"pivot": 519, "new_pivot": 543, "entrance": [30], "gates": [{"part": "B", "index": 486, "before": ["add", 155, 519, -1, 1, [30]], "after": ["add", 155, 543, 1, 1, [30]]}, {"part": "B", "index": 521, "before": ["add", 219, 519, 1, 1, [30]], "after": ["add", 219, 543, -1, 1, [30]]}, {"part": "B", "index": 788, "before": ["add", 543, 519, -1, 1, [30]], "after": ["add", 519, 543, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..f4869aed2f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,147 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1676855229071321/1000000000000000000", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "extra:missing_provider", + "extra:missing_backward_orientation", + "extra:unpaid_scalar_primitive", + "extra:wrong_local_artifact_binding", + "extra:false_dirty_restoration", + "extra:wrong_declared_provider_count", + "extra:wrong_local_compiler", + "extra:wrong_local_adapter_charge", + "extra:wrong_local_primitive_bound", + "extra:forged_provider_and_call_program_hash", + "extra:provider_at_wrong_call", + "extra:stale_partner_program_consistent_call_hashes", + "extra:stale_partner_profile_consistent_child_total", + "extra:relocated_against_partner_same_counts", + "extra:compensating_false_profiles_with_gauge44", + "extra:synchronized_forged_source_recipe_hash", + "extra:synchronized_forged_phase_review_semantics", + "extra:width_order_swap_4_5", + "extra:width_inventory_shift_4_5", + "extra:width_order_swap_4_7", + "extra:width_inventory_shift_4_7", + "extra:width_order_swap_4_8", + "extra:width_inventory_shift_4_8", + "extra:width_order_swap_4_9", + "extra:width_inventory_shift_4_9", + "extra:width_order_swap_5_7", + "extra:width_inventory_shift_5_7", + "extra:width_order_swap_5_8", + "extra:width_inventory_shift_5_8", + "extra:width_order_swap_5_9", + "extra:width_inventory_shift_5_9", + "extra:width_order_swap_7_8", + "extra:width_inventory_shift_7_8", + "extra:width_order_swap_7_9", + "extra:width_inventory_shift_7_9", + "extra:width_order_swap_8_9", + "extra:width_inventory_shift_8_9", + "extra:cold_helper_width_swap_258", + "extra:cold_helper_width_swap_270", + "extra:cold_helper_width_swap_282", + "extra:cold_helper_width_swap_294", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:stale_partner_program_consistent_call_hashes", + "gauge44:stale_partner_profile_consistent_child_total", + "gauge44:relocated_against_partner_same_counts", + "gauge44:compensating_false_profiles_with_extra", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_258", + "gauge44:cold_helper_width_swap_270", + "gauge44:cold_helper_width_swap_282", + "gauge44:cold_helper_width_swap_294", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json b/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6e9debfd55 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json @@ -0,0 +1,345 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "complex_lower": "839835897752368810771/500000000000000000000000", + "complex_decimal": "0.001679671795504737621542", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "0.00001493392089287529953507200107451763386801044261067381377039094969890365", + "complex_profile": { + "1": 1559100, + "2": 339000, + "3": 277392, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "83983589632938552601/50000000000000000000000", + "conservative_complex_decimal": "0.00167967179265877105202", + "conservative_kappa": "1676855226234891/1000000000000000000", + "conservative_kappa_decimal": "0.001676855226234891", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "4192287738342239998793546541716065354822479394952504746695396802722811494258653351156134799/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "6891743304687631256446759104452998249890555047495253304603197277188505741346648843865201/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228485815" + }, + { + "exponent": "209958395289004825064670673441866405152976690564457726807264250497955608380189027562355414602494129444673994785984686662024239359291937801/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793341556437828991599159512500641806935542273192735749502044391619810972437644585397505870555326005214015313337975760640708062199/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095795282918005" + }, + { + "exponent": "10497948655508176595571868458140641130861660576046074567561000407184318167703190656223447902788358220571713504140876804928959786696907717863131576336767528005274541809037499026541229599/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "48609142479553114793910654751819264298953925432438999592815681832296809343776552097211641779428286495859123195071040213303092282136868423663232471994725458190962500973458770401/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150244109829297064936" + }, + { + "exponent": "524897435201783583481837332621859055800516945817191292780894409216690114250864323826076746829557388793618504772910662953994329079390058669047135701579438613092972886289883719405919984875114046576043938231344027060996843358120363001/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4082370274411829980705738333529297932808707219105590783309885749135676173923253170442611206381495227089337046005670920609941330952864298420561386907027113710116280594080015124885953423956061768655972939003156641879636999/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949139446989141199132369390" + }, + { + "exponent": "26244871760292954835702602220249734667736558553822134745835996088018903793098499532638480446507748371415315687472777715993536840165557889970903854938896541089867562328336505072828129676544571827228822216608542244060114810955735027778990229374582283049904495824586553202347284399/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852109855909878505038965753633677865254164003911981096206901500467361519553492251628584684312527222284006463159834442110029096145061103458910132437671663494927171870323455428172771177783391457755939885189044264972221009770625417716950095504175413446797652715601/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770261583247044565376594268026518" + }, + { + "exponent": "1312243588014664855596672007580509359529389450216020993791740743074983110870686776104111076293958112276115455452177774142955453600007314051342211642855601608112512920704424845554376050096390803813809703753702970272743102614082976492205627436769976157124556714309693250567205872632198749275977690485405638677100325754031828201/781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "28793950898925902625805726159158979006208259256925016889129313223895888923706041887723884544547822225857044546399992685948657788357144398391887487079295575154445623949903609196186190296246297029727256897385917023507794372563230023842875443285690306749432794127367801250724022309514594361322899674245968171799/781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084966466938934950098161304289644502" + }, + { + "exponent": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2418219356206375153210108695205396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580986577732870361425243903883610643762776" + } + ], + "conservative_outer": { + "bit_positive": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "2418324030885775886454328226455396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "1478516410367061447399/50000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "2418258418706375153210108695205396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "32806089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "1209194821532588309849271460528667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "32806089700366622108561280184877711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "19498443910299633377891438719815122288676471381226153667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "2418389643065176619698545339381365866666699070754349493840966919572411106948190381640347940632236805169501761539104224070542879891109042162899232809641477592979188138167030935942825616577692620142233369358256120504961973881955003438400686664844755331338755473740405372094232887321117607123987447067899603082580130090722593405117822382099546725851159421850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "1209194821532588309849271460528667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "32806089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "19531249999999999999999980468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "epsilon_below_one": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "guard_width": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "K_geometry": "14681243589700366622108561280184877711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "K_dominates_log": "32806089700366622108561247378788010956906510212566147631843270163168164634445383206912865200875398650146745602094988545605630759578388520201533729556207018022774454138059152312552568830149294173506180170899291856959819258146488517440139155292391856536920161629551504289334060663816462158708214895094914936843378370698937519576317058942085771197044171389080317359667825406896894050882039268009822350976097329373166299199/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "record_suffix": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "phase_local": "262448717602932976868587864922931990221606841634373287698725426005676733999890632537458764115572554646423295362658823062001042353176868725446786231861249742662400878356975523543145190267618572304420671959815772324956684979663697056001581239204856369503899854478495946779185452290224546214108209012150945902831082365585617212641502459240681056256046436298042837472627662257440061369576427103915429350976097329373166299199/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "phase_boundary": "52489743520586595373701921739714637751023681481756759637576026378240327722912118863816799393563726306970449867286174361296666039029686823508269658325210680134742433356823412703746222096218089441870279467092133039930979177133677820745405619627745957648375563873746742217035608517508583649171071533699717591070895855974938636124761521824822509916387222666991390512207239994086308392484415368230302950976097329373166299199/31302489743520586595373690235795804338117645790038154132015287349906859101569244628418410491180502207084863211373843162175176094078536795475484629143384009765631914611250038027709849742042850120715637598123180909821256426450632504808814043904894277602963881072651187301140537460943178990641234284369612807077940046627402669644129185234353964636584914803407762861740105105565838438244273002933921281600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "39062499999999999999999941373443910299633377891443602627622288676471381226153667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/78256224358801466488434225589489510845294114475095385330038218374767147753923111571046026227951255517712158028434607905437940235196341988688711572858460024414079786528125095069274624355107125301789093995307952274553141066126581262022035109762235694007409702681627968252851343652357947476603085710924032017694850116568506674110322963085884911591462287008519407154350262763914596095610682507334803204000000000000000000000000", + "prime_interval_packing": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "alpha_positive": "65612179400733244217132293188665722280435128991295292641397863854955103115223275968419422188689278078186252710746964905090689558663885692379426944171213121542721086169332919631208657606930619620779678997887360495245085789791804022948916595851315358389345832036543567502169973753303331309479642626102919360555907512825606047157057830413313669062615923518932105947233516385545917953552666101710623350976097329373166299199/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "alpha_below_one": "39062499999999999999999980501556089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "alpha_below_one_fourth": "9716415865449450066837145905497523133381329180395627873613379432990938366125165670412333856305217661635833500843579023274651839840878862893709519663136289930217252229846303964028119386781460043102857070415606673823897547476030853729805472124428146392536867003166952464104247982791440103265906071239401082851300357058237728216633312555322300279870169952545993788346549329103778593997782647315139777149023902670626833700801/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "761655812767036571821952632734845285489890826887319866038201233356274079126828408470865725845299771203255676213184136319408967830451452351176594151273840502065834724144605343324258604938778593310306651377382409947399676226664015400262134475883819877843116137363057093882481580488049410171363228008623498391070427774773406479689709732033476425377021405666824880719795281122812592748662313201597134195255626176749748316594229114789742793742034177379085706089066145511182775986922812296952203913785488781039624818956640214272047400549129901898707991709086079554390978062306388340106653628710771612861078023943231703608992547889036406829044052155339023426326486068943488431381220578599406179612426221988088147477187622061324819981301249112623041406094781170565799877588041601/764220941003920571176115484272358504348575336670853372363654476316085427284405386435996349882336479665157793246431717826542385109339277233288198953695898675918747915313721631535885003467843020525284121047929221431183018223892395136933936618771832949291110377750273127469251402855058080826202008895742500172801270669614322989358622686385594839760373896567572335491701784803853477496198071360691437539062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "1095849589740823463814947824374000442625805697927195357397744627966860220384308782665400200722580903725728206739473397450448682047259993144975314244190536787881768100983681164953412300241553900922446805880895502723194233399845796673316767671051570699054501759432379813722392003995004170846625561013292251551578209317410389978789180680511746011843402174878532828883287897819348793919326285880053924199947071708011880501102403/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "16865211419871894406169514645259704351613972605837533057131641002325717468746086953869327840580269637515247169452190277567277542501060138953442163179127449123122146634380540013286889164530713093306136541124352407699284061515514446904375619883640519926906549378065622155048116075820304088477815631468145925867023574005874523129875847225699657327970837651274640053339799968829864491772715169159152309/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000", + "coordinate_movement_above_kappa": "110022125932814529612925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "16865191855815804705802892536703306979236261282308914283285308492771123776959148473091435079073712649701367741412683168915301183016001339867944991001234234508116043114433907982013121845874624316524811093850853580711215423230247915259060114374863079367983047525639951748056052862984390998990946480696718194859019150293345381003207319644958885856742939785702887923488011381264173513123691266488525475299199/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "bulk_exposure_above_kappa": "110022125932814529612925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "26984318707738941349504601323859129590204644845811434117564293094166554258206800645413031783421874432210516043083997335455667708516637423240010288908710703981989331095062231989985255344593052172508493018525465025330785860139556583401685486305047391324126977152479325041084922508476573452077635859577605750379233294696870094881132827980378680253525442376467671955491891362562092208187320367984016860699199/31302489743520586595373690235795804338117645790038154132015287349906859101569244628418410491180502207084863211373843162175176094078536795475484629143384009765631914611250038027709849742042850120715637598123180909821256426450632504808814043904894277602963881072651187301140537460943178990641234284369612807077940046627402669644129185234353964636584914803407762861740105105565838438244273002933921281600000000000000000000000", + "scalar_work_above_kappa": "134921671794919065548989495053521237440534069523171645683206795509051146058181757150176729963135600112308097927578015111886243980523422312542040133255126378369971069555097688075021345997589615969667766881721320434606203853838849043589689453560346718856328893172099306833392865393726519618335655900973739675928184168334467042912338250224856487152538803344625368296866611163073224955532697450602591638299199/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "dimension_above_kappa": "19498443910299633394756615959999516694845986026485858019104418012145746118650863109564210911758273074441288333471617661155762110653104780395099649286445132849922216547096175355803490545603758687839615665703725024667851274592707092193775284074955523402523194213233527863693713464976135285897344648089296084054103102326019257339442833234403295232010275473569805539383271960295991029437129341996163690772715169159152309/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.83643E-12", + "template_sha256": "65c840660ec6f75713d8d478e38a52f5e4e871ed1e5b5477f95895ea349a7eb2", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "419228774543352861270408587177625745747420379065174254579704705332791525569079405031194385559/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "689174332831544115090742904425378068174235434825745420295294667208474430920594968805614441/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228453333" + }, + { + "exponent": "209958395644747681223074666370458461500281346318165082562872538132328586580347144110687676855549647807012474899784235470605434556243113944011/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793344521469674998670567100407515960931834917437127461867671413419652855889312323144450352192987525100215764529394565443756886055989/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095778079636247" + }, + { + "exponent": "104979486732954673237090251959918759457839942836493294863342317545970754714244247871240598544703114069824864518625178880851881660551858609221431892784478216296106635302514285519596452257519/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "486091428109284580560594021496058710788506705136657682454029245285755752128759401455296885930175135481374821119148118339448141390778568107215521783703893364697485714480403547742481/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150235995383974327200" + }, + { + "exponent": "52489743609114813642271524200820456404436110365236298507733230914226425682240106427267605966648652979195532830184602982614481017443377895408308753554838523530816127134673158925968693288298825952307207553855434637911827039636751727062851/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "408237030915892059435934072513216447263701492266769085773574317759893572732394033351347020804467169815397017385518982556622104591691246445161476469183872865326841074031306711701174047692792446144565362088172960363248272937149/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949135856002397248974559927" + }, + { + "exponent": "26244871804761182484480353120379440810346129619116412586996489702453809363338844247786082606425600720944645113260618136630162229387058470323211984975465960208326561086364157832174706212952789750127715805226161133317715158412679444343474085664133721442038663158101478321995416357231879/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852113355009748754428128533787133587413003510297546190636661155752213917393574399279055354886739381863369837770612941529676788015024534039791673438913635842167825293787047210249872284194773838866682284841587320555656525914335866278557961336841898521678004583642768121/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770260057057757241518730770401369" + }, + { + "exponent": "13122435902380762380357341649262569035085239414009091577802576064058200711192435704252094412336462645782620101043801154990384062810905058981978314456028100863699056138700522813466838985490329972708318457287253366133707899754258409550096854974473335431140604614643642969673516453702647545172404782068475864572024946635987291280231291/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "287939512415801528584152092289115908422197423935941799288807564295747905587663537354217379898956198845009615937189094941018021685543971899136300943861299477186533161014509670027291681542712746633866292100245741590449903145025526664568859395385356357030326483546297352454827595217931524135427975053364012708719768709/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084335705851402175021854345669074689" + }, + { + "exponent": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "241821938908104022262700311949983799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580731174250430778101990171498302890374509" + } + ], + "outer": { + "bit_positive": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "241832406376055212644034460387483799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14785164102247631189229/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "241825845158104022262700311949983799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3280608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "120919483797003201512684062580085523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3280608975595190666953784266844021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949844391024404809333046215733155978796703351136798835523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "241838967594006403025368366992577423299680404557712696650104998764130807233993541805016320920012818659570936688243670707490763871103544646980446532478432903773719029569772817108801476834980903280028763342940554557349343981592723858550630445151023223830188023145990860165419938986049920483470352003707385465086459535438083979252066731782802730683244047359201810534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "120919483797003201512684062580085523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3280608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "epsilon_below_one": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "guard_width": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "K_geometry": "1468124358975595190666953784266844021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "K_dominates_log": "3280608975595190666953780986235045608105981909416897632356562823089510644252370800298339154095699879202490603670800824663756336672199084659073277635384915920180484224524654651657787465661646069878503035301539118132802727130006557702228608037966981011279242126768469980808764539057449720940513860694998185749124989418085293317377253702632961717759431720568134072742357228387130877535488898354803105219491034483569778488507964639/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "record_suffix": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "phase_local": "26244871804761525335640036479143194031182523952313330217000925661258127562170301046749551401382516951550171280578653884127123041058269585125645684449783713431944340368604051612059811489149312638424984684436336432728990363521701596415143460491372239785272649929000213251728890305867399999267381805685752295943278242212627337293128223774316488284119429515515144265465424187094841967294103909905383549467018034483569778488507964639/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "phase_boundary": "5248974360952305067126442171341458330083971227825877568183222494932534951502479107137014489577427056832291804548616801189187768476719413270493769648047669992617386179731460105406532381960588918611058605227378887955333095963580418163335595391116003191907248509816905118316203890498302601939959684551348538051480982514760325658155908280205835423447431531563592089261477253419220399514798756487710000440707634483569778488507964639/3130248974360952305067125273576950433925274638181121863162204425791581398152666955484903134227951272473679469869007509270734483818145387542963787978700434010859831738547218147876663319776797180929953481519802239386193414316889530294562951966275064059148341350354795827033353171603842274349331855530283600939472949314924466752908743078873527663215167999495987888044050986733418905391944826288354418387256577600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137344391024404809333046704014405978796703351136798835523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/7825622435902380762667813183942376084813186595452804657905511064478953495381667388712257835569878181184198674672518773176836209545363468857409469946751085027149579346368045369691658299441992952324883703799505598465483535792223825736407379915687660147870853375886989567583382929009605685873329638825709002348682373287311166882271857697183819158037919998739969720110127466833547263479862065720886045968141444000000000000000000000000", + "prime_interval_packing": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "alpha_positive": "6561217951190381333908541815579066811402630773106343358734328942827884489669217978362798046565245175252159271800494118872808723013066299011440764323156172707575320816535997074572362326159884151099428985177938734503686675185962991804073586959882017978992586098515861876654496791458871189272923567122248772919718311245877013885341677998587751227239431405560564100274223936773946747501005328576314597254852034483569778488507964639/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050155608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "alpha_below_one_fourth": "971641586536607213999568106177217943790245693658494238879454554117041302433039205610669431399669527472772675062264352528231717470157367308164742979020729455686122097479469674136884925104089234889511033989760261073681755298842015225246848902501075500504864085887357834071268369334741839544893281286091376520665578349668018846398640534149389643527500568436935650913491709417419461187481752886534441148762828465516430221511492035361/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616558127648579775004579951110210160348904912535874563229430461249717997149725435650984742888730879073033954505288978113551132666210608592542747167902845768243499385726535263417232501364353545402483249209346883699405584599415522349982709148703532633861928016293615880551479005184803469599847642702506602844733194289916145922505423846039060597660911176183462703194132719552288228464184590831856187509567760231566002850822310847560653949728079631644097577302731717297747302184505230435119358807697750838173460723862100001190065266983989417070659083863778909115680134764450332400606482874309717915458233853586830187637068823168562224923937426693645086721120733899925490877137963150759912629034201052622628092578068699142064754005750273170854494604082821025595124556214066191799738474400321/7642209410060918713542786312443726645325377534621879548735850648905228022833659559289314292548709161312694018234881614430504110884144012556063935494874106471825761080437544306339510058048821242504769241991704686001448765422093579820710331948913730613155130249889638249593147391610943052610673475415731447606135130163389811408468611032406073396521406248769501679795046354329635999492052798555552779265763128906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109584958974438092202685032437294844283796557528104762483270240641553202515710171648529423728333172435197720328953677048238015240874821506107631401775174519456994912598991185978380303153256397013232166529535814156942450816338359061411716927763654406533802956319726769847079237767293722889215449908748540794783182377594207789398101484666721072011981881683732788409626407997776755270655083134129776860650710713896549290664534476106083/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1733660368054128235384147775454330488377753090645389531774464777239628198635519065455024065607739762993939412023572260319162339838428594454463576933285179093876604822185270154974755518118654936826110807702607267451356665807381625851269538615644383717370072662117159244583466230125520314761322730894161924714297501046367885515286438222010907126495357249938630732819353795713851147326264338084633123877018119/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000", + "coordinate_movement_above_kappa": "11002212630533677656605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1733658411648519259788957108501034502783731887348740668573300300861862078897145220038176887543280870524394115973903592189469045629376208113596362580917692406105348034790433562963413095204080076327872726481681317574957049436497677795313104513799404795455035694403815272836074334279788062359901262561752218287046913875774563687494717654046482830540567740458631047826923768181984438939448468119116693655506626964639/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "bulk_exposure_above_kappa": "11002212630533677656605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "2773854632480996201019445773773632795810383741735974387637979167205638998078456659311191326907924728320757763188046948380966449532433364786274508740888799862431310928101595655948266406075273038423539211103245678045771048920926653306074827683186035025877079291674110819586154072355100251216694901098249373115625414503595294996666580587253027106437782090421809487518536045610295127335207070969896567981717498364639/3130248974360952305067125273576950433925274638181121863162204425791581398152666955484903134227951272473679469869007509270734483818145387542963787978700434010859831738547218147876663319776797180929953481519802239386193414316889530294562951966275064059148341350354795827033353171603842274349331855530283600939472949314924466752908743078873527663215167999495987888044050986733418905391944826288354418387256577600000000000000000000000", + "scalar_work_above_kappa": "13869280988027416907477991536681347921428003521866467390994553741539259469345778678223345346797459211481970000138909414423605424498376369294841401113913946063241581790087324647786701722034664634110648380399932189734453710088169058754199874823310090817045544329223929984920337945158430265689160378820885691287129421200349762294499785208122832716008068490029046177562400338178942470223298834711548560794633459964639/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "dimension_above_kappa": "1949844391024404811066703165818534214180851126591129323901375324525651157929047930061563739743049520158974396939610069699730359637231393104809972351740823197676182096693167751453690247324771916893534592168778537209739923754551311017254820828459710814301825271672636325474226929864757823115133820419093064174152137572334132993729536622071930725776958222325914696467825383230243916949388279283629635834228977084633123877018119/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json new file mode 100644 index 0000000000..c3caaf80e1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS", + "kappa": "0.001676855229071321", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "derived_deficit": 10272, + "rejected_controls": [ + "revert_hardcoded_9984", + "ports_112", + "decoder_constant_64_copy_ranks_unchanged", + "decoder_constant_64_with_one_copy_rank_8", + "eight_retained_totals", + "live_minus_one", + "profile_rank_mass_plus_one", + "profile_rank_mass_receipt_mismatch", + "bit_lower_next_grid", + "not_nine_stage_record", + "tampered_bytes_next_grid", + "pr543_file_under_pr589_pin" + ], + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7" +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json b/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json new file mode 100644 index 0000000000..6c138447c3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json @@ -0,0 +1,56 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "manifest_sha256": "83a0f2d9d67acb7d8471bc80fdb86dc5c00f2ad89a6c92c8b0b1bbf57aeff790", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 319680, + "prefix_bits": 1441, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "retained-provider-and-parent-admission", + "exit_code": 0, + "seconds": 92.98206012501032, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 6.756526415992994, + "log_sha256": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 4.6491062919958495, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 102.78292987498571, + "log_sha256": "0ae919e2ba45c1c7bfde5b86be39c6206ffdc7b8f60597603d64c8a9f2e1c31c" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.26364212497719564, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json new file mode 100644 index 0000000000..9f71586085 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_T74_GEOMETRY_AND_CHARGE_CONTROLS", + "rejected": [ + { + "name": "old_prefix", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_call_count", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_parent_idle", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_stock", + "reason": "strict arithmetic invariant" + }, + { + "name": "missing_call", + "reason": "strict arithmetic invariant" + }, + { + "name": "low_row", + "reason": "strict arithmetic invariant" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json b/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json new file mode 100644 index 0000000000..b635dca5d5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json @@ -0,0 +1,152 @@ +{ + "status": "PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW", + "roles": 291708, + "calls": 666, + "source_events_per_replica": 30, + "expanded_replica_events": 2220, + "bridge_events": 666, + "literal_windows": 1332, + "checked_whole_helper_widths": 291708, + "checked_busy_family_windows": 291708, + "orthogonal_port_bases": 112, + "actual_73_axis_charts": 7426, + "checked_slice_prefixes": 149184, + "local_profiles": { + "gauge44": { + "1": 2343, + "4": 124, + "8": 8, + "3": 422, + "2": 504, + "5": 42 + }, + "extra": { + "1": 2343, + "4": 124, + "8": 8, + "3": 422, + "2": 504, + "5": 42 + } + }, + "width_inventories": { + "gauge44": { + "9": 240, + "4": 37, + "8": 114, + "7": 38, + "5": 9 + }, + "extra": { + "9": 240, + "4": 37, + "8": 114, + "7": 38, + "5": 9 + } + }, + "idle": { + "1": 24516, + "3": 8481, + "7": 93, + "48": 24545 + }, + "profile": { + "1": 1584954, + "2": 335664, + "3": 289533, + "4": 82584, + "5": 27972, + "7": 93, + "8": 5328, + "48": 24545 + }, + "live": 66304, + "physical": 66830, + "rank_mass": 4816512, + "deficit": 23680, + "namespace": { + "data": [ + 0, + 66304 + ], + "centres": [ + 66304, + 66312 + ], + "tableau": [ + 66312, + 66750 + ], + "zero_buffers": [ + 66750, + 66828 + ], + "coefficient": [ + 66828, + 66830 + ] + }, + "local_prefix_bits": 69, + "local_prefix_from_native_receipt": true, + "local_profile_recounted": true, + "prefix_formula": { + "local_scalar": 69, + "input_l2": 37, + "invocations": 666, + "bridges": 666, + "margin": 4 + }, + "prefix_bits": 1442, + "charged_prefix_bits": 2048, + "physical_stock_bits": 2644, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "scope": "Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.", + "controls_rejected": [ + { + "name": "private_namespace_collision", + "reason": "private-namespace collision" + }, + { + "name": "copy_replica_alias", + "reason": "role invocation time" + }, + { + "name": "missing_whole_helper", + "reason": "complete helper role count" + }, + { + "name": "split_whole_helper", + "reason": "complete helper role count" + }, + { + "name": "truncated_helper_width", + "reason": "whole-helper residual width" + }, + { + "name": "cross_idle_boundary", + "reason": "strict bridge-aware idle window" + }, + { + "name": "cross_child_pending_axis_alias", + "reason": "overlapping pending children on one family" + }, + { + "name": "wrong_provider_at_changed_call", + "reason": "whole-helper residual width" + } + ], + "disjoint_pending_child_axis_checks": 2016, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "input_sha256": { + "PLAN.json": "b6878963c0edaaf96ead2c9235b58c1bbec3e37fa5d8fe3d78071ed39c566eec", + "DISPATCH.json": "6aad7f628f4c9b510a95c5b34357736303069ecf92a551659900b1ba540bc7e0", + "OWNERS.json.gz": "80dfcc8972657975e37e20a7c3dd781a4b38f3037ff26de6082509a77e91d1ae", + "GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "CANONICAL-WORD.json.gz": "a0b8fcc16fc3e16208f5a0f254c8d287837f1990c47c938cc6ea4b43c9ec21ae" + } +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json b/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json new file mode 100644 index 0000000000..882b30d580 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json @@ -0,0 +1,395 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1676855229071321886206381217337893/1000000000000000000000000000000000000", + "kappa_decimal": "0.001676855229071321886206381217337893", + "complex_lower": "839835897752368810771/500000000000000000000000", + "complex_decimal": "0.001679671795504737621542", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "0.00001493392094572461521830473357486811262641222881358040582669723168874522", + "complex_profile": { + "1": 1559100, + "2": 339000, + "3": 277392, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "83983589632938552601/50000000000000000000000", + "conservative_complex_decimal": "0.00167967179265877105202", + "conservative_kappa": "1676855226234891862111568849431109/1000000000000000000000000000000000000", + "conservative_kappa_decimal": "0.001676855226234891862111568849431109", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "419228773834223999879355321864835115613413130677141986876803949525226982976877304002048397709072320811494258653351156134799/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "689174330468763125644678135164884386519877528041543846895550474773017023122695997951602290927679188505741346648843865201/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228485815" + }, + { + "exponent": "209958395289004825064671008398048707626152106431942508319816913627497565495534701648211283881220612311807314585444664274102289666462883822615633975167751870599387686662024239359291937801/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793341556437828991601951292373814397670649257042032836372502434504465298351788716118779387688192685414555335725897710333537116177384366024832248129400612313337975760640708062199/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095795282918005" + }, + { + "exponent": "104979486555081765955718852060890332356742895070787053301865761925178163409996454821886501494686013508681313771058558194682922855372723943681804841240150408568034309716095450155731162186935931555338853541315400327873692923670541809037499026541229599/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "486091424795531147939109667643240356980508829379059113074821836590003545178113498505313986491318686228941441805317077144627276056318195158759849591431965690283904549844268837813064068444661146458684599672126307076329458190962500973458770401/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150244109829297064928" + }, + { + "exponent": "52489743520178358348183817001929422894962940286772175979474063084908574973381919559451666596447232442335725882704531760052210567533738242531053516144976787339010034742888327417727732697707384274087711536432070547485949172000206435110640591624247528356078592379665043831709797834540046349027060996843358120363001/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "408237027441182998070577105028685738875765360988374415091425026618080440548333403552767557664274117295468239947789432466261757468946483855023212660989965257111672582272267302292615725912288463567929452514050827999793564889359408375752471643921407620334956168290202165459953650972939003156641879636999/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949139446989141199128988231" + }, + { + "exponent": "26244871760292954835702644090121494957735418014575915437825411093298185477933724956382890690324412362964127160533600307934330858546530348285719399729625701931541244173367411698254137239467898352505649942173753584624659882781208713672260693896692306643846679957066384657722932135070800202344187306379588109714442139802306094250484622916688796366756298495824586553202347284399/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852109855909878505042260394998248055232405807656701814522066275043617109309675587637035872839466399692065669141453469651714280600270374298068458755826632588301745862760532101647494350057826246415375340117218791286327739306103307693356153320042933615342277067864929199797655812693620411890285557860197693905749515377083311203633243701504175413446797652715601/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770261583247044565375157256617981" + }, + { + "exponent": "13122435880146648555966741010740973741937418591174780383779292602981566047994311207260562762062555349767744144159025536129460044258004940348090852783195661489550087089297958066533531986247559970829760041424881216968015092395024610925462619164664174981668607459280868831858674495933272521367971192273950891973468099347524068832601339288647856415214459560004945332847889113125069176158637455230777236561255913282812638677100325754031828201/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "287939508989259026258060487915237204951336316772018433952005688792739437237937444650232255855840974463870539955741995059651909147216804338510449912910702041933466468013752440029170239958575118783031984907604975389074537380835335825018331392540719131168141325504066727478632028807726049108026531900652475931167398660711352143584785540439995054667152110886874930823841362544769222763438744086717187361322899674245968171799/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084966466938934949504256676659676053" + }, + { + "exponent": "6561217940073324421711303064379362484677939288311350601670644439628625508343878208659839905602068486275275019585150033277892824847481019342659704645452944195245457186139433773361871443039373158053419015373823777709231597837995656595692598846353677778290031982122555689449134389624202094659605420811443888234475971824104020099768162214255502011356498641783547857116872083937427417584255346434173177900697543967641207339495734459328614463544246973540121893102437506084347852212850976097329373166299199/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "241821935620637515321013964894642065887160247871374491656121791340160094397931513724724980414849966722107175152518980657340295354547055804754542813860566226638128556960626841946580984626176222290768402162004343404307401153646322221709968017877444310550865610375797905340394579188556111765524028175895979900231837785744497988643501358216452142883127916062572582415744653565826822099302456032358792660504265540671385536455753026459878106897562493915652147787149023902670626833700801/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580986577732870361184764087692110382483960" + }, + { + "exponent": "3280608970036662210976359409257945934930240629068364977895065364537401433193880851412180571441752344570267155896864570944389230754891076847764005165365421475664014247749738400847552424297246503194909789609981275870547682124664408924722948544208250247356474524046358004568420994540486402169642050562802220374289474418076739544588194358029282826703383003280997029083159996386124412985265422727094151695042779152029239902487645019704354636959905368278898458468320972259798820708307476914543523115237109718915117585765166663363699721645485305238316714765513234333401/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "203090742054065069235997534631355883836979212598566806119148587819428558247655429732844103135429055610769245108923152235994834634578524335985752250261599152447575702753496805090210390018724129452317875335591075277051455791749752643525475953641995431579005459513597830357949437197779625710525581923260455411805641970717173296616996719002970916840003613875587014734577272905848304957220847970760097512354980295645363040094631721101541531679027740201179291692523085456476884762890281084882414234833336636300278354514694761683285234486765666599/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3329525351044790254147040565833757876376988846752907" + }, + { + "exponent": "1640304485018331105488281079437104610823969549946022526907536003188506643397923866190152010149652229549678046080177153157453279838180054601135901520741372088902114851315225461195508482610851213263723362951534636874121037870966380152439620032964317563430842602605111962174288227421310375161815751999161384854037307494362707344059467641251874118847529036059726631144022029836253486255869806796981953114101693369172887879463319854886105335485788740860166504120192789678535556640167367776934611935335694190538125428682214108147252535811772014247000239580289608999738810952690802360274554739767093272378627703599793918031990273999/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "170562895389175768763355475639981915168686493356602076133809847989850347770450321953919822846842546720161819945398864098479258627911097885148684774538804491517389148786736276637048465363125878962129033619847560379967035682436569157397394888037825711772578689624838184248000838615145962692505637292655940532358748125881152470963940273368855977970163746513744130193203018046885898306630827112120536680145113894664514211259139833495879807210321464443359832632223065388064664305809461874571317785891852747464188227985752999760419710391000261189047309197639725445260232906727621372296400206081968009726001/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1180139829431404893967201542216727833801345118024840785204" + }, + { + "exponent": "820152242509165552744140624856755157870165507174335361339651230231743855823017478533040654212219716880166265821138491434763712182470658558450411348175342247137210083671671696858407307525706942458155927508587375605344334983974546468710772128505689983323882144813136004482594268066961718795085843462362005839061345062408450244441770184114337206529449501828226819021458731713390182581365520411980281210576624040435225557453452818094611914620579788316368526934101938825233253626068925092134568449973563175516801603751057641881272958529430733887439095357208794803687721106267303775464754002524344005612681159088311592911298963460444193121113675669875698578120038608126435469839148763535878601/488281250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "143244842129703649476413722105074355705756144176982521466959345787780283119833734178861508565236287817529341441549588651824657752862789916328328303141592692474293057541844072491412624394655665016025453531289227871494310016676117855186863995517405731933038281204914156537637994160938654937591549755558229815885662793470550498171773180978541268286609817418634479588019718789423375959564774442546547181905388085379420211683631473065898061174766746373931074907865431550026436824483198396248942358118727041470569266112560904642791205196312278893732696224535245997475655994387318840911688407088701036539555806878886324330124301421879961391873564530160851236464121399/488281250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "418296865219348141817604657452702692761145439994854204315630375" + }, + { + "exponent": "410076121254582776372070312499879697839550017335028936027963777646135290887611461310454440558322320354377374034736830379787112349096931597455672871516128732982849206810301840307878925098431443651061226704158855865425035164042200455934637245524194902201675582574626907930553524486095780440582217484118768667914199913609435476189714080642324098645769663717710779727919612326440941588657900542835592370904907073664899438170144845309473551951588952476746264059274692982814384944654957466307859924102755239738051806654751275145069845365730855432904282428980427586506467789462243272589225497457693462664682593843360731625785181015929828835075462817742724676233295092957350159337717755629666891302734911183096733516655712264893271132446091403202350211208799/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "120302160384560990345605694399015322614709112388538689545559441677679645622625965263169620212887650903068402544327128483871267017150793189698159692121074901568556348938773295841144134574964835957799544065362754475805097798324417425373092069446475513904219559417782515881231332085800086390564523810285919357675901354230336282289220272080387673559058411342099457164407629095092926335100561829855154690526448048411047523253735940725307017185615055345042533692140075897244760261948193345248724854930154634269144567095717571019572413493532210537756727410774502542306537335317406156639268374214818984070171164924537182257275323766704907042649840662282244370333108697265088816903266483344287735106728867553908596797649788791201/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "148264013372581194538873855438284423060487844962498000055633622251273" + }, + { + "exponent": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "101034072696929274271957113706213078327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "52551715035726634570249715576113821243572277162668637491473049614849591666" + } + ], + "conservative_outer": { + "bit_positive": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "101034105407766587001095932309728703327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "1478516410367061447399/50000000000000000000000", + "beta_positive": "1/10000000000000000000000000000000000000000", + "beta_below_one": "9999999999999999999999999999999999999999/10000000000000000000000000000000000000000", + "leaf_saving_above_bit": "101034084903960524271957113706213078327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "1025190303136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "505170629557863248651173754566221641637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "1025190303136456940930175781249999494844526712168937703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "609326372196863543059069824218750000505155473287831062296867847583799766637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/40000000000000000000000000000000000000000", + "lambda_above_tau": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "1010341259115726497302347509132443283274980411218592023767551846845124679948687436629605454947812609986485463461825230164859269834852456575045498098574134539231900295460725485665276385698019764490341903670736850668208634606127419819761979867886876524206929869490345150435680852187620256923018064939853455527312629767272759576608844713255902785027289713861228314634517933906320100744103800128244654180432450839500265516528379191914118222473507907980919515437426103654029032380253355440456797374576206529667374793144330749857908325081706413007513858322578829322063594572050223786174825411223046903377817404867554196894721912755505335586037567965378437596781820900733139415617320685344589306868059649844893343002190762971085445571716767659300785638681637846613991989456692922695468487788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "505170629557863248651173754566221641637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/40000000000000000000000000000000000000000", + "lambda_prime_below_one": "1025190303136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "610351562499999999999999999999999999999938964843750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "epsilon_below_one": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "guard_width": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "K_geometry": "458788862178136456940930175781249999494844526712168937703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "K_dominates_log": "10251903031364569409301757812499994948444241931386240574380593986221083626108269907366545159543113283509043539837797263191317284704501914417807370822536612333256280685529734758994970591152534005357792531225028248663569608475312087522381941776472144622103355060920665680442564236354229633559287154401667641357718929785591909116605170223067513872532015823822373878794498660339530390864060461131186404019175181655399064508289072637957412472263736404992518102207840557653541812892910934902688329397860921768956321206730705696932642556393455317155066658599606150915171966044141492098083180250184139539935464830587482133386802207344312432976570234279239312565261633696368973189977577975366212985617409089808257499434141242431903256483571676266424404663505829917361448284221353340965149594001529901125498288252154181958346696370549026290529776474767350973149482788462217764064692442596385114344463801/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "record_suffix": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "phase_local": "82015224250916555274414062499999959590612869595711879793631263120237419005330086204706606340266831334985749952240300285634393377504087687147606637221533148968294553093517836649232744655860171696525844077041024799497580645208967463948172339366358756631910241591038690981183092930592825729675277923866352933391825491154159132542452960861486579509459537246715847752698574061780085033476176441191780579540791860783336571530573792701665359195662052907852938568364952933234705297815627310871792677229503085389208686002337917213058050885930806753602558505276409928472988269186085671928310191186140796697239500275014051485077440359848095129528292277778357157457262133386202163789475796007279615669428472768435043314533079761258417392136954516499257915889556533190774237687336165011744480103134844279331327584957544936833851504015305541762058794727809346860683412788462217764064692442596385114344463801/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "phase_boundary": "16403044850183311054882812499999991917633472516899866793173508483422483801470153826602836117890860545064189803758011807972152378373037837794647307942450601187688132606214429206729636939556045807457911235152113667306484840195339691216021118712748139937229659620645067849077466695860395013226372077498640666389213777902897671124534980849217719498554374802927528782271990837605863645945098973707808761921028039866365136538770620071989522191412163533809125570735593046989070111600572338557182987783430250079263666760639895255457677556068085440279137388314760760420127649170593850369245495473266138724847239297252616649245999763273208092681003552293449413556004533669783246669934568092387361787086928833690553426442621686902747325253861634000667277054310175912225401661631194341317663637641528276400283656541187675233389965597242441902375120896456664906366676788462217764064692442596385114344463801/9782028044850183311054882812499999991917268286769703003250114438659203733800964983094525942555593992697480390037120572119415560249782762462338239832319770636945151605121825851860625776929076031472266983210472227783047773951253406943183037805163402654173670145492598405783026406558683107679112226461591928066750652928312815365354479495003067215002726290610947079742606645806043555346882769366870992954404940955229242858747950793157418959251062472343510953249407339971561408796553763743078652422361518208827486254810424505489400093332465680328330855279240412292013215155003872955389766173928218664493098065244440358708957860149143721759211822181371226935975314399929104729279885306978723063470585385983686122472022614518588917516720773220624647659708811589319637209006426242667606704116373329000732760982104089315400115384604515774964920918457838170488579184000000000000000000000000000000000000000", + "gamma_sublinear": "1/20000000000000000000000000000000000000000", + "cell_above_band": "12207031249999999999999999999999999999998167920122196863543059069824218750000505170732076893562296867847583799766637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/24455070112125458277637207031249999979793170716924257508125286096648009334502412457736314856388984981743700975092801430298538900624456906155845599580799426592362879012804564629651564442322690078680667458026180569457619434878133517357957594512908506635434175363731496014457566016396707769197780566153979820166876632320782038413386198737507668037506815726527367699356516614515108888367206923417177482386012352388073107146869876982893547398127656180858777383123518349928903521991384409357696631055903795522068715637026061263723500233331164200820827138198101030730033037887509682388474415434820546661232745163111100896772394650372859304398029555453428067339938285999822761823199713267446807658676463464959215306180056536296472293791801933051561619149272028973299093022516065606669016760290933322501831902455260223288500288461511289437412302296144595426221447960000000000000000000000000000000000000000", + "prime_interval_packing": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "alpha_positive": "20503806062729138818603515624999989897194684834325617605702118148223417251711399600234321756789358719434287313038154837826042440818728453379207266022393260423976033886670892171886081171825053675524657037770170613068428328008691427011780570003598803480647195993794669294834068335531171933004428692896622683076877009981101512463154854599984523249235947455664298717923652289116752482665791315425557000522263278673675851225758318361344262004177781619686863883087428039879422310739013274326846093373809802286135230463246021627807700889184505522361851208124863833423431437921562089216687038955320804848121755608362706326485464800559138532483959097636256147549833133652059428989905894837068127654733275329612084044448275316549976704434054939156829191981513073242134703913237755008219339666734860526583473902067210004083418811748371385643605350510916207528511472788462217764064692442596385114344463801/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "alpha_below_one": "12207031249999999999999999999999999999999390673627803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "alpha_below_one_fourth": "3036379957952953145886047363281250007576951654781206570909958643932777749561090157616805035291833763998528334573562023949491320137238384816101492681577535063621383842713899686534559474118511206159558775215502400569134001031757998242732918744109964525948624724472642332512361683714057299216718142076350854837782702030116653289210119987588473981439116018360256663701640924525271858563235074111721628297729280769835462542132976304500349162761779240987660309007352365701233517938184037895385232788614164637972454224165011636337629828277211019580241541066637765007830698298017148209342614890397247527805971389780524905770063866496048274517269735334042252269942452616325785798910058263593782829679824657790289829228058791720509060019541186692288373201677490548420251923901270445825407755369631804786145513904840317906979117245940539794032932436507158220749169522211537782235935307557403614885655536199/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "delta_positive": "1/80000000000000000000000000000000000000000", + "delta_below_one_eighth": "9999999999999999999999999999999999999999/80000000000000000000000000000000000000000", + "short_record_fallback": "74380450465530915216983008213599126137257050294017131621185578285482080170286745128655035940950870166272501357048720520489781861764750772202128297372355597718463564370638106740588959284994676233530637190006354050485456934829235040523655009385785736505493599635779568529574049845921978514480783424974376195340044410192710770362357810926838898883820957507271276801913251368290321119566353435934971677161233928460793146031489556618817176270968268552883741468768271101886665219406326143045795902189121822420109549454794113974166106873996088093359305202034257975534237382165045560219697878802282999825585037940424783532990624815146108388930688105886422610421591032770329262981770679519744167982133476185851829160288913208520801028284145406397948435253334941165547793024324065088503146498686746224482209969815741874528685096374346594299125213226602453689751494410678299785011007418643359539199402325762712047976537758477587479008686670629663311010104972478206191494177626051287976918660641080182555846094227693648559428818993523826792693802597280418475465905075570912160398592824718004730020296672264359109229844039533848633069915887086091732041495538803691916446130352359222750288614206703527284428634956691826394506415027283653304470806416905665307322443827415575462815494396839215963323807178940059195869285146042561308093494311388352817316151792471362257099700332695736573568945257718712725899024641909196027640600156700071247872648511592357531143324569160906065027838138730633675320733981387244599863275163865970676098289732020204988390330501395837524709541908435653086049103006955745471887152525072838432610240519736580914289066590726948782317546243246575171938199367601/74630951269914118278922140598297119078958650869519828821183124074243192549140663017994124927944900456981509323403324677424740297315847491930681151064451375098763668862318617644200330939705475093629966607745912382377988998041178947015251448098475667222394333995762622114433490040273156033928773700421080994161610816408636591837726436576866662712117967915427757871571400801132534449362814097342460578570594337121805136556609732003459312128075122622249686838145502776882640142795972928948048800829784532232875719107135196727671814676913953249575278131708071993194680901756316169398420457259584187808937820932345888967200911408608579420160002305460901084411432757567818487009276468711690697200550730789060105304504567066334449138768926797642705136563940518106991861030627641621914723999911295539861547553879578318141175196720920683097571723315870957721623071166992187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/10000000000000000000000000000000000000000", + "artificial_boundary": "342452996794007332442195312499999999676697448413546529539375400336895493102037083811584807021536869104356464202184910565710952633605539672367160370865922785585078454622419868342386719497131601215885106544344849453669134825383310479483222562265888069709656127277319796245122903081935792445162146621615956984871110434583742367696869013342584237086621567371861941842585269797147055288978123785854329270753649376955258347516545572245553046681221449820169543613012308839636173367917010123936710505198194992229344117956566334050277830980627819997797389364842393446275307868717654755530652208992493604157028675087619177574537449987123360411368065343142082410006270505595942153619025264495807929643873910810797431606017644559238615211243231663584857847536315967813007723782291434851683135286091128562202307871260852277536504791641202450997784474130997671336289804881634613346707805922672210844656966608597/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "408808611148876353795425088896970313803046682409452711376573661917119304047880319803605933188018389430091600560698214624609360346253996000694755782432498886847869394049194681968211469481013928782298536731228465960824492192887232506438370338248807509005549077031258971620507960505707919446839408499185349500582691468124928198495274630726994940229502686504146699181489282489012572667119679362557332008764432613880097718226442126133033185185955530328549959901370579628594092106512602203326207288999671842783782306111984645272267479067757866676628476992506650968568493739297001835060301483307969959613364066185259173602885863019904407153319993932825876688846250630094617028211798785821604503974548704995427638409861647319631976448350828922915356895145724429737436369744842036366886769556052011730729338790582278449683997323238259770790611917668059662493785309/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199000000000000000000000000000000000000", + "coordinate_movement_above_kappa": "343819143539940174369036934678976114332092233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "4087474734735960401497309958793921888030971994826604007328033487018776840245440637724615924008774169676372413082604826210336139990024348584293661684335468882813884868516626705566373405699081220571018350625834005094008481443000371726449754442625252377389604915928496428804718165906669276774164140477699645510322742765441262433992411652301511710594089194648303807622408911974762848948987613452487890650584675829991275354585749514405759513174602111880978129579127708327192698477076237423028130474220320832949771343228920801191081703171745387661264249246611557159916686567022830608543302972693829082467109843223513958506439320332784750050589988589372431186779007843796174713072407865384358869554020138367652403715961971782912352676163494180827279910978512496650031220122857462028700970141512843974230842108261402991257760725171059925670183869123193010052197553801/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "bulk_exposure_above_kappa": "343819143539940174369036934678976114332092233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "6540326401629218524269860492175743770849252089283320275587475458521492664532722556546251523136884506256922016446794113957992302067548324588462196378930462203901101232811794797375642222585164793264809571013204800858955434600323766765079976472118097431422899378116050258527765928940916793455200591472811742513818891574190831624964059436663481351971105313673184002711344606908838284951705689627831882703171271513271861663944402271203958624290335293852277888987351186098757251116151850642985374208218351889652465179900828672824686577578292587721035111201651462971327649002804841618905111872541648840147294240335069000123754498452211192970509952186327691319856511624363876882343200580313985893401312368340218234175131855700704211366268467718319421281852859075074649438591909680230021587477824914358606874851755073689361744664600618550413855375131550985014909407801/9782028044850183311054882812499999991917268286769703003250114438659203733800964983094525942555593992697480390037120572119415560249782762462338239832319770636945151605121825851860625776929076031472266983210472227783047773951253406943183037805163402654173670145492598405783026406558683107679112226461591928066750652928312815365354479495003067215002726290610947079742606645806043555346882769366870992954404940955229242858747950793157418959251062472343510953249407339971561408796553763743078652422361518208827486254810424505489400093332465680328330855279240412292013215155003872955389766173928218664493098065244440358708957860149143721759211822181371226935975314399929104729279885306978723063470585385983686122472022614518588917516720773220624647659708811589319637209006426242667606704116373329000732760982104089315400115384604515774964920918457838170488579184000000000000000000000000000000000000000", + "scalar_work_above_kappa": "32704077515157305167177066181581843854244239763488293803688189821217128123597063023977031247170061429782784452331479849932991364227804068632926566454610390962164742451960254443341176269370056235331915921811826622351722934945106647177135678120041778007778040308116624442240275401306223638052922735420674110551111145534186236328661635803191157526659277249938572750326658686205642935647365168831501131264094958801598115630436698343718082476191489234879475322675068282328779145932958391655862640704197349827814532771067845970249805237914796055025257638722077124959711248317812959062764406804251726255402594476191656110708449731726093250782989563887183799406016551950419366687898322872896674147772429488047587092406277284157150704060721518784902262571179222578270577102261800007710774839065153665125284557449020894469137573351849243881013018105887369384617169183801/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "dimension_above_kappa": "609326372196863543059069824218750000913857272913269916092292936480770080440486370966044839966849037373526779670560284046142460672406966776195460571178228959800288370933881884953466671374431634880852707598540167731770983609060590848349596868405753294938637808793945106076931187838889814775604562877409476116336044697688368486504753530747657799645021074961744006011361715364117218020322513418717262121838973679310744988447932437984993323811241209358628283648354167384810597136170920094607544124972984740542374215586950671733119783166392737763261627657032119504016653120570124616916616606636137302037675110219224312640991617048648477003413327298923471919387405869908838107740001101139706497379339043470636645557297372414192696629753656669138597931129846595299499122787927282748631476138451096674890572183460530784674262344514229494794031233178663564028461124238259770790611917668059662493785309/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199000000000000000000000000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.836430024094812367906784E-12", + "template_sha256": "65c840660ec6f75713d8d478e38a52f5e4e871ed1e5b5477f95895ea349a7eb2", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "41922877454335286127040925487085503119431878967707145530348200651760497399376112287024839767094103909525569079405031194385559/25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "68917433283154411509074512914496880561421852804092625597944348239502600623887712975160232905896090474430920594968805614441/25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228453333" + }, + { + "exponent": "209958395644747681223075001326641119706779041098048452740637846241070365751482799119458913697017724379669237869701612235800000156254165077529356224072731204241616268470605434556243113944011/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793344521469674998673358880293187463004507738039092878758929634248517200880541086302982275620330762130298387764199999843745834922470643775927268795758383731529394565443756886055989/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095778079636247" + }, + { + "exponent": "1049794867329546732370904194394028583788575613119278215293291938074264359572676710888092277158967093273498949334746438922947664016777889595454522664206544061186071099230887687593221732883269210555581382251561283496006602105136711302514285519596452257519/625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4860914281092845805605971416211256907393502738605361686925735640427323289111907722841032906726501050665253561077052335983222110404545477335793455938813928900769112312406778267116730789444418617748438716503993397894863288697485714480403547742481/625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150235995383974327192" + }, + { + "exponent": "5248974360911481364227160794056406265580262788106417778977043836402243602284752069003870199610930625222275918773107747121920265129859203841302571076976204479703564725834443995892108980046928248742833684587702051979976864382474201820172447042946556386526602270772761107918922449441312490748892911827039636751727062851/3125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "40823703091589205943593734418899814457486990516224288597756397715247930996129800389069374777724081226892252878079734870140796158697428923023795520296435274165556004107891019953071751257166315412297948020023135617525798179827552957053443613473397729227238892081077550558687509251107088172960363248272937149/3125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949135856002397248971178768" + }, + { + "exponent": "26244871804761182484480394990251245568572637829596536385971447548714982056841448792239896459877362838961062790277392506845709746804719762433796106613914480638307977390710915522586033934837944066944796651909355796985608222148937219638790602191883896472548758016814344943367889498999653717100514307698773298640400808491060951101901962645892913143940182054432101478321995416357231879/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852113355009748754431423175183222987461494893076285017943158551207760103540122637161038937209722607493154290253195280237566203893386085519361692022609289084477413966065162055933055203348090644203014391777851062780361209397808116103527451241983185655056632110501000346282899485692301226701359599191508939048898098037354107086856059817945567898521678004583642768121/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770260057057757241517293759023083" + }, + { + "exponent": "131224359023807623803573625841984714158425878936101033361677122738143749659664890854207108914430206688869247449305288627408234268961251953104939053844947075742538706820990438953701616904398685227913659333032039145810668239638387316486842793710325823458301517725268563800312072727552779202442908080206221717370334974906767401620088802939405988653938714778861425809827598452142085415769213364627500431280062743107437483609024946635987291280231291/78125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2879395124158015285841553186127996585875654580386856250340335109145792891085569793311130752550694711372591765731038748046895060946155052924257461293179009561046298383095601314772086340666967960854189331760361612683513157206289674176541698482274731436199687927272447220797557091919793778282629665025093232598379911197060594011346061285221138574190172401547857914584230786635372499568719937256892562516390975053364012708719768709/78125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084335705851402174427949732553255880" + }, + { + "exponent": "656121795119038133390661556109189597773624984588075466445717526537097475664450848312086944595839917369535937114112377181578339215783918060642403380693051125633094092067579080441142802710750362380906425079227192923264380265479916657842860335530997126835921827666132359311680414923809460237858087524550508377500018377186457815056730541510818272601762861574700288567478451933822497166074895908475129628104117407044610430378485689976720461973502677238343790110631423626056700443930883561534483569778488507964639/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "24182193890810402226270340732412629740940989087902524335549151687913055404160082630464062885887622818421660784216081939357596619306948874366905907932420919558857197289249637619093574920772807076735619734520083342157139664469002873164078172333867640688319585076190539762141912475449491622499981622813542184943269458489181727398237138425299711432521548066177502833925104091524870371895882592955389569621514310023279538026497322761656209889368576373943299556069116438465516430221511492035361/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580731174250430777861510361998517951488732" + }, + { + "exponent": "3280608975595190667074015659254840893972775693479221315083450547479505877854359143618357552851319689543230881890460060430534705943379000648426538979125883916648111727151790191767490019893248175046360760507037652448575538331458002775214022098602857547316320690095155711029169092757510644345770282312231502566059658617615325163061631785046342934805886928051209383392360018976728562281787794592934403564929991370417488679586994946628407308390585936594706931075443483959734468696137001692312764099577872058956327951068284692635599379113880143104355325126066518571393849673331/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "203090745159106026700933123219165849842030645494122145640856381642447148680310456769118109539939569465294056620999351573461020874116083351888272848209808232509980106751824953639239492962347551424461668541997224785977901397142452683679309904844288970830907242489355654229717687768497433940341382384674836938368214953657065194113071948790616607639981023271437718212205407065596435070008629582511320413005053371592691609414063405293068924556516040265531303862998307687235900422127941043672048931715307364400620886119856895644674873933481428606150326669/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3329525249235005699151904506224986703485734661173356" + }, + { + "exponent": "16403044877975953335371092044371017141043782468642734742069408028339777267773094633382628395526723496857514195877071839428385211501626317505378175354369392256837753951542131312169476821740923130555446216163495488874735044923333297064345841859778793902112376347115702820410456536041325672369384151029556323002536703074529380347951935907836630028635223794144677735112826853401840961164304419530668152429179898480508010065348870932204513486983887401036772965984296257076234820313391299497372668727192996261943530409505298152854253842805821735332262659726540068739228555245091387941181736504781788144915892509640652049626098505408695751799/9765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1705628982858953600664369467662597054862285222732226905366617371604473276503142485804122928160571614788498373682494621824645630607743162246048457868687830523178259076869444553783836504511125264955076666702935654158140221206097887623652884297179589543463958674327630615848970443676997463296925470619652048064092163369971364776205855322264887173146598159038835695580469331847570820101519491989934651129067795486513016112598963227034015703742923765179686608700502627331272807003738056469590494701847145746157194178264667737340273459931260771444754908612058818263495218211855084107490359347950373901494591304248201/9765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1180139789346085405177309849301162090601659900126459656313" + }, + { + "exponent": "82015224389879766676855468735675515519468825953606194103580816624950325175466789784945881403481440318094318477513768231014636475837101380304466144137581871465272608652884526887310569001720937580908633713880266476966093926424285988195186264632498089780715268683846765650949411900189250468237326146032420468009577948608743942804876969196563763082542940676306629830934585015209750168005999108194556643015980850031745302944300301295924858117508122917533512960832593597583764703092449468949130911297937603904278066679425868598059996126875976423327904387273727860220974941905547465447538130917373696037706814834430400109134555407783194204895211539925130074937826417923759261189368069456537193826586172971/48828125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "14324484480518089711454817919751497828174674824533210215054118596518559681905681522486231768985363524162898619695533855862418128534727391347115473112689430998279062419091366286119733523033906073575714011804813735367501910219284731316153234349050588099810749531762673853967579531990422051391256057195123030803436236917457059323693370169065414984790249831994000891805443356984019149968254697055699698704075141882491877082466487039167406402416235296907550531050869088702062396095721933320574131401940003873124023576672095612726272139779025058094452534552461869082626303962293185165569599890865444592216805795104788460074869925062173582076240738810631930543462806173413827029/48828125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "418296849593742393515580317004367667771071636583086158838930612" + }, + { + "exponent": "410076121949398833384277343749879697837099220482794448426093911014723015148090774438802674557980549021699308717346461883721540625817967739118142201392674293403644412353003530176735386443709779110780144872726998309648486852974474507775855855041722001872774914831979747433933323222130907370263749347913116764383616689562237185739223074146589547773945164084396999283229555595505927782602568976550652522796892850829623028417827686982302480837152532764026856433542859064371029552003623134421123744929251154322561514119855009257162665924997143269730625523283727883774908027126940492280356185579158652697401968247463181838594710539981444897231927338748718033150265089801523795434644341511293379374192526832580603382038289098857919799756949478035698564898252056626129359/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "120302162835357842510611690567661250901984851909225561197325442019450978300691282653538116278459374182032260881857798607325706596355587646996469823264613556290220889219855127273001690351513147025525492224144144958277998127225085168020252566066676777869092629736250652086883235616383310437762814260776925853410452226054835915603000716770444404494072217397431023449347477203107149170376971582172313017697519162847467235973143566457140935628970447996376865578876255070748845677438485880144990742837334075002856730269374476716272116225091972873059507719643814420841347302598031752536818161405289460018555102768072661251281966849734910198476204565355658488706620625807473167419396617961710901142080200243050521964301435101747943373870641/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "148264007331709359858295834418888173441435107225562495318918808136072" + }, + { + "exponent": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1010340749263844121665016746065154524235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "52551712716475631692839942557945885547451834809411660850904323883466052937" + } + ], + "outer": { + "bit_positive": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "1010341076372217596364433438203826399235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14785164102247631189229/500000000000000000000000", + "beta_positive": "1/10000000000000000000000000000000000000000", + "beta_below_one": "9999999999999999999999999999999999999999/10000000000000000000000000000000000000000", + "leaf_saving_above_bit": "1010340871334156621665016746065154524235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "10251903048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "5051706407051392855319250651712491371176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "10251903048734970834606933593749994948445155648927271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "6093263721951265029165393066406250005051554844351072728816334112405850746176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/40000000000000000000000000000000000000000", + "lambda_above_tau": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "10103412814102785710638501303424982742354541850910307736857896583458285661494503232300735280705721504195973630667396752812013056298358369498990694406894871248153960151575873273776975829522968596250346661497747033007286047823486283246760272901073709696443673133126352773805608337161913613750519738153639699686096328692080234660922884087994566729284170279452998738798133697951729867285132376432314134835510985069225304347260003096318144547576347904182063783887418975819314172516612229223621503783965704345503590392479011607603436744447774595998876399971271323510247278507479570273836556545649194258306697251617520066032625414050344455803188686340840983075599267549069315745913475379254926629863349909550997288944072778836607371711377805872895917512937104469420340483692575570482361748752844843261645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "5051706407051392855319250651712491371176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/40000000000000000000000000000000000000000", + "lambda_prime_below_one": "10251903048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "6103515624999999999999999999999999999999389648437500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "epsilon_below_one": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "guard_width": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "K_geometry": "4587888621798734970834606933593749994948445155648927271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "K_dominates_log": "102519030487349708346069335937499949484441304586223976865824269007898788237394005674673476421155584011996675269838380347233904208250375603590132324510739172235453788913874009242501596193040512042212298418992000614111546792051889996420652662840708237346736712091552362448982156129198550788920382191722414218718587091505640943844982364927854343323964876760740309136099298180806053265244931427086540670254394329345230303622288117882324561243208351825208130985116894841591396953771464158906384910165123999747281964515201786074544864058897248301362210121554191206437781545092724351121590536122394056367044207049923226816093671725300031976761020419879240110709486293926915242363265547412604688036287668703765726235811790066207833758849719794082871025549581196218068072974320545071409724258550431734904953248499953461087173748712888161192890345585046009553391345731037472206645490027621505912185794080604361474211/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "record_suffix": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "phase_local": "820152243898797666768554687499999595906119778136132959722436400598346555863791314074820927267530333309132446935469682493452459348587642303650772173252476508098252166825025800610018833529198270071284667189727120092029126060148735747168128539602739410721685454659228584166931996621264609428700552408036081371920491716094334156623836936444466113307039204548381342410072270903600087298957758849471089465362551932034121832381676225800834944825177630361933937033811097543523026668529910199104751861925861418248448879093090133200378749166354060152747797663891318486214835749252540490157862847733386163664331361819801796142653001033561355024817892074510908742608546284346148071210930066466300671153491255629167733169379086981568039669109478711355508405090006299436080604385590336463005057806357496389561427241140754667836549523057885996008588412079632156547805703425734277436645490027621505912185794080604361474211/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "phase_boundary": "164030448779759533353710937499999919176332941604787603967819594572794311176799628760757543636559133951751169984035349102624066077422141320738187168688602372452265078449115591359717359393282605587561358599340725140790196443603048203627579166563168052207446604311638895739092142457089927243758682495977871403278750345041814647797455613914992495036799819142538111988154124414188399039563173777576644852692236409575706720373092812846768308407377147128356057217862112216042679500750759533780530648887472921333096271479020787256759197068107832174338117625183087830418671905449280020181842448546193379849668820315912818472655899951722431095165895133133383136300834293105706627693065363331492915160619404725943041115831844087524422836871984844134811372367331919351040575666715098619260752848362465848161222447869164993094263100799602261319950179856010536438626862104868626940645490027621505912185794080604361474211/97820280448779759533353710937499999919172681084132836338938654201506388061171747921328515845907742799839345319237858583347707098317791375245728146251140968533911496772093977552312575368533978916120930827147596598737809732404136421885885137343259892839628559712586897422106959963541043670546235467478014552492160435342763129877206595330632368404567559846351460807605479536622352922064848646267973611153167578880614603778002145853238516659104450120808394469953987246331870086791944787666331055303259597124228838151903517336485904888024561556994602420009677057663949040960950815117494005099796798195953665635375972244417499275270459730982412999235344381401576927997810110360879466175783701938998217962725806173013386810723510904208059373466805174258180668595021260007179718809460936076239498757635350051198317897418685571605564570933672159558055905405027294710330216412624000000000000000000000000000000000000000", + "gamma_sublinear": "1/20000000000000000000000000000000000000000", + "cell_above_band": "122070312499999999999999999999999999999981679201221951265029165393066406250005051707432241697728816334112405850746176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/244550701121949398833384277343749999797931702710332090847346635503765970152929369803321289614769356999598363298094646458369267745794478438114320365627852421334778741930234943880781438421334947290302327067868991496844524331010341054714712843358149732099071399281467243555267399908852609176365588668695036381230401088356907824693016488326580921011418899615878652019013698841555882305162121615669934027882918947201536509445005364633096291647761125302020986174884968115829675216979861969165827638258148992810572095379758793341214762220061403892486506050024192644159872602402377037793735012749491995489884164088439930611043748188176149327456032498088360953503942319994525275902198665439459254847495544906814515432533467026808777260520148433667012935645451671487553150017949297023652340190598746894088375127995794743546713929013911427334180398895139763512568236775825541031560000000000000000000000000000000000000000", + "prime_interval_packing": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "alpha_positive": "205038060974699416692138671874999898971944618887996688702483144949391326469736609092886505113494833911587499793499994939550840656869985132170223731473844505930139271472609979437861201526777334617794065386239874825242629544637153675098863502378141262114586532458363251265832133342350844880317549365481509526318859180732597117099104446573084596178689780730403313889524008569776629555775335344570047640984131129729357664873629276156397473183489677330454674706358923799010201198736956450363294474702372202390305809454900121378235419074248221422988722627602352246405932145686983799555343723495392928838085229159905879577030718769337363840769144941969478486695066292558234217912931907277418399910173895407394584369178546768402148888886828210836104936912499068106355577461644800984494771908237155256998735247448639347765656002190744994737990069369986887695450539687422730096645490027621505912185794080604361474211/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "alpha_below_one": "122070312499999999999999999999999999999993906736278048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "alpha_below_one_fourth": "30363799579268975437480895996093750075769518219903514667215846293021354942646434616322274696732674791038207912468330812356607627567439819632119821972007708160917203469806758005659818601140091076669996818097384062280322911831655478164240241917390575250269338377725042193142592855264225302165381034221398038127481276863880880969527956594249530530248672671254428188487188346624708658589489866614171705844380737270462706015752041302980638982786650985422168597154262090679699200923745789695365160307566251898931206113014949046273609858433427265137824533625421728273578143154610145924661532870191106507397435281895085446803437804752681302091234917319075640701297723706757425269861901272654988456026769217944419844697504831582695008676131725997540512018768959867837788174782017326972047751916606206504048155752025703595573585124548183422034559792522483551375579057290769898848354509972378494087814205919395638525789/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "delta_positive": "1/80000000000000000000000000000000000000000", + "delta_below_one_eighth": "9999999999999999999999999999999999999999/80000000000000000000000000000000000000000", + "short_record_fallback": "7438045046531816186527454750808459676467846223788209252031863913762048161378636660545517046858049480408755504231788229098230396558355304090721865151504245433422868386134959420477554644245261808506439267351589503197052328858801753182435925179789333410217448173597018352559919988512438931944723137396496594261162458796551429333991578015078826481015655808984455696593983502399544210582526771918005973217858268231791868283483211240832030880364980610401059639170827518749906993348954598723400084846880909694218667765467260671140978800442870912097861278539001958725458321791057023209584302753833592116603632454116133028724379523206322736489643580253662782864014842471691372758735660023874463232338478975769361687939463962175679694025883812750353106458919306846933834074715714881284769083837097764589415595976606648854577775084273916057869777064790044413008835932855604078039689105516371066487568582643525704009315569075319015297847479371232406244498600027295885353889394129137820531782958835170207218118810052802526083217675917719041552104085714569849928710292412669113834878222434176893447111786688694659362107056191420596104888921982527098562832800524133429220398398901860191383186950052679569866845997440963145952884124301938580847476480460615418824700495358164559444020621689687003880177934451895879155577633020397638311535804956449635546397785827953631942491522717979486283501660027250272608448085467094688830183552331148957242200000188441975697064621725402346366774850349885735085803742111061439973823198598688866477466793925102440334893538549380953794727182182635751993208550540306000651999589610773976688545479709618531128278009997393921194423226043283624386206195964039406205733270493218072521/7463095127012615931194588541984558099302114950876833827128498397942076725858440240579873340294475006091258645571736036937538688531325635928781749439326550944054527036445158199486738233072965920724558321162994125269913462250071443320151148784123221804781231667525245469826275631984027379649828755758515514563916048839016962423492934824419583771100430286129109253509939539842403634801090137196958435909512907324265640547027751606234628041008335122742339665981596927362966162627559264195734486030827300805986697246696740519446251288454022335586136048889898457158199237133861603936576385887130493026424687624769284991792106573125492838362305679262950468551756052245926674679632527631819435267562730252283157819596358246667748329483647107961029447498945668685533238220762612824208140264605674648867443088622918540757651181915707746195501110806126091415788825585199754059801025390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/10000000000000000000000000000000000000000", + "artificial_boundary": "3424529967951190381334148437499999996766974412792897599762458671881056303696854761730843908743123262991236595217275813036643533029432762711604095727292995839840837565964693687975361588768781245576437341491548631570303447904047056996482178168260485887947405727828301672463382002004893608051756849054066692142953062468703689140776491232375446863911294673935685200391071157701518610451669802268190135345028129182637700842292972993250715911416269223753375894036367865255622285693551373591050893786093500257577840751717414183107123632593851823454244889707540564216058552745604537209991696691945623742286458615860219068054534501136774601138958261281720408250858905401026517625634737849468704704631441514183031836316228137328848395612435937104540218058984666753827861058581727763510962469019753359180775568534184062094024196789736877743363943010456835900806857791957884699862010063529917135482263442617758186915577367/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1537636291446310788365492711081760099108478922744404596297975551245935130143962922665550594422419840270970637504096045986089259817584400040038867413442598639429376662664769941033262780275210868866958891861973559160071605831318889101967861858069571971787352668696438950058649811529644622408012548573479642648629689227006482122556801106541970427039646862949307834792861738253392303491293520043230187572196233923246625883499885760264667942326545950687688742214190135878010641768274005151944570718107901631658384213383426614707652213443298254153756325123333555354501587679632142622090449410085612368614166880374770525330001433600490656954280904407110191992764959662232696202886482397361410453577946207439233020929520432641048651241307090839663912488211728042823110440882598292103737096123158654273745330647232168610480079921156590622590905915889138187617779229806392577423/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789000000000000000000000000000000000000", + "coordinate_movement_above_kappa": "3438191447040692548362771804328823643298627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "15370249146935059148684092503884007241089840934876287660708571846571757152185805992410422911983829168784716415958508093699433366482199138439435816125285290083760397158099443536735608266791575314987331360443038866813294945204913632493310750759611765974571049901982352819497616430298724908850716346018079050576766132242855898529950685653211539747371183157002681381628142040062884137855306147391910127371265266258786220422262732468530852015974265478744336897487529234577210675802315554970216561490122562591763577831449772177242991765377481006440251088582084948728911879981261366794959650725537386386254421699645494255034738242300202165809622643258649710903811998064327098896967269006978118054408274685769659846409390989734816292981557904685797449558726144136443915580075534188611779652726821574065101097094121791236212131363340558440225704648919003382089978092144530135704211/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "bulk_exposure_above_kappa": "3438191447040692548362771804328823643298627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "24596066895612923878877048770374567835740714471342715238496425154047367933049583528403726478518348210410540240983084369615968925387705538679669020605940881920336657134088063182935184948442840528189084711614880221773724580192826967105117921908029197805295165914160986519849515299476592643298791637458956906468544267604894791265291492292463362309609064334698528390385312469583237958803067267651291252804442669798265975723262047030118859669933541182870469350772670049845274526411959585881883985798769972381713883111750331865488905046037270531362789039322086280855921406059054222527502347186051060597939422981894117407014746843903146107535308069701310862860401756037723276114286163391146580775875951930405057971986513585581108200429400449723780924487996512393382578225371123941234202229465773499707573080977514802899092610890280102175771140144253832507796653470982885600242211/97820280448779759533353710937499999919172681084132836338938654201506388061171747921328515845907742799839345319237858583347707098317791375245728146251140968533911496772093977552312575368533978916120930827147596598737809732404136421885885137343259892839628559712586897422106959963541043670546235467478014552492160435342763129877206595330632368404567559846351460807605479536622352922064848646267973611153167578880614603778002145853238516659104450120808394469953987246331870086791944787666331055303259597124228838151903517336485904888024561556994602420009677057663949040960950815117494005099796798195953665635375972244417499275270459730982412999235344381401576927997810110360879466175783701938998217962725806173013386810723510904208059373466805174258180668595021260007179718809460936076239498757635350051198317897418685571605564570933672159558055905405027294710330216412624000000000000000000000000000000000000000", + "scalar_work_above_kappa": "123004789548176814334268582279607214178683365526984609401566860433787216262263210578998964521553217987752661041245231312725681553713107141242156535066267194843816763544633339409064002886056336135674453790781188008018307353397235869631061080824481803999685736710733079323603103237373848477411594746161654035980844378133309647108926763111149469640146463563454229817128463717800345382245852550418023257425001640886050032267254735687057607978832482026882548852480838746037955599581495915606336511757675676807850472768289635206778646706408358797203193847215433823544023017555511350341291109431530252189246103325879431028134838594334548152609285951756363150397359174420615833099021036822276849804864509206515971311475821274608221879873054263462271323733547107134061646441857414635873376381347927373227274242400373593969817725844301902021589118761158676515334524178592010555314211/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "dimension_above_kappa": "6093263721951265029165393066406250006588123020563008517181826823487610845285244677661372355928741626255976047691596761206318900777557879318112628363399735452719791269328526443019331452909224957171818485968045153612149671999952342499091070778019815857594820849282208013086176860348256742378212951979063040527889784320721926790687136365315119623344216736609515822081458635503073369410593822557559484095788764573353890755168385927402780281002205790696101229127761557368926061902049401458543051257736411057746339383780035318414201662606366534346221562132821798603655398383238828208912949804596255467254483577421144356814355705381208635427766067922561501492402875600627525056725937771123710621577571039562333317073145721691191022064942496597557697538384140853859822490858358414072603983446759370470901062682703423515069247897810868590390820674853674522665874001760952096801905915889138187617779229806392577423/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789000000000000000000000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json new file mode 100644 index 0000000000..5d7c9b908a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json @@ -0,0 +1,147 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "13414839829209/8000000000000000", + "input_sha256": { + "owner_audit": "047123bb26f782c7b18335b4883b58b31267f462b271b561884d1a6767d334e7", + "fresh_invoice": "b6330ee5631fac069e3cd029eff5aa7e525d7f0106465078993729c0f4e3ff75", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "extra:missing_provider", + "extra:missing_backward_orientation", + "extra:unpaid_scalar_primitive", + "extra:wrong_local_artifact_binding", + "extra:false_dirty_restoration", + "extra:wrong_declared_provider_count", + "extra:wrong_local_compiler", + "extra:wrong_local_adapter_charge", + "extra:wrong_local_primitive_bound", + "extra:forged_provider_and_call_program_hash", + "extra:provider_at_wrong_call", + "extra:stale_partner_program_consistent_call_hashes", + "extra:stale_partner_profile_consistent_child_total", + "extra:relocated_against_partner_same_counts", + "extra:compensating_false_profiles_with_gauge44", + "extra:synchronized_forged_source_recipe_hash", + "extra:synchronized_forged_phase_review_semantics", + "extra:width_order_swap_4_5", + "extra:width_inventory_shift_4_5", + "extra:width_order_swap_4_7", + "extra:width_inventory_shift_4_7", + "extra:width_order_swap_4_8", + "extra:width_inventory_shift_4_8", + "extra:width_order_swap_4_9", + "extra:width_inventory_shift_4_9", + "extra:width_order_swap_5_7", + "extra:width_inventory_shift_5_7", + "extra:width_order_swap_5_8", + "extra:width_inventory_shift_5_8", + "extra:width_order_swap_5_9", + "extra:width_inventory_shift_5_9", + "extra:width_order_swap_7_8", + "extra:width_inventory_shift_7_8", + "extra:width_order_swap_7_9", + "extra:width_inventory_shift_7_9", + "extra:width_order_swap_8_9", + "extra:width_inventory_shift_8_9", + "extra:cold_helper_width_swap_258", + "extra:cold_helper_width_swap_270", + "extra:cold_helper_width_swap_282", + "extra:cold_helper_width_swap_294", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:stale_partner_program_consistent_call_hashes", + "gauge44:stale_partner_profile_consistent_child_total", + "gauge44:relocated_against_partner_same_counts", + "gauge44:compensating_false_profiles_with_extra", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_258", + "gauge44:cold_helper_width_swap_270", + "gauge44:cold_helper_width_swap_282", + "gauge44:cold_helper_width_swap_294", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json new file mode 100644 index 0000000000..d63216e856 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json @@ -0,0 +1,10 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa_decimal": "0.001676855229071321886144", + "kappa": "26200862954239404471/15625000000000000000000", + "baseline_pr": 1319, + "baseline_kappa": "0.001676855229071321", + "gain_percent": "5.284558765939298618040951514522605992382144528004040991733236735148466E-14", + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim.", + "verification": "Same construction, scalar words, owners and admission as PR1319; only the final kappa grid of the strict outer assembly is refined from 1e-18 to 1e-24. Release proof is run by the publisher." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md b/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md new file mode 100644 index 0000000000..319bb23575 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md @@ -0,0 +1,29 @@ +# Finite T74 exact-fill construction + +Start from PR1297 at head 4abf710a7f0d2a46f522f3f13c15769d003f9495. Its two local words, scalar identities, phase recipes, provider widths and ordered centre frames are unchanged. The new contribution changes the number of disjoint data replicas and the whole-helper hosting assignment. + +## Direct sum and chronology + +Take two copies of the 37-replica parent, with disjoint data and bank namespaces. Interleave the two copies of each original invocation while retaining every replica's original 30-event sequence. Private helper and centre work can be shared because each complete invocation restores that work before the next invocation begins. The literal parent constructor rebinds every family, replica, bank-padding sweep and final correction. Each old local route and phase recipe remains identical. The independent checker reconstructs strict windows from source events and checks every assigned physical family against those windows. + +This direct-sum step gives 74 replicas, 666 complete invocations, 66,304 live data families and deficit 23,680. The dedicated-bank envelope used for the conservative invoice has 111,664 live and 112,178 physical families; its shared private work has 514 families. The hosted realization has 66,794 physical families. + +## Integral packing gain + +The doubled incumbent leaves four rank-one gaps, each in a rank-32 child with whole-helper widths (4,9,9,9). Change one base invocation to the extra provider. That replaces four width-four helper demands with four width-five demands. Exact alternating paths transfer complete width-four and width-five roles among their legal owner bins. The four holes become (5,9,9,9). Other helper widths and all pending-axis lists stay fixed. + +The constructor is only a proposer. Independent checks recount all 319,680 roles, verify each call's exact provider inventory, enforce a distinct physical family for every helper within each call, and check the complete emitted controller. The admitted dispatch has 249 base calls and 417 extra calls. Idle H48=22,748; there are no residual H1 holes. + +The paid histogram is H1=1,559,100; H2=339,000; H3=277,392; H4=84,912; H5=54,612; H8=5,328; H48=22,748. Its rank mass is 4,816,512, exactly 73*66,304-23,680. Both exact moment engines and the inherited outer assembly give the conservatively rounded conditional endpoint 0.001676855229071321. + +## Prefix and row charges + +The local native prefix bound is 68 bits. The source-dependent global estimate is 68+37+666+666+4=1,441 bits. We charge 2,048 bits, derived as the next power of two above 192+37+2*666+4. The previous 1,024-bit charge is insufficient and is explicitly rejected. + +The physical stock has bit length 2,644. The row coefficient is 2*2644+9909+252+2*2048=19,545, strictly below the unchanged 20,161 ceiling. The outer bootstrap charges 4+2,048 in its prefix allowance. Its other inequalities and constants remain unchanged. ADMISSION-DERIVATION.patch records each replica-sensitive substitution. The old 37-replica instance also passed all 114 original admission mutation controls under these formulas. + +## Evidence and limitations + +The standalone verifier first admits the retained predecessor, including its two local providers. Default operation performs fresh sequential native runs. Explicit --base-native-from and --extra-native-from reuse requires exact word equality and completed native/ledger/replay/wrapper/phase stage receipts. It then reconstructs the T74 owners and parent, runs frozen controller, invoice and assembly checks, 114 admission controls, 12 bit controls, 15 controller controls, eight independent owner controls and six T74 charge controls. + +These are finite conditional construction checks. They do not discharge the inherited all-size compiler, common-label/mutable-source realization, whole-call hosting theorem, precision/tape theory, exact recovery or analytic transfer; PR559 recurrence correction and PR589 H1-H5 remain assumptions of the framework. No unconditional multiplication theorem, full Lean proof, global packing optimum or practical speedup is asserted. diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json new file mode 100644 index 0000000000..9afebef3ae --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json @@ -0,0 +1,12 @@ +{ + "package_dir": "research/gmx-t74-grid24", + "base": "origin/main", + "title_suffix": "finer 1e-24 kappa grid on PR1319's 74-replica exact-fill construction (same construction, only the final grid is refined)", + "summary": "PR1319's construction is unchanged (same provider words, owners, dispatch, plan, admission engines and controls). The strict outer assembler's final kappa grid is refined from 1e-18 to 1e-24 (the three grid expressions in code/assemble.py, as in the merged PR1019). With the same exact margin the 47 strict outer inequalities hold at the finer floor and the next grid point is rejected, so kappa moves from 0.001676855229071321 to 0.001676855229071321886144. No construction improvement is claimed.", + "credits": "PR1319 (rohanarun, 74-replica exact fill) and PR1297 (rohanarun, four cold kernels 531/543/555/567); the finer-grid assembler refinement follows the merged PR1019. Builds on PR1286/PR1274 (helper-donor cold kernels), PR1193 (jeremydiviney, mixed-provider flow), PR1148 (Thomas DiFiore) and the retained lineage named in PR1319. Research direction, prioritisation and release strategy: jeremykothe2. Implementation assistance: oh-my-pi.", + "required": [ + "verify.py", + "verify_release.py", + "MANIFEST.json" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json new file mode 100644 index 0000000000..546b8e9507 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json @@ -0,0 +1 @@ +{"attempts":[{"call":[3,28],"success":true,"time":416}],"dispatch":{"extra":417,"gauge44":249},"idle":{"48":22748},"roles":319680,"scope":"Literal strict windows, bin capacities, per-call helper widths and distinct physical families checked. Local programs reused unchanged. Full T74 parent binding, finite invoice and global admission not yet run.","status":"PASS_EXACT_SINGLE_UPGRADE_T74_OWNER_SCREEN","target_call":[3,28],"target_time":416} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/freeze_spec.py b/research/gmx-t74-borrow43-handoff/freeze_spec.py new file mode 100644 index 0000000000..788d562223 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/freeze_spec.py @@ -0,0 +1,32 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +# 32 shared controls plus 17 provider controls, two controls per pair of distinct widths, and four spot checks per provider. +spec['expected']['assembly_controls_rejected'] = 32 + sum(17 + len(p['inventory'])*(len(p['inventory'])-1) + len(spec['width_spot_helpers']) for p in spec['providers'].values()) +from collections import Counter +spec['expected']['provider_counts'] = dict(Counter(p for s,r,p in spec['dispatch'])) +controller = json.loads((a.discovery/'global/audit/ASYNC-AUDIT.json').read_text()) +spec['expected']['mutations_rejected'] = len(controller['mutations_rejected']) +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/geometry_controls.py b/research/gmx-t74-borrow43-handoff/geometry_controls.py new file mode 100644 index 0000000000..feb5fda97f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/geometry_controls.py @@ -0,0 +1,31 @@ +"""Reject understated T74 prefix, stock and invocation charges using strict assembly.""" +import argparse,copy,hashlib,json,os,sys +from pathlib import Path +assert __debug__ +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--source',type=Path,required=True);ap.add_argument('--strict',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() +sys.path.insert(0,str(P/'code'));os.environ['GAIN_PR564_SOURCE']=str(a.source.resolve());os.environ['WITNESS_SPEC']=str(a.strict/'runtime/data/SPEC.json') +from assemble import assemble +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +digest=lambda v:hashlib.sha256(json.dumps(v,sort_keys=True,separators=(',',':')).encode()).hexdigest() +op=a.strict/'global/audit/OWNERS-AND-PROFILE.json';ip=a.strict/'global/audit/PREFIX-AND-INVOICE.json';owner=json.loads(op.read_text());invoice=json.loads(ip.read_text());assemble(owner,invoice,sha(op),sha(ip)) +def old_prefix(o,i): + i['charged_prefix_bits']=1024;i['row_prefix_extra']=2048;i['finite']['physical_row_coefficient']-=2048 + +def old_call_count(o,i): + i['complete_invocation_sweeps']=i['bridge_sweeps']=333 + +def old_parent_idle(o,i):o['source_idle_children_charged']//=2 + +def old_stock(o,i):i['physical_stock_identity']['data_and_owner_families']//=2 + +def missing_call(o,i):i['selected_calls'].pop() + +def low_row(o,i):i['finite']['physical_row_coefficient']-=1 +rejected=[] +for fn in [old_prefix,old_call_count,old_parent_idle,old_stock,missing_call,low_row]: + o,i=copy.deepcopy(owner),copy.deepcopy(invoice);fn(o,i);oh=digest(o);i['owner_audit_sha256']=oh + try:assemble(o,i,oh,digest(i)) + except AssertionError as e:rejected.append(dict(name=fn.__name__,reason=str(e) or 'strict arithmetic invariant')) + else:raise AssertionError('accepted '+fn.__name__) +a.out.write_text(json.dumps(dict(status='PASS_T74_GEOMETRY_AND_CHARGE_CONTROLS',rejected=rejected),indent=2)+'\n');print('PASS_GEOMETRY_CONTROLS',len(rejected)) diff --git a/research/gmx-t74-borrow43-handoff/independent_core.py b/research/gmx-t74-borrow43-handoff/independent_core.py new file mode 100644 index 0000000000..05305679b3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/independent_core.py @@ -0,0 +1,401 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared for haoyan with substantial OpenAI Codex assistance. +"""Independent source-event, owner, chart, and finite-reserve audit. + +This derivative checks a source-bound replica count and derives its charged +prefix reserve from the call count, retaining the 20161 row ceiling. +The source is Hao Yan's variable-replica checker at the pinned repository base. +SOURCES.json and INDEPENDENT-DERIVATION.patch identify that source and all edits. + +Inputs are read-only. No owner constructor or controller auditor is imported. +--word is the canonical local supplier JSON.gz, with a hash-bound native +INDEPENDENT-LOCAL-REPLAY.json beside it (override with --local-replay). +--baseline-parent is the original eight-replica GLOBAL-TEMPLATE.json.gz. +Its sibling CANONICAL-WORD.json.gz supplies the ports and centre frames. +DATA-PHASES.json defaults to ../work/complex-nine-native/DATA-PHASES.json +(override with --phases). The checker recounts local widths and paid ranks. +--out names a JSON receipt. Checks remain enabled under python -O. +""" +import argparse +import copy +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path + +V, H, M, T, R = 112, 9, 73, 37, 480 +EXPECTED_IDLE = None +ZERO_BUFFERS = 0 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def filehash(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def basis(vectors): + pivots = {} + for x in vectors: + require(type(x) is int and 0 <= x < 1 << H, 'invalid local frame vector') + while x: + bit = x.bit_length() - 1 + if bit in pivots: + x ^= pivots[bit] + else: + pivots[bit] = x + break + for bit in sorted(pivots): + for upper in pivots: + if upper > bit and pivots[upper] >> bit & 1: + pivots[upper] ^= pivots[bit] + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def center_segments(word, current, frames): + """Literal nested target COPY paths, including every intermediate child. + + Seed39 adaptation by Tekalign (@tekuuu), with substantial Codex assistance. + External ports/frames are independently checked by audit_mixed.py. + """ + levels = {int(t): f for t, f in word['target_levels'].items()} + require(set(levels) == {t for t in range(V) if current[V+t] != frames[0]}, 'lifted target set equals the centres at non-zero frames') + require(levels, 'lifted targets present') + require(all(frames[f] in ((30,), (45,)) for f in levels.values()), 'target line30') + require(all(current[V+t] == frames[levels.get(t, 0)] for t in range(V)), 'target centre level') + forward, backward = [], [] + for index, (register, frame_id) in enumerate(zip(word['centers'], word['center_frames'])): + require(current[register] == frames[frame_id], 'centre carrier frame') + served = set() + for event in word['cut']: + require(event[0] == 'add' and V <= event[1] < 2*V and event[2] in word['centers'], 'centre cut interface') + if event[2] == register: + served.add(levels.get(event[1]-V, 0)) + require(0 in served, 'centre COPY reaches zero') + origin, segments = frame_id, [] + for destination in sorted(served, key=lambda f: -len(frames[f])): + require(basis(frames[destination] + frames[origin]) == frames[origin], 'nested centre COPY') + rank = len(frames[origin])-len(frames[destination]) + if rank: + segments.append(['center', index, origin, destination, rank]) + origin = destination + forward.extend(segments) + backward.extend(e[:2]+[e[3], e[2], e[4]] for e in reversed(segments)) + # completeness: every centre COPY telescopes from its carrier frame to zero, so the child ranks of all centres sum to the carrier ranks + # Exact child-rank multiset, derived from the declared lifted targets and the cut gates: a centre that serves a lifted target + # (a cut gate into V+t with t in target_levels) COPYs carrier -> target frame -> zero; a centre that serves none COPYs carrier -> zero. + expected = Counter() + for register, frame_id in zip(word['centers'], word['center_frames']): + served_lens = {0} | {len(frames[levels[t]]) for t in (e[1]-V for e in word['cut'] if e[2] == register) if t in levels} + origin = len(frames[frame_id]) + for dest in sorted(served_lens, reverse=True): + if origin - dest: expected[origin - dest] += 1 + origin = dest + require(Counter(e[4] for e in forward) == expected and len(forward) == sum(expected.values()), 'centre children multiset') + return {'forward': forward, 'backward': backward} + + +def local_inventory(word, replay, programs=None): + global ZERO_BUFFERS + zs=word.get('zero_buffers',[]) + require(len(zs)==len(set(zs)) and all(2*V<=z<2*V+R for z in zs),'private cleanup buffer labels') + ZERO_BUFFERS=max(ZERO_BUFFERS,len(zs)) + require((word['v'], word['h'], word['R']) == (V, H, R), 'local supplier dimensions') + frames = [basis(frame) for frame in word['frames']] + n = 2 * V + R + require(len(word['start']) == len(word['final']) == n, 'local frame vector lengths') + current = [frames[f] for f in word['start']] + paid = Counter() + + def climb(register, frame): + require(basis(current[register] + frame) == frame, 'nonmonotone local frame') + jump = len(frame) - len(current[register]) + if jump: + paid[jump] += 1 + current[register] = frame + + for section in ('A', 'B', 'tail'): + if section == 'B': + segments = center_segments(word, current, frames) + paid.update(event[4] for event in segments['forward']) + if programs is not None: + for orientation in ('forward', 'backward'): + require([e for e in programs[orientation] if e[0] == 'center'] == segments[orientation], + 'literal centre COPY segments') + for gate in word[section]: + if gate[0] == 'warp': # borrowed-dirty-qubit warp [warp, register, op, f0, f1]: exact rank-zero frame change of one register + register, f0, f1 = gate[1], gate[3], gate[4] + require(current[register] == frames[f0], 'warp source frame mismatch') + require(len(frames[f0]) == len(frames[f1]) and gate[2] != 0, 'a warp is rank zero') + current[register] = frames[f1] + continue + registers = gate[1:3] if gate[0] == 'add' else gate[1:2] + require(gate[0] in ('add', 'scale'), 'unknown scalar gate') + for register in registers: + climb(register, frames[gate[-1]]) + for register, frame_id in enumerate(word['final']): + climb(register, frames[frame_id]) + require(dict(paid) == {int(r): count for r, count in word['local_profile'].items()}, 'local paid-profile recount') + for orientation in ('forward', 'backward'): + require(dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()}, 'local replay profile binding') + widths = [len(frames[word['final'][q]]) - len(frames[word['start'][q]]) for q in range(2 * V, n)] + require(Counter(widths) == EXPECTED_WIDTHS, 'current supplier width inventory') + return widths, paid + + +def make_context(parent, phases, ports, word, replay, roles): + widths, paid = local_inventory(word, replay) + require(len(parent['calls']) == 72 and {(c['stage'], c['replica']) for c in parent['calls']} == {(s, r) for s in range(9) for r in range(8)}, 'original eight-replica baseline calls') + require(len(roles) == 9 * T * R, 'complete helper role count') + address = {} + for role in roles: + key = (role['stage'], role['replica']) + time = role['time'] + require(time not in address or address[time] == key, 'inconsistent invocation time address') + address[time] = key + require(set(address) == set(range(9 * T)), 'contiguous invocation times') + order = [address[t] for t in range(9 * T)] + require(set(order) == {(s, r) for s in range(9) for r in range(T)}, 'stage/replica inventory') + # Arbitrary interleaving: the exact per-replica projection is checked below. + rank = {child['child']: child['rank'] for child in parent['idle_children']} + source = parent['execution_schedule'] + blocks, stage = {}, None + for index, event in enumerate(source): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'source event before first invocation') + blocks[stage].append((index, event)) + require(set(blocks) == set(range(9)), 'source stage inventory') + events = [(index, event, replica, time) for time, (stage, replica) in enumerate(order) for index, event in blocks[stage]] + projections = defaultdict(list) + for index, event, replica, time in events: + projections[replica].append(index) + require(set(projections) == set(range(T)) and all(p == list(range(30)) for p in projections.values()), 'per-replica source-event projection') + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, windows, callpos, child_pair, side = {}, {}, {}, {}, {} + bridges = 0 + for position, (_, event, replica, _) in enumerate(events): + kind = event['kind'] + if kind == 'local_cover_sweep': + stage = event['stage'] + callpos[stage, replica] = position + last[replica, stage_pair[stage]] = position + elif kind == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = position + bridges += 1 + elif kind == 'idle_cover_sweep': + for sd, child in enumerate(event['child_indices']): + if child in rank: + windows[replica, child] = (last.get((replica, event['pair']), -1), position) + child_pair[child], side[child] = event['pair'], sd + require(len(windows) == T * len(rank), 'actual window inventory') + require(len(ports) == V, 'port count') + bases = [] + for q in ports: + zero = next(i for i in range(H) if not (q >> i & 1)) + correction = q ^ (1 << zero) + axes = list(range(H)) + axes[0], axes[zero] = axes[zero], axes[0] + frame = [(1 << i) ^ (correction if correction >> i & 1 else 0) for i in axes] + [1 << i for i in range(H, M)] + require(all((x & y).bit_count() % 2 == int(i == j) for i, x in enumerate(frame) for j, y in enumerate(frame)), 'nonorthogonal owner basis') + bases.append(frame) + return dict(widths=widths, paid=paid, order=order, at={key:t for t,key in enumerate(order)}, rank=rank, + windows=windows, callpos=callpos, child_pair=child_pair, side=side, stage_pair=stage_pair, + bases=bases, phases=phases, bridges=bridges, event_count=len(events), replay=replay) + + +def check_pending_axes(context): + checked = 0 + for port, frame in enumerate(context['bases']): + used = defaultdict(set) + for child, rank in context['rank'].items(): + axes = list(map(int, context['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(axes) == rank and len(set(axes)) == rank and set(axes) <= set(frame), + 'pending child orthogonal basis') + family = context['child_pair'][child], context['side'][child] + require(not used[family] & set(axes), 'overlapping pending children on one family') + used[family].update(axes) + checked += 1 + return checked + + +def check_roles(context, roles): + c = context + live, physical = T * 8 * V, T * 8 * V + 8 + R + ZERO_BUFFERS + 2 + require(len(roles) == 9 * T * R, 'complete helper role count') + helpers, families, used = defaultdict(set), defaultdict(set), defaultdict(set) + charts, chart_cache = set(), {} + for z in roles: + s, r, helper = z['stage'], z['replica'], z['helper'] + owner, child, port = z['owner_replica'], z['child'], z['port'] + offset, width, family = z['offset'], z['width'], z['family'] + call = (s, r) + require(call in c['at'] and 0 <= helper < R and 0 <= owner < T and 0 <= port < V, 'role coordinates') + require(z['time'] == c['at'][call], 'role invocation time') + require(width == c['call_widths'][call][helper], 'whole-helper residual width') + require(0 <= family < live, 'private-namespace collision') + require(child in c['rank'], 'unknown idle child') + require(z['copy'] == V * owner + port and family == owner * 896 + (2 * c['child_pair'][child] + c['side'][child]) * V + port, 'physical family identity') + lo, hi = c['windows'][owner, child] + require(lo < c['callpos'][call] < hi, 'strict bridge-aware idle window') + require(family // 224 != r * 4 + c['stage_pair'][s], 'helper aliases active data pair') + require(helper not in helpers[call] and family not in families[call], 'duplicate helper or family within whole invocation') + helpers[call].add(helper) + families[call].add(family) + cells = set(range(offset, offset + width)) + bin_key = (owner, child, port) + require(offset >= 0 and offset + width <= c['rank'][child] and not used[bin_key] & cells, 'overlapping or out-of-capacity slice') + used[bin_key].update(cells) + chart_key = (port, child, offset, width) + if chart_key not in chart_cache: + frame = c['bases'][port] + pending = list(map(int, c['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(pending) == c['rank'][child], 'phase child rank') + occupied = [frame.index(x) for x in pending[offset:offset + width]] + spectators = [i for i in range(M) if i not in occupied][:H - width] + permutation = occupied + spectators + [i for i in range(M) if i not in occupied and i not in spectators] + require(len(occupied) == width and len(set(occupied + spectators)) == H and sorted(permutation) == list(range(M)), 'residual/spectator permutation') + require([frame[i] for i in permutation[:width]] == pending[offset:offset + width], 'pending-axis binding') + chart_cache[chart_key] = tuple(frame[i] for i in permutation) + charts.add(chart_cache[chart_key]) + require(set(helpers) == set(c['order']) and all(h == set(range(R)) for h in helpers.values()), 'complete per-call helper inventory') + idle = Counter() + for owner, child in c['windows']: + for port in range(V): + cells = used[owner, child, port] + require(cells == set(range(len(cells))), 'gap in pending prefix') + left = c['rank'][child] - len(cells) + if left: + idle[left] += 1 + require(dict(idle) == EXPECTED_IDLE, 'nominated idle profile') + profile = Counter(c['aggregate_paid']) + profile.update(idle) + mass = sum(rank * count for rank, count in profile.items()) + require(M * live - mass == 320*T, 'replica-scaled rank deficit') + require(c['bridges'] == 9*T, 'actual bridge count') + localbits = c['max_local_prefix'] + prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4 + group = 2 ** (36 * 36) + for i in range(1, 37): + group *= 2 ** (2 * i) - 1 + stock = group * physical + payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length() + row = 2 * stock.bit_length() + 9909 + 252 + 2 * payload + require(prefix < payload, 'prefix reserve') + require(row < 20161 and M * M > 2 * max(profile) ** 2, 'row or halving reserve') + return dict(status='PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW', roles=len(roles), calls=len(c['order']), + source_events_per_replica=30, expanded_replica_events=c['event_count'], bridge_events=c['bridges'], + literal_windows=len(c['windows']), checked_whole_helper_widths=len(roles), checked_busy_family_windows=len(roles), + orthogonal_port_bases=len(c['bases']), actual_73_axis_charts=len(charts), checked_slice_prefixes=len(c['windows']) * V, + local_profiles=c['local_profiles'], width_inventories=c['width_inventories'], + idle=dict(sorted(idle.items())), profile=dict(sorted(profile.items())), live=live, physical=physical, + rank_mass=mass, deficit=320*T, namespace={'data':[0,live], 'centres':[live,live+8], 'tableau':[live+8,live+8+R], 'zero_buffers':[live+8+R,live+8+R+ZERO_BUFFERS], 'coefficient':[live+8+R+ZERO_BUFFERS,physical]}, + local_prefix_bits=localbits, local_prefix_from_native_receipt=True, local_profile_recounted=True, + prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4), + prefix_bits=prefix, charged_prefix_bits=payload, physical_stock_bits=stock.bit_length(), + physical_row_coefficient=row, row_limit=20161, + scope='Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.') + + +def controls(context, roles): + candidates = [] + first = roles[0] + bad = dict(first, family=896*T) + candidates.append(('private_namespace_collision', [bad] + roles[1:], 'private-namespace collision')) + index = next(i for i, z in enumerate(roles) if z['replica'] >= 1) + bad = dict(roles[index], replica=roles[index]['replica'] - 1) + candidates.append(('copy_replica_alias', [bad] + roles[:index] + roles[index+1:], 'role invocation time')) + candidates.append(('missing_whole_helper', roles[1:], 'complete helper role count')) + split = dict(first, width=first['width'] - 1) + fragment = dict(first, offset=first['offset'] + first['width'] - 1, width=1) + candidates.append(('split_whole_helper', [split, fragment] + roles[1:], 'complete helper role count')) + candidates.append(('truncated_helper_width', [split] + roles[1:], 'whole-helper residual width')) + # Keep the family and chart valid, but move one complete role past its + # actual idle event. Freeze the original invocation order for controls. + crossing = None + for index, z in enumerate(roles): + lo, hi = context['windows'][z['owner_replica'], z['child']] + later = next((key for key in context['order'] if context['callpos'][key] >= hi), None) + if later is not None: + crossing = [dict(z, stage=later[0], replica=later[1], time=context['at'][later])] + roles[:index] + roles[index+1:] + break + require(crossing is not None, 'no idle-boundary control could be constructed') + candidates.append(('cross_idle_boundary', crossing, 'strict bridge-aware idle window')) + rejected = [] + for name, bad, expected in candidates: + try: + check_roles(context, bad) + except ValueError as exc: + require(str(exc) == expected, 'control rejected at unexpected predicate: ' + name) + rejected.append(dict(name=name, reason=str(exc))) + else: + raise ValueError('accepted negative control: ' + name) + bad = dict(context, phases=copy.deepcopy(context['phases'])) + pair = next((a, b) for a in context['rank'] for b in context['rank'] + if a < b and (context['child_pair'][a], context['side'][a]) == + (context['child_pair'][b], context['side'][b])) + children = bad['phases']['recipes'][0]['idle_children'] + children[pair[1]]['orthogonal_axes'][0] = children[pair[0]]['orthogonal_axes'][0] + try: + check_pending_axes(bad) + except ValueError as exc: + require(str(exc) == 'overlapping pending children on one family', + 'pending-axis control rejected at unexpected predicate') + rejected.append(dict(name='cross_child_pending_axis_alias', reason=str(exc))) + else: + raise ValueError('accepted negative control: cross_child_pending_axis_alias') + return rejected + + +def main(): + global T, EXPECTED_IDLE, EXPECTED_WIDTHS + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--baseline-parent', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + parser.add_argument('--phases', type=Path) + parser.add_argument('--local-replay', type=Path) + parser.add_argument('--out', type=Path, required=True) + parser.add_argument("--replicas", type=int, required=True) + parser.add_argument("--expected-idle", required=True) + parser.add_argument("--expected-widths", required=True) + args = parser.parse_args() + EXPECTED_WIDTHS = {int(k):v for k,v in json.loads(args.expected_widths).items()} + T = args.replicas + require(T == 37, "replica range") + EXPECTED_IDLE = {int(k): v for k,v in json.loads(args.expected_idle).items()} + phases_path = args.phases or args.baseline_parent.parent.parent / 'work/complex-nine-native/DATA-PHASES.json' + canonical_path = args.baseline_parent.parent / 'CANONICAL-WORD.json.gz' + replay_path = args.local_replay or args.word.parent / 'INDEPENDENT-LOCAL-REPLAY.json' + parent, phases, canonical, word, replay, roles = map(read, (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)) + require(replay['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'local replay status') + require(replay['canonical_word_sha256'] == filehash(args.word), 'local word/replay hash binding') + require(set(replay['local']) == {'forward', 'backward'}, 'both native prefix orientations') + require(word['ports'] == canonical['ports'], 'local/controller port interface') + require(len(word['center_frames']) == len(canonical['center_frames']) == 8, 'eight centre interfaces') + require([basis(word['frames'][f]) for f in word['center_frames']] == [basis(canonical['frames'][f]) for f in canonical['center_frames']], 'ordered centre-frame interface') + context = make_context(parent, phases, canonical['ports'], word, replay, roles) + pending = check_pending_axes(context) + receipt = check_roles(context, roles) + receipt['disjoint_pending_child_axis_checks'] = pending + receipt['controls_rejected'] = controls(context, roles) + receipt['input_sha256'] = {str(path): filehash(path) for path in (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)} + args.out.write_text(json.dumps(receipt, indent=2) + '\n', encoding='utf-8') + print(receipt['status'], 'roles=' + str(receipt['roles']), 'controls=' + str(len(receipt['controls_rejected']))) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json b/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json new file mode 100644 index 0000000000..613e01490d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json @@ -0,0 +1,1667 @@ +[ + [ + 0, + 0, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 3, + 28, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ] +] diff --git a/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz b/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..114808c32b Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz new file mode 100644 index 0000000000..34fa5d69aa Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/inputs/PLAN.json b/research/gmx-t74-borrow43-handoff/inputs/PLAN.json new file mode 100644 index 0000000000..5af9dd2082 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/PLAN.json @@ -0,0 +1,231468 @@ +{ + "status": "EXPLICIT_MIXED_T37_ENTRANCE_NOMINATION", + "mode": "mixed-t37-entrances", + "K": 4, + "T": 37, + "M": 73, + "L": 9, + "live": 33152, + "deficit": 11840, + "profile": { + "1": 779556, + "2": 169496, + "3": 138694, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "0,1": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "0,3": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "1,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "1,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "2,1": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + ], + "2,3": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "8,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "8,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "4,1": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "4,3": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "9,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "9,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "5,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "5,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "10,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "10,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "6,1": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "6,3": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "11,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "11,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "7,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "7,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "12,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "12,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "8,1": [ + 8, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "8,3": [ + 8, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "13,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "13,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "9,1": [ + 8, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "9,3": [ + 8, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "0,5": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "0,7": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "14,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "14,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "10,1": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "10,3": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "1,5": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "1,7": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "15,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "15,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ] + ], + "11,1": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "11,3": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "2,5": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "2,7": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "16,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "16,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "12,1": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "12,3": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "3,5": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "3,7": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "17,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "17,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "8,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "8,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "13,1": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "13,3": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "4,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "4,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "18,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "18,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "9,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "9,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ] + ], + "14,1": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73 + ] + ], + "14,3": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73 + ] + ], + "5,5": [ + 8, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "5,7": [ + 8, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "19,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "19,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "10,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "10,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "15,1": [ + 8, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "15,3": [ + 8, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "6,5": [ + 8, + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "6,7": [ + 8, + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "20,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "20,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "11,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "11,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + ], + "16,1": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ] + ], + "16,3": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ] + ], + "7,5": [ + 8, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "7,7": [ + 8, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "21,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "21,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "12,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "12,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "17,1": [ + 8, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "17,3": [ + 8, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "8,5": [ + 8, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "8,7": [ + 8, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "22,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "22,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "13,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "13,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "18,1": [ + 8, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "18,3": [ + 8, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "9,5": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + ], + "9,7": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + ], + "23,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ] + ], + "23,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ] + ], + "0,9": [ + 8, + [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "0,11": [ + 8, + [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "14,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "14,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "19,1": [ + 8, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "19,3": [ + 8, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "10,5": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "10,7": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "24,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "24,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "1,9": [ + 8, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "1,11": [ + 8, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "15,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "15,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110 + ] + ], + "20,1": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ] + ], + "20,3": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ] + ], + "11,5": [ + 8, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "11,7": [ + 8, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "25,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "25,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "2,9": [ + 8, + [ + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "2,11": [ + 8, + [ + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "16,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "16,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "21,1": [ + 8, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "21,3": [ + 8, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "12,5": [ + 8, + [ + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "12,7": [ + 8, + [ + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "26,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ] + ], + "26,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ] + ], + "3,9": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 + ] + ], + "3,11": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 + ] + ], + "17,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "17,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "8,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "8,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "22,1": [ + 8, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "22,3": [ + 8, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "13,5": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "13,7": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "27,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "27,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "4,9": [ + 8, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ] + ], + "4,11": [ + 8, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ] + ], + "18,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ] + ], + "18,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ] + ], + "9,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "9,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "23,1": [ + 8, + [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "23,3": [ + 8, + [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "14,5": [ + 8, + [ + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134 + ] + ], + "14,7": [ + 8, + [ + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134 + ] + ], + "28,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135 + ] + ], + "28,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135 + ] + ], + "5,9": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,11": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "19,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "19,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "10,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139 + ] + ], + "10,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139 + ] + ], + "24,1": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "24,3": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "15,5": [ + 8, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "15,7": [ + 8, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "29,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "29,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "6,9": [ + 8, + [ + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144 + ] + ], + "6,11": [ + 8, + [ + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144 + ] + ], + "20,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145 + ] + ], + "20,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145 + ] + ], + "11,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147 + ] + ], + "11,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147 + ] + ], + "25,1": [ + 8, + [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ] + ], + "25,3": [ + 8, + [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ] + ], + "16,5": [ + 8, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ] + ], + "16,7": [ + 8, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ] + ], + "30,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151 + ] + ], + "30,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151 + ] + ], + "7,9": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152 + ] + ], + "7,11": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152 + ] + ], + "21,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153 + ] + ], + "21,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153 + ] + ], + "12,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155 + ] + ], + "12,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155 + ] + ], + "26,1": [ + 8, + [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ] + ], + "26,3": [ + 8, + [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ] + ], + "17,5": [ + 8, + [ + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ] + ], + "17,7": [ + 8, + [ + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ] + ], + "31,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ] + ], + "31,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ] + ], + "8,9": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160 + ] + ], + "8,11": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160 + ] + ], + "22,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ] + ], + "22,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ] + ], + "13,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163 + ] + ], + "13,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163 + ] + ], + "27,1": [ + 8, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ] + ], + "27,3": [ + 8, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ] + ], + "18,5": [ + 8, + [ + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166 + ] + ], + "18,7": [ + 8, + [ + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166 + ] + ], + "32,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 + ] + ], + "32,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 + ] + ], + "9,9": [ + 8, + [ + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168 + ] + ], + "9,11": [ + 8, + [ + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168 + ] + ], + "23,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169 + ] + ], + "23,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169 + ] + ], + "0,12": [ + 48, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,13": [ + 48, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,14": [ + 32, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,15": [ + 32, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,16": [ + 16, + [ + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,17": [ + 16, + [ + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "14,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ] + ], + "14,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ] + ], + "28,1": [ + 8, + [ + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172 + ] + ], + "28,3": [ + 8, + [ + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172 + ] + ], + "19,5": [ + 8, + [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174 + ] + ], + "19,7": [ + 8, + [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174 + ] + ], + "33,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175 + ] + ], + "33,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175 + ] + ], + "10,9": [ + 8, + [ + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176 + ] + ], + "10,11": [ + 8, + [ + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176 + ] + ], + "24,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177 + ] + ], + "24,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177 + ] + ], + "1,12": [ + 48, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,13": [ + 48, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,14": [ + 32, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,15": [ + 32, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,16": [ + 16, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,17": [ + 16, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "15,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179 + ] + ], + "15,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179 + ] + ], + "29,1": [ + 8, + [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180 + ] + ], + "29,3": [ + 8, + [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180 + ] + ], + "20,5": [ + 8, + [ + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182 + ] + ], + "20,7": [ + 8, + [ + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182 + ] + ], + "34,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183 + ] + ], + "34,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183 + ] + ], + "11,9": [ + 8, + [ + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ] + ], + "11,11": [ + 8, + [ + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ] + ], + "25,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185 + ] + ], + "25,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185 + ] + ], + "2,12": [ + 48, + [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,13": [ + 48, + [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,14": [ + 32, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,15": [ + 32, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,16": [ + 16, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,17": [ + 16, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "16,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ] + ], + "16,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ] + ], + "30,1": [ + 8, + [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188 + ] + ], + "30,3": [ + 8, + [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188 + ] + ], + "21,5": [ + 8, + [ + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ] + ], + "21,7": [ + 8, + [ + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ] + ], + "35,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191 + ] + ], + "35,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191 + ] + ], + "12,9": [ + 8, + [ + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192 + ] + ], + "12,11": [ + 8, + [ + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192 + ] + ], + "26,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193 + ] + ], + "26,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193 + ] + ], + "3,12": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,13": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,14": [ + 32, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,15": [ + 32, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,16": [ + 16, + [ + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,17": [ + 16, + [ + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "17,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ] + ], + "17,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ] + ], + "31,1": [ + 8, + [ + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ] + ], + "31,3": [ + 8, + [ + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ] + ], + "22,5": [ + 8, + [ + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198 + ] + ], + "22,7": [ + 8, + [ + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198 + ] + ], + "36,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 + ] + ], + "36,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 + ] + ], + "13,9": [ + 8, + [ + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200 + ] + ], + "13,11": [ + 8, + [ + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200 + ] + ], + "27,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201 + ] + ], + "27,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201 + ] + ], + "4,12": [ + 48, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,13": [ + 48, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,14": [ + 32, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,15": [ + 32, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,16": [ + 16, + [ + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,17": [ + 16, + [ + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "18,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203 + ] + ], + "18,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203 + ] + ], + "32,1": [ + 8, + [ + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204 + ] + ], + "32,3": [ + 8, + [ + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204 + ] + ], + "23,5": [ + 8, + [ + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206 + ] + ], + "23,7": [ + 8, + [ + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206 + ] + ], + "14,9": [ + 8, + [ + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207 + ] + ], + "14,11": [ + 8, + [ + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207 + ] + ], + "28,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208 + ] + ], + "28,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208 + ] + ], + "5,12": [ + 48, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,13": [ + 48, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,14": [ + 32, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,15": [ + 32, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,16": [ + 16, + [ + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,17": [ + 16, + [ + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "19,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ] + ], + "19,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ] + ], + "33,1": [ + 8, + [ + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211 + ] + ], + "33,3": [ + 8, + [ + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211 + ] + ], + "24,5": [ + 8, + [ + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213 + ] + ], + "24,7": [ + 8, + [ + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213 + ] + ], + "15,9": [ + 8, + [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ] + ], + "15,11": [ + 8, + [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ] + ], + "29,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215 + ] + ], + "29,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215 + ] + ], + "6,12": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,13": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,14": [ + 32, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,15": [ + 32, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,16": [ + 16, + [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,17": [ + 16, + [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "20,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217 + ] + ], + "20,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217 + ] + ], + "34,1": [ + 8, + [ + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ] + ], + "34,3": [ + 8, + [ + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ] + ], + "25,5": [ + 8, + [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220 + ] + ], + "25,7": [ + 8, + [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220 + ] + ], + "16,9": [ + 8, + [ + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221 + ] + ], + "16,11": [ + 8, + [ + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221 + ] + ], + "30,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222 + ] + ], + "30,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222 + ] + ], + "7,12": [ + 48, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,13": [ + 48, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,14": [ + 32, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,15": [ + 32, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,16": [ + 16, + [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,17": [ + 16, + [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "21,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224 + ] + ], + "21,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224 + ] + ], + "35,1": [ + 8, + [ + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225 + ] + ], + "35,3": [ + 8, + [ + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225 + ] + ], + "26,5": [ + 8, + [ + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227 + ] + ], + "26,7": [ + 8, + [ + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227 + ] + ], + "17,9": [ + 8, + [ + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228 + ] + ], + "17,11": [ + 8, + [ + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228 + ] + ], + "31,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ] + ], + "31,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ] + ], + "8,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,14": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,15": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,16": [ + 16, + [ + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,17": [ + 16, + [ + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "22,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231 + ] + ], + "22,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231 + ] + ], + "36,1": [ + 8, + [ + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232 + ] + ], + "36,3": [ + 8, + [ + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232 + ] + ], + "27,5": [ + 8, + [ + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234 + ] + ], + "27,7": [ + 8, + [ + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234 + ] + ], + "18,9": [ + 8, + [ + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235 + ] + ], + "18,11": [ + 8, + [ + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235 + ] + ], + "32,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ] + ], + "32,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ] + ], + "9,12": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,13": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,14": [ + 32, + [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,15": [ + 32, + [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,16": [ + 16, + [ + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,17": [ + 16, + [ + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "23,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238 + ] + ], + "23,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238 + ] + ], + "28,5": [ + 8, + [ + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ] + ], + "28,7": [ + 8, + [ + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ] + ], + "19,9": [ + 8, + [ + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241 + ] + ], + "19,11": [ + 8, + [ + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241 + ] + ], + "33,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242 + ] + ], + "33,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242 + ] + ], + "10,12": [ + 48, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,13": [ + 48, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,14": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,15": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,16": [ + 16, + [ + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,17": [ + 16, + [ + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "24,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244 + ] + ], + "24,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244 + ] + ], + "29,5": [ + 8, + [ + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246 + ] + ], + "29,7": [ + 8, + [ + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246 + ] + ], + "20,9": [ + 8, + [ + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ] + ], + "20,11": [ + 8, + [ + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ] + ], + "34,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248 + ] + ], + "34,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248 + ] + ], + "11,12": [ + 48, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,13": [ + 48, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,14": [ + 32, + [ + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,15": [ + 32, + [ + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,16": [ + 16, + [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,17": [ + 16, + [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "25,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250 + ] + ], + "25,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250 + ] + ], + "30,5": [ + 8, + [ + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ] + ], + "30,7": [ + 8, + [ + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ] + ], + "21,9": [ + 8, + [ + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253 + ] + ], + "21,11": [ + 8, + [ + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253 + ] + ], + "35,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ] + ], + "35,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ] + ], + "12,12": [ + 48, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,13": [ + 48, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,14": [ + 32, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,15": [ + 32, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,16": [ + 16, + [ + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,17": [ + 16, + [ + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "26,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256 + ] + ], + "26,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256 + ] + ], + "31,5": [ + 8, + [ + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258 + ] + ], + "31,7": [ + 8, + [ + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258 + ] + ], + "22,9": [ + 8, + [ + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259 + ] + ], + "22,11": [ + 8, + [ + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259 + ] + ], + "36,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260 + ] + ], + "36,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260 + ] + ], + "13,12": [ + 48, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,13": [ + 48, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,14": [ + 32, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,15": [ + 32, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,16": [ + 16, + [ + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,17": [ + 16, + [ + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "27,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ] + ], + "27,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ] + ], + "32,5": [ + 8, + [ + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264 + ] + ], + "32,7": [ + 8, + [ + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264 + ] + ], + "23,9": [ + 8, + [ + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265 + ] + ], + "23,11": [ + 8, + [ + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265 + ] + ], + "14,12": [ + 48, + [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,13": [ + 48, + [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,14": [ + 32, + [ + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,15": [ + 32, + [ + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,16": [ + 16, + [ + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,17": [ + 16, + [ + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "28,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267 + ] + ], + "28,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267 + ] + ], + "33,5": [ + 8, + [ + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269 + ] + ], + "33,7": [ + 8, + [ + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269 + ] + ], + "24,9": [ + 8, + [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270 + ] + ], + "24,11": [ + 8, + [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270 + ] + ], + "15,12": [ + 48, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,13": [ + 48, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,14": [ + 32, + [ + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,15": [ + 32, + [ + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,16": [ + 16, + [ + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,17": [ + 16, + [ + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "29,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272 + ] + ], + "29,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272 + ] + ], + "34,5": [ + 8, + [ + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 + ] + ], + "34,7": [ + 8, + [ + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 + ] + ], + "25,9": [ + 8, + [ + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275 + ] + ], + "25,11": [ + 8, + [ + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275 + ] + ], + "16,12": [ + 48, + [ + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,13": [ + 48, + [ + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,14": [ + 32, + [ + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,15": [ + 32, + [ + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,16": [ + 16, + [ + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,17": [ + 16, + [ + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "30,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277 + ] + ], + "30,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277 + ] + ], + "35,5": [ + 8, + [ + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279 + ] + ], + "35,7": [ + 8, + [ + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279 + ] + ], + "26,9": [ + 8, + [ + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280 + ] + ], + "26,11": [ + 8, + [ + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280 + ] + ], + "17,12": [ + 48, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,13": [ + 48, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,14": [ + 32, + [ + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,15": [ + 32, + [ + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,16": [ + 16, + [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,17": [ + 16, + [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "31,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282 + ] + ], + "31,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282 + ] + ], + "36,5": [ + 8, + [ + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284 + ] + ], + "36,7": [ + 8, + [ + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284 + ] + ], + "27,9": [ + 8, + [ + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285 + ] + ], + "27,11": [ + 8, + [ + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285 + ] + ], + "18,12": [ + 48, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,13": [ + 48, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,14": [ + 32, + [ + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,15": [ + 32, + [ + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,16": [ + 16, + [ + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,17": [ + 16, + [ + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "32,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287 + ] + ], + "32,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287 + ] + ], + "28,9": [ + 8, + [ + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289 + ] + ], + "28,11": [ + 8, + [ + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289 + ] + ], + "19,12": [ + 48, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,13": [ + 48, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,14": [ + 32, + [ + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,15": [ + 32, + [ + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,16": [ + 16, + [ + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,17": [ + 16, + [ + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "33,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 + ] + ], + "33,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 + ] + ], + "29,9": [ + 8, + [ + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293 + ] + ], + "29,11": [ + 8, + [ + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293 + ] + ], + "20,12": [ + 48, + [ + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,13": [ + 48, + [ + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,14": [ + 32, + [ + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,15": [ + 32, + [ + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,16": [ + 16, + [ + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,17": [ + 16, + [ + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "34,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295 + ] + ], + "34,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295 + ] + ], + "30,9": [ + 8, + [ + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297 + ] + ], + "30,11": [ + 8, + [ + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297 + ] + ], + "21,12": [ + 48, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,13": [ + 48, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,14": [ + 32, + [ + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,15": [ + 32, + [ + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,16": [ + 16, + [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,17": [ + 16, + [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "35,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299 + ] + ], + "35,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299 + ] + ], + "31,9": [ + 8, + [ + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301 + ] + ], + "31,11": [ + 8, + [ + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301 + ] + ], + "22,12": [ + 48, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,13": [ + 48, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,14": [ + 32, + [ + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,15": [ + 32, + [ + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,16": [ + 16, + [ + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,17": [ + 16, + [ + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "36,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ] + ], + "36,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ] + ], + "32,9": [ + 8, + [ + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305 + ] + ], + "32,11": [ + 8, + [ + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305 + ] + ], + "23,12": [ + 48, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,13": [ + 48, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,14": [ + 32, + [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,15": [ + 32, + [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,16": [ + 16, + [ + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,17": [ + 16, + [ + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "33,9": [ + 8, + [ + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308 + ] + ], + "33,11": [ + 8, + [ + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308 + ] + ], + "24,12": [ + 48, + [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,13": [ + 48, + [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,14": [ + 32, + [ + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,15": [ + 32, + [ + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,16": [ + 16, + [ + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,17": [ + 16, + [ + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "34,9": [ + 8, + [ + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311 + ] + ], + "34,11": [ + 8, + [ + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311 + ] + ], + "25,12": [ + 48, + [ + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,13": [ + 48, + [ + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,14": [ + 32, + [ + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,15": [ + 32, + [ + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,16": [ + 16, + [ + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,17": [ + 16, + [ + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "35,9": [ + 8, + [ + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314 + ] + ], + "35,11": [ + 8, + [ + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314 + ] + ], + "26,12": [ + 48, + [ + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,13": [ + 48, + [ + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,14": [ + 32, + [ + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,15": [ + 32, + [ + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,16": [ + 16, + [ + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,17": [ + 16, + [ + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "36,9": [ + 8, + [ + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317 + ] + ], + "36,11": [ + 8, + [ + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317 + ] + ], + "27,12": [ + 48, + [ + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,13": [ + 48, + [ + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,14": [ + 32, + [ + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,15": [ + 32, + [ + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,16": [ + 16, + [ + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,17": [ + 16, + [ + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "28,12": [ + 48, + [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,13": [ + 48, + [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,14": [ + 32, + [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,15": [ + 32, + [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,16": [ + 16, + [ + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,17": [ + 16, + [ + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "29,12": [ + 48, + [ + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,13": [ + 48, + [ + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,14": [ + 32, + [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,15": [ + 32, + [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,16": [ + 16, + [ + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,17": [ + 16, + [ + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "30,12": [ + 48, + [ + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,13": [ + 48, + [ + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,14": [ + 32, + [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,15": [ + 32, + [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,16": [ + 16, + [ + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,17": [ + 16, + [ + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "31,12": [ + 48, + [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,13": [ + 48, + [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,14": [ + 32, + [ + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,15": [ + 32, + [ + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,16": [ + 16, + [ + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,17": [ + 16, + [ + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "32,12": [ + 48, + [ + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,13": [ + 48, + [ + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,14": [ + 32, + [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,15": [ + 32, + [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,16": [ + 16, + [ + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,17": [ + 16, + [ + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "33,12": [ + 48, + [ + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,13": [ + 48, + [ + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,14": [ + 32, + [ + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,15": [ + 32, + [ + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,16": [ + 16, + [ + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,17": [ + 16, + [ + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "34,12": [ + 48, + [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,13": [ + 48, + [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,14": [ + 32, + [ + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,15": [ + 32, + [ + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,16": [ + 16, + [ + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,17": [ + 16, + [ + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "35,12": [ + 48, + [ + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,13": [ + 48, + [ + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,14": [ + 32, + [ + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,15": [ + 32, + [ + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,16": [ + 16, + [ + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,17": [ + 16, + [ + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "36,12": [ + 48, + [ + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,13": [ + 48, + [ + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,14": [ + 32, + [ + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,15": [ + 32, + [ + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,16": [ + 16, + [ + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,17": [ + 16, + [ + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "exact integer flow and matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 2, + "stage": 0, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 3, + "stage": 0, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 4, + "stage": 0, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 5, + "stage": 1, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 6, + "stage": 0, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 7, + "stage": 1, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 8, + "stage": 0, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 9, + "stage": 1, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 10, + "stage": 0, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 12, + "stage": 0, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 13, + "stage": 1, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 14, + "stage": 0, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 15, + "stage": 2, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 16, + "stage": 1, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 17, + "stage": 0, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 18, + "stage": 2, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 19, + "stage": 1, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 20, + "stage": 0, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 21, + "stage": 2, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 22, + "stage": 1, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 23, + "stage": 0, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 24, + "stage": 2, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 25, + "stage": 1, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 26, + "stage": 0, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 27, + "stage": 2, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 28, + "stage": 1, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 29, + "stage": 3, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 30, + "stage": 0, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 31, + "stage": 2, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 32, + "stage": 1, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 33, + "stage": 3, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 34, + "stage": 0, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 35, + "stage": 2, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 36, + "stage": 1, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 37, + "stage": 3, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 38, + "stage": 0, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 39, + "stage": 2, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 40, + "stage": 1, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 41, + "stage": 3, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 42, + "stage": 0, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 43, + "stage": 2, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 44, + "stage": 1, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 45, + "stage": 3, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 46, + "stage": 0, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 47, + "stage": 2, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 48, + "stage": 4, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 49, + "stage": 1, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 50, + "stage": 3, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 51, + "stage": 0, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 52, + "stage": 2, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 53, + "stage": 4, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 54, + "stage": 1, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 55, + "stage": 3, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 56, + "stage": 0, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 57, + "stage": 2, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 58, + "stage": 4, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 59, + "stage": 1, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 60, + "stage": 3, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 61, + "stage": 0, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 62, + "stage": 2, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 63, + "stage": 4, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 64, + "stage": 1, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 65, + "stage": 3, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 66, + "stage": 0, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 67, + "stage": 2, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 68, + "stage": 4, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 69, + "stage": 1, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 70, + "stage": 3, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 71, + "stage": 0, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 72, + "stage": 5, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 73, + "stage": 2, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 74, + "stage": 4, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 75, + "stage": 1, + "replica": 19, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 76, + "stage": 3, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 77, + "stage": 0, + "replica": 24, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 78, + "stage": 5, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 79, + "stage": 2, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 80, + "stage": 4, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 81, + "stage": 1, + "replica": 20, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 82, + "stage": 3, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 83, + "stage": 0, + "replica": 25, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 84, + "stage": 5, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 85, + "stage": 2, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 86, + "stage": 4, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 87, + "stage": 1, + "replica": 21, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 88, + "stage": 3, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 89, + "stage": 0, + "replica": 26, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 90, + "stage": 5, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 91, + "stage": 2, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 92, + "stage": 4, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 93, + "stage": 1, + "replica": 22, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 94, + "stage": 3, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 95, + "stage": 0, + "replica": 27, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 96, + "stage": 5, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 97, + "stage": 2, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 98, + "stage": 4, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 99, + "stage": 1, + "replica": 23, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 100, + "stage": 6, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 101, + "stage": 3, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 102, + "stage": 0, + "replica": 28, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 103, + "stage": 5, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 104, + "stage": 2, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 105, + "stage": 4, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 106, + "stage": 1, + "replica": 24, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 107, + "stage": 6, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 108, + "stage": 3, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 109, + "stage": 0, + "replica": 29, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 110, + "stage": 5, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 111, + "stage": 2, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 112, + "stage": 4, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 113, + "stage": 1, + "replica": 25, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 114, + "stage": 6, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 115, + "stage": 3, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 116, + "stage": 0, + "replica": 30, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 117, + "stage": 5, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 118, + "stage": 2, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 119, + "stage": 4, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 120, + "stage": 1, + "replica": 26, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 121, + "stage": 6, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 122, + "stage": 3, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 123, + "stage": 0, + "replica": 31, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 124, + "stage": 5, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 125, + "stage": 2, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 126, + "stage": 4, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 127, + "stage": 1, + "replica": 27, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 128, + "stage": 6, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 129, + "stage": 3, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 130, + "stage": 0, + "replica": 32, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 131, + "stage": 5, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 132, + "stage": 2, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 133, + "stage": 7, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 134, + "stage": 4, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 135, + "stage": 1, + "replica": 28, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 136, + "stage": 6, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 137, + "stage": 3, + "replica": 19, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 138, + "stage": 0, + "replica": 33, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 139, + "stage": 5, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 140, + "stage": 2, + "replica": 24, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 141, + "stage": 7, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 142, + "stage": 4, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 143, + "stage": 1, + "replica": 29, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 144, + "stage": 6, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 145, + "stage": 3, + "replica": 20, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 146, + "stage": 0, + "replica": 34, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 147, + "stage": 5, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 148, + "stage": 2, + "replica": 25, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 149, + "stage": 7, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 150, + "stage": 4, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 151, + "stage": 1, + "replica": 30, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 152, + "stage": 6, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 153, + "stage": 3, + "replica": 21, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 154, + "stage": 0, + "replica": 35, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 155, + "stage": 5, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 156, + "stage": 2, + "replica": 26, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 157, + "stage": 7, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 158, + "stage": 4, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 159, + "stage": 1, + "replica": 31, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 160, + "stage": 6, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 161, + "stage": 3, + "replica": 22, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 162, + "stage": 0, + "replica": 36, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 163, + "stage": 5, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 164, + "stage": 2, + "replica": 27, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 165, + "stage": 7, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 166, + "stage": 4, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 167, + "stage": 1, + "replica": 32, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 168, + "stage": 6, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 169, + "stage": 3, + "replica": 23, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 170, + "stage": 8, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 171, + "stage": 5, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 172, + "stage": 2, + "replica": 28, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 173, + "stage": 7, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 174, + "stage": 4, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 175, + "stage": 1, + "replica": 33, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 176, + "stage": 6, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 177, + "stage": 3, + "replica": 24, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 178, + "stage": 8, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 179, + "stage": 5, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 180, + "stage": 2, + "replica": 29, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 181, + "stage": 7, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 182, + "stage": 4, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 183, + "stage": 1, + "replica": 34, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 184, + "stage": 6, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 185, + "stage": 3, + "replica": 25, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 186, + "stage": 8, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 187, + "stage": 5, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 188, + "stage": 2, + "replica": 30, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 189, + "stage": 7, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 190, + "stage": 4, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 191, + "stage": 1, + "replica": 35, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 192, + "stage": 6, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 193, + "stage": 3, + "replica": 26, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 194, + "stage": 8, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 195, + "stage": 5, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 196, + "stage": 2, + "replica": 31, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 197, + "stage": 7, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 198, + "stage": 4, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 199, + "stage": 1, + "replica": 36, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 200, + "stage": 6, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 201, + "stage": 3, + "replica": 27, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 202, + "stage": 8, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 203, + "stage": 5, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 204, + "stage": 2, + "replica": 32, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 205, + "stage": 7, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 206, + "stage": 4, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 207, + "stage": 6, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 208, + "stage": 3, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 209, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 210, + "stage": 5, + "replica": 19, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 211, + "stage": 2, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 212, + "stage": 7, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 213, + "stage": 4, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 214, + "stage": 6, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 215, + "stage": 3, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 216, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 217, + "stage": 5, + "replica": 20, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 218, + "stage": 2, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 219, + "stage": 7, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 220, + "stage": 4, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 221, + "stage": 6, + "replica": 16, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 222, + "stage": 3, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 223, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 224, + "stage": 5, + "replica": 21, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 225, + "stage": 2, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 226, + "stage": 7, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 227, + "stage": 4, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 228, + "stage": 6, + "replica": 17, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 229, + "stage": 3, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 230, + "stage": 8, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 231, + "stage": 5, + "replica": 22, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 232, + "stage": 2, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 233, + "stage": 7, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 234, + "stage": 4, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 235, + "stage": 6, + "replica": 18, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 236, + "stage": 3, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 237, + "stage": 8, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 238, + "stage": 5, + "replica": 23, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 239, + "stage": 7, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 240, + "stage": 4, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 241, + "stage": 6, + "replica": 19, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 242, + "stage": 3, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 243, + "stage": 8, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 244, + "stage": 5, + "replica": 24, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 245, + "stage": 7, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 246, + "stage": 4, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 247, + "stage": 6, + "replica": 20, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 248, + "stage": 3, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 249, + "stage": 8, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 250, + "stage": 5, + "replica": 25, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 251, + "stage": 7, + "replica": 16, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 252, + "stage": 4, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 253, + "stage": 6, + "replica": 21, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 254, + "stage": 3, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 255, + "stage": 8, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 256, + "stage": 5, + "replica": 26, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 257, + "stage": 7, + "replica": 17, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 258, + "stage": 4, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 259, + "stage": 6, + "replica": 22, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 260, + "stage": 3, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 261, + "stage": 8, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 262, + "stage": 5, + "replica": 27, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 263, + "stage": 7, + "replica": 18, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 264, + "stage": 4, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 265, + "stage": 6, + "replica": 23, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 266, + "stage": 8, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 267, + "stage": 5, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 268, + "stage": 7, + "replica": 19, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 269, + "stage": 4, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 270, + "stage": 6, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 271, + "stage": 8, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 272, + "stage": 5, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 273, + "stage": 7, + "replica": 20, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 274, + "stage": 4, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 275, + "stage": 6, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 276, + "stage": 8, + "replica": 16, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 277, + "stage": 5, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 278, + "stage": 7, + "replica": 21, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 279, + "stage": 4, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 280, + "stage": 6, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 281, + "stage": 8, + "replica": 17, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 282, + "stage": 5, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 283, + "stage": 7, + "replica": 22, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 284, + "stage": 4, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 285, + "stage": 6, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 286, + "stage": 8, + "replica": 18, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 287, + "stage": 5, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 288, + "stage": 7, + "replica": 23, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 289, + "stage": 6, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 290, + "stage": 8, + "replica": 19, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 291, + "stage": 5, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 292, + "stage": 7, + "replica": 24, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 293, + "stage": 6, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 294, + "stage": 8, + "replica": 20, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 295, + "stage": 5, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 296, + "stage": 7, + "replica": 25, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 297, + "stage": 6, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 298, + "stage": 8, + "replica": 21, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 299, + "stage": 5, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 300, + "stage": 7, + "replica": 26, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 301, + "stage": 6, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 302, + "stage": 8, + "replica": 22, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 303, + "stage": 5, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 304, + "stage": 7, + "replica": 27, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 305, + "stage": 6, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 306, + "stage": 8, + "replica": 23, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 307, + "stage": 7, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 308, + "stage": 6, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 309, + "stage": 8, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 310, + "stage": 7, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 311, + "stage": 6, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 312, + "stage": 8, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 313, + "stage": 7, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 314, + "stage": 6, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 315, + "stage": 8, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 316, + "stage": 7, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 317, + "stage": 6, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 318, + "stage": 8, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 319, + "stage": 7, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 320, + "stage": 8, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 321, + "stage": 7, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 322, + "stage": 8, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 323, + "stage": 7, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 324, + "stage": 8, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 325, + "stage": 7, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 326, + "stage": 8, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 327, + "stage": 7, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 328, + "stage": 8, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 329, + "stage": 8, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 330, + "stage": 8, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 331, + "stage": 8, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 332, + "stage": 8, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "6154a20efd7dc4fc1f774676daed2bce47c9c2772a4e1c274a15d97f6fc2d783", + "RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638", + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + } + }, + "extra": { + "directory": "providers/extra", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "1f8a65f2f97628c91b813df1e49e9a3672081e53a924493a10e570afb282e924", + "RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06", + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + } + } + }, + "source_plan_sha256": "c5da66a8061a86ca7d3eab975829488f6c086a59966150b193d614ff0d0c4847", + "assignment_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "source_owners_sha256": "c41fdf51541ecc91af914f264967f3633570500994f8866daf642440a5d843dd", + "assignment_content_sha256": "199fb748b620d115431e183bb459366356774c39bffcdd3e2d6f7d385b6ad888", + "replica_lift": { + "groups": [ + 8, + 8, + 8, + 8, + 5 + ], + "source_replicas": 8, + "replicas": 37, + "parent_template_content_sha256": "514e59314c8e2fa3c22d0a48083816f6686211090835e8f8775318c1c3e992d8", + "owners_file_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "schedule_content_sha256": "fb86346be60ae00c88ff41f77906aae3c9d8fc488d63cd4abbfa03c4785c2d2d", + "window_semantics": "Strict physical source-event intervals, including bridges" + } +} diff --git a/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json b/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gmx-t74-borrow43-handoff/inputs/SPEC.json b/research/gmx-t74-borrow43-handoff/inputs/SPEC.json new file mode 100644 index 0000000000..c15990ace6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/SPEC.json @@ -0,0 +1,4287 @@ +{ + "schema": "witness-spec/1", + "name": "mixed-t37-entrances", + "data": { + "plan_sha256": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "owners_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f" + }, + "dispatch": [ + [ + 0, + 0, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 3, + 28, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "artifacts": { + "LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + } + }, + "semantic_phase_sha256": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + }, + "extra": { + "inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + }, + "entering": 192, + "entrance": 368, + "width_digest": "ec44b5b214538eafbd921a70a1881e38212a3e101ebf7f35427b971a6447de3f", + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "artifacts": { + "LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 368, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + } + }, + "semantic_phase_sha256": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "838166083799229/500000000000000000", + "hosted_residuals": 159840, + "rank_mass": 2408256, + "actual_73column_sigmas": 11144, + "cross_replica_helper_roles": 148150, + "idle_remainders": 11376, + "idle_remainder_profile": { + "1": 2, + "48": 11374 + }, + "global_profile": { + "1": 779556, + "2": 169496, + "3": 138694, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "live": 33152, + "physical": 33642, + "conservative_kappa_decimal": "0.001676854975814691", + "kappa_decimal": "0.001676854978651125", + "complex_lower": "839835772121293724651/500000000000000000000000", + "conservative_complex_lower": "104979471337288528251/62500000000000000000000", + "kappa": "13414839829209/8000000000000000", + "assembly_controls_rejected": 114, + "provider_counts": { + "extra": 208, + "gauge44": 125 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gmx-t74-borrow43-handoff/lift_parent.py b/research/gmx-t74-borrow43-handoff/lift_parent.py new file mode 100644 index 0000000000..3331049d41 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/lift_parent.py @@ -0,0 +1,46 @@ +import argparse,copy,gzip,hashlib,importlib.util,json,shutil +from pathlib import Path +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--owners',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();P=a.owners.resolve();D=a.out.resolve();D.mkdir(exist_ok=False) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,v): + b=json.dumps(v,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def identity(v):return hashlib.sha256(json.dumps(v,sort_keys=True,separators=(',',':')).encode()).hexdigest() +src=F/'inputs';plan=rd(src/'PLAN.json');bp=rd(F/'new/BORROW-PROVIDERS.json') +for pid_,d_ in bp.items():plan['provider_registry'][pid_].update(widths=d_['widths'],actual_paid_profile={str(k):v for k,v in sorted({int(k):v for k,v in d_['actual_paid_profile'].items()}.items())}) +parent=rd(src/'GLOBAL-TEMPLATE.json.gz');original=copy.deepcopy(parent);copies=2;T=plan['T'];olddata=plan['live'];bank=parent['live']-olddata;newdata=copies*olddata;newlive=copies*parent['live'];delta=newlive-parent['live'];private=parent['physical']-parent['live'] +def family(f,g):return f+g*olddata if f fill conversion, realization (stage 2), exact pricing""" +import sys,collections,json,gzip,random;sys.path.insert(0,__import__('os').path.dirname(__import__('os').path.abspath(__file__))) +from base74 import * +cid={}; +for ci,c in enumerate(CL): + for b in cls[c]:cid[b]=ci +def to_agg(rows): + bins=collections.defaultdict(list) + for t,hh,rep,ch,port,off in rows:bins[rep,ch,port].append((t,wd[hh])) + x=collections.defaultdict(collections.Counter);y=collections.Counter() + for ci,c in enumerate(CL): + for b in cls[c]: + it=bins.get(b,[]);cnt=collections.Counter(w for t,w in it) + x[ci][tuple(cnt[w] for w in WID)]+=1 + for t,w in it:y[ci,t,w]+=1 + return x,y +def realize_class(ci,xc,yc,rng): + cap,lo,hi=CL[ci];bl=cls[CL[ci]] + slots=[] + for p,n in sorted(xc.items()): + for _ in range(n):slots.append(collections.Counter({w:k for w,k in zip(WID,p) if k})) + assert len(slots)==len(bl) + rem=[sum(s.values()) for s in slots] + byt=collections.defaultdict(list) + for (t,w),n in yc.items():byt[t]+= [w]*n + out=[[] for _ in bl] + for t in sorted(byt,key=lambda t:(-len(byt[t]),rng.random())): + used=set() + ws=list(byt[t]);rng.shuffle(ws) + # widths ordered by scarcity of bins offering them + avail={w:sum(1 for b in range(len(bl)) if slots[b][w]) for w in set(ws)} + for w in sorted(ws,key=lambda w:avail[w]): + best=None;bk=None + for b in range(len(bl)): + if b in used or not slots[b][w]:continue + k=(rem[b],slots[b][w],rng.random()) + if bk is None or k>bk:bk=k;best=b + if best is None:return None + used.add(best);slots[best][w]-=1;rem[best]-=1;out[best].append((t,w)) + assert all(r==0 for r in rem) + return {bl[b]:out[b] for b in range(len(bl))} +def realize_cp(ci,xc,yc,tl=60,maxv=None): + from ortools.sat.python import cp_model + bl=cls[CL[ci]];slots=[] + if maxv: + nv=sum(n*sum(1 for (t,w),k in yc.items() if k and p[WID.index(w)]) for p,n in xc.items()) + if nv>maxv:print(' realize_cp too big',ci,nv,flush=True);return None + for p,n in sorted(xc.items()): + for _ in range(n):slots.append(dict(zip(WID,p))) + m=cp_model.CpModel();z={} + for b in range(len(bl)): + for (t,w),n in yc.items(): + if n and slots[b][w]:z[b,t,w]=m.NewBoolVar('') + for (t,w),n in yc.items():m.Add(sum(z[b,t,w] for b in range(len(bl)) if (b,t,w) in z)==n) + bt=collections.defaultdict(list);bw=collections.defaultdict(list) + for (b,t,w),v in z.items():bt[b,t].append(v);bw[b,w].append(v) + for v in bt.values():m.AddAtMostOne(v) + for b in range(len(bl)): + for w in WID:m.Add(sum(bw[b,w])==slots[b][w]) + s=cp_model.CpSolver();s.parameters.max_time_in_seconds=tl;s.parameters.num_workers=1 + st=s.Solve(m) + if st not in (cp_model.OPTIMAL,cp_model.FEASIBLE): + print(' realize_cp',ci,CL[ci],s.StatusName(st),len(z),dict(xc),flush=True);return None + out=collections.defaultdict(list) + for (b,t,w),v in z.items(): + if s.Value(v):out[bl[b]].append((t,w)) + return {b:out.get(b,[]) for b in bl} +def realize(x,y,seed=0,base_rows=None): + rng=random.Random(seed) + keep={} + if base_rows is not None: + bx,byy=to_agg(base_rows);bby=collections.defaultdict(collections.Counter) + for (ci,t,w),n in byy.items(): + if n:bby[ci][t,w]+=n + yb2=collections.defaultdict(collections.Counter) + for (ci,t,w),n in y.items(): + if n:yb2[ci][t,w]+=n + same={ci for ci in range(len(CL)) if +bx[ci]==+x[ci] and bby[ci]==yb2[ci]} + for r in base_rows: + ci=cid[tuple(r[2:5])] + if ci in same:keep.setdefault(ci,[]).append(list(r)) + print('reusing',len(same),'classes from base',flush=True) + yby=collections.defaultdict(collections.Counter) + for (ci,t,w),n in y.items(): + if n:yby[ci][t,w]+=n + hel={t:collections.defaultdict(list) for t in range(len(order))} + for t in hel: + for i,w in enumerate(wd):hel[t][w].append(i) + rows=[];fails=[] + for ci in keep: + for r in keep[ci]: + t=r[0];hel[t][wd[r[1]]].remove(r[1]);rows.append(r) + for ci in range(len(CL)): + if ci in keep:continue + res=None + for k in range(300): + res=realize_class(ci,x[ci],yby[ci],rng) + if res:break + if res is None:res=realize_cp(ci,x[ci],yby[ci]) + if res is None:fails.append(ci);continue + for b,items in res.items(): + off=0 + for t,w in sorted(items): + rows.append([t,hel[t][w].pop(),b[0],b[1],b[2],off]);off+=w + return rows,fails +def idle_of(x): + I=collections.Counter() + for ci,xc in x.items(): + for p,n in xc.items(): + f=idle(CL[ci][0],p) + if f and n:I[f]+=n + return I +def save(rows,path): + open(path,'wb').write(gzip.compress(json.dumps(dict(columns=fill['columns'],dispatch_overrides=fill['dispatch_overrides'],rows=rows),separators=(',',':')).encode())) +if __name__=='__main__': + rows=read(sys.argv[1])['rows'];x,y=to_agg(rows);print('idle',dict(sorted(idle_of(x).items()))) + r2,fails=realize(x,y);print('fails',fails) + if not fails: + paid={p:{int(k):v for k,v in d['actual_paid_profile'].items()} for p,d in prov.items()} + widths={p:d['widths'] for p,d in prov.items()} + idl,H=check(r2,widths,paid);print('check ok',dict(sorted(idl.items())),kappa(H)) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/base74.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/base74.py new file mode 100644 index 0000000000..bbbe2e1320 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/base74.py @@ -0,0 +1,23 @@ +"""T74 aggregated window-class model pieces (classes = (cap,lo,hi) windows; one item per bin per call).""" +import sys,collections,math;sys.path.insert(0,__import__('os').path.dirname(__import__('os').path.abspath(__file__))) +from fillbase import * +WID=[4,5,7,8,9] +prov=read(P/'new/BORROW-PROVIDERS.json');wd=prov['gauge44']['widths'];assert all(d['widths']==wd for d in prov.values()) +DW=collections.Counter(wd) # per-call width demand +win={} +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(','));ts=sorted(times);assert ts==list(range(ts[0],ts[-1]+1));win[r,ch]=(cap,ts[0],ts[-1]) +cls=collections.defaultdict(list) +for (r,ch),(cap,lo,hi) in sorted(win.items()): + for p in range(112):cls[cap,lo,hi].append((r,ch,p)) +CL=sorted(cls) +K=0.0017037 +def h(f):return 0.0 if f<=0 else f*((73/f)**K-1) +def pats(cap): + out=[] + def rec(i,rem,cur): + if i==len(WID):out.append(tuple(cur));return + for c in range(rem//WID[i]+1):rec(i+1,rem-c*WID[i],cur+[c]) + rec(0,cap,[]);return out +PATS={c:pats(c) for c in (8,16,32,48)} +def idle(cap,p):return cap-sum(a*w for a,w in zip(p,WID)) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/ceil74.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/ceil74.py new file mode 100644 index 0000000000..0c7126fffb --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/ceil74.py @@ -0,0 +1,73 @@ +import sys;sys.path.insert(0,__import__("os").path.dirname(__import__("os").path.abspath(__file__))) +"""Rigorous class-level ceiling for the T74 alias inventory (bins 8:49728,16:33152,32:33152,48:33152; per call widths +{4:32,5:5,7:62,8:86,9:240} x 666 calls; paid profile per call fixed). Any fill induces integer pattern counts x_{c,p}; +the idle moment sum_bins phi_a(idle) is >= the LP dual value sum_c B_c y_c + sum_w N_w pi_w for ANY (y,pi) with +y_c + pi.p <= phi_a(idle(c,p)) for all patterns (weak duality). We take pi from a float LP, set y_c = min_p(...) in +interval arithmetic (so feasibility is exact) and certify M(a_ub) >= 1 => C <= a_ub for every fill. +argv: a_ub (decimal string) [a_lo for bisection report]""" +import sys,json +from mpmath import iv,mpf,mp +import numpy as np +from scipy.optimize import linprog +iv.dps=60;mp.dps=60 +W=[4,5,7,8,9];B={8:49728,16:33152,32:33152,48:33152};NC=666 +from inv import PER as per;N={w:per[w]*NC for w in W} +from inv import PAID as paid +m,WW=73,66304 +assert sum(B[c]*c for c in B)-sum(N[w]*w for w in W)>0 +def pats(c,i=0): + if i==len(W):yield ();return + for k in range(c//W[i]+1): + for r in pats(c-k*W[i],i+1):yield (k,)+r +PL=[(c,p) for c in B for p in pats(c)] +idle=lambda c,p:c-sum(a*w for a,w in zip(p,W)) +def phi_f(a,f):return 0.0 if f==0 else (f/m)*(m/f)**a/WW +def phi_iv(a,f): + if f==0:return iv.mpf(0) + return iv.mpf(f)/m*iv.exp(a*iv.log(iv.mpf(m)/f))/WW +def certify(astr): + af=float(astr);ai=iv.mpf(astr) + # float LP (dual of the class LP) : max sum B y + N pi s.t. y_c + pi.p <= phi + caps=list(B);nv=len(caps)+len(W) + A=[];b=[] + for c,p in PL: + row=[0.0]*nv;row[caps.index(c)]=1.0 + for j,k in enumerate(p):row[len(caps)+j]=k + A.append(row);b.append(phi_f(af,idle(c,p))) + cobj=[-B[c] for c in caps]+[-N[w] for w in W] + S=1e6 + r=linprog(cobj,A_ub=np.array(A),b_ub=np.array(b)*S,bounds=[(None,None)]*nv,method='highs') + assert r.status==0 + pi=[mpf(float(v))/S for v in r.x[len(caps):]] + piv=[iv.mpf(x) for x in pi] + y={c:None for c in caps} + for c,p in PL: + v=phi_iv(ai,idle(c,p))-sum(k*piv[j] for j,k in enumerate(p)) + y[c]=v if y[c] is None else iv.mpf([min(y[c].a,v.a),min(y[c].b,v.b)]) + # integrality: L = lattice spanned by the 11 zero-reduced-cost patterns Z (index 20 in Z^9). Every fill's pattern + # multiset sums to the target (B,N); patterns of Z are 0 in G=Z^9/L, so the remaining patterns must sum to the + # target's class in G. Their reduced costs are >=0, so sum_b rc_b >= shortest path 0 -> target in the Cayley graph. + from lattice import vec,hnf,reducer + Z=[(8,(0,0,0,1,0)),(16,(0,0,0,2,0)),(16,(0,0,1,0,1)),(32,(0,0,0,0,3)),(32,(0,0,0,4,0)),(32,(0,0,1,2,1)),(32,(0,0,2,0,2)),(32,(0,1,0,0,3)),(32,(1,0,0,0,3)),(48,(0,0,0,0,0)),(48,(0,0,0,0,5))] + red=reducer(hnf([vec(c,p) for c,p in Z]));tgt=red([B[c] for c in caps]+[N[w] for w in W]);zero=red([0]*9) + best={} + for c,p in PL: + g=red(vec(c,p)) + if g==zero:continue + rc=mpf((phi_iv(ai,idle(c,p))-sum(k*piv[j] for j,k in enumerate(p))-iv.mpf(y[c].a)).a) + assert rc>=0 + if g not in best or rc=1:',M.a>=1) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/evac.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/evac.py new file mode 100644 index 0000000000..945458b8dc --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/evac.py @@ -0,0 +1,55 @@ +"""greedy bin evacuation: for lightly used bins, move every role to best-fit holes elsewhere (window, family, capacity), accept if the idle moment drops. argv: FILL_IN PROV FILL_OUT""" +import sys,json,gzip,collections;sys.path.insert(0,__import__('os').path.dirname(__import__('os').path.abspath(__file__))) +from fillbase import * +pv=json.load(open(sys.argv[2]));widths=pv['widths'];paid={k:{int(a):b for a,b in v.items()} for k,v in pv['paid'].items()} +rows=[list(x) for x in read(sys.argv[1])['rows']] +win={} +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(','));ts=sorted(times);win[r,ch]=(cap,ts[0],ts[-1]) +wid=[widths[dispatch[tuple(order[x[0]])]][x[1]] for x in rows] +B=lambda i:tuple(rows[i][2:5]) +members=collections.defaultdict(set);used=collections.Counter();cf=collections.defaultdict(collections.Counter) +for i in range(len(rows)):members[B(i)].add(i);used[B(i)]+=wid[i];cf[rows[i][0]][family(*B(i))]+=1 +allbins=[(r,ch,p) for (r,ch) in win for p in range(112)] +K=0.0017037;g=lambda f:0.0 if f<=0 else f*(73/f)**K +cap=lambda b:win[b[:2]][0] +def move(i,b): + o=B(i);t=rows[i][0];members[o].discard(i);used[o]-=wid[i];cf[t][family(*o)]-=1 + rows[i][2],rows[i][3],rows[i][4]=b;members[b].add(i);used[b]+=wid[i];cf[t][family(*b)]+=1 +# holes index by free size +def holes(): + h=collections.defaultdict(list) + for b in allbins: + f=cap(b)-used[b] + if f>0 and not(cap(b)==48 and used[b]==0):h[f].append(b) + return h +tot=0;passes=0 +for rnd in range(3): + H=holes();cand=sorted([b for b in allbins if 0=wid[i] and lo<=t<=hi and cf[t][family(*hb)]+tmpcf[t,family(*hb)]==0:best=hb;break + if best:break + if not best:ok=False;break + plan.append((i,best));tmpused[best]+=wid[i];tmpcf[t,family(*best)]+=1 + if not ok:continue + touched={b}|{hb for _,hb in plan} + before=sum(g(cap(x)-used[x]) for x in touched) + after=g(cap(b))+sum(g(cap(x)-used[x]-tmpused[x]) for x in touched if x!=b) + if after evac.py and the aggregated window-class CP-SAT LNS (agg.py, lnstime.py) -> new/borrow-fill/FILL.json.gz. ceil74.py (+lattice.py, inv.py) certifies a class-level ceiling C <= a_ub for every fill of this inventory.""" +import json,gzip,importlib.util,collections +from pathlib import Path +import os +P=Path(os.environ.get('FILLPKG') or Path(__file__).resolve().parents[3]) # package root (research/gmx-t74-borrow43-handoff) unless FILLPKG is set +def read(p): + p=Path(p);b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +plan=read(P/'inputs/PLAN.json');parent=read(P/'inputs/GLOBAL-TEMPLATE.json.gz');T=plan['T'] +order=read(P/'new/borrow-fill/ORDER.json');dispatch={(s,r):pid for s,r,pid in read(P/'new/borrow-fill/DISPATCH.json')} +sp=importlib.util.spec_from_file_location('windows',P/'vendor/build_parent.py');mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod) +windows,schedule=mod.actual_windows(parent,order) +pairs,sides=plan['pairs'],plan['sides'] +prov=read(P/'new/BORROW-PROVIDERS.json') +fill=read(P/'new/borrow-fill/FILL.json.gz') +for s_,r_,p_ in fill['dispatch_overrides']:dispatch[s_,r_]=p_ +def family(rep,child,port):return rep*896+(2*pairs[str(child)]+sides[str(child)])*112+port +def remaining(removed):return [r for r in range(224,704) if r not in set(removed)] +def reindex_rows(rows,old_removed,new_removed): + old=remaining(old_removed);new=remaining(new_removed);nid={r:i for i,r in enumerate(new)} + out=[] + for t,hh,rep,ch,port,off in rows: + r=old[hh] + if r in nid:out.append([t,nid[r],rep,ch,port,off]) + return out +def compact(rows,widths_of): + byb=collections.defaultdict(list) + for i,x in enumerate(rows):byb[x[2],x[3],x[4]].append(i) + out=[list(x) for x in rows] + for k,ids in byb.items(): + off=0 + for i in sorted(ids,key=lambda i:rows[i][5]): + out[i][5]=off;off+=widths_of(rows[i]) + return out +def check(rows,widths,paid): + """literal reconstruct.py checks; returns idle Counter and total profile""" + R=len(next(iter(widths.values()))) + helpers=collections.defaultdict(set);fams=collections.defaultdict(set);used=collections.defaultdict(set) + assert len(rows)==len(order)*R + for t,hh,rep,ch,port,off in rows: + stage,replica=order[t];call=(stage,replica);w=widths[dispatch[call]][hh] + cap,allowed=windows[f'{rep},{ch}'] + assert t in allowed and 0<=port<112 and 0<=hh=0 and off+w<=cap and not used[rep,ch,port]&cells + used[rep,ch,port]|=cells + assert all(s==set(range(R)) for s in helpers.values()) + idle=collections.Counter() + for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(',')) + for port in range(112): + c=used[r,ch,port];assert c==set(range(len(c))),'gap' + if cap-len(c):idle[cap-len(c)]+=1 + H=collections.Counter(idle) + for sr in order: + for r,n in paid[dispatch[tuple(sr)]].items():H[int(r)]+=n + assert 73*plan['live']*2-sum(r*n for r,n in H.items())==2*plan['deficit'],'rank-mass deficit' + return idle,H +def kappa(H,dps=40): + import mpmath as mp + mp.mp.dps=dps;m=73;W=66304 + f=lambda k:sum(mp.mpf(n*r)/(m*W)*mp.power(mp.mpf(m)/r,k) for r,n in H.items())-1 + return mp.findroot(f,(mp.mpf('0.0016'),mp.mpf('0.0018')),solver='anderson') diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/inv.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/inv.py new file mode 100644 index 0000000000..6ed04520e5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/inv.py @@ -0,0 +1,6 @@ +"""inventory of the package in $FILLPKG (default pkg): per-call width counts and paid profile""" +import os,json,collections +_pk=os.environ.get('FILLPKG') or os.path.join(os.path.dirname(os.path.abspath(__file__)),'..','..','..') # package root +_pv=json.load(open(os.path.join(_pk,'new/BORROW-PROVIDERS.json'))) +_g=_pv['gauge44'] +PER=dict(collections.Counter(_g['widths']));PAID={int(k):v for k,v in _g['actual_paid_profile'].items()} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lattice.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lattice.py new file mode 100644 index 0000000000..e9dd8fcadf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lattice.py @@ -0,0 +1,29 @@ +"""Z^9 / L for L = integer span of a pattern set (vector = cap one-hot (8,16,32,48) ++ counts of widths 4,5,7,8,9).""" +CAPS=[8,16,32,48];W=[4,5,7,8,9] +def vec(c,p):return [1 if c==k else 0 for k in CAPS]+list(p) +def hnf(rows): + A=[list(r) for r in rows];n=len(A[0]);H=[];col=0 + for col in range(n): + piv=[r for r in A if r[col]!=0] + if not piv:continue + rest=[r for r in A if r[col]==0] + while len(piv)>1: + piv.sort(key=lambda r:abs(r[col])) + a=piv[0];new=[a] + for r in piv[1:]: + q=r[col]//a[col];r2=[x-q*y for x,y in zip(r,a)] + (new if r2[col]!=0 else rest).append(r2) + piv=new + a=piv[0] + if a[col]<0:a=[-x for x in a] + H.append((col,a));A=rest + assert all(all(x==0 for x in r) for r in A) + return H +def reducer(H): + def red(v): + v=list(v) + for col,a in H: + q=v[col]//a[col] + if q:v=[x-q*y for x,y in zip(v,a)] + return tuple(v) + return red diff --git a/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lnstime.py b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lnstime.py new file mode 100644 index 0000000000..c9986fd692 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow-fill/search/lnstime.py @@ -0,0 +1,96 @@ +"""time-set LNS: free the items of a set TS of calls in every class open there; others' items fixed. +argv: IN(fill or pkl) OUTDIR ROUNDS SEED TL""" +import sys,os,time,pickle;sys.path.insert(0,__import__('os').path.dirname(__import__('os').path.abspath(__file__))) +from agg import * +from ortools.sat.python import cp_model +fin,outd,ROUNDS,SEED,TL=sys.argv[1],sys.argv[2],int(sys.argv[3]),int(sys.argv[4]),float(sys.argv[5]) +os.makedirs(outd,exist_ok=True);rng=random.Random(SEED) +if fin.endswith('.pkl'):x,y=pickle.load(open(fin,'rb')) +else:x,y=to_agg(read(fin)['rows']) +yby=collections.defaultdict(collections.Counter) +for (ci,t,w),n in y.items(): + if n:yby[ci][t,w]=n +SC=10**6;HI=[int(round(SC*h(f))) for f in range(49)] +GOOD={(8,(0,0,0,1,0)),(16,(0,0,0,2,0)),(16,(0,0,1,0,1)),(32,(0,0,0,0,3)),(32,(0,0,0,4,0)),(32,(0,0,1,2,1)),(32,(0,0,2,0,2)),(32,(0,1,0,0,3)),(32,(1,0,0,0,3)),(48,(0,0,0,0,0)),(48,(0,0,0,0,5))} +EXTRA=[(32,(0,0,0,0,1)),(32,(0,0,0,0,2)),(32,(0,0,0,1,2)),(48,(0,0,0,0,4)),(48,(0,0,0,1,4)),(32,(1,0,0,1,2)),(48,(0,0,0,0,1)),(32,(0,0,0,0,0)),(48,(1,0,0,1,4))] +def lossy_classes():return [ci for ci in range(len(CL)) if any((CL[ci][0],p) not in GOOD for p,n in x[ci].items() if n)] +def tot():return sum(n*HI[idle(CL[ci][0],p)] for ci in x for p,n in x[ci].items()) +print('start',tot(),dict(sorted(idle_of(x).items())),flush=True) +FROZEN=set();prevTS=None +for rnd in range(ROUNDS): + t0=time.monotonic() + lc=lossy_classes() + if not lc:print('no lossy classes');break + TS=set() + for ci in rng.sample(lc,min(len(lc),int(os.environ.get('NL',4)))): + ts={t for (t,w),n in yby[ci].items() if n} + if FROZEN and rnd>0 and prevTS:continue + TS|=set(rng.sample(sorted(ts),min(len(ts),int(os.environ.get('PERCLS',6))))) + if FROZEN and prevTS:TS=set(prevTS) + prevTS=TS + extra=int(os.environ.get('EXTRAT',4));TS|=set(rng.sample(range(len(order)),extra)) + FL=int(os.environ.get('FREEZELATE',9999));F=[ci for ci in range(len(CL)) if ci not in FROZEN and not (CL[ci][1]>=FL and CL[ci][0]>8 and rng.random()<0.85) and any(CL[ci][1]<=t<=CL[ci][2] for t in TS)] + m=cp_model.CpModel();X={};Y={} + for ci in F: + cap,lo,hi=CL[ci];n=len(cls[CL[ci]]) + ps={p for (c,p) in GOOD|set(EXTRA) if c==cap}|{p for p,k in x[ci].items() if k} + for p in ps:X[ci,p]=m.NewIntVar(0,n,'') + m.Add(sum(X[ci,p] for p in ps)==n) + mytimes=[t for t in TS if lo<=t<=hi] + ft=collections.Counter() + for (t,ww),k in yby[ci].items(): + if t not in TS:ft[t]+=k + if ft and (ci,(0,0,0,0,0)) in X:m.Add(n-X[ci,(0,0,0,0,0)]>=max(ft.values())) + for t in mytimes: + for w in WID: + if w<=cap:Y[ci,t,w]=m.NewIntVar(0,min(n,DW[w]),'') + fixed_t=0 + E0=(0,0,0,0,0) + m.Add(sum(Y[ci,t,w] for w in WID if w<=cap)<=n-(X[ci,E0] if (ci,E0) in X else 0)) + for S2 in ((7,8,9),(8,9),(4,5),(4,5,7)): + ws=[w for w in S2 if w<=cap] + if ws:m.Add(sum(Y[ci,t,w] for w in ws)<=sum(X[ci,p] for p in ps if any(p[WID.index(w)] for w in ws))) + for j,w in enumerate(WID): + if w>cap:continue + fixed=sum(k for (t,ww),k in yby[ci].items() if ww==w and t not in TS) + nw=sum(X[ci,p] for p in ps if p[j]>=1) + for t in mytimes:m.Add(Y[ci,t,w]<=nw) + fx=[k for (t,ww),k in yby[ci].items() if ww==w and t not in TS] + if fx:m.Add(nw>=max(fx)) + m.Add(fixed+sum(Y[ci,t,w] for t in mytimes)==sum(p[j]*X[ci,p] for p in ps)) + tw=collections.defaultdict(list) + for (ci,t,w),v in Y.items():tw[t,w].append(v) + for (t,w),vs in tw.items():m.Add(sum(vs)==sum(yby[ci][t,w] for ci in F)) + for (ci,p),v in X.items():m.AddHint(v,x[ci][p]) + for (ci,t,w),v in Y.items():m.AddHint(v,yby[ci][t,w]) + m.Minimize(sum(HI[idle(CL[ci][0],p)]*v for (ci,p),v in X.items())) + cur=sum(n*HI[idle(CL[ci][0],p)] for ci in F for p,n in x[ci].items()) + s=cp_model.CpSolver();s.parameters.max_time_in_seconds=TL;s.parameters.num_workers=int(os.environ.get('NW',2)) + st=s.Solve(m) + print(rnd,'TS',len(TS),'F',len(F),'vars',len(X)+len(Y),s.StatusName(st),'obj',s.ObjectiveValue() if st in (2,4) else None,'cur',cur,'bound',s.BestObjectiveBound(),round(time.monotonic()-t0),flush=True) + if not (st in (cp_model.OPTIMAL,cp_model.FEASIBLE) and s.ObjectiveValue()=a['pos'] and g[0]=='add' and g[2]==L] + writes=[i for i,g in enumerate(w0['B']) if i>=a['pos'] and g[0]=='add' and g[1]==L] + m=copy.deepcopy(w0);m['B'][reads[0]][3]*=-1;expect(f'{h}<-{L} borrowed read sign flipped',m) + m=copy.deepcopy(w0);m['B'][reads[0]][3]*=2;expect(f'{h}<-{L} borrowed read doubled',m) + if writes:m=copy.deepcopy(w0);m['B'][writes[0]][3]*=-1;expect(f'{h}<-{L} borrowed write sign flipped',m) + m=copy.deepcopy(w0);del m['warps'][op] + for e_ in m['A'][:m['prelude_events']]: + if e_[0]=='warp' and abs(e_[2])>op+1:e_[2]-=1 if e_[2]>0 else -1 + expect(f'{h}<-{L} warp dropped',m) + m=copy.deepcopy(w0);m['warps'][op][2][0]^=m['warps'][op][2][1];expect(f'{h}<-{L} G wrong',m) + m=copy.deepcopy(w0);m['warps'][op][0]=a['pos']-400;expect(f'{h}<-{L} warp before lender retirement',m) + m=copy.deepcopy(w0);m['start_extra'][str(h)]=a['E'];expect(f'{h} kept with an entrance frame',m) +Path(sys.argv[3]).write_text(json.dumps(dict(all_rejected=good,controls=res),indent=1)+'\n');print('ALL CONTROLS REJECTED' if good else 'CONTROL FAILURE');sys.exit(0 if good else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/alias_build.py b/research/gmx-t74-borrow43-handoff/new/borrow/alias_build.py new file mode 100644 index 0000000000..7babfa1d20 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/alias_build.py @@ -0,0 +1,118 @@ +"""alias_build.py WORD_IN WORD_OUT PATCH_OUT h:L[:E,E,..] ... -- builds dirty-borrow aliases (helper h -> retired lender L, warp U->E with an explicit invertible G, E = entrance frame of h by default) on a BORROW-WORD and writes the patch (new/borrow/inputs/alias2_43*.json were produced by: alias_build.py ... 606:68 653:49:288,160,75,25).""" +import json,gzip,sys,copy,random +from collections import Counter +from pathlib import Path as _P;sys.path.insert(0,str(_P(__file__).resolve().parent)) +from audit_local import basis,contained,registers +import word_patch +def load(p):return json.loads(gzip.decompress(open(p,'rb').read())) +def lin(cols,x): + o=0 + for i,c in enumerate(cols): + if x>>i&1:o^=c + return o +def rk(xs):return len(basis(list(xs))) +def make_G(U,E,n=9): + """deterministic invertible G with G(U)=E: U basis -> E basis, completed by unit vectors on both sides""" + U=list(U);E=list(E);assert len(U)==len(E) + src=list(U);dst=list(E) + for i in range(n): + if rk(src+[1<len(src):src.append(1<len(dst):dst.append(1<0 else e[3]) + continue + if r in registers(e):cur=basis(e[-1]) + byp={} + for op,rec in enumerate(w['warps'],1):byp.setdefault(rec[0],[]).append(op) + for p in range(P+1): + for op in byp.get(p,[]): + if p

lastL) for rec in w['warps']),'lender warped after retirement' + U=frame_at_B(w,L,first);S=basis(w['start_extra'][str(h)]);F1=basis(w['B'][first][-1]) + if E is None:E=S + E=basis(E);assert len(E)==len(U) and contained(E,F1),(U,E,F1) + G=make_G(U,E) + for sec,start in (('B',first),('restore',0)): + for i in range(start,len(w[sec])): + e=w[sec][i] + if e[0]=='add': + if e[1]==h:e[1]=L + if e[2]==h:e[2]=L + elif e[1]==h:e[1]=L + w['warps'].append([first,L,G,list(U),list(E)]) + del w['start_extra'][str(h)];w['removed']=w['removed']+[h] + t=copy.deepcopy(w);t['A']=w['A'][w.get('prelude_events',0):] + w['cleanup']=word_patch.derive_cleanup(t,rs) + return w,dict(h=h,L=L,pos=first,U=list(U),E=list(E),G=G) +def profile(w): + """recompute the paid profile and width inventory exactly as audit_local does (no algebra)""" + v=112;n=2*v+w['report']['R'];h=9;full=basis([1<2 else None + w,r=alias(w,h,L,E);recs.append(r) + lp,wi=profile(w);w['report']=dict(w['report'],local_profile=lp,width_inventory=wi) + print('profile',lp,'widths',wi) + open(sys.argv[2],'wb').write(gzip.compress(json.dumps(w,separators=(',',':')).encode())) + patch=dict(kind='EXTRA_ALIASES_ON_ALIAS637',aliases=recs,fields={k:w[k] for k in ('start_extra','removed','B','restore','warps')},report=w['report'],prelude_events=w['prelude_events'], + declared_gate_edit=word_patch.kernel_gate_edit(w0['B'],w['B'])) + open(sys.argv[3],'w').write(json.dumps(patch,separators=(',',':'))) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/alias_enumerate.py b/research/gmx-t74-borrow43-handoff/new/borrow/alias_enumerate.py new file mode 100644 index 0000000000..7c8788e54e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/alias_enumerate.py @@ -0,0 +1,116 @@ +"""alias_enumerate.py WORD OUT.json: enumerate every (helper h, retired lender L) dirty-borrow alias on a BORROW-WORD and count the failing necessary frame conditions (h first used in B, L not used from h's first use on, dim(L frame at retirement) <= dim(h first frame), end frame of L contains the end of h).""" +import json,gzip,sys +from collections import Counter,defaultdict +from pathlib import Path as _P;sys.path.insert(0,str(_P(__file__).resolve().parent)) +from audit_local import basis,contained,registers +def load(p):return json.loads(gzip.decompress(open(p,'rb').read())) +def analyze(w): + v=112;n=2*v+w['report']['R'];h=9;full=basis([1< list of (time, frame) ; time: A i -> i, B p -> nA+p, restore j-> nA+nB+j + early=set() + for sec in ('precondition','compensation','cut'): + for e in w[sec]: + for r in registers(e):early.add(r) + for i,e in enumerate(A): + if e[0]=='warp':uses[e[1]].append((i,'warp'));continue + for r in registers(e):uses[r].append((i,basis(e[-1]))) + byp=defaultdict(list) + for op,rec in enumerate(w['warps'],1):byp[rec[0]].append(op) + for p in range(nB+1): + for op in byp.get(p,[]):uses[w['warps'][op-1][1]].append((nA+p-0.5,'warp')) + if p=T:break + if f=='warp': + # locate warp record + p=t-G['nA']+0.5 + for op,rec in enumerate(w['warps'],1): + if rec[1]==r and rec[0]==p:c=basis(rec[4]) + # prelude warps + if t=2*v and r not in centers] + out=[];stats=Counter() + Lcand=[r for r in G['live'] if not(v<=r<2*v) and r not in centers] + lastuse={r:(G['uses'][r][-1][0] if G['uses'][r] else -1) for r in Lcand} + for h in H: + us=G['uses'][h] + if not us:stats['h_unused']+=1;continue + if h in G['early'] or us[0][0]=p1:stats['lender_not_retired']+=1;continue + U=frame_at(w,G,L,p1);d=len(U) + if d>len(F1):stats['dim_too_big']+=1;continue + endL=G['end'][L] + if not contained(hlast,endL) and not contained(G['end'][h],endL):stats['endL']+=1;continue + # profile delta + dp=Counter() + if U!=endL:dp[len(endL)-len(U)]-=1 # L's terminal climb removed (approx: L climbs from U to its end) + if S!=F1:dp[len(F1)-len(S)]-=1 + if d==len(S) and contained(S,F1):E='S' + else:E='sub' + if d!=len(F1):dp[len(F1)-d]+=1 + # end climbs: h last -> end[h] vs h last -> end[L] + eh=G['end'][h] + if hlast!=eh:dp[len(eh)-len(hlast)]-=1 + if hlast!=endL:dp[len(endL)-len(hlast)]+=1 + width=len(G['end'][h])-len(S) + out.append(dict(h=h,L=L,p1=p1-nA,Lret=lastuse[L]-nA,d=d,s=len(S),f1=len(F1),E=E,cold=cold,width=width,dprof={k:x for k,x in dp.items() if x},Lsrc=L>=1;i+=1 ++ return y ++ ++def ginv(cols,h): ++ # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise ++ piv={}; ++ for i in range(h): ++ a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] ++ if a:return None ++ pre.append(b) ++ return pre # pre[t] = G^{-1}(e_t) ++ ++def gtrans(cols,h): ++ # transpose: column j of G^T = row j of G ++ return [sum(((cols[i]>>j)&1)<(Gx, (G+G^-T)x + G^-T z) ++ GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} ++ # G^{-T}(z): via columns GiT ++ def M(vec): ++ x=vec&((1<>h ++ gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x ++ return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) ++ walg_add(rows[src],row,-c) ++ return ++ if e[0]=='warp': ++ op=e[2];s=(op>0)-(op<0) ++ if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol ++ rows[e[1]]=walg_warp(rows[e[1]],op);return ++ if e[0]=='add': ++ t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') ++ if dual:t,s,q=s,t,-q ++ walg_add(rows[t],rows[s],q) ++ else: ++ t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') ++ if dual:q=1/q ++ rows[t]={k:q*x for k,x in rows[t].items()} ++ ++def invert_item(e,full): ++ if e[0]=='warp':return ['warp',e[1],-e[2]] ++ r=list(e) ++ if r[0]=='add':r[3]=-r[3] ++ else:r[2],r[3]=r[3],r[2] ++ return r ++ ++def run_borrow(path,out,main,base,w,data,begin): ++ v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R ++ require((v,h)==(112,9),'wrong source geometry') ++ require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') ++ full=basis([1<=2*v,'correction source must be a remaining helper') ++ require(s not in entering,'correction source has nonzero entrance frame') ++ require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') ++ require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') ++ # the source is the lender of the operator it is read through ++ require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') ++ # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- ++ end=[full]*v+[basis([x for x in range(1,1<k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1<>=1;i+=1 + return y + +def ginv(cols,h): + # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise + piv={}; + for i in range(h): + a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] + if a:return None + pre.append(b) + return pre # pre[t] = G^{-1}(e_t) + +def gtrans(cols,h): + # transpose: column j of G^T = row j of G + return [sum(((cols[i]>>j)&1)< E (used for B-phase warps and for A-phase prelude warps)""" + inv=ginv(cols,h);require(inv is not None,'G not invertible') + require(all(gmul(cols,inv[t])==1<(Gx, (G+G^-T)x + G^-T z) + GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} + # G^{-T}(z): via columns GiT + def M(vec): + x=vec&((1<>h + gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x + return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) + walg_add(rows[src],row,-c) + return + if e[0]=='warp': + op=e[2];s=(op>0)-(op<0) + if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol + rows[e[1]]=walg_warp(rows[e[1]],op);return + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + walg_add(rows[t],rows[s],q) + else: + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + +def invert_item(e,full): + if e[0]=='warp':return ['warp',e[1],-e[2]] + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def run_borrow(path,out,main,base,w,data,begin): + v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R + require((v,h)==(112,9),'wrong source geometry') + require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') + full=basis([1<=2*v,'correction source must be a remaining helper') + require(s not in entering,'correction source has nonzero entrance frame') + require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') + require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') + # the source is the lender of the operator it is read through + require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') + # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- + end=[full]*v+[basis([x for x in range(1,1<0 else list(to_),list(to_) if op_>0 else list(fr_),h) + require(cur[r_]==basis(fr_),'prelude warp frame mismatch '+str((r_,op_))) + cur[r_]=basis(to_) + else: + for q in registers(e):climb(q,e[-1]) + for e in Aord: + for q in registers(e):climb(q,e[-1]) + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + require(all(cur[v+t]==lev.get(t,()) for t in range(v)),'target centre levels') + for q,U in zip(w['centers'],w['center_frames']): + U=basis(U);require(cur[q]==U,'center frame') + served={lev.get(e[1]-v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(contained(T,U),'center path not nested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + byposition={} + for op,rec in enumerate(warps,1):byposition.setdefault(rec[0],[]).append(op) + B=w['B'];forward=[] # chronological program of the (recorded) non-target word + for e in Aord:forward.append(e) + for p in range(len(B)+1): + for op in byposition.get(p,[]): + _,lender,cols,U,E=warps[op-1] + require(cur[lender]==basis(U),'warp frame mismatch '+str((op,lender,cur[lender],basis(U)))) + cur[lender]=basis(E);forward.append(['warp',lender,op]) + if p>i&1:Q[t]^=Ub[i] + G2=[al.gmul(G,Q[t]) for t in range(h)] + require(al.basis([al.gmul(G2,x) for x in W])==al.basis(r[4]) and al.ginv(G2,h) is not None,'control G consistent') + r[2]=G2;r[3]=W + good&=expect('frame mismatch (consistent G, from frame differs from lender current frame)',w,basep,tmp,'warp frame mismatch',results) + # frame mismatch with a consistent G: the warp is moved to a B position where the lender is in another frame + # (explicit cleanup removed so the derived cleanup follows the moved warp; the frame audit itself must fire) + found=False + for k in range(K): + r=w0['warps'][k];nxt=next((i for i in range(r[0],len(w0['B'])) if r[1] in al.registers(w0['B'][i])),None) + if nxt is None:continue + w=mut();w.pop('cleanup');w['warps'][k][0]=nxt+1 + try:run_word(w,basep,tmp) + except RuntimeError as e: + if 'warp frame mismatch' in str(e) or 'frame not monotone' in str(e):found=True;break + good&=found + good&=expect('frame mismatch (warp moved to a position where the lender frame differs)',w,basep,tmp,('warp frame mismatch','frame not monotone'),results) + # 4 missing inverse warp + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='warp');del w['cleanup'][i] + good&=expect('missing inverse warp in cleanup',w,basep,tmp,'explicit cleanup differs',results) + w=mut();w['cleanup']=[g for g in w['cleanup'] if g[0]!='warp'];good&=expect('all inverse warps missing',w,basep,tmp,'explicit cleanup differs',results) + # 4b the algebra itself (not just the derivation comparison) rejects a cleanup without inverse warps + w=mut();n=2*w['report']['v']+w['report']['R'];v=w['report']['v'] + removed=set(w['removed']);live=[r for r in range(n) if r not in removed];restored={int(q) for q in w['helper_final']} + DS=10**6;rows={r:{(r,()):al.F(1)} for r in live} + for c in restored:rows[c+n]={} + program=[['corr',t['target'],t['source'],tuple(t['operator_word']),al.F(t['coefficient'])] for t in w['initial_corrections']]+w['precondition']+w['compensation']+w['A']+w['cut'] + byp={} + for op,rec in enumerate(w['warps'],1):byp.setdefault(rec[0],[]).append(op) + for p in range(len(w['B'])+1): + for op in byp.get(p,[]):program.append(['warp',w['warps'][op-1][1],op]) + if p=2*v if rows[r]!={(r,()):al.F(1)}] + results.append(dict(control='algebra without inverse warps does not restore inputs',failed_inputs=len(bad),rejected=bool(bad)));print('algebra-level missing inverse warp: failing restored inputs',len(bad)) + good&=bool(bad) + # 5 dimension mismatch + w=mut();w['warps'][5][4]=w['warps'][5][4][:-1];good&=expect('dim(from)!=dim(to)',w,basep,tmp,'dim(from)!=dim(to)',results) + # 6 inverse warp not at FULL + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='warp');w['cleanup'][i][3]=w['cleanup'][i][3][:-1] + good&=expect('inverse warp not at FULL',w,basep,tmp,'explicit cleanup differs',results) + # 7 zero-buffer rule: cleanup touches the real restored register, not its buffer + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='add' and g[1]>=n) + w['cleanup'][i][1]-=n;good&=expect('cleanup uses real restored input instead of private buffer',w,basep,tmp,'explicit cleanup differs',results) + w=mut();w.pop('cleanup');w['restore']=w['restore'][1:];good&=expect('restoration gate dropped (derived cleanup)',w,basep,tmp,('restored cold','cleanup did not restore','endpoint failure','target map','frame','paid profile mismatch'),results) + # restored real register not decoupled: its buffer is dropped from the restored set while cleanup still derived + w=mut();w.pop('cleanup');c0=next(iter(w['helper_final']));w['helper_final'].pop(c0);good&=expect('restored cold input demoted (needs FULL, was decoupled by FULL-less rows)',w,basep,tmp,('',),results) if False else True + # 8 restored claim without restoration + touched={r for g in w0['precondition']+w0['compensation'] for r in al.registers(g)} + w=mut();w.pop('cleanup');c=next(r for r in range(2*v,n) if r not in removed and str(r) not in w['helper_final'] and r not in touched) + w['helper_final'][str(c)]=[1] + good&=expect('false cold-restoration claim (register not restored)',w,basep,tmp,('restored cold','frame not monotone'),results) + # 9 dropped restoration gate + w=mut();w['restore']=w['restore'][1:];good&=expect('restoration gate dropped',w,basep,tmp,'explicit cleanup differs',results) + # 10 removed helper referenced / alias missing + w=mut();r=w['removed'][0];w['B'].append(['add',r,2*v+1,1,1,[]]);good&=expect('gate on removed helper',w,basep,tmp,'removed helper referenced',results) + # 11 initial corrections (only if present) + if w0['initial_corrections']: + w=mut();del w['initial_corrections'][0];good&=expect('initial correction omitted',w,basep,tmp,'target map failed',results) + w=mut();w['initial_corrections'][0]['coefficient']=str(-al.F(w['initial_corrections'][0]['coefficient']));good&=expect('initial correction sign flipped',w,basep,tmp,'target map failed',results) + w=mut();w['initial_corrections'][0]['source']=next(r for r in range(2*v,n) if r not in removed and r!=w['initial_corrections'][0]['source'] and str(r) not in w['start_extra']) + good&=expect('initial correction reads a non-lender',w,basep,tmp,'not the lender',results) + w=mut();s=w['initial_corrections'][0]['source'];w['start_extra'][str(s)]=[1] + good&=expect('initial correction reads an entering helper',w,basep,tmp,'nonzero entrance frame',results) + # 12 wrong profile claim + w=mut();w['report']['local_profile']['1']+=1;good&=expect('wrong claimed profile',w,basep,tmp,'paid profile mismatch',results) + w=mut();w['report']['width_inventory']['9']+=1;good&=expect('wrong claimed width inventory',w,basep,tmp,'width inventory mismatch',results) + # 13 non-monotone frame / frame cut below start: lender warped to a frame not above its current chain + w=mut();w['B'][100][-1]=[];good&=expect('frame chain not monotone',w,basep,tmp,'frame not monotone',results) + Path(outp).write_text(json.dumps(dict(all_controls_rejected_for_expected_reason=bool(good),controls=results,seconds=time.monotonic()-t),indent=1)+'\n') + print('ALL CONTROLS OK' if good else 'CONTROL FAILURE');return 0 if good else 1 +if __name__=='__main__':sys.exit(main(*sys.argv[1:])) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py b/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py new file mode 100644 index 0000000000..55acfa69f9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py @@ -0,0 +1,39 @@ +import sys,json,gzip +from collections import Counter +sys.path.insert(0,'.') +from emit_word import * +def main(canon,blocksf,witf,out,base_name): + w=json.loads(gzip.decompress(Path(canon).read_bytes())) + blocks=json.loads(Path(blocksf).read_text())['sources'][0]['blocks'] + wit=json.loads(Path(witf).read_text()) + S=build(w,blocks,wit);S=finish(S) + word=assemble(S,base_name) + ops=[x[5] for x in sorted(S['warps'],key=lambda x:x[5])];assert ops==list(range(1,len(ops)+1)),ops + del word['warp_order'] + v=S['v'];n=S['n'];restored=set(S['restored']);full=frame_basis(S['full']) + # explicit cleanup: inverse-reverse at FULL + fw=[] + byp={} + for x in S['warps']:byp.setdefault(x[0],[]).append(x[5]) + for g in word['A']:fw.append(g) + for p in range(len(word['B'])+1): + for op in sorted(byp.get(p,[])):fw.append(['warp',S['warps'][[x[5] for x in S['warps']].index(op)][1],op]) + if p=du else fb;E=span(E_basis) + assert len(E_basis)==du,'paid handoff not supported' + assert x['handoff_basis']==E_basis or span(x['handoff_basis'])==E,(op,) + warps.append([len(B),old,gauss[op],frame_basis(cur[old]),E_basis,op]) + val[old]=warp(val[old],op);cur[old]=E;mapping[new]=old + for target,c in x.get('handoff_echo_coefficients',{}).items(): + target=int(target);climb(target,E);add(val[target],val[old],Q(c));raise NotImplementedError('echo') + for d in deferred.get(i,[]):scalar(d) + for d in early_rewrites.get(i,[]):scalar(d) + if i not in skip and i not in removed_early_echoes:scalar(e) + for t in early_tail.get(len(w['B']),[]):scalar(t) + for r in range(v,2*v):climb(r,frames[w['final'][r]]) + return dict(w=w,out=out,corr=corr,warps=warps,val=val,cur=cur,removed=removed,active=active,frames=frames, + full=full,target_levels=target_levels,n=n,v=v,h=h,mapping=mapping) + +def finish(S,cold_restore=True): + """cold restoration (rp.py semantics, exact modular nomination replaced by direct exact solve).""" + w=S['w'];v=S['v'];n=S['n'];h=S['h'];val=S['val'];cur=S['cur'];frames=S['frames'];full=S['full'];active=S['active'] + out=S['out'] + def dyadic(q):return q.denominator&(q.denominator-1)==0 + def unit(q):return q and dyadic(q) and abs(q.numerator)&(abs(q.numerator)-1)==0 + cold=[r for r in active if not(v<=r<2*v) and len(w['frames'][w['final'][r]]) dim-4 frame E at L first gate); the dirt-compensation reads of L become anticipatory corrections t += c K_op(h) pulled back through the target-only precondition; h stops being cold. Built by new/borrow/prelife/search/mk1.py with new/borrow/prelife/results/tryE-*.json.", + "pairs": [ + { + "L": 482, + "h": 273 + }, + { + "L": 483, + "h": 275 + }, + { + "L": 494, + "h": 289 + }, + { + "L": 495, + "h": 291 + }, + { + "L": 507, + "h": 305 + }, + { + "L": 519, + "h": 321 + } + ], + "fields": { + "B": [ + [ + "add", + 162, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 172, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 140, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 144, + 506, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 168, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 150, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 115, + 554, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 131, + 566, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 117, + 566, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 590, + 566, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 672, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 215, + 448, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 129, + 448, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 124, + 449, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 212, + 449, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 157, + 450, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 219, + 450, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 210, + 451, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 160, + 451, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 452, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 170, + 452, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 118, + 453, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 194, + 453, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 120, + 454, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 207, + 454, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 192, + 455, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 179, + 455, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 130, + 472, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 213, + 473, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 215, + 484, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 124, + 485, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 220, + 496, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 161, + 497, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 157, + 508, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 210, + 509, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 520, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 195, + 521, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 532, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 118, + 533, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 208, + 544, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 180, + 545, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 556, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 192, + 557, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 143, + 585, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 168, + 584, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 189, + 585, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 136, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 197, + 587, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 147, + 587, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 221, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 145, + 589, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 135, + 589, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 167, + 591, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 214, + 590, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 590, + 566, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 151, + 591, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 188, + 592, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 592, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 592, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 592, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 594, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 596, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 600, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 600, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 600, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 600, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 602, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 604, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 608, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 608, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 608, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 608, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 610, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 612, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 212, + 616, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 616, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 616, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 616, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 618, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 620, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 168, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 215, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 620, + 555, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 189, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 620, + 555, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 166, + 624, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 624, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 624, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 624, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 626, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 628, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 214, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 130, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 567, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 151, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 567, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 160, + 632, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 632, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 632, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 632, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 634, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 636, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 144, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 506, + -2, + 1, + [ + 30 + ] + ], + [ + "add", + 157, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 531, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 147, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 531, + -2, + 1, + [ + 30 + ] + ], + [ + "add", + 162, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 135, + 543, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 194, + 648, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 648, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 648, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 648, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 650, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 652, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 656, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 656, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 656, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 656, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 658, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 660, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 179, + 664, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 664, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 664, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 664, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 666, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 668, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 672, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 672, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 672, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 208, + 672, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 672, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 208, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 208, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 674, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 676, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 676, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 181, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 676, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 208, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 133, + 696, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 696, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 696, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 696, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 698, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 700, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 616, + 554, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 618, + 554, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 664, + 554, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 666, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 664, + 667, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 667, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 667, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 664, + 669, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 669, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 669, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 664, + 670, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 670, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 670, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 671, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 671, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 671, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 118, + 82, + -1, + 2, + [ + 416, + 30 + ] + ], + [ + "add", + 194, + 6, + -1, + 2, + [ + 19, + 13 + ] + ], + [ + "add", + 187, + 349, + 1, + 1, + [ + 70, + 30 + ] + ], + [ + "add", + 113, + 351, + 1, + 1, + [ + 491, + 30 + ] + ], + [ + "add", + 351, + 531, + -1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 205, + 347, + -1, + 2, + [ + 70, + 30 + ] + ], + [ + "add", + 170, + 345, + -1, + 2, + [ + 491, + 30 + ] + ], + [ + "add", + 140, + 75, + 1, + 1, + [ + 416, + 30 + ] + ], + [ + "add", + 198, + 1, + 1, + 1, + [ + 19, + 13 + ] + ], + [ + "add", + 124, + 100, + -1, + 2, + [ + 388, + 51 + ] + ], + [ + "add", + 212, + 12, + -1, + 2, + [ + 41, + 26 + ] + ], + [ + "add", + 168, + 285, + 1, + 1, + [ + 81, + 51 + ] + ], + [ + "add", + 143, + 287, + 1, + 1, + [ + 463, + 51 + ] + ], + [ + "add", + 215, + 283, + -1, + 2, + [ + 81, + 51 + ] + ], + [ + "add", + 129, + 281, + -1, + 2, + [ + 463, + 51 + ] + ], + [ + "add", + 150, + 56, + 1, + 1, + [ + 388, + 51 + ] + ], + [ + "add", + 189, + 31, + 1, + 1, + [ + 41, + 26 + ] + ], + [ + "add", + 213, + 54, + -1, + 2, + [ + 196, + 51 + ] + ], + [ + "add", + 166, + 101, + -1, + 2, + [ + 324, + 51 + ] + ], + [ + "add", + 214, + 301, + 1, + 1, + [ + 273, + 51 + ] + ], + [ + "add", + 167, + 303, + 1, + 1, + [ + 145, + 51 + ] + ], + [ + "add", + 130, + 299, + -1, + 2, + [ + 273, + 51 + ] + ], + [ + "add", + 152, + 297, + -1, + 2, + [ + 145, + 51 + ] + ], + [ + "add", + 131, + 102, + 1, + 1, + [ + 196, + 51 + ] + ], + [ + "add", + 151, + 55, + 1, + 1, + [ + 324, + 51 + ] + ], + [ + "add", + 195, + 73, + -1, + 2, + [ + 224, + 30 + ] + ], + [ + "add", + 185, + 83, + -1, + 2, + [ + 352, + 30 + ] + ], + [ + "add", + 196, + 365, + 1, + 1, + [ + 262, + 30 + ] + ], + [ + "add", + 186, + 367, + 1, + 1, + [ + 134, + 30 + ] + ], + [ + "add", + 367, + 543, + -1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 171, + 363, + -1, + 2, + [ + 262, + 30 + ] + ], + [ + "add", + 142, + 361, + -1, + 2, + [ + 134, + 30 + ] + ], + [ + "add", + 172, + 84, + 1, + 1, + [ + 224, + 30 + ] + ], + [ + "add", + 141, + 74, + 1, + 1, + [ + 352, + 30 + ] + ], + [ + "add", + 210, + 48, + -1, + 2, + [ + 74, + 30 + ] + ], + [ + "add", + 160, + 98, + -1, + 2, + [ + 487, + 30 + ] + ], + [ + "add", + 144, + 317, + 1, + 1, + [ + 385, + 30 + ] + ], + [ + "add", + 197, + 319, + 1, + 1, + [ + 44, + 30 + ] + ], + [ + "add", + 157, + 315, + -1, + 2, + [ + 385, + 30 + ] + ], + [ + "add", + 219, + 313, + -1, + 2, + [ + 44, + 30 + ] + ], + [ + "add", + 136, + 32, + 1, + 1, + [ + 74, + 30 + ] + ], + [ + "add", + 32, + 506, + -1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 147, + 85, + 1, + 1, + [ + 487, + 30 + ] + ], + [ + "add", + 192, + 67, + -1, + 2, + [ + 67, + 51 + ] + ], + [ + "add", + 179, + 80, + -1, + 2, + [ + 477, + 51 + ] + ], + [ + "add", + 115, + 381, + 1, + 1, + [ + 392, + 51 + ] + ], + [ + "add", + 200, + 383, + 1, + 1, + [ + 37, + 22 + ] + ], + [ + "add", + 383, + 555, + -1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 120, + 379, + -1, + 2, + [ + 392, + 51 + ] + ], + [ + "add", + 207, + 377, + -1, + 2, + [ + 37, + 22 + ] + ], + [ + "add", + 178, + 3, + 1, + 1, + [ + 67, + 51 + ] + ], + [ + "add", + 3, + 554, + -1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 138, + 88, + 1, + 1, + [ + 477, + 51 + ] + ], + [ + "add", + 180, + 5, + -1, + 2, + [ + 259, + 51 + ] + ], + [ + "add", + 117, + 68, + -1, + 2, + [ + 131, + 51 + ] + ], + [ + "add", + 181, + 397, + 1, + 1, + [ + 200, + 51 + ] + ], + [ + "add", + 116, + 399, + 1, + 1, + [ + 328, + 51 + ] + ], + [ + "add", + 399, + 567, + -1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 208, + 395, + -1, + 2, + [ + 200, + 51 + ] + ], + [ + "add", + 176, + 393, + -1, + 2, + [ + 328, + 51 + ] + ], + [ + "add", + 209, + 69, + 1, + 1, + [ + 259, + 51 + ] + ], + [ + "add", + 69, + 566, + -1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 177, + 4, + 1, + 1, + [ + 131, + 51 + ] + ], + [ + "add", + 161, + 34, + -1, + 2, + [ + 266, + 30 + ] + ], + [ + "add", + 146, + 49, + -1, + 2, + [ + 138, + 30 + ] + ], + [ + "add", + 162, + 333, + 1, + 1, + [ + 193, + 30 + ] + ], + [ + "add", + 145, + 335, + 1, + 1, + [ + 321, + 30 + ] + ], + [ + "add", + 220, + 331, + -1, + 2, + [ + 193, + 30 + ] + ], + [ + "add", + 134, + 329, + -1, + 2, + [ + 321, + 30 + ] + ], + [ + "add", + 221, + 50, + 1, + 1, + [ + 266, + 30 + ] + ], + [ + "add", + 50, + 518, + -1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 135, + 33, + 1, + 1, + [ + 138, + 30 + ] + ], + [ + "add", + 112, + 76, + -1, + 2, + [ + 448, + 45 + ] + ], + [ + "add", + 188, + 0, + -1, + 2, + [ + 38, + 11 + ] + ], + [ + "add", + 183, + 72, + -1, + 2, + [ + 400, + 45 + ] + ], + [ + "add", + 182, + 2, + -1, + 2, + [ + 35, + 14 + ] + ], + [ + "add", + 114, + 70, + -1, + 2, + [ + 208, + 45 + ] + ], + [ + "add", + 184, + 71, + -1, + 2, + [ + 336, + 45 + ] + ], + [ + "add", + 76, + 0, + 1, + 1, + [ + 448, + 38, + 11 + ] + ], + [ + "add", + 71, + 72, + 1, + 1, + [ + 336, + 192, + 45 + ] + ], + [ + "add", + 2, + 70, + 1, + 1, + [ + 208, + 35, + 14 + ] + ], + [ + "add", + 112, + 71, + -1, + 2, + [ + 256, + 144, + 80, + 42, + 7 + ] + ], + [ + "add", + 182, + 76, + -1, + 2, + [ + 448, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 184, + 2, + -1, + 2, + [ + 336, + 208, + 35, + 9, + 7 + ] + ], + [ + "add", + 188, + 184, + 1, + 1, + [ + 336, + 208, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 183, + 182, + 1, + 1, + [ + 400, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 114, + 112, + 1, + 1, + [ + 256, + 128, + 64, + 42, + 16, + 7 + ] + ], + [ + "add", + 112, + 2, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 188, + 72, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 183, + 70, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 182, + 71, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 114, + 0, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 184, + 76, + -1, + 2, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 139, + 239, + 1, + 1, + [ + 478, + 45 + ] + ], + [ + "add", + 193, + 27, + 1, + 1, + [ + 38, + 11 + ] + ], + [ + "add", + 126, + 13, + -1, + 2, + [ + 73, + 45 + ] + ], + [ + "add", + 127, + 78, + -1, + 2, + [ + 471, + 45 + ] + ], + [ + "add", + 190, + 15, + -1, + 2, + [ + 265, + 45 + ] + ], + [ + "add", + 125, + 14, + -1, + 2, + [ + 137, + 45 + ] + ], + [ + "add", + 239, + 27, + 1, + 1, + [ + 469, + 38, + 11 + ] + ], + [ + "add", + 14, + 13, + 1, + 1, + [ + 137, + 73, + 45 + ] + ], + [ + "add", + 78, + 15, + 1, + 1, + [ + 265, + 222, + 45 + ] + ], + [ + "add", + 139, + 14, + -1, + 2, + [ + 263, + 137, + 73, + 45, + 25 + ] + ], + [ + "add", + 127, + 239, + 1, + 1, + [ + 453, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 125, + 78, + -1, + 2, + [ + 265, + 137, + 78, + 45, + 25 + ] + ], + [ + "add", + 193, + 125, + 1, + 1, + [ + 258, + 130, + 69, + 38, + 18, + 11 + ] + ], + [ + "add", + 126, + 127, + 1, + 1, + [ + 389, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 190, + 139, + 1, + 1, + [ + 263, + 135, + 71, + 35, + 23, + 14 + ] + ], + [ + "add", + 139, + 78, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 193, + 13, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 126, + 15, + -1, + 2, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 127, + 14, + -1, + 2, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 190, + 27, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 125, + 239, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 203, + 255, + 1, + 1, + [ + 261, + 45 + ] + ], + [ + "add", + 123, + 91, + 1, + 1, + [ + 208, + 45 + ] + ], + [ + "add", + 218, + 36, + -1, + 2, + [ + 146, + 45 + ] + ], + [ + "add", + 165, + 21, + -1, + 2, + [ + 268, + 45 + ] + ], + [ + "add", + 133, + 53, + 1, + 1, + [ + 265, + 45 + ] + ], + [ + "add", + 148, + 415, + 1, + 1, + [ + 194, + 45 + ] + ], + [ + "add", + 255, + 91, + 1, + 1, + [ + 261, + 208, + 45 + ] + ], + [ + "add", + 415, + 36, + -1, + 2, + [ + 146, + 80, + 45 + ] + ], + [ + "add", + 21, + 53, + -2, + 1, + [ + 265, + 40, + 5 + ] + ], + [ + "add", + 203, + 415, + 1, + 1, + [ + 261, + 144, + 80, + 45, + 2 + ] + ], + [ + "add", + 165, + 255, + 1, + 1, + [ + 261, + 130, + 82, + 36, + 9 + ] + ], + [ + "add", + 148, + 21, + -1, + 2, + [ + 265, + 144, + 82, + 40, + 5 + ] + ], + [ + "add", + 123, + 148, + 1, + 1, + [ + 265, + 130, + 64, + 40, + 18, + 5 + ] + ], + [ + "add", + 218, + 165, + 1, + 1, + [ + 261, + 130, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 133, + 203, + 1, + 1, + [ + 261, + 144, + 80, + 33, + 12, + 2 + ] + ], + [ + "add", + 203, + 21, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 123, + 36, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 218, + 53, + 1, + 1, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 165, + 415, + 1, + 1, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 133, + 91, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 148, + 255, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 201, + 271, + 1, + 1, + [ + 69, + 45 + ] + ], + [ + "add", + 121, + 89, + 1, + 1, + [ + 400, + 45 + ] + ], + [ + "add", + 216, + 111, + 1, + 1, + [ + 146, + 45 + ] + ], + [ + "add", + 163, + 447, + 1, + 1, + [ + 274, + 45 + ] + ], + [ + "add", + 222, + 51, + 1, + 1, + [ + 73, + 45 + ] + ], + [ + "add", + 223, + 431, + 1, + 1, + [ + 386, + 45 + ] + ], + [ + "add", + 271, + 89, + 1, + 1, + [ + 400, + 69, + 45 + ] + ], + [ + "add", + 431, + 111, + 1, + 1, + [ + 272, + 146, + 45 + ] + ], + [ + "add", + 447, + 51, + 1, + 1, + [ + 274, + 73, + 45 + ] + ], + [ + "add", + 201, + 431, + 1, + 1, + [ + 272, + 146, + 69, + 36, + 9 + ] + ], + [ + "add", + 163, + 271, + 1, + 1, + [ + 274, + 130, + 69, + 36, + 9 + ] + ], + [ + "add", + 223, + 447, + 1, + 1, + [ + 274, + 144, + 73, + 40, + 5 + ] + ], + [ + "add", + 121, + 223, + 1, + 1, + [ + 256, + 130, + 73, + 40, + 18, + 5 + ] + ], + [ + "add", + 216, + 163, + 1, + 1, + [ + 258, + 130, + 69, + 36, + 16, + 9 + ] + ], + [ + "add", + 222, + 201, + 1, + 1, + [ + 272, + 146, + 64, + 33, + 9, + 5 + ] + ], + [ + "add", + 201, + 447, + 1, + 1, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 121, + 111, + 1, + 1, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 216, + 51, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 163, + 431, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 222, + 89, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 223, + 271, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 191, + 25, + 1, + 1, + [ + 35, + 14 + ] + ], + [ + "add", + 137, + 269, + 1, + 1, + [ + 475, + 45 + ] + ], + [ + "add", + 211, + 445, + 1, + 1, + [ + 140, + 45 + ] + ], + [ + "add", + 156, + 47, + 1, + 1, + [ + 268, + 45 + ] + ], + [ + "add", + 159, + 429, + 1, + 1, + [ + 45, + 28 + ] + ], + [ + "add", + 158, + 99, + 1, + 1, + [ + 471, + 45 + ] + ], + [ + "add", + 25, + 269, + 1, + 1, + [ + 469, + 35, + 14 + ] + ], + [ + "add", + 99, + 445, + 1, + 1, + [ + 347, + 140, + 45 + ] + ], + [ + "add", + 47, + 429, + 1, + 1, + [ + 268, + 45, + 28 + ] + ], + [ + "add", + 191, + 99, + 1, + 1, + [ + 279, + 130, + 66, + 35, + 14 + ] + ], + [ + "add", + 156, + 25, + 1, + 1, + [ + 258, + 149, + 66, + 35, + 14 + ] + ], + [ + "add", + 158, + 47, + 1, + 1, + [ + 268, + 139, + 76, + 45, + 28 + ] + ], + [ + "add", + 137, + 158, + 1, + 1, + [ + 256, + 135, + 64, + 33, + 16, + 12 + ] + ], + [ + "add", + 211, + 156, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 23, + 14 + ] + ], + [ + "add", + 159, + 191, + 1, + 1, + [ + 261, + 130, + 66, + 35, + 18, + 14 + ] + ], + [ + "add", + 191, + 47, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 137, + 445, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 211, + 429, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 156, + 99, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 159, + 269, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 158, + 25, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 169, + 233, + -1, + 2, + [ + 478, + 45 + ] + ], + [ + "add", + 204, + 235, + -1, + 2, + [ + 45, + 21 + ] + ], + [ + "add", + 175, + 267, + -1, + 2, + [ + 475, + 45 + ] + ], + [ + "add", + 174, + 265, + -1, + 2, + [ + 69, + 45 + ] + ], + [ + "add", + 173, + 251, + -1, + 2, + [ + 133, + 45 + ] + ], + [ + "add", + 206, + 249, + -1, + 2, + [ + 261, + 45 + ] + ], + [ + "add", + 233, + 235, + 1, + 1, + [ + 459, + 45, + 21 + ] + ], + [ + "add", + 249, + 267, + 1, + 1, + [ + 261, + 222, + 45 + ] + ], + [ + "add", + 265, + 251, + 1, + 1, + [ + 133, + 69, + 45 + ] + ], + [ + "add", + 169, + 249, + -1, + 2, + [ + 256, + 217, + 40, + 5, + 2 + ] + ], + [ + "add", + 174, + 233, + -1, + 2, + [ + 393, + 66, + 42, + 18, + 7 + ] + ], + [ + "add", + 206, + 265, + -1, + 2, + [ + 258, + 130, + 66, + 42, + 7 + ] + ], + [ + "add", + 204, + 206, + 1, + 1, + [ + 258, + 130, + 66, + 42, + 18, + 7 + ] + ], + [ + "add", + 175, + 174, + 1, + 1, + [ + 393, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 173, + 169, + 1, + 1, + [ + 256, + 128, + 89, + 40, + 5, + 2 + ] + ], + [ + "add", + 169, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 204, + 267, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 175, + 251, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 174, + 249, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 173, + 235, + -1, + 2, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 206, + 233, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 119, + 87, + 1, + 1, + [ + 448, + 45 + ] + ], + [ + "add", + 199, + 237, + 1, + 1, + [ + 45, + 21 + ] + ], + [ + "add", + 153, + 427, + -1, + 2, + [ + 45, + 28 + ] + ], + [ + "add", + 154, + 425, + -1, + 2, + [ + 386, + 45 + ] + ], + [ + "add", + 155, + 411, + -1, + 2, + [ + 322, + 45 + ] + ], + [ + "add", + 128, + 409, + -1, + 2, + [ + 194, + 45 + ] + ], + [ + "add", + 87, + 237, + 1, + 1, + [ + 448, + 45, + 21 + ] + ], + [ + "add", + 409, + 427, + 1, + 1, + [ + 194, + 45, + 28 + ] + ], + [ + "add", + 425, + 411, + 1, + 1, + [ + 322, + 192, + 45 + ] + ], + [ + "add", + 119, + 409, + -1, + 2, + [ + 258, + 194, + 40, + 25, + 5 + ] + ], + [ + "add", + 154, + 87, + 1, + 1, + [ + 386, + 66, + 33, + 21, + 12 + ] + ], + [ + "add", + 128, + 425, + -1, + 2, + [ + 320, + 192, + 45, + 2 + ] + ], + [ + "add", + 199, + 128, + 1, + 1, + [ + 320, + 192, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 153, + 154, + 1, + 1, + [ + 386, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 155, + 119, + 1, + 1, + [ + 258, + 130, + 64, + 40, + 25, + 5 + ] + ], + [ + "add", + 119, + 425, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 199, + 427, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 153, + 411, + -1, + 2, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 154, + 409, + -1, + 2, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 155, + 237, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 128, + 87, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 122, + 90, + 1, + 1, + [ + 336, + 45 + ] + ], + [ + "add", + 202, + 253, + 1, + 1, + [ + 133, + 45 + ] + ], + [ + "add", + 164, + 443, + -1, + 2, + [ + 140, + 45 + ] + ], + [ + "add", + 217, + 441, + -1, + 2, + [ + 274, + 45 + ] + ], + [ + "add", + 149, + 413, + 1, + 1, + [ + 322, + 45 + ] + ], + [ + "add", + 132, + 52, + 1, + 1, + [ + 137, + 45 + ] + ], + [ + "add", + 90, + 253, + 1, + 1, + [ + 336, + 133, + 45 + ] + ], + [ + "add", + 52, + 443, + -1, + 2, + [ + 137, + 40, + 5 + ] + ], + [ + "add", + 441, + 413, + -2, + 1, + [ + 274, + 80, + 45 + ] + ], + [ + "add", + 122, + 52, + 1, + 1, + [ + 258, + 137, + 82, + 40, + 5 + ] + ], + [ + "add", + 217, + 90, + 1, + 1, + [ + 258, + 133, + 66, + 45, + 16 + ] + ], + [ + "add", + 132, + 441, + -1, + 2, + [ + 272, + 137, + 80, + 45, + 2 + ] + ], + [ + "add", + 202, + 132, + 1, + 1, + [ + 272, + 133, + 80, + 33, + 12, + 2 + ] + ], + [ + "add", + 164, + 217, + 1, + 1, + [ + 258, + 133, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 149, + 122, + 1, + 1, + [ + 258, + 137, + 64, + 40, + 18, + 5 + ] + ], + [ + "add", + 122, + 441, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 202, + 443, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 164, + 413, + 1, + 1, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 217, + 52, + 1, + 1, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 149, + 253, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 132, + 90, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 448, + 231, + 1, + 1, + [ + 459, + 38, + 21 + ] + ], + [ + "add", + 449, + 226, + 1, + 1, + [ + 448, + 51, + 11 + ] + ], + [ + "add", + 450, + 230, + 1, + 1, + [ + 448, + 38, + 30 + ] + ], + [ + "add", + 451, + 228, + 1, + 1, + [ + 486, + 21, + 11 + ] + ], + [ + "add", + 452, + 232, + 1, + 1, + [ + 459, + 38, + 30 + ] + ], + [ + "add", + 453, + 7, + 1, + 1, + [ + 448, + 21, + 11 + ] + ], + [ + "add", + 454, + 236, + 1, + 1, + [ + 448, + 38, + 21 + ] + ], + [ + "add", + 455, + 238, + 1, + 1, + [ + 469, + 51, + 11 + ] + ], + [ + "add", + 456, + 247, + 1, + 1, + [ + 261, + 133, + 82, + 42 + ] + ], + [ + "add", + 457, + 242, + 1, + 1, + [ + 258, + 130, + 82, + 42 + ] + ], + [ + "add", + 458, + 246, + 1, + 1, + [ + 261, + 130, + 85, + 42 + ] + ], + [ + "add", + 459, + 244, + 1, + 1, + [ + 258, + 133, + 85, + 42 + ] + ], + [ + "add", + 460, + 248, + 1, + 1, + [ + 296, + 168, + 82, + 7 + ] + ], + [ + "add", + 461, + 10, + 1, + 1, + [ + 258, + 130, + 82, + 7 + ] + ], + [ + "add", + 462, + 252, + 1, + 1, + [ + 296, + 130, + 120, + 7 + ] + ], + [ + "add", + 463, + 254, + 1, + 1, + [ + 258, + 168, + 120, + 7 + ] + ], + [ + "add", + 464, + 263, + 1, + 1, + [ + 407, + 69, + 36, + 14 + ] + ], + [ + "add", + 465, + 258, + 1, + 1, + [ + 400, + 66, + 35, + 9 + ] + ], + [ + "add", + 466, + 262, + 1, + 1, + [ + 407, + 69, + 35, + 9 + ] + ], + [ + "add", + 467, + 260, + 1, + 1, + [ + 400, + 66, + 36, + 14 + ] + ], + [ + "add", + 468, + 264, + 1, + 1, + [ + 435, + 97, + 9, + 7 + ] + ], + [ + "add", + 469, + 79, + 1, + 1, + [ + 400, + 66, + 35, + 7 + ] + ], + [ + "add", + 470, + 268, + 1, + 1, + [ + 409, + 75, + 35, + 7 + ] + ], + [ + "add", + 471, + 270, + 1, + 1, + [ + 400, + 66, + 9, + 7 + ] + ], + [ + "add", + 283, + 281, + 1, + 1, + [ + 414, + 81, + 51 + ] + ], + [ + "add", + 277, + 281, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "scale", + 277, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 100, + 12, + 1, + 1, + [ + 388, + 41, + 26 + ] + ], + [ + "add", + 273, + 12, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 56, + 285, + 1, + 1, + [ + 388, + 81, + 51 + ] + ], + [ + "add", + 282, + 285, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "scale", + 282, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 287, + 31, + 1, + 1, + [ + 463, + 41, + 26 + ] + ], + [ + "add", + 275, + 31, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 472, + 283, + 1, + 1, + [ + 414, + 81, + 51 + ] + ], + [ + "add", + 472, + 231, + 1, + 1, + [ + 387, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 473, + 100, + 1, + 1, + [ + 388, + 41, + 26 + ] + ], + [ + "add", + 473, + 226, + 1, + 1, + [ + 388, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 474, + 279, + 1, + 1, + [ + 388, + 72, + 42, + 26 + ] + ], + [ + "add", + 475, + 274, + 1, + 1, + [ + 413, + 81, + 41, + 3 + ] + ], + [ + "add", + 476, + 278, + 1, + 1, + [ + 391, + 75, + 42, + 26 + ] + ], + [ + "add", + 477, + 276, + 1, + 1, + [ + 388, + 72, + 41, + 3 + ] + ], + [ + "add", + 478, + 280, + 1, + 1, + [ + 388, + 72, + 25, + 3 + ] + ], + [ + "add", + 479, + 38, + 1, + 1, + [ + 391, + 75, + 41, + 25 + ] + ], + [ + "add", + 480, + 284, + 1, + 1, + [ + 429, + 97, + 25, + 3 + ] + ], + [ + "add", + 481, + 286, + 1, + 1, + [ + 388, + 72, + 41, + 25 + ] + ], + [ + "add", + 273, + 56, + 1, + 1, + [ + 388, + 81, + 48, + 3 + ] + ], + [ + "add", + 275, + 287, + 1, + 1, + [ + 391, + 72, + 41, + 26 + ] + ], + [ + "add", + 299, + 297, + 1, + 1, + [ + 273, + 145, + 51 + ] + ], + [ + "add", + 293, + 297, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "scale", + 293, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 54, + 101, + 1, + 1, + [ + 324, + 196, + 51 + ] + ], + [ + "add", + 289, + 101, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 102, + 301, + 1, + 1, + [ + 273, + 196, + 51 + ] + ], + [ + "add", + 298, + 301, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "scale", + 298, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 303, + 55, + 1, + 1, + [ + 324, + 145, + 51 + ] + ], + [ + "add", + 291, + 55, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 484, + 299, + 1, + 1, + [ + 273, + 145, + 51 + ] + ], + [ + "add", + 484, + 448, + 1, + 1, + [ + 260, + 132, + 71, + 38, + 21, + 12 + ] + ], + [ + "add", + 485, + 54, + 1, + 1, + [ + 324, + 196, + 51 + ] + ], + [ + "add", + 485, + 449, + 1, + 1, + [ + 260, + 132, + 64, + 33, + 18, + 11 + ] + ], + [ + "add", + 486, + 295, + 1, + 1, + [ + 273, + 136, + 85, + 42 + ] + ], + [ + "add", + 487, + 290, + 1, + 1, + [ + 264, + 145, + 85, + 42 + ] + ], + [ + "add", + 488, + 294, + 1, + 1, + [ + 264, + 136, + 76, + 42 + ] + ], + [ + "add", + 489, + 292, + 1, + 1, + [ + 273, + 145, + 76, + 42 + ] + ], + [ + "add", + 490, + 296, + 1, + 1, + [ + 290, + 136, + 102, + 25 + ] + ], + [ + "add", + 491, + 19, + 1, + 1, + [ + 264, + 162, + 102, + 25 + ] + ], + [ + "add", + 492, + 300, + 1, + 1, + [ + 264, + 136, + 76, + 25 + ] + ], + [ + "add", + 493, + 302, + 1, + 1, + [ + 290, + 162, + 76, + 25 + ] + ], + [ + "add", + 289, + 102, + 1, + 1, + [ + 273, + 136, + 76, + 51 + ] + ], + [ + "add", + 291, + 303, + 1, + 1, + [ + 264, + 145, + 76, + 51 + ] + ], + [ + "add", + 315, + 313, + 1, + 1, + [ + 385, + 44, + 30 + ] + ], + [ + "add", + 309, + 313, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "scale", + 309, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 48, + 98, + 1, + 1, + [ + 429, + 74, + 30 + ] + ], + [ + "add", + 305, + 98, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 32, + 317, + 1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 314, + 317, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "scale", + 314, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 319, + 85, + 1, + 1, + [ + 459, + 44, + 30 + ] + ], + [ + "add", + 307, + 85, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 496, + 315, + 1, + 1, + [ + 385, + 44, + 30 + ] + ], + [ + "add", + 496, + 230, + 1, + 1, + [ + 385, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 497, + 48, + 1, + 1, + [ + 429, + 74, + 30 + ] + ], + [ + "add", + 497, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 498, + 311, + 1, + 1, + [ + 385, + 74, + 50 + ] + ], + [ + "add", + 499, + 306, + 1, + 1, + [ + 415, + 84, + 44 + ] + ], + [ + "add", + 500, + 310, + 1, + 1, + [ + 415, + 84, + 50 + ] + ], + [ + "add", + 501, + 308, + 1, + 1, + [ + 385, + 74, + 44 + ] + ], + [ + "add", + 502, + 312, + 1, + 1, + [ + 415, + 74, + 44 + ] + ], + [ + "add", + 503, + 24, + 1, + 1, + [ + 385, + 84, + 50 + ] + ], + [ + "add", + 504, + 316, + 1, + 1, + [ + 385, + 84, + 44 + ] + ], + [ + "add", + 505, + 318, + 1, + 1, + [ + 415, + 74, + 50 + ] + ], + [ + "add", + 506, + 32, + 1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 305, + 319, + 1, + 1, + [ + 391, + 76, + 44, + 30 + ] + ], + [ + "add", + 331, + 329, + 1, + 1, + [ + 321, + 193, + 30 + ] + ], + [ + "add", + 325, + 329, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "scale", + 325, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 34, + 49, + 1, + 1, + [ + 266, + 138, + 30 + ] + ], + [ + "add", + 321, + 49, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 50, + 333, + 1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 330, + 333, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "scale", + 330, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 335, + 33, + 1, + 1, + [ + 321, + 138, + 30 + ] + ], + [ + "add", + 323, + 33, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 508, + 331, + 1, + 1, + [ + 321, + 193, + 30 + ] + ], + [ + "add", + 508, + 450, + 1, + 1, + [ + 257, + 129, + 64, + 38, + 18, + 12 + ] + ], + [ + "add", + 509, + 34, + 1, + 1, + [ + 266, + 138, + 30 + ] + ], + [ + "add", + 509, + 451, + 1, + 1, + [ + 257, + 129, + 71, + 33, + 21, + 11 + ] + ], + [ + "add", + 510, + 327, + 1, + 1, + [ + 276, + 138, + 85 + ] + ], + [ + "add", + 511, + 322, + 1, + 1, + [ + 266, + 148, + 85 + ] + ], + [ + "add", + 512, + 326, + 1, + 1, + [ + 266, + 138, + 75 + ] + ], + [ + "add", + 513, + 324, + 1, + 1, + [ + 276, + 148, + 75 + ] + ], + [ + "add", + 514, + 328, + 1, + 1, + [ + 276, + 138, + 75 + ] + ], + [ + "add", + 515, + 109, + 1, + 1, + [ + 266, + 148, + 75 + ] + ], + [ + "add", + 516, + 332, + 1, + 1, + [ + 266, + 138, + 85 + ] + ], + [ + "add", + 517, + 334, + 1, + 1, + [ + 276, + 148, + 85 + ] + ], + [ + "add", + 518, + 50, + 1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 321, + 335, + 1, + 1, + [ + 288, + 138, + 97, + 30 + ] + ], + [ + "add", + 347, + 345, + 1, + 1, + [ + 429, + 70, + 30 + ] + ], + [ + "add", + 341, + 345, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "scale", + 341, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 82, + 6, + 1, + 1, + [ + 416, + 19, + 13 + ] + ], + [ + "add", + 337, + 6, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 75, + 349, + 1, + 1, + [ + 416, + 70, + 30 + ] + ], + [ + "add", + 346, + 349, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "scale", + 346, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 351, + 1, + 1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 339, + 1, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 520, + 347, + 1, + 1, + [ + 429, + 70, + 30 + ] + ], + [ + "add", + 520, + 232, + -2, + 1, + [ + 394, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 521, + 82, + 1, + 1, + [ + 416, + 19, + 13 + ] + ], + [ + "add", + 521, + 7, + -2, + 1, + [ + 416, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 522, + 343, + 1, + 1, + [ + 416, + 65, + 19, + 7 + ] + ], + [ + "add", + 523, + 338, + 1, + 1, + [ + 435, + 82, + 10, + 7 + ] + ], + [ + "add", + 524, + 342, + 1, + 1, + [ + 426, + 75, + 19, + 7 + ] + ], + [ + "add", + 525, + 340, + 1, + 1, + [ + 416, + 65, + 10, + 7 + ] + ], + [ + "add", + 526, + 344, + 1, + 1, + [ + 416, + 65, + 19, + 10 + ] + ], + [ + "add", + 527, + 28, + 1, + 1, + [ + 423, + 70, + 20, + 13 + ] + ], + [ + "add", + 528, + 348, + 1, + 1, + [ + 423, + 70, + 19, + 10 + ] + ], + [ + "add", + 529, + 350, + 1, + 1, + [ + 416, + 65, + 20, + 13 + ] + ], + [ + "add", + 530, + 75, + 1, + 1, + [ + 416, + 70, + 30 + ] + ], + [ + "add", + 531, + 351, + 1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 363, + 361, + 1, + 1, + [ + 262, + 134, + 30 + ] + ], + [ + "add", + 357, + 361, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "scale", + 357, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 73, + 83, + 1, + 1, + [ + 352, + 224, + 30 + ] + ], + [ + "add", + 353, + 83, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 84, + 365, + 1, + 1, + [ + 262, + 224, + 30 + ] + ], + [ + "add", + 362, + 365, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "scale", + 362, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 367, + 74, + 1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 355, + 74, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 532, + 363, + 1, + 1, + [ + 262, + 134, + 30 + ] + ], + [ + "add", + 532, + 452, + -2, + 1, + [ + 257, + 129, + 75, + 33, + 25, + 7 + ] + ], + [ + "add", + 533, + 73, + 1, + 1, + [ + 352, + 224, + 30 + ] + ], + [ + "add", + 533, + 453, + -2, + 1, + [ + 288, + 160, + 64, + 18, + 11, + 7 + ] + ], + [ + "add", + 534, + 359, + 1, + 1, + [ + 280, + 129, + 120, + 7 + ] + ], + [ + "add", + 535, + 354, + 1, + 1, + [ + 257, + 152, + 120, + 7 + ] + ], + [ + "add", + 536, + 358, + 1, + 1, + [ + 257, + 129, + 97, + 7 + ] + ], + [ + "add", + 537, + 356, + 1, + 1, + [ + 280, + 152, + 97, + 7 + ] + ], + [ + "add", + 538, + 360, + 1, + 1, + [ + 262, + 129, + 102, + 25 + ] + ], + [ + "add", + 539, + 60, + 1, + 1, + [ + 257, + 134, + 102, + 25 + ] + ], + [ + "add", + 540, + 364, + 1, + 1, + [ + 257, + 129, + 97, + 25 + ] + ], + [ + "add", + 541, + 366, + 1, + 1, + [ + 262, + 134, + 97, + 25 + ] + ], + [ + "add", + 542, + 84, + 1, + 1, + [ + 262, + 224, + 30 + ] + ], + [ + "add", + 543, + 367, + 1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 379, + 377, + 1, + 1, + [ + 392, + 37, + 22 + ] + ], + [ + "add", + 373, + 377, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "scale", + 373, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 67, + 80, + 1, + 1, + [ + 414, + 67, + 51 + ] + ], + [ + "add", + 369, + 80, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 3, + 381, + 1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 378, + 381, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "scale", + 378, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 383, + 88, + 1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 371, + 88, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 88, + 80, + 1, + 2, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 80, + 88, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 544, + 379, + 1, + 1, + [ + 392, + 37, + 22 + ] + ], + [ + "add", + 544, + 236, + -2, + 1, + [ + 392, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 545, + 67, + 1, + 1, + [ + 414, + 67, + 51 + ] + ], + [ + "add", + 545, + 238, + -2, + 1, + [ + 401, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 546, + 375, + 1, + 1, + [ + 392, + 67, + 22 + ] + ], + [ + "add", + 547, + 370, + 1, + 1, + [ + 414, + 85, + 37 + ] + ], + [ + "add", + 548, + 374, + 1, + 1, + [ + 429, + 102, + 22 + ] + ], + [ + "add", + 549, + 372, + 1, + 1, + [ + 392, + 67, + 37 + ] + ], + [ + "add", + 550, + 376, + 1, + 1, + [ + 414, + 67, + 37 + ] + ], + [ + "add", + 551, + 66, + 1, + 1, + [ + 392, + 102, + 22 + ] + ], + [ + "add", + 552, + 380, + 1, + 1, + [ + 392, + 85, + 37 + ] + ], + [ + "add", + 553, + 382, + 1, + 1, + [ + 429, + 67, + 22 + ] + ], + [ + "add", + 554, + 3, + 1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 555, + 383, + 1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 395, + 393, + 1, + 1, + [ + 328, + 200, + 51 + ] + ], + [ + "add", + 389, + 393, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "scale", + 389, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 5, + 68, + 1, + 1, + [ + 259, + 131, + 51 + ] + ], + [ + "add", + 385, + 68, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 69, + 397, + 1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 394, + 397, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "scale", + 394, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 399, + 4, + 1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 387, + 4, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 556, + 395, + 1, + 1, + [ + 328, + 200, + 51 + ] + ], + [ + "add", + 556, + 454, + -2, + 1, + [ + 264, + 136, + 64, + 33, + 18, + 7 + ] + ], + [ + "add", + 557, + 5, + 1, + 1, + [ + 259, + 131, + 51 + ] + ], + [ + "add", + 557, + 455, + -2, + 1, + [ + 259, + 131, + 82, + 51, + 11, + 7 + ] + ], + [ + "add", + 558, + 391, + 1, + 1, + [ + 304, + 131, + 120 + ] + ], + [ + "add", + 559, + 386, + 1, + 1, + [ + 259, + 176, + 120 + ] + ], + [ + "add", + 560, + 390, + 1, + 1, + [ + 259, + 131, + 75 + ] + ], + [ + "add", + 561, + 388, + 1, + 1, + [ + 304, + 176, + 75 + ] + ], + [ + "add", + 562, + 392, + 1, + 1, + [ + 304, + 131, + 75 + ] + ], + [ + "add", + 563, + 97, + 1, + 1, + [ + 259, + 176, + 75 + ] + ], + [ + "add", + 564, + 396, + 1, + 1, + [ + 259, + 131, + 120 + ] + ], + [ + "add", + 565, + 398, + 1, + 1, + [ + 304, + 176, + 120 + ] + ], + [ + "add", + 566, + 69, + 1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 567, + 399, + 1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 568, + 407, + 1, + 1, + [ + 292, + 164, + 75 + ] + ], + [ + "add", + 569, + 402, + 1, + 1, + [ + 265, + 137, + 75 + ] + ], + [ + "add", + 570, + 406, + 1, + 1, + [ + 292, + 137, + 102 + ] + ], + [ + "add", + 571, + 404, + 1, + 1, + [ + 265, + 164, + 102 + ] + ], + [ + "add", + 572, + 408, + 1, + 1, + [ + 292, + 164, + 102 + ] + ], + [ + "add", + 573, + 105, + 1, + 1, + [ + 265, + 137, + 102 + ] + ], + [ + "add", + 574, + 412, + 1, + 1, + [ + 292, + 137, + 75 + ] + ], + [ + "add", + 575, + 414, + 1, + 1, + [ + 265, + 164, + 75 + ] + ], + [ + "add", + 576, + 423, + 1, + 1, + [ + 431, + 100, + 28 + ] + ], + [ + "add", + 577, + 418, + 1, + 1, + [ + 386, + 73, + 49 + ] + ], + [ + "add", + 578, + 422, + 1, + 1, + [ + 414, + 85, + 49 + ] + ], + [ + "add", + 579, + 420, + 1, + 1, + [ + 386, + 73, + 28 + ] + ], + [ + "add", + 580, + 424, + 1, + 1, + [ + 386, + 85, + 49 + ] + ], + [ + "add", + 581, + 44, + 1, + 1, + [ + 431, + 73, + 28 + ] + ], + [ + "add", + 582, + 428, + 1, + 1, + [ + 386, + 100, + 28 + ] + ], + [ + "add", + 583, + 430, + 1, + 1, + [ + 414, + 73, + 49 + ] + ], + [ + "add", + 584, + 439, + 1, + 1, + [ + 268, + 140, + 51 + ] + ], + [ + "add", + 585, + 434, + 1, + 1, + [ + 274, + 146, + 51 + ] + ], + [ + "add", + 383, + 585, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 22, + 15 + ] + ], + [ + "add", + 287, + 434, + -1, + 2, + [ + 264, + 136, + 72, + 41, + 26, + 7 + ] + ], + [ + "add", + 586, + 438, + 1, + 1, + [ + 289, + 161, + 30 + ] + ], + [ + "add", + 587, + 436, + 1, + 1, + [ + 268, + 140, + 30 + ] + ], + [ + "add", + 351, + 587, + -1, + 2, + [ + 257, + 129, + 65, + 39, + 19, + 13 + ] + ], + [ + "add", + 319, + 436, + -1, + 2, + [ + 267, + 139, + 75, + 43, + 25, + 7 + ] + ], + [ + "add", + 588, + 440, + 1, + 1, + [ + 268, + 161, + 30 + ] + ], + [ + "add", + 589, + 46, + 1, + 1, + [ + 289, + 140, + 30 + ] + ], + [ + "add", + 367, + 589, + 1, + 1, + [ + 257, + 134, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 335, + 46, + 1, + 1, + [ + 288, + 138, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 590, + 444, + 1, + 1, + [ + 274, + 140, + 51 + ] + ], + [ + "add", + 591, + 446, + 1, + 1, + [ + 268, + 146, + 51 + ] + ], + [ + "add", + 399, + 591, + 1, + 1, + [ + 260, + 131, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 303, + 446, + 1, + 1, + [ + 264, + 145, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 129, + 299, + -1, + 2, + [ + 273, + 145, + 79, + 51 + ] + ], + [ + "add", + 212, + 54, + -1, + 2, + [ + 324, + 196, + 41, + 26 + ] + ], + [ + "add", + 168, + 554, + 1, + 1, + [ + 392, + 67, + 33, + 18 + ] + ], + [ + "add", + 150, + 439, + -1, + 2, + [ + 264, + 136, + 51, + 4 + ] + ], + [ + "add", + 143, + 555, + 1, + 1, + [ + 459, + 33, + 18, + 4 + ] + ], + [ + "add", + 152, + 283, + -1, + 2, + [ + 271, + 145, + 81, + 51 + ] + ], + [ + "add", + 166, + 100, + -1, + 2, + [ + 324, + 192, + 41, + 26 + ] + ], + [ + "add", + 214, + 566, + 1, + 1, + [ + 259, + 200, + 33, + 18 + ] + ], + [ + "add", + 131, + 444, + 1, + 1, + [ + 274, + 136, + 72, + 51, + 4 + ] + ], + [ + "add", + 167, + 567, + 1, + 1, + [ + 328, + 131, + 33, + 18 + ] + ], + [ + "add", + 219, + 331, + -1, + 2, + [ + 321, + 193, + 44, + 30 + ] + ], + [ + "add", + 160, + 34, + -1, + 2, + [ + 266, + 138, + 103, + 30 + ] + ], + [ + "add", + 144, + 530, + 1, + 1, + [ + 385, + 70, + 33, + 30 + ] + ], + [ + "add", + 136, + 586, + -1, + 2, + [ + 289, + 161, + 64, + 18, + 10, + 6 + ] + ], + [ + "add", + 197, + 531, + 1, + 1, + [ + 455, + 33, + 19, + 13 + ] + ], + [ + "add", + 134, + 315, + -1, + 2, + [ + 321, + 192, + 44, + 30 + ] + ], + [ + "add", + 146, + 48, + -1, + 2, + [ + 295, + 138, + 74, + 30 + ] + ], + [ + "add", + 162, + 542, + 1, + 1, + [ + 262, + 193, + 33, + 30 + ] + ], + [ + "add", + 221, + 588, + 1, + 1, + [ + 256, + 161, + 97, + 18, + 10, + 6 + ] + ], + [ + "add", + 145, + 543, + 1, + 1, + [ + 321, + 134, + 33, + 30 + ] + ], + [ + "add", + 170, + 363, + -1, + 2, + [ + 262, + 134, + 107, + 30 + ] + ], + [ + "add", + 194, + 73, + -1, + 2, + [ + 352, + 224, + 19, + 13 + ] + ], + [ + "add", + 187, + 506, + 1, + 1, + [ + 385, + 70, + 18, + 12 + ] + ], + [ + "add", + 140, + 438, + -1, + 2, + [ + 256, + 128, + 76, + 32, + 30, + 1 + ] + ], + [ + "add", + 113, + 305, + 1, + 1, + [ + 391, + 64, + 32, + 18, + 12 + ] + ], + [ + "add", + 142, + 347, + -1, + 2, + [ + 299, + 134, + 70, + 30 + ] + ], + [ + "add", + 185, + 82, + -1, + 2, + [ + 352, + 192, + 19, + 13 + ] + ], + [ + "add", + 196, + 518, + 1, + 1, + [ + 262, + 193, + 18, + 12 + ] + ], + [ + "add", + 172, + 440, + 1, + 1, + [ + 268, + 128, + 64, + 32, + 30, + 1 + ] + ], + [ + "add", + 186, + 321, + 1, + 1, + [ + 288, + 134, + 97, + 18, + 12 + ] + ], + [ + "add", + 207, + 395, + -1, + 2, + [ + 328, + 200, + 37, + 22 + ] + ], + [ + "add", + 179, + 5, + -1, + 2, + [ + 259, + 131, + 93, + 51 + ] + ], + [ + "add", + 115, + 273, + 1, + 1, + [ + 388, + 81, + 48, + 12, + 3 + ] + ], + [ + "add", + 56, + 439, + -1, + 2, + [ + 264, + 136, + 81, + 48, + 4, + 3 + ] + ], + [ + "add", + 200, + 275, + 1, + 1, + [ + 391, + 68, + 37, + 22, + 12 + ] + ], + [ + "add", + 176, + 379, + -1, + 2, + [ + 328, + 192, + 37, + 22 + ] + ], + [ + "add", + 117, + 67, + -1, + 2, + [ + 285, + 131, + 67, + 51 + ] + ], + [ + "add", + 181, + 289, + 1, + 1, + [ + 273, + 132, + 64, + 51, + 12 + ] + ], + [ + "add", + 102, + 444, + 1, + 1, + [ + 273, + 136, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 116, + 291, + 1, + 1, + [ + 260, + 145, + 64, + 51, + 12 + ] + ], + [ + "add", + 283, + 299, + 1, + 1, + [ + 271, + 143, + 79, + 45, + 30 + ] + ], + [ + "add", + 100, + 54, + 1, + 1, + [ + 320, + 192, + 41, + 26, + 4 + ] + ], + [ + "add", + 315, + 331, + 1, + 1, + [ + 320, + 192, + 44, + 30, + 1 + ] + ], + [ + "add", + 48, + 34, + 1, + 1, + [ + 266, + 138, + 74, + 45, + 30 + ] + ], + [ + "add", + 347, + 363, + 1, + 1, + [ + 262, + 134, + 70, + 45, + 30 + ] + ], + [ + "add", + 82, + 73, + 1, + 1, + [ + 320, + 192, + 32, + 19, + 13 + ] + ], + [ + "add", + 379, + 395, + 1, + 1, + [ + 320, + 192, + 37, + 22, + 8 + ] + ], + [ + "add", + 67, + 5, + 1, + 1, + [ + 259, + 131, + 67, + 45, + 30 + ] + ], + [ + "add", + 279, + 311, + 1, + 1, + [ + 385, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 274, + 306, + 1, + 1, + [ + 408, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 295, + 327, + 1, + 1, + [ + 273, + 136, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 290, + 322, + 1, + 1, + [ + 264, + 145, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 343, + 375, + 1, + 1, + [ + 392, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 338, + 370, + 1, + 1, + [ + 401, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 359, + 391, + 1, + 1, + [ + 280, + 129, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 354, + 386, + 1, + 1, + [ + 257, + 152, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 278, + 326, + 1, + 1, + [ + 266, + 138, + 75, + 42, + 26, + 7 + ] + ], + [ + "add", + 276, + 324, + 1, + 1, + [ + 272, + 144, + 72, + 41, + 4, + 3 + ] + ], + [ + "add", + 294, + 310, + 1, + 1, + [ + 264, + 136, + 75, + 42, + 24, + 7 + ] + ], + [ + "add", + 292, + 308, + 1, + 1, + [ + 272, + 144, + 74, + 42, + 6, + 1 + ] + ], + [ + "add", + 358, + 374, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 17, + 7 + ] + ], + [ + "add", + 356, + 372, + 1, + 1, + [ + 272, + 144, + 67, + 34, + 8, + 7 + ] + ], + [ + "add", + 342, + 390, + 1, + 1, + [ + 259, + 131, + 75, + 42, + 19, + 7 + ] + ], + [ + "add", + 340, + 388, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 10, + 7 + ] + ], + [ + "add", + 247, + 498, + 1, + 1, + [ + 260, + 132, + 74, + 42, + 24, + 1 + ] + ], + [ + "add", + 242, + 499, + 1, + 1, + [ + 258, + 130, + 75, + 42, + 25, + 6 + ] + ], + [ + "add", + 263, + 512, + 1, + 1, + [ + 260, + 132, + 69, + 36, + 23, + 14 + ] + ], + [ + "add", + 258, + 513, + 1, + 1, + [ + 260, + 132, + 66, + 35, + 16, + 9 + ] + ], + [ + "add", + 344, + 407, + -1, + 2, + [ + 260, + 132, + 65, + 32, + 19, + 10 + ] + ], + [ + "add", + 28, + 402, + -1, + 2, + [ + 260, + 132, + 70, + 39, + 20, + 13 + ] + ], + [ + "add", + 364, + 423, + -1, + 2, + [ + 257, + 129, + 75, + 42, + 25, + 5 + ] + ], + [ + "add", + 366, + 418, + -1, + 2, + [ + 260, + 132, + 73, + 40, + 25, + 2 + ] + ], + [ + "add", + 246, + 510, + 1, + 1, + [ + 261, + 130, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 244, + 511, + 1, + 1, + [ + 258, + 133, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 262, + 500, + 1, + 1, + [ + 390, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 260, + 501, + 1, + 1, + [ + 385, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 360, + 406, + -1, + 2, + [ + 262, + 129, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 60, + 404, + -1, + 2, + [ + 257, + 134, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 348, + 422, + -1, + 2, + [ + 389, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 350, + 420, + -1, + 2, + [ + 386, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 456, + 474, + 1, + 1, + [ + 257, + 129, + 72, + 42, + 26, + 4 + ] + ], + [ + "add", + 457, + 475, + 1, + 1, + [ + 257, + 129, + 76, + 41, + 29, + 3 + ] + ], + [ + "add", + 466, + 488, + 1, + 1, + [ + 257, + 129, + 69, + 35, + 23, + 9 + ] + ], + [ + "add", + 467, + 489, + 1, + 1, + [ + 257, + 129, + 66, + 36, + 16, + 14 + ] + ], + [ + "add", + 376, + 408, + 1, + 1, + [ + 257, + 129, + 67, + 37, + 30 + ] + ], + [ + "add", + 66, + 105, + 1, + 1, + [ + 257, + 129, + 102, + 22, + 8 + ] + ], + [ + "add", + 396, + 428, + 1, + 1, + [ + 257, + 129, + 100, + 28, + 2 + ] + ], + [ + "add", + 398, + 430, + 1, + 1, + [ + 257, + 129, + 73, + 47, + 30 + ] + ], + [ + "add", + 458, + 486, + 1, + 1, + [ + 261, + 130, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 459, + 487, + 1, + 1, + [ + 258, + 133, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 464, + 476, + 1, + 1, + [ + 387, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 465, + 477, + 1, + 1, + [ + 388, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 392, + 412, + 1, + 1, + [ + 292, + 131, + 65, + 20, + 10 + ] + ], + [ + "add", + 97, + 414, + 1, + 1, + [ + 259, + 164, + 65, + 20, + 10 + ] + ], + [ + "add", + 380, + 424, + 1, + 1, + [ + 386, + 65, + 37, + 20, + 10 + ] + ], + [ + "add", + 382, + 44, + 1, + 1, + [ + 421, + 65, + 20, + 8, + 2 + ] + ], + [ + "add", + 248, + 546, + -1, + 2, + [ + 288, + 160, + 67, + 17, + 8, + 7 + ] + ], + [ + "add", + 10, + 547, + -1, + 2, + [ + 258, + 130, + 75, + 34, + 25, + 7 + ] + ], + [ + "add", + 268, + 560, + -1, + 2, + [ + 259, + 131, + 75, + 35, + 25, + 7 + ] + ], + [ + "add", + 270, + 561, + -1, + 2, + [ + 288, + 160, + 66, + 16, + 9, + 7 + ] + ], + [ + "add", + 280, + 568, + -1, + 2, + [ + 288, + 160, + 72, + 25, + 4, + 3 + ] + ], + [ + "add", + 38, + 569, + -1, + 2, + [ + 265, + 137, + 75, + 41, + 25, + 7 + ] + ], + [ + "add", + 300, + 578, + -1, + 2, + [ + 264, + 136, + 75, + 40, + 25, + 7 + ] + ], + [ + "add", + 302, + 579, + -1, + 2, + [ + 288, + 160, + 73, + 25, + 5, + 2 + ] + ], + [ + "add", + 252, + 558, + -1, + 2, + [ + 296, + 130, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 254, + 559, + -1, + 2, + [ + 258, + 168, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 264, + 548, + -1, + 2, + [ + 418, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 79, + 549, + -1, + 2, + [ + 392, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 296, + 570, + -1, + 2, + [ + 290, + 136, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 19, + 571, + -1, + 2, + [ + 264, + 162, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 284, + 576, + -1, + 2, + [ + 424, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 286, + 577, + -1, + 2, + [ + 386, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 460, + 522, + -1, + 2, + [ + 264, + 136, + 65, + 32, + 19, + 7 + ] + ], + [ + "add", + 461, + 523, + -1, + 2, + [ + 258, + 130, + 82, + 51, + 10, + 7 + ] + ], + [ + "add", + 468, + 536, + -1, + 2, + [ + 257, + 129, + 82, + 51, + 9, + 7 + ] + ], + [ + "add", + 469, + 537, + -1, + 2, + [ + 264, + 136, + 66, + 35, + 16, + 7 + ] + ], + [ + "add", + 312, + 572, + 1, + 1, + [ + 264, + 136, + 74, + 44, + 31 + ] + ], + [ + "add", + 24, + 573, + 1, + 1, + [ + 264, + 136, + 84, + 50, + 1 + ] + ], + [ + "add", + 332, + 580, + 1, + 1, + [ + 264, + 136, + 85, + 49, + 2 + ] + ], + [ + "add", + 334, + 581, + 1, + 1, + [ + 264, + 136, + 73, + 47, + 28 + ] + ], + [ + "add", + 462, + 534, + -1, + 2, + [ + 280, + 129, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 463, + 535, + -1, + 2, + [ + 257, + 152, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 470, + 524, + -1, + 2, + [ + 393, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 471, + 525, + -1, + 2, + [ + 400, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 328, + 574, + 1, + 1, + [ + 276, + 137, + 72, + 48, + 3 + ] + ], + [ + "add", + 109, + 575, + 1, + 1, + [ + 265, + 148, + 72, + 48, + 3 + ] + ], + [ + "add", + 316, + 582, + 1, + 1, + [ + 385, + 72, + 44, + 28, + 3 + ] + ], + [ + "add", + 318, + 583, + 1, + 1, + [ + 412, + 72, + 48, + 2, + 1 + ] + ], + [ + "add", + 478, + 526, + 1, + 1, + [ + 388, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 479, + 527, + 1, + 1, + [ + 387, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 490, + 538, + 1, + 1, + [ + 262, + 129, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 491, + 539, + 1, + 1, + [ + 257, + 134, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 502, + 550, + 1, + 1, + [ + 390, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 503, + 551, + 1, + 1, + [ + 385, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 514, + 562, + 1, + 1, + [ + 260, + 131, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 515, + 563, + 1, + 1, + [ + 259, + 132, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 480, + 540, + 1, + 1, + [ + 257, + 129, + 76, + 45, + 25, + 3 + ] + ], + [ + "add", + 481, + 541, + 1, + 1, + [ + 258, + 130, + 72, + 41, + 25, + 4 + ] + ], + [ + "add", + 492, + 528, + 1, + 1, + [ + 258, + 130, + 70, + 39, + 19, + 10 + ] + ], + [ + "add", + 493, + 529, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 20, + 13 + ] + ], + [ + "add", + 516, + 552, + 1, + 1, + [ + 258, + 130, + 68, + 37, + 17, + 8 + ] + ], + [ + "add", + 517, + 553, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 22, + 15 + ] + ], + [ + "add", + 504, + 564, + 1, + 1, + [ + 258, + 130, + 76, + 44, + 24, + 1 + ] + ], + [ + "add", + 505, + 565, + 1, + 1, + [ + 258, + 130, + 74, + 43, + 25, + 6 + ] + ], + [ + "add", + 273, + 554, + 1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 275, + 555, + 1, + 1, + [ + 387, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 506, + 530, + 1, + 1, + [ + 385, + 70, + 33, + 18, + 12 + ] + ], + [ + "add", + 305, + 531, + 1, + 1, + [ + 390, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 518, + 542, + 1, + 1, + [ + 262, + 193, + 33, + 18, + 12 + ] + ], + [ + "add", + 321, + 543, + 1, + 1, + [ + 257, + 134, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 289, + 566, + 1, + 1, + [ + 259, + 132, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 291, + 567, + 1, + 1, + [ + 260, + 131, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 592, + 349, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 349, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 349, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 243, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 243, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 243, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 365, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 365, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 365, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 361, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 361, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 361, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 283, + 1, + 1, + [ + 271, + 143, + 79, + 45, + 30 + ] + ], + [ + "add", + 593, + 100, + 1, + 1, + [ + 320, + 192, + 41, + 26, + 4 + ] + ], + [ + "add", + 594, + 315, + 1, + 1, + [ + 320, + 192, + 44, + 30, + 1 + ] + ], + [ + "add", + 349, + 48, + 1, + 1, + [ + 266, + 138, + 74, + 45, + 30 + ] + ], + [ + "add", + 596, + 347, + 1, + 1, + [ + 262, + 134, + 70, + 45, + 30 + ] + ], + [ + "add", + 243, + 82, + 1, + 1, + [ + 320, + 192, + 32, + 19, + 13 + ] + ], + [ + "add", + 365, + 379, + 1, + 1, + [ + 320, + 192, + 37, + 22, + 8 + ] + ], + [ + "add", + 361, + 67, + 1, + 1, + [ + 259, + 131, + 67, + 45, + 30 + ] + ], + [ + "add", + 600, + 401, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 401, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 401, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 403, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 403, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 403, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 606, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 606, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 606, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 405, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 405, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 405, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 279, + 1, + 1, + [ + 385, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 601, + 274, + 1, + 1, + [ + 408, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 602, + 295, + 1, + 1, + [ + 273, + 136, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 401, + 290, + 1, + 1, + [ + 264, + 145, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 343, + 1, + 1, + [ + 392, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 403, + 338, + 1, + 1, + [ + 401, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 606, + 359, + 1, + 1, + [ + 280, + 129, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 405, + 354, + 1, + 1, + [ + 257, + 152, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 608, + 410, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 410, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 410, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 417, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 417, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 417, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 419, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 419, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 419, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 421, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 421, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 421, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 278, + 1, + 1, + [ + 266, + 138, + 75, + 42, + 26, + 7 + ] + ], + [ + "add", + 609, + 276, + 1, + 1, + [ + 272, + 144, + 72, + 41, + 4, + 3 + ] + ], + [ + "add", + 610, + 294, + 1, + 1, + [ + 264, + 136, + 75, + 42, + 24, + 7 + ] + ], + [ + "add", + 410, + 292, + 1, + 1, + [ + 272, + 144, + 74, + 42, + 6, + 1 + ] + ], + [ + "add", + 612, + 358, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 17, + 7 + ] + ], + [ + "add", + 417, + 356, + 1, + 1, + [ + 272, + 144, + 67, + 34, + 8, + 7 + ] + ], + [ + "add", + 419, + 342, + 1, + 1, + [ + 259, + 131, + 75, + 42, + 19, + 7 + ] + ], + [ + "add", + 421, + 340, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 10, + 7 + ] + ], + [ + "scale", + 68, + 1, + 2, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 68, + 4, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 31, + 12, + 1, + 2, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 616, + 1, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 1, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 1, + 1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 4, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 4, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 4, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 6, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 6, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 6, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 12, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 12, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 12, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 247, + 1, + 1, + [ + 260, + 132, + 74, + 42, + 24, + 1 + ] + ], + [ + "add", + 617, + 242, + 1, + 1, + [ + 258, + 130, + 75, + 42, + 25, + 6 + ] + ], + [ + "add", + 618, + 263, + 1, + 1, + [ + 260, + 132, + 69, + 36, + 23, + 14 + ] + ], + [ + "add", + 1, + 258, + 1, + 1, + [ + 260, + 132, + 66, + 35, + 16, + 9 + ] + ], + [ + "add", + 620, + 344, + 1, + 1, + [ + 260, + 132, + 65, + 32, + 19, + 10 + ] + ], + [ + "add", + 4, + 28, + 1, + 1, + [ + 260, + 132, + 70, + 39, + 20, + 13 + ] + ], + [ + "add", + 6, + 364, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 25, + 5 + ] + ], + [ + "add", + 12, + 366, + 1, + 1, + [ + 260, + 132, + 73, + 40, + 25, + 2 + ] + ], + [ + "add", + 624, + 426, + -1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 625, + 426, + -1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 626, + 426, + 1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 624, + 433, + -2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 625, + 433, + 2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 628, + 433, + -1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 624, + 435, + -2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 626, + 435, + 2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 628, + 435, + -1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 625, + 437, + 2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 626, + 437, + -2, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 628, + 437, + -1, + 1, + [ + 391, + 68, + 34, + 17 + ] + ], + [ + "add", + 624, + 246, + 1, + 1, + [ + 261, + 130, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 625, + 244, + 1, + 1, + [ + 258, + 133, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 626, + 262, + 1, + 1, + [ + 390, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 426, + 260, + 1, + 1, + [ + 385, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 628, + 360, + 1, + 1, + [ + 262, + 129, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 433, + 60, + 1, + 1, + [ + 257, + 134, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 435, + 348, + 1, + 1, + [ + 389, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 437, + 350, + 1, + 1, + [ + 386, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 632, + 635, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 635, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 635, + 1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 637, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 637, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 637, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 638, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 638, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 638, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 639, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 639, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 639, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 456, + 1, + 1, + [ + 257, + 129, + 72, + 42, + 26, + 4 + ] + ], + [ + "add", + 633, + 457, + 1, + 1, + [ + 257, + 129, + 76, + 41, + 29, + 3 + ] + ], + [ + "add", + 634, + 466, + 1, + 1, + [ + 257, + 129, + 69, + 35, + 23, + 9 + ] + ], + [ + "add", + 635, + 467, + 1, + 1, + [ + 257, + 129, + 66, + 36, + 16, + 14 + ] + ], + [ + "add", + 636, + 376, + 1, + 1, + [ + 257, + 129, + 67, + 37, + 30 + ] + ], + [ + "add", + 637, + 66, + 1, + 1, + [ + 257, + 129, + 102, + 22, + 8 + ] + ], + [ + "add", + 638, + 396, + 1, + 1, + [ + 257, + 129, + 100, + 28, + 2 + ] + ], + [ + "add", + 639, + 398, + 1, + 1, + [ + 257, + 129, + 73, + 47, + 30 + ] + ], + [ + "add", + 33, + 49, + 1, + 2, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 49, + 33, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 55, + 101, + 1, + 2, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 101, + 55, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 74, + 83, + 1, + 2, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 83, + 74, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 85, + 98, + 1, + 2, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 98, + 85, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 33, + 250, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 250, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 250, + 1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 266, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 266, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 266, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 259, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 259, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 259, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 261, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 261, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 261, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 458, + 1, + 1, + [ + 261, + 130, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 55, + 459, + 1, + 1, + [ + 258, + 133, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 74, + 464, + 1, + 1, + [ + 387, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 250, + 465, + 1, + 1, + [ + 388, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 85, + 392, + 1, + 1, + [ + 292, + 131, + 65, + 20, + 10 + ] + ], + [ + "add", + 266, + 97, + 1, + 1, + [ + 259, + 164, + 65, + 20, + 10 + ] + ], + [ + "add", + 259, + 380, + 1, + 1, + [ + 386, + 65, + 37, + 20, + 10 + ] + ], + [ + "add", + 261, + 382, + 1, + 1, + [ + 421, + 65, + 20, + 8, + 2 + ] + ], + [ + "add", + 648, + 530, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 530, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 530, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 653, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 653, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 653, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 542, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 542, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 542, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 442, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 442, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 442, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 248, + 1, + 1, + [ + 288, + 160, + 67, + 17, + 8, + 7 + ] + ], + [ + "add", + 649, + 10, + 1, + 1, + [ + 258, + 130, + 75, + 34, + 25, + 7 + ] + ], + [ + "add", + 650, + 268, + 1, + 1, + [ + 259, + 131, + 75, + 35, + 25, + 7 + ] + ], + [ + "add", + 530, + 270, + 1, + 1, + [ + 288, + 160, + 66, + 16, + 9, + 7 + ] + ], + [ + "add", + 652, + 280, + 1, + 1, + [ + 288, + 160, + 72, + 25, + 4, + 3 + ] + ], + [ + "add", + 653, + 38, + 1, + 1, + [ + 265, + 137, + 75, + 41, + 25, + 7 + ] + ], + [ + "add", + 542, + 300, + 1, + 1, + [ + 264, + 136, + 75, + 40, + 25, + 7 + ] + ], + [ + "add", + 442, + 302, + 1, + 1, + [ + 288, + 160, + 73, + 25, + 5, + 2 + ] + ], + [ + "add", + 656, + 333, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 333, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 333, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 317, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 317, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 317, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 257, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 257, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 257, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 245, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 245, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 245, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 252, + 1, + 1, + [ + 296, + 130, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 657, + 254, + 1, + 1, + [ + 258, + 168, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 658, + 264, + 1, + 1, + [ + 418, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 333, + 79, + 1, + 1, + [ + 392, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 660, + 296, + 1, + 1, + [ + 290, + 136, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 317, + 19, + 1, + 1, + [ + 264, + 162, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 257, + 284, + 1, + 1, + [ + 424, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 245, + 286, + 1, + 1, + [ + 386, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 664, + 460, + 1, + 1, + [ + 264, + 136, + 65, + 32, + 19, + 7 + ] + ], + [ + "add", + 665, + 461, + 1, + 1, + [ + 258, + 130, + 82, + 51, + 10, + 7 + ] + ], + [ + "add", + 666, + 468, + 1, + 1, + [ + 257, + 129, + 82, + 51, + 9, + 7 + ] + ], + [ + "add", + 667, + 469, + 1, + 1, + [ + 264, + 136, + 66, + 35, + 16, + 7 + ] + ], + [ + "add", + 668, + 312, + 1, + 1, + [ + 264, + 136, + 74, + 44, + 31 + ] + ], + [ + "add", + 669, + 24, + 1, + 1, + [ + 264, + 136, + 84, + 50, + 1 + ] + ], + [ + "add", + 670, + 332, + 1, + 1, + [ + 264, + 136, + 85, + 49, + 2 + ] + ], + [ + "add", + 671, + 334, + 1, + 1, + [ + 264, + 136, + 73, + 47, + 28 + ] + ], + [ + "add", + 672, + 241, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 241, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 241, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 234, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 234, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 234, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 229, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 229, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 229, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 227, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 227, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 227, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 462, + 1, + 1, + [ + 280, + 129, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 673, + 463, + 1, + 1, + [ + 257, + 152, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 674, + 470, + 1, + 1, + [ + 393, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 241, + 471, + 1, + 1, + [ + 400, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 676, + 328, + 1, + 1, + [ + 276, + 137, + 72, + 48, + 3 + ] + ], + [ + "add", + 234, + 109, + 1, + 1, + [ + 265, + 148, + 72, + 48, + 3 + ] + ], + [ + "add", + 229, + 316, + 1, + 1, + [ + 385, + 72, + 44, + 28, + 3 + ] + ], + [ + "add", + 227, + 318, + 1, + 1, + [ + 412, + 72, + 48, + 2, + 1 + ] + ], + [ + "add", + 49, + 285, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 285, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 285, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 225, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 225, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 225, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 281, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 281, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 281, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 393, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 393, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 393, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 478, + 1, + 1, + [ + 388, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 83, + 479, + 1, + 1, + [ + 387, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 98, + 490, + 1, + 1, + [ + 262, + 129, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 285, + 491, + 1, + 1, + [ + 257, + 134, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 101, + 502, + 1, + 1, + [ + 390, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 225, + 503, + 1, + 1, + [ + 385, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 281, + 514, + 1, + 1, + [ + 260, + 131, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 393, + 515, + 1, + 1, + [ + 259, + 132, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 68, + 397, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 397, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 397, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 377, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 377, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 377, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 381, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 381, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 381, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 345, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 345, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 345, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 480, + 1, + 1, + [ + 257, + 129, + 76, + 45, + 25, + 3 + ] + ], + [ + "add", + 80, + 481, + 1, + 1, + [ + 258, + 130, + 72, + 41, + 25, + 4 + ] + ], + [ + "add", + 88, + 492, + 1, + 1, + [ + 258, + 130, + 70, + 39, + 19, + 10 + ] + ], + [ + "add", + 397, + 493, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 20, + 13 + ] + ], + [ + "add", + 31, + 516, + 1, + 1, + [ + 258, + 130, + 68, + 37, + 17, + 8 + ] + ], + [ + "add", + 377, + 517, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 22, + 15 + ] + ], + [ + "add", + 381, + 504, + 1, + 1, + [ + 258, + 130, + 76, + 44, + 24, + 1 + ] + ], + [ + "add", + 345, + 505, + 1, + 1, + [ + 258, + 130, + 74, + 43, + 25, + 6 + ] + ], + [ + "add", + 696, + 301, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 301, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 301, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 329, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 329, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 329, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 297, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 297, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 297, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 313, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 313, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 313, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 273, + 1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 697, + 275, + 1, + 1, + [ + 387, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 698, + 506, + 1, + 1, + [ + 385, + 70, + 33, + 18, + 12 + ] + ], + [ + "add", + 301, + 305, + 1, + 1, + [ + 390, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 700, + 518, + 1, + 1, + [ + 262, + 193, + 33, + 18, + 12 + ] + ], + [ + "add", + 329, + 321, + 1, + 1, + [ + 257, + 134, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 297, + 289, + 1, + 1, + [ + 259, + 132, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 313, + 291, + 1, + 1, + [ + 260, + 131, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 215, + 484, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 129, + 448, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 124, + 485, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 212, + 449, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 168, + 584, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 150, + 3, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 143, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 189, + 383, + 1, + 1, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 130, + 472, + -1, + 2, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 152, + 231, + -1, + 2, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 213, + 473, + -1, + 2, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 166, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 214, + 590, + 1, + 1, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 131, + 69, + 1, + 1, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 167, + 591, + 1, + 1, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 151, + 399, + 1, + 1, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 157, + 508, + -1, + 2, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 219, + 450, + -1, + 2, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 210, + 509, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 160, + 451, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 144, + 438, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 136, + 75, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 197, + 587, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 147, + 351, + 1, + 1, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 220, + 496, + -1, + 2, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 134, + 230, + -1, + 2, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 161, + 497, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 146, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 162, + 440, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 221, + 84, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 145, + 589, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 135, + 367, + 1, + 1, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 205, + 532, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 170, + 452, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 118, + 533, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 194, + 453, + 1, + 1, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 187, + 586, + -1, + 2, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 140, + 32, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 113, + 436, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 198, + 319, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 171, + 520, + -1, + 2, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 142, + 232, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 521, + -1, + 2, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 185, + 7, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 196, + 588, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 172, + 50, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 186, + 46, + 1, + 1, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 141, + 335, + 1, + 1, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 120, + 556, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 207, + 454, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 192, + 557, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 179, + 455, + 1, + 1, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 115, + 439, + -1, + 2, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 178, + 56, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 200, + 434, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 138, + 287, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 208, + 544, + -1, + 2, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 176, + 236, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 180, + 545, + -1, + 2, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 117, + 238, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 181, + 444, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 209, + 102, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 116, + 446, + 1, + 1, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 177, + 303, + 1, + 1, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 169, + 119, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 119, + 169, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "scale", + 119, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 112, + 139, + 1, + 1, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 139, + 112, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "scale", + 139, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 204, + 193, + 1, + 1, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 193, + 204, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "scale", + 193, + -2, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 188, + 199, + 1, + 1, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 199, + 188, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "scale", + 199, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 174, + 122, + 1, + 1, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 122, + 174, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 122, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 182, + 203, + 1, + 1, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 203, + 182, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 203, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 175, + 123, + 1, + 1, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 123, + 175, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 123, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 183, + 202, + 1, + 1, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 202, + 183, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 202, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 206, + 191, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 191, + 206, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "scale", + 191, + -2, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 184, + 201, + 1, + 1, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 201, + 184, + -1, + 2, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 201, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 173, + 121, + 1, + 1, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 121, + 173, + -1, + 2, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 121, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 114, + 137, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 137, + 114, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "scale", + 137, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 129, + 150, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 150, + 129, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 150, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 124, + 143, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 143, + 124, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "scale", + 143, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 215, + 189, + 1, + 1, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 189, + 215, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "scale", + 189, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 212, + 168, + 1, + 1, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 168, + 212, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 168, + -2, + 1, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 152, + 131, + 1, + 1, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 131, + 152, + -1, + 2, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 131, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 213, + 167, + 1, + 1, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 167, + 213, + -1, + 2, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 167, + -2, + 1, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 130, + 151, + 1, + 1, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 151, + 130, + -1, + 2, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 151, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 166, + 214, + 1, + 1, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 214, + 166, + -1, + 2, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 214, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 219, + 136, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 136, + 219, + -1, + 2, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 136, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 210, + 197, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 197, + 210, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "scale", + 197, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 157, + 147, + 1, + 1, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 147, + 157, + -1, + 2, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "scale", + 147, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 160, + 144, + 1, + 1, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 144, + 160, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 144, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 134, + 221, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 221, + 134, + -1, + 2, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 221, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 161, + 145, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 145, + 161, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 145, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 220, + 135, + 1, + 1, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 135, + 220, + -1, + 2, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 135, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 146, + 162, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 162, + 146, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 162, + -2, + 1, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 170, + 140, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 140, + 170, + -1, + 2, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 140, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 118, + 113, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 113, + 118, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "scale", + 113, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 205, + 198, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 198, + 205, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "scale", + 198, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 194, + 187, + 1, + 1, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 187, + 194, + -1, + 2, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 187, + -2, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 142, + 172, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 172, + 142, + -1, + 2, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 172, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 195, + 186, + 1, + 1, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 186, + 195, + -1, + 2, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 186, + -2, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 171, + 141, + 1, + 1, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 141, + 171, + -1, + 2, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 141, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 185, + 196, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 196, + 185, + -1, + 2, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 196, + -2, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 207, + 178, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 178, + 207, + -1, + 2, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 178, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 192, + 200, + 1, + 1, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 200, + 192, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "scale", + 200, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 120, + 138, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 138, + 120, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "scale", + 138, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 179, + 115, + 1, + 1, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 115, + 179, + -1, + 2, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 115, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 176, + 209, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 209, + 176, + -1, + 2, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 209, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 180, + 116, + 1, + 1, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 116, + 180, + -1, + 2, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 116, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 208, + 177, + 1, + 1, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 177, + 208, + -1, + 2, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 177, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 117, + 181, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 181, + 117, + -1, + 2, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 181, + -2, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 154, + 217, + 1, + 1, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 217, + 154, + -1, + 2, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 217, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 127, + 165, + 1, + 1, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 165, + 127, + -1, + 2, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 165, + -2, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 153, + 218, + 1, + 1, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 218, + 153, + -1, + 2, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 218, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 126, + 164, + 1, + 1, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 164, + 126, + -1, + 2, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 164, + -2, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 128, + 156, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 156, + 128, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "scale", + 156, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 125, + 163, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 163, + 125, + -1, + 2, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 163, + -2, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 155, + 216, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 216, + 155, + -1, + 2, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 216, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 190, + 211, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 211, + 190, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "scale", + 211, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 132, + 158, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 158, + 132, + -1, + 2, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "scale", + 158, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 148, + 223, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 223, + 148, + -1, + 2, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "scale", + 223, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 149, + 222, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 222, + 149, + -1, + 2, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "scale", + 222, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 133, + 159, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 159, + 133, + -1, + 2, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "scale", + 159, + -2, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 283, + 379, + 1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 8, + 7 + ] + ], + [ + "add", + 379, + 283, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 17, + 8, + 7 + ] + ], + [ + "add", + 139, + 283, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 119, + 379, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 100, + 67, + 1, + 1, + [ + 256, + 128, + 64, + 41, + 25, + 4, + 3 + ] + ], + [ + "add", + 67, + 100, + -1, + 2, + [ + 256, + 128, + 64, + 41, + 25, + 4, + 3 + ] + ], + [ + "add", + 112, + 100, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 169, + 67, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 315, + 347, + 1, + 1, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ] + ], + [ + "add", + 347, + 315, + -1, + 2, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ] + ], + [ + "add", + 139, + 315, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 169, + 347, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 48, + 82, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "add", + 82, + 48, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "add", + 112, + 48, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 119, + 82, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 592, + 361, + 1, + 1, + [ + 259, + 131, + 67, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 361, + 592, + -1, + 2, + [ + 259, + 131, + 67, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 199, + 592, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 193, + 361, + 1, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 593, + 365, + 1, + 1, + [ + 320, + 192, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 365, + 593, + -1, + 2, + [ + 320, + 192, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 188, + 593, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 204, + 365, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 594, + 243, + 1, + 1, + [ + 320, + 192, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 243, + 594, + -1, + 2, + [ + 320, + 192, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 188, + 594, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 193, + 243, + 1, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 349, + 596, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 596, + 349, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 199, + 349, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 204, + 596, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 279, + 359, + 1, + 1, + [ + 256, + 129, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 359, + 279, + -1, + 2, + [ + 256, + 129, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 203, + 279, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 122, + 359, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 274, + 354, + 1, + 1, + [ + 256, + 152, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 354, + 274, + -1, + 2, + [ + 256, + 152, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 182, + 274, + -1, + 2, + [ + 256, + 144, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 174, + 354, + 1, + 1, + [ + 256, + 136, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 295, + 343, + 1, + 1, + [ + 256, + 136, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 343, + 295, + -1, + 2, + [ + 256, + 136, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 203, + 295, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 174, + 343, + 1, + 1, + [ + 256, + 136, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 290, + 338, + 1, + 1, + [ + 256, + 145, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 338, + 290, + -1, + 2, + [ + 256, + 145, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 182, + 290, + -1, + 2, + [ + 256, + 144, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 122, + 338, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 600, + 405, + 1, + 1, + [ + 257, + 128, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 405, + 600, + -1, + 2, + [ + 257, + 128, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 202, + 600, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 123, + 405, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 601, + 606, + 1, + 1, + [ + 280, + 128, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 606, + 601, + -1, + 2, + [ + 280, + 128, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 183, + 601, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 175, + 606, + 1, + 1, + [ + 264, + 128, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 602, + 403, + 1, + 1, + [ + 273, + 128, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 403, + 602, + -1, + 2, + [ + 273, + 128, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 183, + 602, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 123, + 403, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 401, + 604, + 1, + 1, + [ + 264, + 128, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 604, + 401, + -1, + 2, + [ + 264, + 128, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 202, + 401, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 175, + 604, + 1, + 1, + [ + 264, + 128, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 278, + 342, + 1, + 1, + [ + 259, + 131, + 66, + 35, + 19, + 9, + 7 + ] + ], + [ + "add", + 342, + 278, + -1, + 2, + [ + 259, + 131, + 66, + 35, + 19, + 9, + 7 + ] + ], + [ + "add", + 201, + 278, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 191, + 342, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 276, + 340, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 9, + 4, + 3 + ] + ], + [ + "add", + 340, + 276, + -1, + 2, + [ + 272, + 144, + 65, + 32, + 9, + 4, + 3 + ] + ], + [ + "add", + 184, + 276, + -1, + 2, + [ + 272, + 144, + 64, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 206, + 340, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 294, + 358, + 1, + 1, + [ + 257, + 129, + 66, + 35, + 17, + 9, + 7 + ] + ], + [ + "add", + 358, + 294, + -1, + 2, + [ + 257, + 129, + 66, + 35, + 17, + 9, + 7 + ] + ], + [ + "add", + 201, + 294, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 206, + 358, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 292, + 356, + 1, + 1, + [ + 272, + 144, + 66, + 34, + 8, + 6, + 1 + ] + ], + [ + "add", + 356, + 292, + -1, + 2, + [ + 272, + 144, + 66, + 34, + 8, + 6, + 1 + ] + ], + [ + "add", + 184, + 292, + -1, + 2, + [ + 272, + 144, + 64, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 191, + 356, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 608, + 421, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 10, + 7 + ] + ], + [ + "add", + 421, + 608, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 16, + 10, + 7 + ] + ], + [ + "add", + 137, + 608, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 121, + 421, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 609, + 419, + 1, + 1, + [ + 256, + 128, + 72, + 41, + 16, + 4, + 3 + ] + ], + [ + "add", + 419, + 609, + -1, + 2, + [ + 256, + 128, + 72, + 41, + 16, + 4, + 3 + ] + ], + [ + "add", + 114, + 609, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 173, + 419, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 610, + 417, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 16, + 8, + 7 + ] + ], + [ + "add", + 417, + 610, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 16, + 8, + 7 + ] + ], + [ + "add", + 114, + 610, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 121, + 417, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 410, + 612, + 1, + 1, + [ + 256, + 128, + 74, + 42, + 16, + 6, + 1 + ] + ], + [ + "add", + 612, + 410, + -1, + 2, + [ + 256, + 128, + 74, + 42, + 16, + 6, + 1 + ] + ], + [ + "add", + 137, + 410, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 173, + 612, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 247, + 364, + -2, + 1, + [ + 256, + 128, + 74, + 42, + 24, + 4, + 1 + ] + ], + [ + "add", + 364, + 247, + 1, + 4, + [ + 256, + 128, + 74, + 42, + 24, + 4, + 1 + ] + ], + [ + "add", + 143, + 247, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 150, + 364, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 242, + 366, + -2, + 1, + [ + 256, + 128, + 73, + 40, + 25, + 4, + 2 + ] + ], + [ + "add", + 366, + 242, + 1, + 4, + [ + 256, + 128, + 73, + 40, + 25, + 4, + 2 + ] + ], + [ + "add", + 124, + 242, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 129, + 366, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 263, + 344, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 19, + 10, + 4 + ] + ], + [ + "add", + 344, + 263, + 1, + 4, + [ + 256, + 128, + 65, + 32, + 19, + 10, + 4 + ] + ], + [ + "add", + 143, + 263, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 129, + 344, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 258, + 28, + -2, + 1, + [ + 256, + 128, + 66, + 35, + 16, + 9, + 4 + ] + ], + [ + "add", + 28, + 258, + 1, + 4, + [ + 256, + 128, + 66, + 35, + 16, + 9, + 4 + ] + ], + [ + "add", + 124, + 258, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 150, + 28, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 616, + 12, + -2, + 1, + [ + 260, + 132, + 72, + 40, + 24, + 2, + 1 + ] + ], + [ + "add", + 12, + 616, + 1, + 4, + [ + 260, + 132, + 72, + 40, + 24, + 2, + 1 + ] + ], + [ + "add", + 168, + 616, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 189, + 12, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 617, + 6, + -2, + 1, + [ + 257, + 129, + 72, + 41, + 25, + 5, + 3 + ] + ], + [ + "add", + 6, + 617, + 1, + 4, + [ + 257, + 129, + 72, + 41, + 25, + 5, + 3 + ] + ], + [ + "add", + 212, + 617, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 215, + 6, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 618, + 4, + -2, + 1, + [ + 260, + 132, + 69, + 36, + 20, + 13, + 3 + ] + ], + [ + "add", + 4, + 618, + 1, + 4, + [ + 260, + 132, + 69, + 36, + 20, + 13, + 3 + ] + ], + [ + "add", + 212, + 618, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 189, + 4, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 1, + 620, + -2, + 1, + [ + 260, + 132, + 65, + 32, + 16, + 9, + 3 + ] + ], + [ + "add", + 620, + 1, + 1, + 4, + [ + 260, + 132, + 65, + 32, + 16, + 9, + 3 + ] + ], + [ + "add", + 168, + 1, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 215, + 620, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 246, + 348, + -2, + 1, + [ + 261, + 128, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 348, + 246, + 1, + 4, + [ + 261, + 128, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 167, + 246, + -1, + 2, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 131, + 348, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 244, + 350, + -2, + 1, + [ + 258, + 128, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 350, + 244, + 1, + 4, + [ + 258, + 128, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 213, + 244, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 152, + 350, + -2, + 1, + [ + 258, + 128, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 262, + 360, + -2, + 1, + [ + 262, + 128, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 360, + 262, + 1, + 4, + [ + 262, + 128, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 167, + 262, + -1, + 2, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 152, + 360, + -2, + 1, + [ + 258, + 128, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 260, + 60, + -2, + 1, + [ + 257, + 128, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 60, + 260, + 1, + 4, + [ + 257, + 128, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 213, + 260, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 131, + 60, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 624, + 437, + -2, + 1, + [ + 256, + 130, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 437, + 624, + 1, + 4, + [ + 256, + 130, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 214, + 624, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 151, + 437, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 625, + 435, + -2, + 1, + [ + 256, + 133, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 435, + 625, + 1, + 4, + [ + 256, + 133, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 166, + 625, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 130, + 435, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 626, + 433, + -2, + 1, + [ + 256, + 134, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 433, + 626, + 1, + 4, + [ + 256, + 134, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 166, + 626, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 151, + 433, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 426, + 628, + -2, + 1, + [ + 256, + 129, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 628, + 426, + 1, + 4, + [ + 256, + 129, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 214, + 426, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 130, + 628, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 456, + 396, + -2, + 1, + [ + 257, + 129, + 72, + 40, + 24, + 4, + 2 + ] + ], + [ + "add", + 396, + 456, + 1, + 4, + [ + 257, + 129, + 72, + 40, + 24, + 4, + 2 + ] + ], + [ + "add", + 197, + 456, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 136, + 396, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 457, + 398, + -2, + 1, + [ + 257, + 129, + 73, + 41, + 24, + 5, + 3 + ] + ], + [ + "add", + 398, + 457, + 1, + 4, + [ + 257, + 129, + 73, + 41, + 24, + 5, + 3 + ] + ], + [ + "add", + 210, + 457, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 8, + 5, + 3 + ] + ], + [ + "add", + 219, + 398, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 466, + 376, + -2, + 1, + [ + 257, + 129, + 67, + 35, + 17, + 9, + 6 + ] + ], + [ + "add", + 376, + 466, + 1, + 4, + [ + 257, + 129, + 67, + 35, + 17, + 9, + 6 + ] + ], + [ + "add", + 197, + 466, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 219, + 376, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 467, + 66, + -2, + 1, + [ + 257, + 129, + 66, + 34, + 16, + 8, + 6 + ] + ], + [ + "add", + 66, + 467, + 1, + 4, + [ + 257, + 129, + 66, + 34, + 16, + 8, + 6 + ] + ], + [ + "add", + 210, + 467, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 8, + 5, + 3 + ] + ], + [ + "add", + 136, + 66, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 632, + 639, + -2, + 1, + [ + 256, + 128, + 72, + 42, + 26, + 4, + 1 + ] + ], + [ + "add", + 639, + 632, + 1, + 4, + [ + 256, + 128, + 72, + 42, + 26, + 4, + 1 + ] + ], + [ + "add", + 144, + 632, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 147, + 639, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 633, + 638, + -2, + 1, + [ + 256, + 128, + 76, + 40, + 28, + 2, + 1 + ] + ], + [ + "add", + 638, + 633, + 1, + 4, + [ + 256, + 128, + 76, + 40, + 28, + 2, + 1 + ] + ], + [ + "add", + 160, + 633, + -1, + 2, + [ + 256, + 128, + 68, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 157, + 638, + -2, + 1, + [ + 256, + 128, + 64, + 36, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 634, + 637, + -2, + 1, + [ + 256, + 128, + 68, + 34, + 22, + 8, + 1 + ] + ], + [ + "add", + 637, + 634, + 1, + 4, + [ + 256, + 128, + 68, + 34, + 22, + 8, + 1 + ] + ], + [ + "add", + 160, + 634, + -1, + 2, + [ + 256, + 128, + 68, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 147, + 637, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 635, + 636, + -2, + 1, + [ + 256, + 128, + 66, + 36, + 16, + 14, + 1 + ] + ], + [ + "add", + 636, + 635, + 1, + 4, + [ + 256, + 128, + 66, + 36, + 16, + 14, + 1 + ] + ], + [ + "add", + 144, + 635, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 157, + 636, + -2, + 1, + [ + 256, + 128, + 64, + 36, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 458, + 380, + -2, + 1, + [ + 256, + 130, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 380, + 458, + 1, + 4, + [ + 256, + 130, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 145, + 458, + -1, + 2, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 221, + 380, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 459, + 382, + -2, + 1, + [ + 256, + 133, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 382, + 459, + 1, + 4, + [ + 256, + 133, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 161, + 459, + -1, + 2, + [ + 256, + 132, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 134, + 382, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 464, + 392, + -2, + 1, + [ + 256, + 131, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 392, + 464, + 1, + 4, + [ + 256, + 131, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 145, + 464, + -1, + 2, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 134, + 392, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 465, + 97, + -2, + 1, + [ + 256, + 132, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 97, + 465, + 1, + 4, + [ + 256, + 132, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 161, + 465, + -1, + 2, + [ + 256, + 132, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 221, + 97, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 33, + 261, + -2, + 1, + [ + 261, + 128, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 261, + 33, + 1, + 4, + [ + 261, + 128, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 162, + 33, + -1, + 2, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 135, + 261, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 55, + 259, + -2, + 1, + [ + 258, + 128, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 259, + 55, + 1, + 4, + [ + 258, + 128, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 146, + 55, + -1, + 2, + [ + 258, + 128, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 220, + 259, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 74, + 266, + -2, + 1, + [ + 259, + 128, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 266, + 74, + 1, + 4, + [ + 259, + 128, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 146, + 74, + -1, + 2, + [ + 258, + 128, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 135, + 266, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 250, + 85, + -2, + 1, + [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 85, + 250, + 1, + 4, + [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 162, + 250, + -1, + 2, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 220, + 85, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 248, + 300, + 1, + 1, + [ + 256, + 128, + 67, + 32, + 17, + 8, + 7 + ] + ], + [ + "add", + 300, + 248, + -1, + 2, + [ + 256, + 128, + 67, + 32, + 17, + 8, + 7 + ] + ], + [ + "add", + 113, + 248, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 140, + 300, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 10, + 302, + 1, + 1, + [ + 256, + 128, + 73, + 32, + 25, + 5, + 2 + ] + ], + [ + "add", + 302, + 10, + -1, + 2, + [ + 256, + 128, + 73, + 32, + 25, + 5, + 2 + ] + ], + [ + "add", + 118, + 10, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 170, + 302, + -2, + 1, + [ + 256, + 128, + 72, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 268, + 280, + 1, + 1, + [ + 256, + 128, + 72, + 32, + 25, + 4, + 3 + ] + ], + [ + "add", + 280, + 268, + -1, + 2, + [ + 256, + 128, + 72, + 32, + 25, + 4, + 3 + ] + ], + [ + "add", + 113, + 268, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 170, + 280, + -2, + 1, + [ + 256, + 128, + 72, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 270, + 38, + 1, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 9, + 7 + ] + ], + [ + "add", + 38, + 270, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 9, + 7 + ] + ], + [ + "add", + 118, + 270, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 140, + 38, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 648, + 442, + 1, + 1, + [ + 288, + 160, + 65, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 442, + 648, + -1, + 2, + [ + 288, + 160, + 65, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 187, + 648, + 1, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 198, + 442, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 649, + 542, + 1, + 1, + [ + 258, + 130, + 65, + 34, + 19, + 10, + 7 + ] + ], + [ + "add", + 542, + 649, + -1, + 2, + [ + 258, + 130, + 65, + 34, + 19, + 10, + 7 + ] + ], + [ + "add", + 194, + 649, + 1, + 1, + [ + 258, + 130, + 64, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 205, + 542, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 650, + 653, + 1, + 1, + [ + 259, + 131, + 65, + 35, + 19, + 10, + 7 + ] + ], + [ + "add", + 653, + 650, + -1, + 2, + [ + 259, + 131, + 65, + 35, + 19, + 10, + 7 + ] + ], + [ + "add", + 194, + 650, + 1, + 1, + [ + 258, + 130, + 64, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 198, + 653, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 530, + 652, + 1, + 1, + [ + 288, + 160, + 65, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 652, + 530, + -1, + 2, + [ + 288, + 160, + 65, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 187, + 530, + 1, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 205, + 652, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 252, + 284, + 1, + 1, + [ + 296, + 128, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 284, + 252, + -1, + 2, + [ + 296, + 128, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 186, + 252, + 1, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 172, + 284, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 254, + 286, + 1, + 1, + [ + 258, + 128, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 286, + 254, + -1, + 2, + [ + 258, + 128, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 254, + 1, + 1, + [ + 258, + 128, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 142, + 286, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 264, + 296, + 1, + 1, + [ + 290, + 128, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 296, + 264, + -1, + 2, + [ + 290, + 128, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 186, + 264, + 1, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 142, + 296, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 79, + 19, + 1, + 1, + [ + 264, + 128, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 19, + 79, + -1, + 2, + [ + 264, + 128, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 79, + 1, + 1, + [ + 258, + 128, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 172, + 19, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 656, + 245, + 1, + 1, + [ + 256, + 130, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 245, + 656, + -1, + 2, + [ + 256, + 130, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 196, + 656, + 1, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 141, + 245, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 657, + 257, + 1, + 1, + [ + 256, + 168, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 257, + 657, + -1, + 2, + [ + 256, + 168, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 185, + 657, + 1, + 1, + [ + 256, + 160, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 171, + 257, + -2, + 1, + [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 658, + 317, + 1, + 1, + [ + 256, + 162, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 317, + 658, + -1, + 2, + [ + 256, + 162, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 185, + 658, + 1, + 1, + [ + 256, + 160, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 141, + 317, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 333, + 660, + 1, + 1, + [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 660, + 333, + -1, + 2, + [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 196, + 333, + 1, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 171, + 660, + -2, + 1, + [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 460, + 332, + 1, + 1, + [ + 264, + 136, + 65, + 32, + 17, + 5, + 2 + ] + ], + [ + "add", + 332, + 460, + -1, + 2, + [ + 264, + 136, + 65, + 32, + 17, + 5, + 2 + ] + ], + [ + "add", + 200, + 460, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 178, + 332, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 461, + 334, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 17, + 10, + 7 + ] + ], + [ + "add", + 334, + 461, + -1, + 2, + [ + 258, + 130, + 67, + 34, + 17, + 10, + 7 + ] + ], + [ + "add", + 192, + 461, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 207, + 334, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 468, + 312, + 1, + 1, + [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ] + ], + [ + "add", + 312, + 468, + -1, + 2, + [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ] + ], + [ + "add", + 200, + 468, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 207, + 312, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 469, + 24, + 1, + 1, + [ + 264, + 136, + 66, + 34, + 16, + 6, + 1 + ] + ], + [ + "add", + 24, + 469, + -1, + 2, + [ + 264, + 136, + 66, + 34, + 16, + 6, + 1 + ] + ], + [ + "add", + 192, + 469, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 178, + 24, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 664, + 671, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 19, + 8, + 7 + ] + ], + [ + "add", + 671, + 664, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 19, + 8, + 7 + ] + ], + [ + "add", + 115, + 664, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 138, + 671, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 665, + 670, + 1, + 1, + [ + 256, + 128, + 80, + 49, + 8, + 5, + 2 + ] + ], + [ + "add", + 670, + 665, + -1, + 2, + [ + 256, + 128, + 80, + 49, + 8, + 5, + 2 + ] + ], + [ + "add", + 179, + 665, + 1, + 1, + [ + 256, + 128, + 80, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 120, + 670, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 666, + 669, + 1, + 1, + [ + 256, + 128, + 82, + 50, + 8, + 6, + 1 + ] + ], + [ + "add", + 669, + 666, + -1, + 2, + [ + 256, + 128, + 82, + 50, + 8, + 6, + 1 + ] + ], + [ + "add", + 179, + 666, + 1, + 1, + [ + 256, + 128, + 80, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 138, + 669, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 667, + 668, + 1, + 1, + [ + 256, + 128, + 66, + 35, + 16, + 8, + 7 + ] + ], + [ + "add", + 668, + 667, + -1, + 2, + [ + 256, + 128, + 66, + 35, + 16, + 8, + 7 + ] + ], + [ + "add", + 115, + 667, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 120, + 668, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 462, + 316, + 1, + 1, + [ + 256, + 129, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 316, + 462, + -1, + 2, + [ + 256, + 129, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 116, + 462, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 209, + 316, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 463, + 318, + 1, + 1, + [ + 256, + 152, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 318, + 463, + -1, + 2, + [ + 256, + 152, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 180, + 463, + 1, + 1, + [ + 256, + 144, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 176, + 318, + -2, + 1, + [ + 256, + 136, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 470, + 328, + 1, + 1, + [ + 256, + 137, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 328, + 470, + -1, + 2, + [ + 256, + 137, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 116, + 470, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 176, + 328, + -2, + 1, + [ + 256, + 136, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 471, + 109, + 1, + 1, + [ + 256, + 144, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 109, + 471, + -1, + 2, + [ + 256, + 144, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 180, + 471, + 1, + 1, + [ + 256, + 144, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 209, + 109, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 672, + 227, + 1, + 1, + [ + 280, + 128, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 227, + 672, + -1, + 2, + [ + 280, + 128, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 181, + 672, + 1, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 177, + 227, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 673, + 229, + 1, + 1, + [ + 257, + 128, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 229, + 673, + -1, + 2, + [ + 257, + 128, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 117, + 673, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 208, + 229, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 674, + 234, + 1, + 1, + [ + 265, + 128, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 234, + 674, + -1, + 2, + [ + 265, + 128, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 117, + 674, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 177, + 234, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 241, + 676, + 1, + 1, + [ + 272, + 128, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 676, + 241, + -1, + 2, + [ + 272, + 128, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 181, + 241, + 1, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 208, + 676, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 478, + 514, + 1, + 1, + [ + 260, + 128, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 514, + 478, + -1, + 2, + [ + 260, + 128, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 165, + 478, + 1, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 217, + 514, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 479, + 515, + 1, + 1, + [ + 259, + 128, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 515, + 479, + -1, + 2, + [ + 259, + 128, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 127, + 479, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 154, + 515, + -2, + 1, + [ + 258, + 128, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 490, + 502, + 1, + 1, + [ + 262, + 128, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 502, + 490, + -1, + 2, + [ + 262, + 128, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 165, + 490, + 1, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 154, + 502, + -2, + 1, + [ + 258, + 128, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 491, + 503, + 1, + 1, + [ + 257, + 128, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 503, + 491, + -1, + 2, + [ + 257, + 128, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 127, + 491, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 217, + 503, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 49, + 393, + 1, + 1, + [ + 256, + 132, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 393, + 49, + -1, + 2, + [ + 256, + 132, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 164, + 49, + 1, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 218, + 393, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 83, + 281, + 1, + 1, + [ + 256, + 131, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 281, + 83, + -1, + 2, + [ + 256, + 131, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 126, + 83, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 153, + 281, + -2, + 1, + [ + 256, + 130, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 98, + 225, + 1, + 1, + [ + 256, + 129, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 225, + 98, + -1, + 2, + [ + 256, + 129, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 126, + 98, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 218, + 225, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 285, + 101, + 1, + 1, + [ + 256, + 134, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 101, + 285, + -1, + 2, + [ + 256, + 134, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 164, + 285, + 1, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 153, + 101, + -2, + 1, + [ + 256, + 130, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 480, + 504, + 1, + 1, + [ + 256, + 128, + 76, + 44, + 24, + 2, + 1 + ] + ], + [ + "add", + 504, + 480, + -1, + 2, + [ + 256, + 128, + 76, + 44, + 24, + 2, + 1 + ] + ], + [ + "add", + 163, + 480, + 1, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 156, + 504, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 481, + 505, + 1, + 1, + [ + 256, + 128, + 72, + 41, + 25, + 4, + 2 + ] + ], + [ + "add", + 505, + 481, + -1, + 2, + [ + 256, + 128, + 72, + 41, + 25, + 4, + 2 + ] + ], + [ + "add", + 125, + 481, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 128, + 505, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 492, + 516, + 1, + 1, + [ + 256, + 128, + 68, + 37, + 17, + 8, + 2 + ] + ], + [ + "add", + 516, + 492, + -1, + 2, + [ + 256, + 128, + 68, + 37, + 17, + 8, + 2 + ] + ], + [ + "add", + 163, + 492, + 1, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 128, + 516, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 493, + 517, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 20, + 13, + 2 + ] + ], + [ + "add", + 517, + 493, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 20, + 13, + 2 + ] + ], + [ + "add", + 125, + 493, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 156, + 517, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 68, + 345, + 1, + 1, + [ + 257, + 129, + 73, + 40, + 25, + 5, + 3 + ] + ], + [ + "add", + 345, + 68, + -1, + 2, + [ + 257, + 129, + 73, + 40, + 25, + 5, + 3 + ] + ], + [ + "add", + 211, + 68, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 216, + 345, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 80, + 381, + 1, + 1, + [ + 258, + 130, + 72, + 40, + 24, + 4, + 1 + ] + ], + [ + "add", + 381, + 80, + -1, + 2, + [ + 258, + 130, + 72, + 40, + 24, + 4, + 1 + ] + ], + [ + "add", + 190, + 80, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 155, + 381, + -2, + 1, + [ + 258, + 130, + 64, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 88, + 377, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 19, + 10, + 5 + ] + ], + [ + "add", + 377, + 88, + -1, + 2, + [ + 258, + 130, + 67, + 34, + 19, + 10, + 5 + ] + ], + [ + "add", + 190, + 88, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 216, + 377, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 397, + 31, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 17, + 8, + 5 + ] + ], + [ + "add", + 31, + 397, + -1, + 2, + [ + 258, + 130, + 65, + 32, + 17, + 8, + 5 + ] + ], + [ + "add", + 211, + 397, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 155, + 31, + -2, + 1, + [ + 258, + 130, + 64, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 273, + 289, + 1, + 1, + [ + 256, + 132, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 289, + 273, + -1, + 2, + [ + 256, + 132, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 223, + 273, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 158, + 289, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 275, + 291, + 1, + 1, + [ + 256, + 131, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 291, + 275, + -1, + 2, + [ + 256, + 131, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 148, + 275, + 1, + 1, + [ + 256, + 130, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 132, + 291, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 506, + 518, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 518, + 506, + -1, + 2, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 223, + 506, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 132, + 518, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 305, + 321, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 321, + 305, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 148, + 305, + 1, + 1, + [ + 256, + 130, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 158, + 321, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 696, + 313, + 1, + 1, + [ + 260, + 128, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 313, + 696, + -1, + 2, + [ + 260, + 128, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 159, + 696, + 1, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 222, + 313, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 697, + 297, + 1, + 1, + [ + 259, + 128, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 297, + 697, + -1, + 2, + [ + 259, + 128, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 133, + 697, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 149, + 297, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 698, + 329, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 329, + 698, + -1, + 2, + [ + 257, + 128, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 133, + 698, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 222, + 329, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 301, + 700, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 700, + 301, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 159, + 301, + 1, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 149, + 700, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ] + ], + "compensation": [ + [ + "add", + 118, + 224, + -1, + 1, + [] + ], + [ + "add", + 118, + 225, + 1, + 1, + [] + ], + [ + "add", + 118, + 241, + 1, + 2, + [] + ], + [ + "add", + 118, + 243, + 1, + 4, + [] + ], + [ + "add", + 118, + 244, + 1, + 4, + [] + ], + [ + "add", + 118, + 245, + -1, + 4, + [] + ], + [ + "add", + 118, + 248, + -1, + 4, + [] + ], + [ + "add", + 118, + 249, + 1, + 4, + [] + ], + [ + "add", + 118, + 254, + -1, + 4, + [] + ], + [ + "add", + 118, + 255, + 1, + 4, + [] + ], + [ + "add", + 118, + 257, + 1, + 4, + [] + ], + [ + "add", + 118, + 262, + -1, + 4, + [] + ], + [ + "add", + 118, + 263, + 1, + 4, + [] + ], + [ + "add", + 118, + 266, + 1, + 4, + [] + ], + [ + "add", + 118, + 267, + -1, + 4, + [] + ], + [ + "add", + 118, + 268, + -1, + 4, + [] + ], + [ + "add", + 118, + 269, + 1, + 4, + [] + ], + [ + "add", + 118, + 270, + -1, + 2, + [] + ], + [ + "add", + 118, + 271, + 1, + 2, + [] + ], + [ + "add", + 118, + 274, + 1, + 4, + [] + ], + [ + "add", + 118, + 276, + -1, + 4, + [] + ], + [ + "add", + 118, + 279, + -1, + 4, + [] + ], + [ + "add", + 118, + 283, + 1, + 2, + [] + ], + [ + "add", + 118, + 285, + -1, + 2, + [] + ], + [ + "add", + 118, + 286, + -1, + 4, + [] + ], + [ + "add", + 118, + 294, + 1, + 4, + [] + ], + [ + "add", + 118, + 299, + 1, + 4, + [] + ], + [ + "add", + 118, + 300, + -1, + 4, + [] + ], + [ + "add", + 118, + 302, + -1, + 2, + [] + ], + [ + "add", + 118, + 303, + 1, + 2, + [] + ], + [ + "add", + 118, + 336, + -1, + 2, + [] + ], + [ + "add", + 118, + 340, + -1, + 2, + [] + ], + [ + "add", + 118, + 350, + -1, + 2, + [] + ], + [ + "add", + 118, + 351, + 1, + 2, + [] + ], + [ + "add", + 118, + 352, + -1, + 2, + [] + ], + [ + "add", + 118, + 356, + -1, + 2, + [] + ], + [ + "add", + 118, + 366, + -1, + 2, + [] + ], + [ + "add", + 118, + 367, + 1, + 2, + [] + ], + [ + "add", + 118, + 374, + 1, + 4, + [] + ], + [ + "add", + 118, + 376, + 1, + 2, + [] + ], + [ + "add", + 118, + 379, + -1, + 4, + [] + ], + [ + "add", + 118, + 380, + 1, + 4, + [] + ], + [ + "add", + 118, + 383, + 1, + 2, + [] + ], + [ + "add", + 118, + 386, + 1, + 4, + [] + ], + [ + "add", + 118, + 388, + -1, + 4, + [] + ], + [ + "add", + 118, + 391, + 1, + 4, + [] + ], + [ + "add", + 118, + 393, + 1, + 2, + [] + ], + [ + "add", + 118, + 395, + -1, + 2, + [] + ], + [ + "add", + 118, + 398, + -1, + 4, + [] + ], + [ + "add", + 118, + 399, + 1, + 2, + [] + ], + [ + "add", + 118, + 401, + -1, + 4, + [] + ], + [ + "add", + 118, + 402, + 1, + 2, + [] + ], + [ + "add", + 118, + 403, + -1, + 2, + [] + ], + [ + "add", + 118, + 406, + -1, + 4, + [] + ], + [ + "add", + 118, + 407, + 1, + 4, + [] + ], + [ + "add", + 118, + 410, + 1, + 4, + [] + ], + [ + "add", + 118, + 411, + -1, + 4, + [] + ], + [ + "add", + 118, + 412, + 1, + 4, + [] + ], + [ + "add", + 118, + 413, + -1, + 4, + [] + ], + [ + "add", + 118, + 418, + 1, + 4, + [] + ], + [ + "add", + 118, + 419, + -1, + 4, + [] + ], + [ + "add", + 118, + 420, + 1, + 4, + [] + ], + [ + "add", + 118, + 421, + -1, + 4, + [] + ], + [ + "add", + 118, + 424, + 1, + 4, + [] + ], + [ + "add", + 118, + 425, + -1, + 4, + [] + ], + [ + "add", + 118, + 426, + 1, + 2, + [] + ], + [ + "add", + 118, + 427, + -1, + 2, + [] + ], + [ + "add", + 118, + 430, + -1, + 4, + [] + ], + [ + "add", + 118, + 431, + 1, + 4, + [] + ], + [ + "add", + 118, + 546, + 1, + 4, + [] + ], + [ + "add", + 118, + 547, + 1, + 4, + [] + ], + [ + "add", + 118, + 560, + 1, + 4, + [] + ], + [ + "add", + 118, + 568, + 1, + 4, + [] + ], + [ + "add", + 194, + 224, + -1, + 1, + [] + ], + [ + "add", + 194, + 225, + 1, + 1, + [] + ], + [ + "add", + 194, + 241, + 1, + 2, + [] + ], + [ + "add", + 194, + 243, + 1, + 4, + [] + ], + [ + "add", + 194, + 244, + 1, + 4, + [] + ], + [ + "add", + 194, + 245, + -1, + 4, + [] + ], + [ + "add", + 194, + 248, + -1, + 4, + [] + ], + [ + "add", + 194, + 249, + 1, + 4, + [] + ], + [ + "add", + 194, + 254, + -1, + 4, + [] + ], + [ + "add", + 194, + 255, + 1, + 4, + [] + ], + [ + "add", + 194, + 257, + 1, + 4, + [] + ], + [ + "add", + 194, + 262, + -1, + 4, + [] + ], + [ + "add", + 194, + 263, + 1, + 4, + [] + ], + [ + "add", + 194, + 266, + 1, + 4, + [] + ], + [ + "add", + 194, + 267, + -1, + 4, + [] + ], + [ + "add", + 194, + 268, + -1, + 4, + [] + ], + [ + "add", + 194, + 269, + 1, + 4, + [] + ], + [ + "add", + 194, + 270, + -1, + 2, + [] + ], + [ + "add", + 194, + 271, + 1, + 2, + [] + ], + [ + "add", + 194, + 274, + 1, + 4, + [] + ], + [ + "add", + 194, + 276, + -1, + 4, + [] + ], + [ + "add", + 194, + 279, + -1, + 4, + [] + ], + [ + "add", + 194, + 283, + 1, + 2, + [] + ], + [ + "add", + 194, + 285, + -1, + 2, + [] + ], + [ + "add", + 194, + 286, + -1, + 4, + [] + ], + [ + "add", + 194, + 294, + 1, + 4, + [] + ], + [ + "add", + 194, + 299, + 1, + 4, + [] + ], + [ + "add", + 194, + 300, + -1, + 4, + [] + ], + [ + "add", + 194, + 302, + -1, + 2, + [] + ], + [ + "add", + 194, + 303, + 1, + 2, + [] + ], + [ + "add", + 194, + 336, + -1, + 2, + [] + ], + [ + "add", + 194, + 340, + -1, + 2, + [] + ], + [ + "add", + 194, + 350, + -1, + 2, + [] + ], + [ + "add", + 194, + 351, + 1, + 2, + [] + ], + [ + "add", + 194, + 352, + -1, + 2, + [] + ], + [ + "add", + 194, + 356, + -1, + 2, + [] + ], + [ + "add", + 194, + 366, + -1, + 2, + [] + ], + [ + "add", + 194, + 367, + 1, + 2, + [] + ], + [ + "add", + 194, + 374, + 1, + 4, + [] + ], + [ + "add", + 194, + 376, + 1, + 2, + [] + ], + [ + "add", + 194, + 379, + -1, + 4, + [] + ], + [ + "add", + 194, + 380, + 1, + 4, + [] + ], + [ + "add", + 194, + 383, + 1, + 2, + [] + ], + [ + "add", + 194, + 386, + 1, + 4, + [] + ], + [ + "add", + 194, + 388, + -1, + 4, + [] + ], + [ + "add", + 194, + 391, + 1, + 4, + [] + ], + [ + "add", + 194, + 393, + 1, + 2, + [] + ], + [ + "add", + 194, + 395, + -1, + 2, + [] + ], + [ + "add", + 194, + 398, + -1, + 4, + [] + ], + [ + "add", + 194, + 399, + 1, + 2, + [] + ], + [ + "add", + 194, + 401, + -1, + 4, + [] + ], + [ + "add", + 194, + 402, + 1, + 2, + [] + ], + [ + "add", + 194, + 403, + -1, + 2, + [] + ], + [ + "add", + 194, + 406, + -1, + 4, + [] + ], + [ + "add", + 194, + 407, + 1, + 4, + [] + ], + [ + "add", + 194, + 410, + 1, + 4, + [] + ], + [ + "add", + 194, + 411, + -1, + 4, + [] + ], + [ + "add", + 194, + 412, + 1, + 4, + [] + ], + [ + "add", + 194, + 413, + -1, + 4, + [] + ], + [ + "add", + 194, + 418, + 1, + 4, + [] + ], + [ + "add", + 194, + 419, + -1, + 4, + [] + ], + [ + "add", + 194, + 420, + 1, + 4, + [] + ], + [ + "add", + 194, + 421, + -1, + 4, + [] + ], + [ + "add", + 194, + 424, + 1, + 4, + [] + ], + [ + "add", + 194, + 425, + -1, + 4, + [] + ], + [ + "add", + 194, + 426, + 1, + 2, + [] + ], + [ + "add", + 194, + 427, + -1, + 2, + [] + ], + [ + "add", + 194, + 430, + -1, + 4, + [] + ], + [ + "add", + 194, + 431, + 1, + 4, + [] + ], + [ + "add", + 194, + 546, + 1, + 4, + [] + ], + [ + "add", + 194, + 547, + 1, + 4, + [] + ], + [ + "add", + 194, + 560, + 1, + 4, + [] + ], + [ + "add", + 194, + 568, + 1, + 4, + [] + ], + [ + "add", + 187, + 241, + 1, + 2, + [] + ], + [ + "add", + 187, + 243, + -1, + 4, + [] + ], + [ + "add", + 187, + 244, + -1, + 4, + [] + ], + [ + "add", + 187, + 245, + 1, + 4, + [] + ], + [ + "add", + 187, + 248, + 1, + 4, + [] + ], + [ + "add", + 187, + 249, + -1, + 4, + [] + ], + [ + "add", + 187, + 254, + 1, + 4, + [] + ], + [ + "add", + 187, + 255, + -1, + 4, + [] + ], + [ + "add", + 187, + 257, + 1, + 4, + [] + ], + [ + "add", + 187, + 262, + -1, + 4, + [] + ], + [ + "add", + 187, + 263, + 1, + 4, + [] + ], + [ + "add", + 187, + 266, + 1, + 4, + [] + ], + [ + "add", + 187, + 267, + -1, + 4, + [] + ], + [ + "add", + 187, + 268, + -1, + 4, + [] + ], + [ + "add", + 187, + 269, + 1, + 4, + [] + ], + [ + "add", + 187, + 270, + 1, + 2, + [] + ], + [ + "add", + 187, + 271, + -1, + 2, + [] + ], + [ + "add", + 187, + 274, + -1, + 4, + [] + ], + [ + "add", + 187, + 276, + 1, + 4, + [] + ], + [ + "add", + 187, + 279, + 1, + 4, + [] + ], + [ + "add", + 187, + 283, + 1, + 2, + [] + ], + [ + "add", + 187, + 285, + -1, + 2, + [] + ], + [ + "add", + 187, + 286, + 1, + 4, + [] + ], + [ + "add", + 187, + 294, + 1, + 4, + [] + ], + [ + "add", + 187, + 299, + 1, + 4, + [] + ], + [ + "add", + 187, + 300, + -1, + 4, + [] + ], + [ + "add", + 187, + 302, + 1, + 2, + [] + ], + [ + "add", + 187, + 303, + -1, + 2, + [] + ], + [ + "add", + 187, + 304, + -1, + 2, + [] + ], + [ + "add", + 187, + 308, + 1, + 2, + [] + ], + [ + "add", + 187, + 312, + 1, + 2, + [] + ], + [ + "add", + 187, + 318, + 1, + 2, + [] + ], + [ + "add", + 187, + 336, + -1, + 2, + [] + ], + [ + "add", + 187, + 340, + 1, + 2, + [] + ], + [ + "add", + 187, + 350, + 1, + 2, + [] + ], + [ + "add", + 187, + 351, + -1, + 2, + [] + ], + [ + "add", + 187, + 374, + -1, + 4, + [] + ], + [ + "add", + 187, + 376, + 1, + 2, + [] + ], + [ + "add", + 187, + 379, + 1, + 4, + [] + ], + [ + "add", + 187, + 380, + -1, + 4, + [] + ], + [ + "add", + 187, + 383, + 1, + 2, + [] + ], + [ + "add", + 187, + 386, + -1, + 4, + [] + ], + [ + "add", + 187, + 388, + 1, + 4, + [] + ], + [ + "add", + 187, + 391, + -1, + 4, + [] + ], + [ + "add", + 187, + 393, + 1, + 2, + [] + ], + [ + "add", + 187, + 395, + -1, + 2, + [] + ], + [ + "add", + 187, + 398, + 1, + 4, + [] + ], + [ + "add", + 187, + 399, + -1, + 2, + [] + ], + [ + "add", + 187, + 401, + 1, + 4, + [] + ], + [ + "add", + 187, + 402, + 1, + 2, + [] + ], + [ + "add", + 187, + 403, + -1, + 2, + [] + ], + [ + "add", + 187, + 406, + 1, + 4, + [] + ], + [ + "add", + 187, + 407, + -1, + 4, + [] + ], + [ + "add", + 187, + 410, + -1, + 4, + [] + ], + [ + "add", + 187, + 411, + 1, + 4, + [] + ], + [ + "add", + 187, + 412, + -1, + 4, + [] + ], + [ + "add", + 187, + 413, + 1, + 4, + [] + ], + [ + "add", + 187, + 418, + -1, + 4, + [] + ], + [ + "add", + 187, + 419, + 1, + 4, + [] + ], + [ + "add", + 187, + 420, + -1, + 4, + [] + ], + [ + "add", + 187, + 421, + 1, + 4, + [] + ], + [ + "add", + 187, + 424, + -1, + 4, + [] + ], + [ + "add", + 187, + 425, + 1, + 4, + [] + ], + [ + "add", + 187, + 426, + 1, + 2, + [] + ], + [ + "add", + 187, + 427, + -1, + 2, + [] + ], + [ + "add", + 187, + 430, + 1, + 4, + [] + ], + [ + "add", + 187, + 431, + -1, + 4, + [] + ], + [ + "add", + 187, + 442, + 1, + 1, + [] + ], + [ + "add", + 187, + 443, + -1, + 1, + [] + ], + [ + "add", + 187, + 546, + -1, + 4, + [] + ], + [ + "add", + 187, + 547, + 1, + 4, + [] + ], + [ + "add", + 187, + 560, + 1, + 4, + [] + ], + [ + "add", + 187, + 568, + -1, + 4, + [] + ], + [ + "add", + 113, + 241, + 1, + 2, + [] + ], + [ + "add", + 113, + 243, + -1, + 4, + [] + ], + [ + "add", + 113, + 244, + -1, + 4, + [] + ], + [ + "add", + 113, + 245, + 1, + 4, + [] + ], + [ + "add", + 113, + 248, + 1, + 4, + [] + ], + [ + "add", + 113, + 249, + -1, + 4, + [] + ], + [ + "add", + 113, + 254, + 1, + 4, + [] + ], + [ + "add", + 113, + 255, + -1, + 4, + [] + ], + [ + "add", + 113, + 257, + -1, + 4, + [] + ], + [ + "add", + 113, + 262, + 1, + 4, + [] + ], + [ + "add", + 113, + 263, + -1, + 4, + [] + ], + [ + "add", + 113, + 266, + -1, + 4, + [] + ], + [ + "add", + 113, + 267, + 1, + 4, + [] + ], + [ + "add", + 113, + 268, + 1, + 4, + [] + ], + [ + "add", + 113, + 269, + -1, + 4, + [] + ], + [ + "add", + 113, + 270, + -1, + 2, + [] + ], + [ + "add", + 113, + 271, + 1, + 2, + [] + ], + [ + "add", + 113, + 274, + -1, + 4, + [] + ], + [ + "add", + 113, + 276, + 1, + 4, + [] + ], + [ + "add", + 113, + 279, + 1, + 4, + [] + ], + [ + "add", + 113, + 283, + 1, + 2, + [] + ], + [ + "add", + 113, + 285, + -1, + 2, + [] + ], + [ + "add", + 113, + 286, + 1, + 4, + [] + ], + [ + "add", + 113, + 294, + -1, + 4, + [] + ], + [ + "add", + 113, + 299, + -1, + 4, + [] + ], + [ + "add", + 113, + 300, + 1, + 4, + [] + ], + [ + "add", + 113, + 302, + -1, + 2, + [] + ], + [ + "add", + 113, + 303, + 1, + 2, + [] + ], + [ + "add", + 113, + 319, + 1, + 1, + [] + ], + [ + "add", + 113, + 351, + 1, + 1, + [] + ], + [ + "add", + 113, + 374, + -1, + 4, + [] + ], + [ + "add", + 113, + 376, + 1, + 2, + [] + ], + [ + "add", + 113, + 379, + 1, + 4, + [] + ], + [ + "add", + 113, + 380, + -1, + 4, + [] + ], + [ + "add", + 113, + 383, + 1, + 2, + [] + ], + [ + "add", + 113, + 386, + 1, + 4, + [] + ], + [ + "add", + 113, + 388, + -1, + 4, + [] + ], + [ + "add", + 113, + 391, + 1, + 4, + [] + ], + [ + "add", + 113, + 393, + -1, + 2, + [] + ], + [ + "add", + 113, + 395, + 1, + 2, + [] + ], + [ + "add", + 113, + 398, + -1, + 4, + [] + ], + [ + "add", + 113, + 399, + 1, + 2, + [] + ], + [ + "add", + 113, + 401, + 1, + 4, + [] + ], + [ + "add", + 113, + 402, + 1, + 2, + [] + ], + [ + "add", + 113, + 403, + -1, + 2, + [] + ], + [ + "add", + 113, + 406, + 1, + 4, + [] + ], + [ + "add", + 113, + 407, + -1, + 4, + [] + ], + [ + "add", + 113, + 410, + -1, + 4, + [] + ], + [ + "add", + 113, + 411, + 1, + 4, + [] + ], + [ + "add", + 113, + 412, + -1, + 4, + [] + ], + [ + "add", + 113, + 413, + 1, + 4, + [] + ], + [ + "add", + 113, + 418, + 1, + 4, + [] + ], + [ + "add", + 113, + 419, + -1, + 4, + [] + ], + [ + "add", + 113, + 420, + 1, + 4, + [] + ], + [ + "add", + 113, + 421, + -1, + 4, + [] + ], + [ + "add", + 113, + 424, + 1, + 4, + [] + ], + [ + "add", + 113, + 425, + -1, + 4, + [] + ], + [ + "add", + 113, + 426, + -1, + 2, + [] + ], + [ + "add", + 113, + 427, + 1, + 2, + [] + ], + [ + "add", + 113, + 430, + -1, + 4, + [] + ], + [ + "add", + 113, + 431, + 1, + 4, + [] + ], + [ + "add", + 113, + 434, + 1, + 2, + [] + ], + [ + "add", + 113, + 435, + -1, + 2, + [] + ], + [ + "add", + 113, + 436, + 1, + 2, + [] + ], + [ + "add", + 113, + 437, + -1, + 2, + [] + ], + [ + "add", + 113, + 440, + 1, + 2, + [] + ], + [ + "add", + 113, + 441, + -1, + 2, + [] + ], + [ + "add", + 113, + 446, + -1, + 2, + [] + ], + [ + "add", + 113, + 447, + 1, + 2, + [] + ], + [ + "add", + 113, + 546, + -1, + 4, + [] + ], + [ + "add", + 113, + 547, + 1, + 4, + [] + ], + [ + "add", + 113, + 560, + -1, + 4, + [] + ], + [ + "add", + 113, + 568, + -1, + 4, + [] + ], + [ + "add", + 205, + 226, + -1, + 2, + [] + ], + [ + "add", + 205, + 227, + 1, + 2, + [] + ], + [ + "add", + 205, + 228, + 1, + 2, + [] + ], + [ + "add", + 205, + 229, + -1, + 2, + [] + ], + [ + "add", + 205, + 232, + -1, + 2, + [] + ], + [ + "add", + 205, + 233, + 1, + 2, + [] + ], + [ + "add", + 205, + 238, + -1, + 2, + [] + ], + [ + "add", + 205, + 239, + 1, + 2, + [] + ], + [ + "add", + 205, + 241, + 1, + 2, + [] + ], + [ + "add", + 205, + 243, + 1, + 4, + [] + ], + [ + "add", + 205, + 244, + 1, + 4, + [] + ], + [ + "add", + 205, + 245, + -1, + 4, + [] + ], + [ + "add", + 205, + 248, + -1, + 4, + [] + ], + [ + "add", + 205, + 249, + 1, + 4, + [] + ], + [ + "add", + 205, + 254, + -1, + 4, + [] + ], + [ + "add", + 205, + 255, + 1, + 4, + [] + ], + [ + "add", + 205, + 257, + 1, + 4, + [] + ], + [ + "add", + 205, + 262, + -1, + 4, + [] + ], + [ + "add", + 205, + 263, + 1, + 4, + [] + ], + [ + "add", + 205, + 266, + 1, + 4, + [] + ], + [ + "add", + 205, + 267, + -1, + 4, + [] + ], + [ + "add", + 205, + 268, + -1, + 4, + [] + ], + [ + "add", + 205, + 269, + 1, + 4, + [] + ], + [ + "add", + 205, + 270, + -1, + 2, + [] + ], + [ + "add", + 205, + 271, + 1, + 2, + [] + ], + [ + "add", + 205, + 274, + -1, + 4, + [] + ], + [ + "add", + 205, + 276, + 1, + 4, + [] + ], + [ + "add", + 205, + 279, + 1, + 4, + [] + ], + [ + "add", + 205, + 283, + -1, + 2, + [] + ], + [ + "add", + 205, + 285, + 1, + 2, + [] + ], + [ + "add", + 205, + 286, + 1, + 4, + [] + ], + [ + "add", + 205, + 294, + -1, + 4, + [] + ], + [ + "add", + 205, + 299, + -1, + 4, + [] + ], + [ + "add", + 205, + 300, + 1, + 4, + [] + ], + [ + "add", + 205, + 302, + 1, + 2, + [] + ], + [ + "add", + 205, + 303, + -1, + 2, + [] + ], + [ + "add", + 205, + 347, + -1, + 1, + [] + ], + [ + "add", + 205, + 363, + -1, + 1, + [] + ], + [ + "add", + 205, + 374, + 1, + 4, + [] + ], + [ + "add", + 205, + 376, + 1, + 2, + [] + ], + [ + "add", + 205, + 379, + -1, + 4, + [] + ], + [ + "add", + 205, + 380, + 1, + 4, + [] + ], + [ + "add", + 205, + 383, + 1, + 2, + [] + ], + [ + "add", + 205, + 386, + 1, + 4, + [] + ], + [ + "add", + 205, + 388, + -1, + 4, + [] + ], + [ + "add", + 205, + 391, + 1, + 4, + [] + ], + [ + "add", + 205, + 393, + 1, + 2, + [] + ], + [ + "add", + 205, + 395, + -1, + 2, + [] + ], + [ + "add", + 205, + 398, + -1, + 4, + [] + ], + [ + "add", + 205, + 399, + 1, + 2, + [] + ], + [ + "add", + 205, + 401, + 1, + 4, + [] + ], + [ + "add", + 205, + 402, + -1, + 2, + [] + ], + [ + "add", + 205, + 403, + 1, + 2, + [] + ], + [ + "add", + 205, + 406, + 1, + 4, + [] + ], + [ + "add", + 205, + 407, + -1, + 4, + [] + ], + [ + "add", + 205, + 410, + -1, + 4, + [] + ], + [ + "add", + 205, + 411, + 1, + 4, + [] + ], + [ + "add", + 205, + 412, + -1, + 4, + [] + ], + [ + "add", + 205, + 413, + 1, + 4, + [] + ], + [ + "add", + 205, + 418, + -1, + 4, + [] + ], + [ + "add", + 205, + 419, + 1, + 4, + [] + ], + [ + "add", + 205, + 420, + -1, + 4, + [] + ], + [ + "add", + 205, + 421, + 1, + 4, + [] + ], + [ + "add", + 205, + 424, + -1, + 4, + [] + ], + [ + "add", + 205, + 425, + 1, + 4, + [] + ], + [ + "add", + 205, + 426, + -1, + 2, + [] + ], + [ + "add", + 205, + 427, + 1, + 2, + [] + ], + [ + "add", + 205, + 430, + 1, + 4, + [] + ], + [ + "add", + 205, + 431, + -1, + 4, + [] + ], + [ + "add", + 205, + 546, + 1, + 4, + [] + ], + [ + "add", + 205, + 547, + 1, + 4, + [] + ], + [ + "add", + 205, + 560, + 1, + 4, + [] + ], + [ + "add", + 205, + 568, + -1, + 4, + [] + ], + [ + "add", + 170, + 226, + -1, + 2, + [] + ], + [ + "add", + 170, + 227, + 1, + 2, + [] + ], + [ + "add", + 170, + 228, + 1, + 2, + [] + ], + [ + "add", + 170, + 229, + -1, + 2, + [] + ], + [ + "add", + 170, + 232, + -1, + 2, + [] + ], + [ + "add", + 170, + 233, + 1, + 2, + [] + ], + [ + "add", + 170, + 238, + -1, + 2, + [] + ], + [ + "add", + 170, + 239, + 1, + 2, + [] + ], + [ + "add", + 170, + 241, + 1, + 2, + [] + ], + [ + "add", + 170, + 243, + 1, + 4, + [] + ], + [ + "add", + 170, + 244, + 1, + 4, + [] + ], + [ + "add", + 170, + 245, + -1, + 4, + [] + ], + [ + "add", + 170, + 248, + -1, + 4, + [] + ], + [ + "add", + 170, + 249, + 1, + 4, + [] + ], + [ + "add", + 170, + 254, + -1, + 4, + [] + ], + [ + "add", + 170, + 255, + 1, + 4, + [] + ], + [ + "add", + 170, + 257, + 1, + 4, + [] + ], + [ + "add", + 170, + 262, + -1, + 4, + [] + ], + [ + "add", + 170, + 263, + 1, + 4, + [] + ], + [ + "add", + 170, + 266, + 1, + 4, + [] + ], + [ + "add", + 170, + 267, + -1, + 4, + [] + ], + [ + "add", + 170, + 268, + -1, + 4, + [] + ], + [ + "add", + 170, + 269, + 1, + 4, + [] + ], + [ + "add", + 170, + 270, + -1, + 2, + [] + ], + [ + "add", + 170, + 271, + 1, + 2, + [] + ], + [ + "add", + 170, + 274, + -1, + 4, + [] + ], + [ + "add", + 170, + 276, + 1, + 4, + [] + ], + [ + "add", + 170, + 279, + 1, + 4, + [] + ], + [ + "add", + 170, + 283, + -1, + 2, + [] + ], + [ + "add", + 170, + 285, + 1, + 2, + [] + ], + [ + "add", + 170, + 286, + 1, + 4, + [] + ], + [ + "add", + 170, + 294, + -1, + 4, + [] + ], + [ + "add", + 170, + 299, + -1, + 4, + [] + ], + [ + "add", + 170, + 300, + 1, + 4, + [] + ], + [ + "add", + 170, + 302, + 1, + 2, + [] + ], + [ + "add", + 170, + 303, + -1, + 2, + [] + ], + [ + "add", + 170, + 347, + -1, + 1, + [] + ], + [ + "add", + 170, + 363, + -1, + 1, + [] + ], + [ + "add", + 170, + 374, + 1, + 4, + [] + ], + [ + "add", + 170, + 376, + 1, + 2, + [] + ], + [ + "add", + 170, + 379, + -1, + 4, + [] + ], + [ + "add", + 170, + 380, + 1, + 4, + [] + ], + [ + "add", + 170, + 383, + 1, + 2, + [] + ], + [ + "add", + 170, + 386, + 1, + 4, + [] + ], + [ + "add", + 170, + 388, + -1, + 4, + [] + ], + [ + "add", + 170, + 391, + 1, + 4, + [] + ], + [ + "add", + 170, + 393, + 1, + 2, + [] + ], + [ + "add", + 170, + 395, + -1, + 2, + [] + ], + [ + "add", + 170, + 398, + -1, + 4, + [] + ], + [ + "add", + 170, + 399, + 1, + 2, + [] + ], + [ + "add", + 170, + 401, + 1, + 4, + [] + ], + [ + "add", + 170, + 402, + -1, + 2, + [] + ], + [ + "add", + 170, + 403, + 1, + 2, + [] + ], + [ + "add", + 170, + 406, + 1, + 4, + [] + ], + [ + "add", + 170, + 407, + -1, + 4, + [] + ], + [ + "add", + 170, + 410, + -1, + 4, + [] + ], + [ + "add", + 170, + 411, + 1, + 4, + [] + ], + [ + "add", + 170, + 412, + -1, + 4, + [] + ], + [ + "add", + 170, + 413, + 1, + 4, + [] + ], + [ + "add", + 170, + 418, + -1, + 4, + [] + ], + [ + "add", + 170, + 419, + 1, + 4, + [] + ], + [ + "add", + 170, + 420, + -1, + 4, + [] + ], + [ + "add", + 170, + 421, + 1, + 4, + [] + ], + [ + "add", + 170, + 424, + -1, + 4, + [] + ], + [ + "add", + 170, + 425, + 1, + 4, + [] + ], + [ + "add", + 170, + 426, + -1, + 2, + [] + ], + [ + "add", + 170, + 427, + 1, + 2, + [] + ], + [ + "add", + 170, + 430, + 1, + 4, + [] + ], + [ + "add", + 170, + 431, + -1, + 4, + [] + ], + [ + "add", + 170, + 546, + 1, + 4, + [] + ], + [ + "add", + 170, + 547, + 1, + 4, + [] + ], + [ + "add", + 170, + 560, + 1, + 4, + [] + ], + [ + "add", + 170, + 568, + -1, + 4, + [] + ], + [ + "add", + 140, + 241, + 1, + 2, + [] + ], + [ + "add", + 140, + 243, + -1, + 4, + [] + ], + [ + "add", + 140, + 244, + -1, + 4, + [] + ], + [ + "add", + 140, + 245, + 1, + 4, + [] + ], + [ + "add", + 140, + 248, + 1, + 4, + [] + ], + [ + "add", + 140, + 249, + -1, + 4, + [] + ], + [ + "add", + 140, + 254, + 1, + 4, + [] + ], + [ + "add", + 140, + 255, + -1, + 4, + [] + ], + [ + "add", + 140, + 257, + 1, + 4, + [] + ], + [ + "add", + 140, + 262, + -1, + 4, + [] + ], + [ + "add", + 140, + 263, + 1, + 4, + [] + ], + [ + "add", + 140, + 266, + 1, + 4, + [] + ], + [ + "add", + 140, + 267, + -1, + 4, + [] + ], + [ + "add", + 140, + 268, + -1, + 4, + [] + ], + [ + "add", + 140, + 269, + 1, + 4, + [] + ], + [ + "add", + 140, + 270, + 1, + 2, + [] + ], + [ + "add", + 140, + 271, + -1, + 2, + [] + ], + [ + "add", + 140, + 274, + -1, + 4, + [] + ], + [ + "add", + 140, + 276, + 1, + 4, + [] + ], + [ + "add", + 140, + 279, + 1, + 4, + [] + ], + [ + "add", + 140, + 283, + 1, + 2, + [] + ], + [ + "add", + 140, + 285, + -1, + 2, + [] + ], + [ + "add", + 140, + 286, + 1, + 4, + [] + ], + [ + "add", + 140, + 294, + 1, + 4, + [] + ], + [ + "add", + 140, + 299, + 1, + 4, + [] + ], + [ + "add", + 140, + 300, + -1, + 4, + [] + ], + [ + "add", + 140, + 302, + 1, + 2, + [] + ], + [ + "add", + 140, + 303, + -1, + 2, + [] + ], + [ + "add", + 140, + 304, + -1, + 2, + [] + ], + [ + "add", + 140, + 308, + 1, + 2, + [] + ], + [ + "add", + 140, + 312, + 1, + 2, + [] + ], + [ + "add", + 140, + 318, + 1, + 2, + [] + ], + [ + "add", + 140, + 336, + -1, + 2, + [] + ], + [ + "add", + 140, + 340, + 1, + 2, + [] + ], + [ + "add", + 140, + 350, + 1, + 2, + [] + ], + [ + "add", + 140, + 351, + -1, + 2, + [] + ], + [ + "add", + 140, + 374, + -1, + 4, + [] + ], + [ + "add", + 140, + 376, + 1, + 2, + [] + ], + [ + "add", + 140, + 379, + 1, + 4, + [] + ], + [ + "add", + 140, + 380, + -1, + 4, + [] + ], + [ + "add", + 140, + 383, + 1, + 2, + [] + ], + [ + "add", + 140, + 386, + -1, + 4, + [] + ], + [ + "add", + 140, + 388, + 1, + 4, + [] + ], + [ + "add", + 140, + 391, + -1, + 4, + [] + ], + [ + "add", + 140, + 393, + 1, + 2, + [] + ], + [ + "add", + 140, + 395, + -1, + 2, + [] + ], + [ + "add", + 140, + 398, + 1, + 4, + [] + ], + [ + "add", + 140, + 399, + -1, + 2, + [] + ], + [ + "add", + 140, + 401, + 1, + 4, + [] + ], + [ + "add", + 140, + 402, + 1, + 2, + [] + ], + [ + "add", + 140, + 403, + -1, + 2, + [] + ], + [ + "add", + 140, + 406, + 1, + 4, + [] + ], + [ + "add", + 140, + 407, + -1, + 4, + [] + ], + [ + "add", + 140, + 410, + -1, + 4, + [] + ], + [ + "add", + 140, + 411, + 1, + 4, + [] + ], + [ + "add", + 140, + 412, + -1, + 4, + [] + ], + [ + "add", + 140, + 413, + 1, + 4, + [] + ], + [ + "add", + 140, + 418, + -1, + 4, + [] + ], + [ + "add", + 140, + 419, + 1, + 4, + [] + ], + [ + "add", + 140, + 420, + -1, + 4, + [] + ], + [ + "add", + 140, + 421, + 1, + 4, + [] + ], + [ + "add", + 140, + 424, + -1, + 4, + [] + ], + [ + "add", + 140, + 425, + 1, + 4, + [] + ], + [ + "add", + 140, + 426, + 1, + 2, + [] + ], + [ + "add", + 140, + 427, + -1, + 2, + [] + ], + [ + "add", + 140, + 430, + 1, + 4, + [] + ], + [ + "add", + 140, + 431, + -1, + 4, + [] + ], + [ + "add", + 140, + 442, + 1, + 1, + [] + ], + [ + "add", + 140, + 443, + -1, + 1, + [] + ], + [ + "add", + 140, + 546, + -1, + 4, + [] + ], + [ + "add", + 140, + 547, + 1, + 4, + [] + ], + [ + "add", + 140, + 560, + 1, + 4, + [] + ], + [ + "add", + 140, + 568, + -1, + 4, + [] + ], + [ + "add", + 198, + 241, + 1, + 2, + [] + ], + [ + "add", + 198, + 243, + -1, + 4, + [] + ], + [ + "add", + 198, + 244, + -1, + 4, + [] + ], + [ + "add", + 198, + 245, + 1, + 4, + [] + ], + [ + "add", + 198, + 248, + 1, + 4, + [] + ], + [ + "add", + 198, + 249, + -1, + 4, + [] + ], + [ + "add", + 198, + 254, + 1, + 4, + [] + ], + [ + "add", + 198, + 255, + -1, + 4, + [] + ], + [ + "add", + 198, + 257, + -1, + 4, + [] + ], + [ + "add", + 198, + 262, + 1, + 4, + [] + ], + [ + "add", + 198, + 263, + -1, + 4, + [] + ], + [ + "add", + 198, + 266, + -1, + 4, + [] + ], + [ + "add", + 198, + 267, + 1, + 4, + [] + ], + [ + "add", + 198, + 268, + 1, + 4, + [] + ], + [ + "add", + 198, + 269, + -1, + 4, + [] + ], + [ + "add", + 198, + 270, + -1, + 2, + [] + ], + [ + "add", + 198, + 271, + 1, + 2, + [] + ], + [ + "add", + 198, + 274, + -1, + 4, + [] + ], + [ + "add", + 198, + 276, + 1, + 4, + [] + ], + [ + "add", + 198, + 279, + 1, + 4, + [] + ], + [ + "add", + 198, + 283, + 1, + 2, + [] + ], + [ + "add", + 198, + 285, + -1, + 2, + [] + ], + [ + "add", + 198, + 286, + 1, + 4, + [] + ], + [ + "add", + 198, + 294, + -1, + 4, + [] + ], + [ + "add", + 198, + 299, + -1, + 4, + [] + ], + [ + "add", + 198, + 300, + 1, + 4, + [] + ], + [ + "add", + 198, + 302, + -1, + 2, + [] + ], + [ + "add", + 198, + 303, + 1, + 2, + [] + ], + [ + "add", + 198, + 319, + 1, + 1, + [] + ], + [ + "add", + 198, + 351, + 1, + 1, + [] + ], + [ + "add", + 198, + 374, + -1, + 4, + [] + ], + [ + "add", + 198, + 376, + 1, + 2, + [] + ], + [ + "add", + 198, + 379, + 1, + 4, + [] + ], + [ + "add", + 198, + 380, + -1, + 4, + [] + ], + [ + "add", + 198, + 383, + 1, + 2, + [] + ], + [ + "add", + 198, + 386, + 1, + 4, + [] + ], + [ + "add", + 198, + 388, + -1, + 4, + [] + ], + [ + "add", + 198, + 391, + 1, + 4, + [] + ], + [ + "add", + 198, + 393, + -1, + 2, + [] + ], + [ + "add", + 198, + 395, + 1, + 2, + [] + ], + [ + "add", + 198, + 398, + -1, + 4, + [] + ], + [ + "add", + 198, + 399, + 1, + 2, + [] + ], + [ + "add", + 198, + 401, + 1, + 4, + [] + ], + [ + "add", + 198, + 402, + 1, + 2, + [] + ], + [ + "add", + 198, + 403, + -1, + 2, + [] + ], + [ + "add", + 198, + 406, + 1, + 4, + [] + ], + [ + "add", + 198, + 407, + -1, + 4, + [] + ], + [ + "add", + 198, + 410, + -1, + 4, + [] + ], + [ + "add", + 198, + 411, + 1, + 4, + [] + ], + [ + "add", + 198, + 412, + -1, + 4, + [] + ], + [ + "add", + 198, + 413, + 1, + 4, + [] + ], + [ + "add", + 198, + 418, + 1, + 4, + [] + ], + [ + "add", + 198, + 419, + -1, + 4, + [] + ], + [ + "add", + 198, + 420, + 1, + 4, + [] + ], + [ + "add", + 198, + 421, + -1, + 4, + [] + ], + [ + "add", + 198, + 424, + 1, + 4, + [] + ], + [ + "add", + 198, + 425, + -1, + 4, + [] + ], + [ + "add", + 198, + 426, + -1, + 2, + [] + ], + [ + "add", + 198, + 427, + 1, + 2, + [] + ], + [ + "add", + 198, + 430, + -1, + 4, + [] + ], + [ + "add", + 198, + 431, + 1, + 4, + [] + ], + [ + "add", + 198, + 434, + 1, + 2, + [] + ], + [ + "add", + 198, + 435, + -1, + 2, + [] + ], + [ + "add", + 198, + 436, + 1, + 2, + [] + ], + [ + "add", + 198, + 437, + -1, + 2, + [] + ], + [ + "add", + 198, + 440, + 1, + 2, + [] + ], + [ + "add", + 198, + 441, + -1, + 2, + [] + ], + [ + "add", + 198, + 446, + -1, + 2, + [] + ], + [ + "add", + 198, + 447, + 1, + 2, + [] + ], + [ + "add", + 198, + 546, + -1, + 4, + [] + ], + [ + "add", + 198, + 547, + 1, + 4, + [] + ], + [ + "add", + 198, + 560, + -1, + 4, + [] + ], + [ + "add", + 198, + 568, + -1, + 4, + [] + ], + [ + "add", + 124, + 226, + 1, + 1, + [] + ], + [ + "add", + 124, + 227, + -1, + 1, + [] + ], + [ + "add", + 124, + 241, + -1, + 4, + [] + ], + [ + "add", + 124, + 243, + -1, + 2, + [] + ], + [ + "add", + 124, + 246, + -1, + 4, + [] + ], + [ + "add", + 124, + 247, + 1, + 4, + [] + ], + [ + "add", + 124, + 250, + 1, + 4, + [] + ], + [ + "add", + 124, + 251, + -1, + 4, + [] + ], + [ + "add", + 124, + 252, + 1, + 4, + [] + ], + [ + "add", + 124, + 253, + -1, + 4, + [] + ], + [ + "add", + 124, + 257, + -1, + 4, + [] + ], + [ + "add", + 124, + 259, + -1, + 2, + [] + ], + [ + "add", + 124, + 262, + -1, + 4, + [] + ], + [ + "add", + 124, + 263, + 1, + 4, + [] + ], + [ + "add", + 124, + 266, + 1, + 4, + [] + ], + [ + "add", + 124, + 267, + -1, + 4, + [] + ], + [ + "add", + 124, + 268, + 1, + 4, + [] + ], + [ + "add", + 124, + 269, + -1, + 4, + [] + ], + [ + "add", + 124, + 272, + -1, + 2, + [] + ], + [ + "add", + 124, + 276, + -1, + 2, + [] + ], + [ + "add", + 124, + 280, + 1, + 2, + [] + ], + [ + "add", + 124, + 286, + -1, + 2, + [] + ], + [ + "add", + 124, + 287, + 1, + 1, + [] + ], + [ + "add", + 124, + 288, + -1, + 2, + [] + ], + [ + "add", + 124, + 292, + -1, + 2, + [] + ], + [ + "add", + 124, + 296, + 1, + 2, + [] + ], + [ + "add", + 124, + 302, + -1, + 2, + [] + ], + [ + "add", + 124, + 303, + 1, + 1, + [] + ], + [ + "add", + 124, + 310, + 1, + 4, + [] + ], + [ + "add", + 124, + 312, + 1, + 2, + [] + ], + [ + "add", + 124, + 315, + -1, + 4, + [] + ], + [ + "add", + 124, + 316, + 1, + 4, + [] + ], + [ + "add", + 124, + 319, + 1, + 2, + [] + ], + [ + "add", + 124, + 322, + 1, + 4, + [] + ], + [ + "add", + 124, + 324, + -1, + 4, + [] + ], + [ + "add", + 124, + 329, + 1, + 2, + [] + ], + [ + "add", + 124, + 331, + -1, + 2, + [] + ], + [ + "add", + 124, + 334, + -1, + 4, + [] + ], + [ + "add", + 124, + 335, + 1, + 2, + [] + ], + [ + "add", + 124, + 338, + 1, + 4, + [] + ], + [ + "add", + 124, + 340, + -1, + 4, + [] + ], + [ + "add", + 124, + 343, + -1, + 4, + [] + ], + [ + "add", + 124, + 347, + 1, + 2, + [] + ], + [ + "add", + 124, + 349, + -1, + 2, + [] + ], + [ + "add", + 124, + 350, + -1, + 4, + [] + ], + [ + "add", + 124, + 358, + 1, + 4, + [] + ], + [ + "add", + 124, + 363, + 1, + 4, + [] + ], + [ + "add", + 124, + 364, + -1, + 4, + [] + ], + [ + "add", + 124, + 366, + -1, + 2, + [] + ], + [ + "add", + 124, + 367, + 1, + 2, + [] + ], + [ + "add", + 124, + 401, + -1, + 4, + [] + ], + [ + "add", + 124, + 402, + 1, + 2, + [] + ], + [ + "add", + 124, + 403, + -1, + 2, + [] + ], + [ + "add", + 124, + 406, + -1, + 4, + [] + ], + [ + "add", + 124, + 407, + 1, + 4, + [] + ], + [ + "add", + 124, + 410, + 1, + 4, + [] + ], + [ + "add", + 124, + 411, + -1, + 4, + [] + ], + [ + "add", + 124, + 412, + 1, + 4, + [] + ], + [ + "add", + 124, + 413, + -1, + 4, + [] + ], + [ + "add", + 124, + 417, + -1, + 4, + [] + ], + [ + "add", + 124, + 418, + 1, + 2, + [] + ], + [ + "add", + 124, + 419, + -1, + 2, + [] + ], + [ + "add", + 124, + 422, + -1, + 4, + [] + ], + [ + "add", + 124, + 423, + 1, + 4, + [] + ], + [ + "add", + 124, + 426, + 1, + 4, + [] + ], + [ + "add", + 124, + 427, + -1, + 4, + [] + ], + [ + "add", + 124, + 428, + 1, + 4, + [] + ], + [ + "add", + 124, + 429, + -1, + 4, + [] + ], + [ + "add", + 124, + 511, + 1, + 4, + [] + ], + [ + "add", + 212, + 226, + 1, + 1, + [] + ], + [ + "add", + 212, + 227, + -1, + 1, + [] + ], + [ + "add", + 212, + 241, + -1, + 4, + [] + ], + [ + "add", + 212, + 243, + -1, + 2, + [] + ], + [ + "add", + 212, + 246, + -1, + 4, + [] + ], + [ + "add", + 212, + 247, + 1, + 4, + [] + ], + [ + "add", + 212, + 250, + 1, + 4, + [] + ], + [ + "add", + 212, + 251, + -1, + 4, + [] + ], + [ + "add", + 212, + 252, + 1, + 4, + [] + ], + [ + "add", + 212, + 253, + -1, + 4, + [] + ], + [ + "add", + 212, + 257, + -1, + 4, + [] + ], + [ + "add", + 212, + 259, + -1, + 2, + [] + ], + [ + "add", + 212, + 262, + -1, + 4, + [] + ], + [ + "add", + 212, + 263, + 1, + 4, + [] + ], + [ + "add", + 212, + 266, + 1, + 4, + [] + ], + [ + "add", + 212, + 267, + -1, + 4, + [] + ], + [ + "add", + 212, + 268, + 1, + 4, + [] + ], + [ + "add", + 212, + 269, + -1, + 4, + [] + ], + [ + "add", + 212, + 272, + -1, + 2, + [] + ], + [ + "add", + 212, + 276, + -1, + 2, + [] + ], + [ + "add", + 212, + 280, + 1, + 2, + [] + ], + [ + "add", + 212, + 286, + -1, + 2, + [] + ], + [ + "add", + 212, + 287, + 1, + 1, + [] + ], + [ + "add", + 212, + 288, + -1, + 2, + [] + ], + [ + "add", + 212, + 292, + -1, + 2, + [] + ], + [ + "add", + 212, + 296, + 1, + 2, + [] + ], + [ + "add", + 212, + 302, + -1, + 2, + [] + ], + [ + "add", + 212, + 303, + 1, + 1, + [] + ], + [ + "add", + 212, + 310, + 1, + 4, + [] + ], + [ + "add", + 212, + 312, + 1, + 2, + [] + ], + [ + "add", + 212, + 315, + -1, + 4, + [] + ], + [ + "add", + 212, + 316, + 1, + 4, + [] + ], + [ + "add", + 212, + 319, + 1, + 2, + [] + ], + [ + "add", + 212, + 322, + 1, + 4, + [] + ], + [ + "add", + 212, + 324, + -1, + 4, + [] + ], + [ + "add", + 212, + 329, + 1, + 2, + [] + ], + [ + "add", + 212, + 331, + -1, + 2, + [] + ], + [ + "add", + 212, + 334, + -1, + 4, + [] + ], + [ + "add", + 212, + 335, + 1, + 2, + [] + ], + [ + "add", + 212, + 338, + 1, + 4, + [] + ], + [ + "add", + 212, + 340, + -1, + 4, + [] + ], + [ + "add", + 212, + 343, + -1, + 4, + [] + ], + [ + "add", + 212, + 347, + 1, + 2, + [] + ], + [ + "add", + 212, + 349, + -1, + 2, + [] + ], + [ + "add", + 212, + 350, + -1, + 4, + [] + ], + [ + "add", + 212, + 358, + 1, + 4, + [] + ], + [ + "add", + 212, + 363, + 1, + 4, + [] + ], + [ + "add", + 212, + 364, + -1, + 4, + [] + ], + [ + "add", + 212, + 366, + -1, + 2, + [] + ], + [ + "add", + 212, + 367, + 1, + 2, + [] + ], + [ + "add", + 212, + 401, + -1, + 4, + [] + ], + [ + "add", + 212, + 402, + 1, + 2, + [] + ], + [ + "add", + 212, + 403, + -1, + 2, + [] + ], + [ + "add", + 212, + 406, + -1, + 4, + [] + ], + [ + "add", + 212, + 407, + 1, + 4, + [] + ], + [ + "add", + 212, + 410, + 1, + 4, + [] + ], + [ + "add", + 212, + 411, + -1, + 4, + [] + ], + [ + "add", + 212, + 412, + 1, + 4, + [] + ], + [ + "add", + 212, + 413, + -1, + 4, + [] + ], + [ + "add", + 212, + 417, + -1, + 4, + [] + ], + [ + "add", + 212, + 418, + 1, + 2, + [] + ], + [ + "add", + 212, + 419, + -1, + 2, + [] + ], + [ + "add", + 212, + 422, + -1, + 4, + [] + ], + [ + "add", + 212, + 423, + 1, + 4, + [] + ], + [ + "add", + 212, + 426, + 1, + 4, + [] + ], + [ + "add", + 212, + 427, + -1, + 4, + [] + ], + [ + "add", + 212, + 428, + 1, + 4, + [] + ], + [ + "add", + 212, + 429, + -1, + 4, + [] + ], + [ + "add", + 212, + 511, + 1, + 4, + [] + ], + [ + "add", + 168, + 241, + 1, + 4, + [] + ], + [ + "add", + 168, + 243, + -1, + 2, + [] + ], + [ + "add", + 168, + 246, + 1, + 4, + [] + ], + [ + "add", + 168, + 247, + -1, + 4, + [] + ], + [ + "add", + 168, + 250, + -1, + 4, + [] + ], + [ + "add", + 168, + 251, + 1, + 4, + [] + ], + [ + "add", + 168, + 252, + -1, + 4, + [] + ], + [ + "add", + 168, + 253, + 1, + 4, + [] + ], + [ + "add", + 168, + 257, + -1, + 4, + [] + ], + [ + "add", + 168, + 259, + 1, + 2, + [] + ], + [ + "add", + 168, + 262, + -1, + 4, + [] + ], + [ + "add", + 168, + 263, + 1, + 4, + [] + ], + [ + "add", + 168, + 266, + 1, + 4, + [] + ], + [ + "add", + 168, + 267, + -1, + 4, + [] + ], + [ + "add", + 168, + 268, + 1, + 4, + [] + ], + [ + "add", + 168, + 269, + -1, + 4, + [] + ], + [ + "add", + 168, + 272, + -1, + 2, + [] + ], + [ + "add", + 168, + 276, + 1, + 2, + [] + ], + [ + "add", + 168, + 280, + 1, + 2, + [] + ], + [ + "add", + 168, + 286, + 1, + 2, + [] + ], + [ + "add", + 168, + 310, + -1, + 4, + [] + ], + [ + "add", + 168, + 312, + 1, + 2, + [] + ], + [ + "add", + 168, + 315, + 1, + 4, + [] + ], + [ + "add", + 168, + 316, + -1, + 4, + [] + ], + [ + "add", + 168, + 319, + 1, + 2, + [] + ], + [ + "add", + 168, + 322, + -1, + 4, + [] + ], + [ + "add", + 168, + 324, + 1, + 4, + [] + ], + [ + "add", + 168, + 329, + 1, + 2, + [] + ], + [ + "add", + 168, + 331, + -1, + 2, + [] + ], + [ + "add", + 168, + 334, + 1, + 4, + [] + ], + [ + "add", + 168, + 335, + -1, + 2, + [] + ], + [ + "add", + 168, + 338, + -1, + 4, + [] + ], + [ + "add", + 168, + 340, + 1, + 4, + [] + ], + [ + "add", + 168, + 343, + 1, + 4, + [] + ], + [ + "add", + 168, + 347, + 1, + 2, + [] + ], + [ + "add", + 168, + 349, + -1, + 2, + [] + ], + [ + "add", + 168, + 350, + 1, + 4, + [] + ], + [ + "add", + 168, + 358, + 1, + 4, + [] + ], + [ + "add", + 168, + 363, + 1, + 4, + [] + ], + [ + "add", + 168, + 364, + -1, + 4, + [] + ], + [ + "add", + 168, + 366, + 1, + 2, + [] + ], + [ + "add", + 168, + 367, + -1, + 2, + [] + ], + [ + "add", + 168, + 368, + -1, + 2, + [] + ], + [ + "add", + 168, + 372, + 1, + 2, + [] + ], + [ + "add", + 168, + 382, + 1, + 2, + [] + ], + [ + "add", + 168, + 383, + -1, + 2, + [] + ], + [ + "add", + 168, + 401, + 1, + 4, + [] + ], + [ + "add", + 168, + 402, + 1, + 2, + [] + ], + [ + "add", + 168, + 403, + -1, + 2, + [] + ], + [ + "add", + 168, + 406, + 1, + 4, + [] + ], + [ + "add", + 168, + 407, + -1, + 4, + [] + ], + [ + "add", + 168, + 410, + -1, + 4, + [] + ], + [ + "add", + 168, + 411, + 1, + 4, + [] + ], + [ + "add", + 168, + 412, + -1, + 4, + [] + ], + [ + "add", + 168, + 413, + 1, + 4, + [] + ], + [ + "add", + 168, + 417, + -1, + 4, + [] + ], + [ + "add", + 168, + 418, + -1, + 2, + [] + ], + [ + "add", + 168, + 419, + 1, + 2, + [] + ], + [ + "add", + 168, + 422, + -1, + 4, + [] + ], + [ + "add", + 168, + 423, + 1, + 4, + [] + ], + [ + "add", + 168, + 426, + 1, + 4, + [] + ], + [ + "add", + 168, + 427, + -1, + 4, + [] + ], + [ + "add", + 168, + 428, + 1, + 4, + [] + ], + [ + "add", + 168, + 429, + -1, + 4, + [] + ], + [ + "add", + 168, + 432, + 1, + 2, + [] + ], + [ + "add", + 168, + 433, + -1, + 2, + [] + ], + [ + "add", + 168, + 438, + -1, + 2, + [] + ], + [ + "add", + 168, + 439, + 1, + 2, + [] + ], + [ + "add", + 168, + 442, + 1, + 2, + [] + ], + [ + "add", + 168, + 443, + -1, + 2, + [] + ], + [ + "add", + 168, + 444, + 1, + 2, + [] + ], + [ + "add", + 168, + 445, + -1, + 2, + [] + ], + [ + "add", + 168, + 511, + -1, + 4, + [] + ], + [ + "add", + 143, + 241, + 1, + 4, + [] + ], + [ + "add", + 143, + 243, + -1, + 2, + [] + ], + [ + "add", + 143, + 246, + 1, + 4, + [] + ], + [ + "add", + 143, + 247, + -1, + 4, + [] + ], + [ + "add", + 143, + 250, + -1, + 4, + [] + ], + [ + "add", + 143, + 251, + 1, + 4, + [] + ], + [ + "add", + 143, + 252, + -1, + 4, + [] + ], + [ + "add", + 143, + 253, + 1, + 4, + [] + ], + [ + "add", + 143, + 257, + 1, + 4, + [] + ], + [ + "add", + 143, + 259, + -1, + 2, + [] + ], + [ + "add", + 143, + 262, + 1, + 4, + [] + ], + [ + "add", + 143, + 263, + -1, + 4, + [] + ], + [ + "add", + 143, + 266, + -1, + 4, + [] + ], + [ + "add", + 143, + 267, + 1, + 4, + [] + ], + [ + "add", + 143, + 268, + -1, + 4, + [] + ], + [ + "add", + 143, + 269, + 1, + 4, + [] + ], + [ + "add", + 143, + 287, + 1, + 1, + [] + ], + [ + "add", + 143, + 310, + -1, + 4, + [] + ], + [ + "add", + 143, + 312, + 1, + 2, + [] + ], + [ + "add", + 143, + 315, + 1, + 4, + [] + ], + [ + "add", + 143, + 316, + -1, + 4, + [] + ], + [ + "add", + 143, + 319, + 1, + 2, + [] + ], + [ + "add", + 143, + 322, + 1, + 4, + [] + ], + [ + "add", + 143, + 324, + -1, + 4, + [] + ], + [ + "add", + 143, + 329, + -1, + 2, + [] + ], + [ + "add", + 143, + 331, + 1, + 2, + [] + ], + [ + "add", + 143, + 334, + -1, + 4, + [] + ], + [ + "add", + 143, + 335, + 1, + 2, + [] + ], + [ + "add", + 143, + 338, + -1, + 4, + [] + ], + [ + "add", + 143, + 340, + 1, + 4, + [] + ], + [ + "add", + 143, + 343, + 1, + 4, + [] + ], + [ + "add", + 143, + 347, + 1, + 2, + [] + ], + [ + "add", + 143, + 349, + -1, + 2, + [] + ], + [ + "add", + 143, + 350, + 1, + 4, + [] + ], + [ + "add", + 143, + 358, + -1, + 4, + [] + ], + [ + "add", + 143, + 363, + -1, + 4, + [] + ], + [ + "add", + 143, + 364, + 1, + 4, + [] + ], + [ + "add", + 143, + 366, + -1, + 2, + [] + ], + [ + "add", + 143, + 367, + 1, + 2, + [] + ], + [ + "add", + 143, + 383, + 1, + 1, + [] + ], + [ + "add", + 143, + 401, + 1, + 4, + [] + ], + [ + "add", + 143, + 402, + 1, + 2, + [] + ], + [ + "add", + 143, + 403, + -1, + 2, + [] + ], + [ + "add", + 143, + 406, + 1, + 4, + [] + ], + [ + "add", + 143, + 407, + -1, + 4, + [] + ], + [ + "add", + 143, + 410, + -1, + 4, + [] + ], + [ + "add", + 143, + 411, + 1, + 4, + [] + ], + [ + "add", + 143, + 412, + -1, + 4, + [] + ], + [ + "add", + 143, + 413, + 1, + 4, + [] + ], + [ + "add", + 143, + 417, + 1, + 4, + [] + ], + [ + "add", + 143, + 418, + 1, + 2, + [] + ], + [ + "add", + 143, + 419, + -1, + 2, + [] + ], + [ + "add", + 143, + 422, + 1, + 4, + [] + ], + [ + "add", + 143, + 423, + -1, + 4, + [] + ], + [ + "add", + 143, + 426, + -1, + 4, + [] + ], + [ + "add", + 143, + 427, + 1, + 4, + [] + ], + [ + "add", + 143, + 428, + -1, + 4, + [] + ], + [ + "add", + 143, + 429, + 1, + 4, + [] + ], + [ + "add", + 143, + 434, + 1, + 1, + [] + ], + [ + "add", + 143, + 435, + -1, + 1, + [] + ], + [ + "add", + 143, + 511, + 1, + 4, + [] + ], + [ + "add", + 215, + 224, + 1, + 2, + [] + ], + [ + "add", + 215, + 225, + -1, + 2, + [] + ], + [ + "add", + 215, + 230, + -1, + 2, + [] + ], + [ + "add", + 215, + 231, + 1, + 2, + [] + ], + [ + "add", + 215, + 234, + 1, + 2, + [] + ], + [ + "add", + 215, + 235, + -1, + 2, + [] + ], + [ + "add", + 215, + 236, + 1, + 2, + [] + ], + [ + "add", + 215, + 237, + -1, + 2, + [] + ], + [ + "add", + 215, + 241, + -1, + 4, + [] + ], + [ + "add", + 215, + 243, + -1, + 2, + [] + ], + [ + "add", + 215, + 246, + -1, + 4, + [] + ], + [ + "add", + 215, + 247, + 1, + 4, + [] + ], + [ + "add", + 215, + 250, + 1, + 4, + [] + ], + [ + "add", + 215, + 251, + -1, + 4, + [] + ], + [ + "add", + 215, + 252, + 1, + 4, + [] + ], + [ + "add", + 215, + 253, + -1, + 4, + [] + ], + [ + "add", + 215, + 257, + -1, + 4, + [] + ], + [ + "add", + 215, + 259, + -1, + 2, + [] + ], + [ + "add", + 215, + 262, + -1, + 4, + [] + ], + [ + "add", + 215, + 263, + 1, + 4, + [] + ], + [ + "add", + 215, + 266, + 1, + 4, + [] + ], + [ + "add", + 215, + 267, + -1, + 4, + [] + ], + [ + "add", + 215, + 268, + 1, + 4, + [] + ], + [ + "add", + 215, + 269, + -1, + 4, + [] + ], + [ + "add", + 215, + 283, + -1, + 1, + [] + ], + [ + "add", + 215, + 299, + -1, + 1, + [] + ], + [ + "add", + 215, + 310, + 1, + 4, + [] + ], + [ + "add", + 215, + 312, + 1, + 2, + [] + ], + [ + "add", + 215, + 315, + -1, + 4, + [] + ], + [ + "add", + 215, + 316, + 1, + 4, + [] + ], + [ + "add", + 215, + 319, + 1, + 2, + [] + ], + [ + "add", + 215, + 322, + 1, + 4, + [] + ], + [ + "add", + 215, + 324, + -1, + 4, + [] + ], + [ + "add", + 215, + 329, + 1, + 2, + [] + ], + [ + "add", + 215, + 331, + -1, + 2, + [] + ], + [ + "add", + 215, + 334, + -1, + 4, + [] + ], + [ + "add", + 215, + 335, + 1, + 2, + [] + ], + [ + "add", + 215, + 338, + -1, + 4, + [] + ], + [ + "add", + 215, + 340, + 1, + 4, + [] + ], + [ + "add", + 215, + 343, + 1, + 4, + [] + ], + [ + "add", + 215, + 347, + -1, + 2, + [] + ], + [ + "add", + 215, + 349, + 1, + 2, + [] + ], + [ + "add", + 215, + 350, + 1, + 4, + [] + ], + [ + "add", + 215, + 358, + -1, + 4, + [] + ], + [ + "add", + 215, + 363, + -1, + 4, + [] + ], + [ + "add", + 215, + 364, + 1, + 4, + [] + ], + [ + "add", + 215, + 366, + 1, + 2, + [] + ], + [ + "add", + 215, + 367, + -1, + 2, + [] + ], + [ + "add", + 215, + 401, + 1, + 4, + [] + ], + [ + "add", + 215, + 402, + -1, + 2, + [] + ], + [ + "add", + 215, + 403, + 1, + 2, + [] + ], + [ + "add", + 215, + 406, + 1, + 4, + [] + ], + [ + "add", + 215, + 407, + -1, + 4, + [] + ], + [ + "add", + 215, + 410, + -1, + 4, + [] + ], + [ + "add", + 215, + 411, + 1, + 4, + [] + ], + [ + "add", + 215, + 412, + -1, + 4, + [] + ], + [ + "add", + 215, + 413, + 1, + 4, + [] + ], + [ + "add", + 215, + 417, + 1, + 4, + [] + ], + [ + "add", + 215, + 418, + -1, + 2, + [] + ], + [ + "add", + 215, + 419, + 1, + 2, + [] + ], + [ + "add", + 215, + 422, + 1, + 4, + [] + ], + [ + "add", + 215, + 423, + -1, + 4, + [] + ], + [ + "add", + 215, + 426, + -1, + 4, + [] + ], + [ + "add", + 215, + 427, + 1, + 4, + [] + ], + [ + "add", + 215, + 428, + -1, + 4, + [] + ], + [ + "add", + 215, + 429, + 1, + 4, + [] + ], + [ + "add", + 215, + 511, + 1, + 4, + [] + ], + [ + "add", + 129, + 224, + 1, + 2, + [] + ], + [ + "add", + 129, + 225, + -1, + 2, + [] + ], + [ + "add", + 129, + 230, + -1, + 2, + [] + ], + [ + "add", + 129, + 231, + 1, + 2, + [] + ], + [ + "add", + 129, + 234, + 1, + 2, + [] + ], + [ + "add", + 129, + 235, + -1, + 2, + [] + ], + [ + "add", + 129, + 236, + 1, + 2, + [] + ], + [ + "add", + 129, + 237, + -1, + 2, + [] + ], + [ + "add", + 129, + 241, + -1, + 4, + [] + ], + [ + "add", + 129, + 243, + -1, + 2, + [] + ], + [ + "add", + 129, + 246, + -1, + 4, + [] + ], + [ + "add", + 129, + 247, + 1, + 4, + [] + ], + [ + "add", + 129, + 250, + 1, + 4, + [] + ], + [ + "add", + 129, + 251, + -1, + 4, + [] + ], + [ + "add", + 129, + 252, + 1, + 4, + [] + ], + [ + "add", + 129, + 253, + -1, + 4, + [] + ], + [ + "add", + 129, + 257, + -1, + 4, + [] + ], + [ + "add", + 129, + 259, + -1, + 2, + [] + ], + [ + "add", + 129, + 262, + -1, + 4, + [] + ], + [ + "add", + 129, + 263, + 1, + 4, + [] + ], + [ + "add", + 129, + 266, + 1, + 4, + [] + ], + [ + "add", + 129, + 267, + -1, + 4, + [] + ], + [ + "add", + 129, + 268, + 1, + 4, + [] + ], + [ + "add", + 129, + 269, + -1, + 4, + [] + ], + [ + "add", + 129, + 283, + -1, + 1, + [] + ], + [ + "add", + 129, + 299, + -1, + 1, + [] + ], + [ + "add", + 129, + 310, + 1, + 4, + [] + ], + [ + "add", + 129, + 312, + 1, + 2, + [] + ], + [ + "add", + 129, + 315, + -1, + 4, + [] + ], + [ + "add", + 129, + 316, + 1, + 4, + [] + ], + [ + "add", + 129, + 319, + 1, + 2, + [] + ], + [ + "add", + 129, + 322, + 1, + 4, + [] + ], + [ + "add", + 129, + 324, + -1, + 4, + [] + ], + [ + "add", + 129, + 329, + 1, + 2, + [] + ], + [ + "add", + 129, + 331, + -1, + 2, + [] + ], + [ + "add", + 129, + 334, + -1, + 4, + [] + ], + [ + "add", + 129, + 335, + 1, + 2, + [] + ], + [ + "add", + 129, + 338, + -1, + 4, + [] + ], + [ + "add", + 129, + 340, + 1, + 4, + [] + ], + [ + "add", + 129, + 343, + 1, + 4, + [] + ], + [ + "add", + 129, + 347, + -1, + 2, + [] + ], + [ + "add", + 129, + 349, + 1, + 2, + [] + ], + [ + "add", + 129, + 350, + 1, + 4, + [] + ], + [ + "add", + 129, + 358, + -1, + 4, + [] + ], + [ + "add", + 129, + 363, + -1, + 4, + [] + ], + [ + "add", + 129, + 364, + 1, + 4, + [] + ], + [ + "add", + 129, + 366, + 1, + 2, + [] + ], + [ + "add", + 129, + 367, + -1, + 2, + [] + ], + [ + "add", + 129, + 401, + 1, + 4, + [] + ], + [ + "add", + 129, + 402, + -1, + 2, + [] + ], + [ + "add", + 129, + 403, + 1, + 2, + [] + ], + [ + "add", + 129, + 406, + 1, + 4, + [] + ], + [ + "add", + 129, + 407, + -1, + 4, + [] + ], + [ + "add", + 129, + 410, + -1, + 4, + [] + ], + [ + "add", + 129, + 411, + 1, + 4, + [] + ], + [ + "add", + 129, + 412, + -1, + 4, + [] + ], + [ + "add", + 129, + 413, + 1, + 4, + [] + ], + [ + "add", + 129, + 417, + 1, + 4, + [] + ], + [ + "add", + 129, + 418, + -1, + 2, + [] + ], + [ + "add", + 129, + 419, + 1, + 2, + [] + ], + [ + "add", + 129, + 422, + 1, + 4, + [] + ], + [ + "add", + 129, + 423, + -1, + 4, + [] + ], + [ + "add", + 129, + 426, + -1, + 4, + [] + ], + [ + "add", + 129, + 427, + 1, + 4, + [] + ], + [ + "add", + 129, + 428, + -1, + 4, + [] + ], + [ + "add", + 129, + 429, + 1, + 4, + [] + ], + [ + "add", + 129, + 511, + 1, + 4, + [] + ], + [ + "add", + 150, + 241, + 1, + 4, + [] + ], + [ + "add", + 150, + 243, + -1, + 2, + [] + ], + [ + "add", + 150, + 246, + 1, + 4, + [] + ], + [ + "add", + 150, + 247, + -1, + 4, + [] + ], + [ + "add", + 150, + 250, + -1, + 4, + [] + ], + [ + "add", + 150, + 251, + 1, + 4, + [] + ], + [ + "add", + 150, + 252, + -1, + 4, + [] + ], + [ + "add", + 150, + 253, + 1, + 4, + [] + ], + [ + "add", + 150, + 257, + -1, + 4, + [] + ], + [ + "add", + 150, + 259, + 1, + 2, + [] + ], + [ + "add", + 150, + 262, + -1, + 4, + [] + ], + [ + "add", + 150, + 263, + 1, + 4, + [] + ], + [ + "add", + 150, + 266, + 1, + 4, + [] + ], + [ + "add", + 150, + 267, + -1, + 4, + [] + ], + [ + "add", + 150, + 268, + 1, + 4, + [] + ], + [ + "add", + 150, + 269, + -1, + 4, + [] + ], + [ + "add", + 150, + 272, + -1, + 2, + [] + ], + [ + "add", + 150, + 276, + 1, + 2, + [] + ], + [ + "add", + 150, + 280, + 1, + 2, + [] + ], + [ + "add", + 150, + 286, + 1, + 2, + [] + ], + [ + "add", + 150, + 310, + -1, + 4, + [] + ], + [ + "add", + 150, + 312, + 1, + 2, + [] + ], + [ + "add", + 150, + 315, + 1, + 4, + [] + ], + [ + "add", + 150, + 316, + -1, + 4, + [] + ], + [ + "add", + 150, + 319, + 1, + 2, + [] + ], + [ + "add", + 150, + 322, + -1, + 4, + [] + ], + [ + "add", + 150, + 324, + 1, + 4, + [] + ], + [ + "add", + 150, + 329, + 1, + 2, + [] + ], + [ + "add", + 150, + 331, + -1, + 2, + [] + ], + [ + "add", + 150, + 334, + 1, + 4, + [] + ], + [ + "add", + 150, + 335, + -1, + 2, + [] + ], + [ + "add", + 150, + 338, + -1, + 4, + [] + ], + [ + "add", + 150, + 340, + 1, + 4, + [] + ], + [ + "add", + 150, + 343, + 1, + 4, + [] + ], + [ + "add", + 150, + 347, + 1, + 2, + [] + ], + [ + "add", + 150, + 349, + -1, + 2, + [] + ], + [ + "add", + 150, + 350, + 1, + 4, + [] + ], + [ + "add", + 150, + 358, + 1, + 4, + [] + ], + [ + "add", + 150, + 363, + 1, + 4, + [] + ], + [ + "add", + 150, + 364, + -1, + 4, + [] + ], + [ + "add", + 150, + 366, + 1, + 2, + [] + ], + [ + "add", + 150, + 367, + -1, + 2, + [] + ], + [ + "add", + 150, + 368, + -1, + 2, + [] + ], + [ + "add", + 150, + 372, + 1, + 2, + [] + ], + [ + "add", + 150, + 382, + 1, + 2, + [] + ], + [ + "add", + 150, + 383, + -1, + 2, + [] + ], + [ + "add", + 150, + 401, + 1, + 4, + [] + ], + [ + "add", + 150, + 402, + 1, + 2, + [] + ], + [ + "add", + 150, + 403, + -1, + 2, + [] + ], + [ + "add", + 150, + 406, + 1, + 4, + [] + ], + [ + "add", + 150, + 407, + -1, + 4, + [] + ], + [ + "add", + 150, + 410, + -1, + 4, + [] + ], + [ + "add", + 150, + 411, + 1, + 4, + [] + ], + [ + "add", + 150, + 412, + -1, + 4, + [] + ], + [ + "add", + 150, + 413, + 1, + 4, + [] + ], + [ + "add", + 150, + 417, + -1, + 4, + [] + ], + [ + "add", + 150, + 418, + -1, + 2, + [] + ], + [ + "add", + 150, + 419, + 1, + 2, + [] + ], + [ + "add", + 150, + 422, + -1, + 4, + [] + ], + [ + "add", + 150, + 423, + 1, + 4, + [] + ], + [ + "add", + 150, + 426, + 1, + 4, + [] + ], + [ + "add", + 150, + 427, + -1, + 4, + [] + ], + [ + "add", + 150, + 428, + 1, + 4, + [] + ], + [ + "add", + 150, + 429, + -1, + 4, + [] + ], + [ + "add", + 150, + 432, + 1, + 2, + [] + ], + [ + "add", + 150, + 433, + -1, + 2, + [] + ], + [ + "add", + 150, + 438, + -1, + 2, + [] + ], + [ + "add", + 150, + 439, + 1, + 2, + [] + ], + [ + "add", + 150, + 442, + 1, + 2, + [] + ], + [ + "add", + 150, + 443, + -1, + 2, + [] + ], + [ + "add", + 150, + 444, + 1, + 2, + [] + ], + [ + "add", + 150, + 445, + -1, + 2, + [] + ], + [ + "add", + 150, + 511, + -1, + 4, + [] + ], + [ + "add", + 189, + 241, + 1, + 4, + [] + ], + [ + "add", + 189, + 243, + -1, + 2, + [] + ], + [ + "add", + 189, + 246, + 1, + 4, + [] + ], + [ + "add", + 189, + 247, + -1, + 4, + [] + ], + [ + "add", + 189, + 250, + -1, + 4, + [] + ], + [ + "add", + 189, + 251, + 1, + 4, + [] + ], + [ + "add", + 189, + 252, + -1, + 4, + [] + ], + [ + "add", + 189, + 253, + 1, + 4, + [] + ], + [ + "add", + 189, + 257, + 1, + 4, + [] + ], + [ + "add", + 189, + 259, + -1, + 2, + [] + ], + [ + "add", + 189, + 262, + 1, + 4, + [] + ], + [ + "add", + 189, + 263, + -1, + 4, + [] + ], + [ + "add", + 189, + 266, + -1, + 4, + [] + ], + [ + "add", + 189, + 267, + 1, + 4, + [] + ], + [ + "add", + 189, + 268, + -1, + 4, + [] + ], + [ + "add", + 189, + 269, + 1, + 4, + [] + ], + [ + "add", + 189, + 287, + 1, + 1, + [] + ], + [ + "add", + 189, + 310, + -1, + 4, + [] + ], + [ + "add", + 189, + 312, + 1, + 2, + [] + ], + [ + "add", + 189, + 315, + 1, + 4, + [] + ], + [ + "add", + 189, + 316, + -1, + 4, + [] + ], + [ + "add", + 189, + 319, + 1, + 2, + [] + ], + [ + "add", + 189, + 322, + 1, + 4, + [] + ], + [ + "add", + 189, + 324, + -1, + 4, + [] + ], + [ + "add", + 189, + 329, + -1, + 2, + [] + ], + [ + "add", + 189, + 331, + 1, + 2, + [] + ], + [ + "add", + 189, + 334, + -1, + 4, + [] + ], + [ + "add", + 189, + 335, + 1, + 2, + [] + ], + [ + "add", + 189, + 338, + -1, + 4, + [] + ], + [ + "add", + 189, + 340, + 1, + 4, + [] + ], + [ + "add", + 189, + 343, + 1, + 4, + [] + ], + [ + "add", + 189, + 347, + 1, + 2, + [] + ], + [ + "add", + 189, + 349, + -1, + 2, + [] + ], + [ + "add", + 189, + 350, + 1, + 4, + [] + ], + [ + "add", + 189, + 358, + -1, + 4, + [] + ], + [ + "add", + 189, + 363, + -1, + 4, + [] + ], + [ + "add", + 189, + 364, + 1, + 4, + [] + ], + [ + "add", + 189, + 366, + -1, + 2, + [] + ], + [ + "add", + 189, + 367, + 1, + 2, + [] + ], + [ + "add", + 189, + 383, + 1, + 1, + [] + ], + [ + "add", + 189, + 401, + 1, + 4, + [] + ], + [ + "add", + 189, + 402, + 1, + 2, + [] + ], + [ + "add", + 189, + 403, + -1, + 2, + [] + ], + [ + "add", + 189, + 406, + 1, + 4, + [] + ], + [ + "add", + 189, + 407, + -1, + 4, + [] + ], + [ + "add", + 189, + 410, + -1, + 4, + [] + ], + [ + "add", + 189, + 411, + 1, + 4, + [] + ], + [ + "add", + 189, + 412, + -1, + 4, + [] + ], + [ + "add", + 189, + 413, + 1, + 4, + [] + ], + [ + "add", + 189, + 417, + 1, + 4, + [] + ], + [ + "add", + 189, + 418, + 1, + 2, + [] + ], + [ + "add", + 189, + 419, + -1, + 2, + [] + ], + [ + "add", + 189, + 422, + 1, + 4, + [] + ], + [ + "add", + 189, + 423, + -1, + 4, + [] + ], + [ + "add", + 189, + 426, + -1, + 4, + [] + ], + [ + "add", + 189, + 427, + 1, + 4, + [] + ], + [ + "add", + 189, + 428, + -1, + 4, + [] + ], + [ + "add", + 189, + 429, + 1, + 4, + [] + ], + [ + "add", + 189, + 434, + 1, + 1, + [] + ], + [ + "add", + 189, + 435, + -1, + 1, + [] + ], + [ + "add", + 189, + 511, + 1, + 4, + [] + ], + [ + "add", + 184, + 224, + -1, + 2, + [] + ], + [ + "add", + 184, + 227, + -1, + 2, + [] + ], + [ + "add", + 184, + 229, + -1, + 2, + [] + ], + [ + "add", + 184, + 230, + -1, + 2, + [] + ], + [ + "add", + 184, + 234, + 1, + 2, + [] + ], + [ + "add", + 184, + 235, + -1, + 2, + [] + ], + [ + "add", + 184, + 238, + -1, + 2, + [] + ], + [ + "add", + 184, + 239, + 1, + 2, + [] + ], + [ + "add", + 184, + 240, + -1, + 2, + [] + ], + [ + "add", + 184, + 242, + -1, + 2, + [] + ], + [ + "add", + 184, + 243, + -1, + 2, + [] + ], + [ + "add", + 184, + 245, + -1, + 2, + [] + ], + [ + "add", + 184, + 246, + -1, + 2, + [] + ], + [ + "add", + 184, + 250, + 1, + 2, + [] + ], + [ + "add", + 184, + 251, + -1, + 2, + [] + ], + [ + "add", + 184, + 254, + -1, + 2, + [] + ], + [ + "add", + 184, + 255, + 1, + 2, + [] + ], + [ + "add", + 184, + 256, + -1, + 2, + [] + ], + [ + "add", + 184, + 258, + -1, + 2, + [] + ], + [ + "add", + 184, + 259, + -1, + 2, + [] + ], + [ + "add", + 184, + 261, + -1, + 2, + [] + ], + [ + "add", + 184, + 262, + -1, + 2, + [] + ], + [ + "add", + 184, + 266, + 1, + 2, + [] + ], + [ + "add", + 184, + 267, + -1, + 2, + [] + ], + [ + "add", + 184, + 270, + -1, + 2, + [] + ], + [ + "add", + 184, + 271, + 1, + 2, + [] + ], + [ + "add", + 184, + 274, + 1, + 4, + [] + ], + [ + "add", + 184, + 276, + -1, + 4, + [] + ], + [ + "add", + 184, + 279, + 1, + 4, + [] + ], + [ + "add", + 184, + 281, + 1, + 2, + [] + ], + [ + "add", + 184, + 283, + -1, + 2, + [] + ], + [ + "add", + 184, + 286, + -1, + 4, + [] + ], + [ + "add", + 184, + 287, + 1, + 2, + [] + ], + [ + "add", + 184, + 290, + 1, + 4, + [] + ], + [ + "add", + 184, + 292, + -1, + 4, + [] + ], + [ + "add", + 184, + 295, + 1, + 4, + [] + ], + [ + "add", + 184, + 297, + 1, + 2, + [] + ], + [ + "add", + 184, + 299, + -1, + 2, + [] + ], + [ + "add", + 184, + 302, + -1, + 4, + [] + ], + [ + "add", + 184, + 303, + 1, + 2, + [] + ], + [ + "add", + 184, + 306, + 1, + 4, + [] + ], + [ + "add", + 184, + 308, + -1, + 4, + [] + ], + [ + "add", + 184, + 313, + 1, + 2, + [] + ], + [ + "add", + 184, + 315, + -1, + 2, + [] + ], + [ + "add", + 184, + 318, + -1, + 4, + [] + ], + [ + "add", + 184, + 319, + 1, + 2, + [] + ], + [ + "add", + 184, + 322, + 1, + 4, + [] + ], + [ + "add", + 184, + 324, + -1, + 4, + [] + ], + [ + "add", + 184, + 329, + 1, + 2, + [] + ], + [ + "add", + 184, + 331, + -1, + 2, + [] + ], + [ + "add", + 184, + 334, + -1, + 4, + [] + ], + [ + "add", + 184, + 335, + 1, + 2, + [] + ], + [ + "add", + 184, + 338, + 1, + 4, + [] + ], + [ + "add", + 184, + 340, + -1, + 4, + [] + ], + [ + "add", + 184, + 343, + 1, + 4, + [] + ], + [ + "add", + 184, + 345, + 1, + 2, + [] + ], + [ + "add", + 184, + 347, + -1, + 2, + [] + ], + [ + "add", + 184, + 350, + -1, + 4, + [] + ], + [ + "add", + 184, + 351, + 1, + 2, + [] + ], + [ + "add", + 184, + 354, + 1, + 4, + [] + ], + [ + "add", + 184, + 356, + -1, + 4, + [] + ], + [ + "add", + 184, + 359, + 1, + 4, + [] + ], + [ + "add", + 184, + 361, + 1, + 2, + [] + ], + [ + "add", + 184, + 363, + -1, + 2, + [] + ], + [ + "add", + 184, + 366, + -1, + 4, + [] + ], + [ + "add", + 184, + 367, + 1, + 2, + [] + ], + [ + "add", + 184, + 370, + 1, + 4, + [] + ], + [ + "add", + 184, + 372, + -1, + 4, + [] + ], + [ + "add", + 184, + 375, + 1, + 4, + [] + ], + [ + "add", + 184, + 377, + 1, + 2, + [] + ], + [ + "add", + 184, + 379, + -1, + 2, + [] + ], + [ + "add", + 184, + 382, + -1, + 4, + [] + ], + [ + "add", + 184, + 383, + 1, + 2, + [] + ], + [ + "add", + 184, + 386, + 1, + 4, + [] + ], + [ + "add", + 184, + 388, + -1, + 4, + [] + ], + [ + "add", + 184, + 391, + 1, + 4, + [] + ], + [ + "add", + 184, + 393, + 1, + 2, + [] + ], + [ + "add", + 184, + 395, + -1, + 2, + [] + ], + [ + "add", + 184, + 398, + -1, + 4, + [] + ], + [ + "add", + 184, + 399, + 1, + 2, + [] + ], + [ + "add", + 184, + 499, + 1, + 4, + [] + ], + [ + "add", + 184, + 511, + 1, + 4, + [] + ], + [ + "add", + 114, + 272, + 1, + 4, + [] + ], + [ + "add", + 114, + 274, + 1, + 4, + [] + ], + [ + "add", + 114, + 279, + 1, + 4, + [] + ], + [ + "add", + 114, + 280, + -1, + 4, + [] + ], + [ + "add", + 114, + 281, + 1, + 2, + [] + ], + [ + "add", + 114, + 288, + 1, + 4, + [] + ], + [ + "add", + 114, + 290, + 1, + 4, + [] + ], + [ + "add", + 114, + 295, + 1, + 4, + [] + ], + [ + "add", + 114, + 296, + -1, + 4, + [] + ], + [ + "add", + 114, + 297, + 1, + 2, + [] + ], + [ + "add", + 114, + 304, + 1, + 4, + [] + ], + [ + "add", + 114, + 306, + 1, + 4, + [] + ], + [ + "add", + 114, + 312, + -1, + 4, + [] + ], + [ + "add", + 114, + 313, + 1, + 2, + [] + ], + [ + "add", + 114, + 320, + 1, + 4, + [] + ], + [ + "add", + 114, + 322, + 1, + 4, + [] + ], + [ + "add", + 114, + 329, + 1, + 2, + [] + ], + [ + "add", + 114, + 335, + 1, + 4, + [] + ], + [ + "add", + 114, + 336, + 1, + 4, + [] + ], + [ + "add", + 114, + 338, + 1, + 4, + [] + ], + [ + "add", + 114, + 343, + 1, + 4, + [] + ], + [ + "add", + 114, + 345, + 1, + 2, + [] + ], + [ + "add", + 114, + 351, + 1, + 4, + [] + ], + [ + "add", + 114, + 352, + 1, + 4, + [] + ], + [ + "add", + 114, + 354, + 1, + 4, + [] + ], + [ + "add", + 114, + 359, + 1, + 4, + [] + ], + [ + "add", + 114, + 361, + 1, + 2, + [] + ], + [ + "add", + 114, + 367, + 1, + 4, + [] + ], + [ + "add", + 114, + 368, + 1, + 4, + [] + ], + [ + "add", + 114, + 370, + 1, + 4, + [] + ], + [ + "add", + 114, + 375, + 1, + 4, + [] + ], + [ + "add", + 114, + 377, + 1, + 2, + [] + ], + [ + "add", + 114, + 383, + 1, + 4, + [] + ], + [ + "add", + 114, + 384, + 1, + 4, + [] + ], + [ + "add", + 114, + 386, + 1, + 4, + [] + ], + [ + "add", + 114, + 391, + 1, + 4, + [] + ], + [ + "add", + 114, + 393, + 1, + 2, + [] + ], + [ + "add", + 114, + 399, + 1, + 4, + [] + ], + [ + "add", + 114, + 499, + 1, + 4, + [] + ], + [ + "add", + 114, + 511, + 1, + 4, + [] + ], + [ + "add", + 137, + 272, + -1, + 4, + [] + ], + [ + "add", + 137, + 274, + 1, + 4, + [] + ], + [ + "add", + 137, + 279, + 1, + 4, + [] + ], + [ + "add", + 137, + 280, + 1, + 4, + [] + ], + [ + "add", + 137, + 281, + -1, + 2, + [] + ], + [ + "add", + 137, + 283, + 1, + 2, + [] + ], + [ + "add", + 137, + 288, + 1, + 4, + [] + ], + [ + "add", + 137, + 290, + -1, + 4, + [] + ], + [ + "add", + 137, + 295, + -1, + 4, + [] + ], + [ + "add", + 137, + 296, + -1, + 4, + [] + ], + [ + "add", + 137, + 297, + 1, + 2, + [] + ], + [ + "add", + 137, + 299, + -1, + 2, + [] + ], + [ + "add", + 137, + 304, + 1, + 4, + [] + ], + [ + "add", + 137, + 306, + -1, + 4, + [] + ], + [ + "add", + 137, + 312, + -1, + 4, + [] + ], + [ + "add", + 137, + 313, + 1, + 2, + [] + ], + [ + "add", + 137, + 315, + -1, + 2, + [] + ], + [ + "add", + 137, + 320, + -1, + 4, + [] + ], + [ + "add", + 137, + 322, + 1, + 4, + [] + ], + [ + "add", + 137, + 329, + -1, + 2, + [] + ], + [ + "add", + 137, + 331, + 1, + 2, + [] + ], + [ + "add", + 137, + 335, + -1, + 4, + [] + ], + [ + "add", + 137, + 336, + 1, + 4, + [] + ], + [ + "add", + 137, + 338, + -1, + 4, + [] + ], + [ + "add", + 137, + 343, + -1, + 4, + [] + ], + [ + "add", + 137, + 345, + 1, + 2, + [] + ], + [ + "add", + 137, + 347, + -1, + 2, + [] + ], + [ + "add", + 137, + 351, + 1, + 4, + [] + ], + [ + "add", + 137, + 352, + -1, + 4, + [] + ], + [ + "add", + 137, + 354, + 1, + 4, + [] + ], + [ + "add", + 137, + 359, + 1, + 4, + [] + ], + [ + "add", + 137, + 361, + -1, + 2, + [] + ], + [ + "add", + 137, + 363, + 1, + 2, + [] + ], + [ + "add", + 137, + 367, + -1, + 4, + [] + ], + [ + "add", + 137, + 368, + -1, + 4, + [] + ], + [ + "add", + 137, + 370, + 1, + 4, + [] + ], + [ + "add", + 137, + 375, + 1, + 4, + [] + ], + [ + "add", + 137, + 377, + -1, + 2, + [] + ], + [ + "add", + 137, + 379, + 1, + 2, + [] + ], + [ + "add", + 137, + 383, + -1, + 4, + [] + ], + [ + "add", + 137, + 384, + 1, + 4, + [] + ], + [ + "add", + 137, + 386, + -1, + 4, + [] + ], + [ + "add", + 137, + 391, + -1, + 4, + [] + ], + [ + "add", + 137, + 393, + 1, + 2, + [] + ], + [ + "add", + 137, + 395, + -1, + 2, + [] + ], + [ + "add", + 137, + 399, + 1, + 4, + [] + ], + [ + "add", + 137, + 499, + -1, + 4, + [] + ], + [ + "add", + 137, + 511, + 1, + 4, + [] + ], + [ + "add", + 137, + 530, + 1, + 2, + [] + ], + [ + "add", + 137, + 542, + -1, + 2, + [] + ], + [ + "add", + 201, + 256, + -1, + 2, + [] + ], + [ + "add", + 201, + 259, + -1, + 2, + [] + ], + [ + "add", + 201, + 262, + 1, + 2, + [] + ], + [ + "add", + 201, + 265, + -1, + 2, + [] + ], + [ + "add", + 201, + 266, + -1, + 2, + [] + ], + [ + "add", + 201, + 267, + 1, + 2, + [] + ], + [ + "add", + 201, + 271, + 1, + 2, + [] + ], + [ + "add", + 201, + 274, + 1, + 4, + [] + ], + [ + "add", + 201, + 276, + -1, + 4, + [] + ], + [ + "add", + 201, + 279, + 1, + 4, + [] + ], + [ + "add", + 201, + 281, + -1, + 2, + [] + ], + [ + "add", + 201, + 283, + 1, + 2, + [] + ], + [ + "add", + 201, + 286, + -1, + 4, + [] + ], + [ + "add", + 201, + 287, + 1, + 2, + [] + ], + [ + "add", + 201, + 290, + 1, + 4, + [] + ], + [ + "add", + 201, + 292, + -1, + 4, + [] + ], + [ + "add", + 201, + 295, + 1, + 4, + [] + ], + [ + "add", + 201, + 297, + -1, + 2, + [] + ], + [ + "add", + 201, + 299, + 1, + 2, + [] + ], + [ + "add", + 201, + 302, + -1, + 4, + [] + ], + [ + "add", + 201, + 303, + 1, + 2, + [] + ], + [ + "add", + 201, + 306, + 1, + 4, + [] + ], + [ + "add", + 201, + 308, + -1, + 4, + [] + ], + [ + "add", + 201, + 313, + -1, + 2, + [] + ], + [ + "add", + 201, + 315, + 1, + 2, + [] + ], + [ + "add", + 201, + 318, + -1, + 4, + [] + ], + [ + "add", + 201, + 319, + 1, + 2, + [] + ], + [ + "add", + 201, + 322, + 1, + 4, + [] + ], + [ + "add", + 201, + 324, + -1, + 4, + [] + ], + [ + "add", + 201, + 329, + -1, + 2, + [] + ], + [ + "add", + 201, + 331, + 1, + 2, + [] + ], + [ + "add", + 201, + 334, + -1, + 4, + [] + ], + [ + "add", + 201, + 335, + 1, + 2, + [] + ], + [ + "add", + 201, + 338, + 1, + 4, + [] + ], + [ + "add", + 201, + 340, + -1, + 4, + [] + ], + [ + "add", + 201, + 343, + 1, + 4, + [] + ], + [ + "add", + 201, + 345, + -1, + 2, + [] + ], + [ + "add", + 201, + 347, + 1, + 2, + [] + ], + [ + "add", + 201, + 350, + -1, + 4, + [] + ], + [ + "add", + 201, + 351, + 1, + 2, + [] + ], + [ + "add", + 201, + 354, + 1, + 4, + [] + ], + [ + "add", + 201, + 356, + -1, + 4, + [] + ], + [ + "add", + 201, + 359, + 1, + 4, + [] + ], + [ + "add", + 201, + 361, + -1, + 2, + [] + ], + [ + "add", + 201, + 363, + 1, + 2, + [] + ], + [ + "add", + 201, + 366, + -1, + 4, + [] + ], + [ + "add", + 201, + 367, + 1, + 2, + [] + ], + [ + "add", + 201, + 370, + 1, + 4, + [] + ], + [ + "add", + 201, + 372, + -1, + 4, + [] + ], + [ + "add", + 201, + 375, + 1, + 4, + [] + ], + [ + "add", + 201, + 377, + -1, + 2, + [] + ], + [ + "add", + 201, + 379, + 1, + 2, + [] + ], + [ + "add", + 201, + 382, + -1, + 4, + [] + ], + [ + "add", + 201, + 383, + 1, + 2, + [] + ], + [ + "add", + 201, + 386, + 1, + 4, + [] + ], + [ + "add", + 201, + 388, + -1, + 4, + [] + ], + [ + "add", + 201, + 391, + 1, + 4, + [] + ], + [ + "add", + 201, + 393, + -1, + 2, + [] + ], + [ + "add", + 201, + 395, + 1, + 2, + [] + ], + [ + "add", + 201, + 398, + -1, + 4, + [] + ], + [ + "add", + 201, + 399, + 1, + 2, + [] + ], + [ + "add", + 201, + 416, + -1, + 2, + [] + ], + [ + "add", + 201, + 418, + 1, + 2, + [] + ], + [ + "add", + 201, + 419, + -1, + 2, + [] + ], + [ + "add", + 201, + 422, + 1, + 2, + [] + ], + [ + "add", + 201, + 425, + -1, + 2, + [] + ], + [ + "add", + 201, + 426, + -1, + 2, + [] + ], + [ + "add", + 201, + 427, + 1, + 2, + [] + ], + [ + "add", + 201, + 431, + 1, + 2, + [] + ], + [ + "add", + 201, + 432, + -1, + 2, + [] + ], + [ + "add", + 201, + 434, + 1, + 2, + [] + ], + [ + "add", + 201, + 435, + -1, + 2, + [] + ], + [ + "add", + 201, + 438, + 1, + 2, + [] + ], + [ + "add", + 201, + 441, + -1, + 2, + [] + ], + [ + "add", + 201, + 442, + -1, + 2, + [] + ], + [ + "add", + 201, + 443, + 1, + 2, + [] + ], + [ + "add", + 201, + 447, + 1, + 2, + [] + ], + [ + "add", + 201, + 499, + 1, + 4, + [] + ], + [ + "add", + 201, + 511, + 1, + 4, + [] + ], + [ + "add", + 173, + 272, + 1, + 4, + [] + ], + [ + "add", + 173, + 274, + 1, + 4, + [] + ], + [ + "add", + 173, + 279, + 1, + 4, + [] + ], + [ + "add", + 173, + 280, + -1, + 4, + [] + ], + [ + "add", + 173, + 281, + 1, + 2, + [] + ], + [ + "add", + 173, + 288, + 1, + 4, + [] + ], + [ + "add", + 173, + 290, + 1, + 4, + [] + ], + [ + "add", + 173, + 295, + 1, + 4, + [] + ], + [ + "add", + 173, + 296, + -1, + 4, + [] + ], + [ + "add", + 173, + 297, + 1, + 2, + [] + ], + [ + "add", + 173, + 304, + 1, + 4, + [] + ], + [ + "add", + 173, + 306, + 1, + 4, + [] + ], + [ + "add", + 173, + 312, + -1, + 4, + [] + ], + [ + "add", + 173, + 313, + 1, + 2, + [] + ], + [ + "add", + 173, + 320, + 1, + 4, + [] + ], + [ + "add", + 173, + 322, + 1, + 4, + [] + ], + [ + "add", + 173, + 329, + 1, + 2, + [] + ], + [ + "add", + 173, + 335, + 1, + 4, + [] + ], + [ + "add", + 173, + 336, + -1, + 4, + [] + ], + [ + "add", + 173, + 338, + -1, + 4, + [] + ], + [ + "add", + 173, + 343, + -1, + 4, + [] + ], + [ + "add", + 173, + 345, + -1, + 2, + [] + ], + [ + "add", + 173, + 351, + -1, + 4, + [] + ], + [ + "add", + 173, + 352, + -1, + 4, + [] + ], + [ + "add", + 173, + 354, + -1, + 4, + [] + ], + [ + "add", + 173, + 359, + -1, + 4, + [] + ], + [ + "add", + 173, + 361, + -1, + 2, + [] + ], + [ + "add", + 173, + 367, + -1, + 4, + [] + ], + [ + "add", + 173, + 368, + -1, + 4, + [] + ], + [ + "add", + 173, + 370, + -1, + 4, + [] + ], + [ + "add", + 173, + 375, + -1, + 4, + [] + ], + [ + "add", + 173, + 377, + -1, + 2, + [] + ], + [ + "add", + 173, + 383, + -1, + 4, + [] + ], + [ + "add", + 173, + 384, + -1, + 4, + [] + ], + [ + "add", + 173, + 386, + -1, + 4, + [] + ], + [ + "add", + 173, + 391, + -1, + 4, + [] + ], + [ + "add", + 173, + 393, + -1, + 2, + [] + ], + [ + "add", + 173, + 399, + -1, + 4, + [] + ], + [ + "add", + 173, + 499, + 1, + 4, + [] + ], + [ + "add", + 173, + 511, + 1, + 4, + [] + ], + [ + "add", + 206, + 224, + 1, + 2, + [] + ], + [ + "add", + 206, + 225, + -1, + 2, + [] + ], + [ + "add", + 206, + 226, + 1, + 2, + [] + ], + [ + "add", + 206, + 227, + -1, + 2, + [] + ], + [ + "add", + 206, + 233, + -1, + 2, + [] + ], + [ + "add", + 206, + 235, + -1, + 2, + [] + ], + [ + "add", + 206, + 237, + -1, + 2, + [] + ], + [ + "add", + 206, + 239, + -1, + 2, + [] + ], + [ + "add", + 206, + 241, + -1, + 2, + [] + ], + [ + "add", + 206, + 243, + -1, + 2, + [] + ], + [ + "add", + 206, + 249, + -1, + 2, + [] + ], + [ + "add", + 206, + 251, + -1, + 2, + [] + ], + [ + "add", + 206, + 253, + -1, + 2, + [] + ], + [ + "add", + 206, + 255, + -1, + 2, + [] + ], + [ + "add", + 206, + 257, + -1, + 2, + [] + ], + [ + "add", + 206, + 259, + -1, + 2, + [] + ], + [ + "add", + 206, + 265, + -1, + 2, + [] + ], + [ + "add", + 206, + 267, + -1, + 2, + [] + ], + [ + "add", + 206, + 269, + -1, + 2, + [] + ], + [ + "add", + 206, + 271, + -1, + 2, + [] + ], + [ + "add", + 206, + 274, + 1, + 4, + [] + ], + [ + "add", + 206, + 276, + -1, + 4, + [] + ], + [ + "add", + 206, + 279, + 1, + 4, + [] + ], + [ + "add", + 206, + 281, + 1, + 2, + [] + ], + [ + "add", + 206, + 283, + -1, + 2, + [] + ], + [ + "add", + 206, + 286, + -1, + 4, + [] + ], + [ + "add", + 206, + 287, + 1, + 2, + [] + ], + [ + "add", + 206, + 290, + 1, + 4, + [] + ], + [ + "add", + 206, + 292, + -1, + 4, + [] + ], + [ + "add", + 206, + 295, + 1, + 4, + [] + ], + [ + "add", + 206, + 297, + 1, + 2, + [] + ], + [ + "add", + 206, + 299, + -1, + 2, + [] + ], + [ + "add", + 206, + 302, + -1, + 4, + [] + ], + [ + "add", + 206, + 303, + 1, + 2, + [] + ], + [ + "add", + 206, + 306, + 1, + 4, + [] + ], + [ + "add", + 206, + 308, + -1, + 4, + [] + ], + [ + "add", + 206, + 313, + 1, + 2, + [] + ], + [ + "add", + 206, + 315, + -1, + 2, + [] + ], + [ + "add", + 206, + 318, + -1, + 4, + [] + ], + [ + "add", + 206, + 319, + 1, + 2, + [] + ], + [ + "add", + 206, + 322, + 1, + 4, + [] + ], + [ + "add", + 206, + 324, + -1, + 4, + [] + ], + [ + "add", + 206, + 329, + 1, + 2, + [] + ], + [ + "add", + 206, + 331, + -1, + 2, + [] + ], + [ + "add", + 206, + 334, + -1, + 4, + [] + ], + [ + "add", + 206, + 335, + 1, + 2, + [] + ], + [ + "add", + 206, + 338, + -1, + 4, + [] + ], + [ + "add", + 206, + 340, + 1, + 4, + [] + ], + [ + "add", + 206, + 343, + -1, + 4, + [] + ], + [ + "add", + 206, + 345, + -1, + 2, + [] + ], + [ + "add", + 206, + 347, + 1, + 2, + [] + ], + [ + "add", + 206, + 350, + 1, + 4, + [] + ], + [ + "add", + 206, + 351, + -1, + 2, + [] + ], + [ + "add", + 206, + 354, + -1, + 4, + [] + ], + [ + "add", + 206, + 356, + 1, + 4, + [] + ], + [ + "add", + 206, + 359, + -1, + 4, + [] + ], + [ + "add", + 206, + 361, + -1, + 2, + [] + ], + [ + "add", + 206, + 363, + 1, + 2, + [] + ], + [ + "add", + 206, + 366, + 1, + 4, + [] + ], + [ + "add", + 206, + 367, + -1, + 2, + [] + ], + [ + "add", + 206, + 370, + -1, + 4, + [] + ], + [ + "add", + 206, + 372, + 1, + 4, + [] + ], + [ + "add", + 206, + 375, + -1, + 4, + [] + ], + [ + "add", + 206, + 377, + -1, + 2, + [] + ], + [ + "add", + 206, + 379, + 1, + 2, + [] + ], + [ + "add", + 206, + 382, + 1, + 4, + [] + ], + [ + "add", + 206, + 383, + -1, + 2, + [] + ], + [ + "add", + 206, + 386, + -1, + 4, + [] + ], + [ + "add", + 206, + 388, + 1, + 4, + [] + ], + [ + "add", + 206, + 391, + -1, + 4, + [] + ], + [ + "add", + 206, + 393, + -1, + 2, + [] + ], + [ + "add", + 206, + 395, + 1, + 2, + [] + ], + [ + "add", + 206, + 398, + 1, + 4, + [] + ], + [ + "add", + 206, + 399, + -1, + 2, + [] + ], + [ + "add", + 206, + 499, + 1, + 4, + [] + ], + [ + "add", + 206, + 511, + 1, + 4, + [] + ], + [ + "add", + 191, + 257, + 1, + 2, + [] + ], + [ + "add", + 191, + 258, + -1, + 2, + [] + ], + [ + "add", + 191, + 259, + -1, + 2, + [] + ], + [ + "add", + 191, + 261, + 1, + 2, + [] + ], + [ + "add", + 191, + 267, + -1, + 2, + [] + ], + [ + "add", + 191, + 269, + 1, + 2, + [] + ], + [ + "add", + 191, + 270, + 1, + 2, + [] + ], + [ + "add", + 191, + 271, + -1, + 2, + [] + ], + [ + "add", + 191, + 274, + 1, + 4, + [] + ], + [ + "add", + 191, + 276, + -1, + 4, + [] + ], + [ + "add", + 191, + 279, + 1, + 4, + [] + ], + [ + "add", + 191, + 281, + -1, + 2, + [] + ], + [ + "add", + 191, + 283, + 1, + 2, + [] + ], + [ + "add", + 191, + 286, + -1, + 4, + [] + ], + [ + "add", + 191, + 287, + 1, + 2, + [] + ], + [ + "add", + 191, + 290, + -1, + 4, + [] + ], + [ + "add", + 191, + 292, + 1, + 4, + [] + ], + [ + "add", + 191, + 295, + -1, + 4, + [] + ], + [ + "add", + 191, + 297, + 1, + 2, + [] + ], + [ + "add", + 191, + 299, + -1, + 2, + [] + ], + [ + "add", + 191, + 302, + 1, + 4, + [] + ], + [ + "add", + 191, + 303, + -1, + 2, + [] + ], + [ + "add", + 191, + 306, + -1, + 4, + [] + ], + [ + "add", + 191, + 308, + 1, + 4, + [] + ], + [ + "add", + 191, + 313, + 1, + 2, + [] + ], + [ + "add", + 191, + 315, + -1, + 2, + [] + ], + [ + "add", + 191, + 318, + 1, + 4, + [] + ], + [ + "add", + 191, + 319, + -1, + 2, + [] + ], + [ + "add", + 191, + 322, + 1, + 4, + [] + ], + [ + "add", + 191, + 324, + -1, + 4, + [] + ], + [ + "add", + 191, + 329, + -1, + 2, + [] + ], + [ + "add", + 191, + 331, + 1, + 2, + [] + ], + [ + "add", + 191, + 334, + -1, + 4, + [] + ], + [ + "add", + 191, + 335, + 1, + 2, + [] + ], + [ + "add", + 191, + 338, + -1, + 4, + [] + ], + [ + "add", + 191, + 340, + 1, + 4, + [] + ], + [ + "add", + 191, + 343, + -1, + 4, + [] + ], + [ + "add", + 191, + 345, + 1, + 2, + [] + ], + [ + "add", + 191, + 347, + -1, + 2, + [] + ], + [ + "add", + 191, + 350, + 1, + 4, + [] + ], + [ + "add", + 191, + 351, + -1, + 2, + [] + ], + [ + "add", + 191, + 354, + 1, + 4, + [] + ], + [ + "add", + 191, + 356, + -1, + 4, + [] + ], + [ + "add", + 191, + 359, + 1, + 4, + [] + ], + [ + "add", + 191, + 361, + -1, + 2, + [] + ], + [ + "add", + 191, + 363, + 1, + 2, + [] + ], + [ + "add", + 191, + 366, + -1, + 4, + [] + ], + [ + "add", + 191, + 367, + 1, + 2, + [] + ], + [ + "add", + 191, + 370, + 1, + 4, + [] + ], + [ + "add", + 191, + 372, + -1, + 4, + [] + ], + [ + "add", + 191, + 375, + 1, + 4, + [] + ], + [ + "add", + 191, + 377, + -1, + 2, + [] + ], + [ + "add", + 191, + 379, + 1, + 2, + [] + ], + [ + "add", + 191, + 382, + -1, + 4, + [] + ], + [ + "add", + 191, + 383, + 1, + 2, + [] + ], + [ + "add", + 191, + 386, + -1, + 4, + [] + ], + [ + "add", + 191, + 388, + 1, + 4, + [] + ], + [ + "add", + 191, + 391, + -1, + 4, + [] + ], + [ + "add", + 191, + 393, + 1, + 2, + [] + ], + [ + "add", + 191, + 395, + -1, + 2, + [] + ], + [ + "add", + 191, + 398, + 1, + 4, + [] + ], + [ + "add", + 191, + 399, + -1, + 2, + [] + ], + [ + "add", + 191, + 417, + 1, + 2, + [] + ], + [ + "add", + 191, + 419, + -1, + 2, + [] + ], + [ + "add", + 191, + 421, + 1, + 2, + [] + ], + [ + "add", + 191, + 427, + -1, + 2, + [] + ], + [ + "add", + 191, + 429, + 1, + 2, + [] + ], + [ + "add", + 191, + 430, + 1, + 2, + [] + ], + [ + "add", + 191, + 431, + -1, + 2, + [] + ], + [ + "add", + 191, + 432, + -1, + 2, + [] + ], + [ + "add", + 191, + 433, + 1, + 2, + [] + ], + [ + "add", + 191, + 435, + -1, + 2, + [] + ], + [ + "add", + 191, + 437, + 1, + 2, + [] + ], + [ + "add", + 191, + 443, + -1, + 2, + [] + ], + [ + "add", + 191, + 445, + 1, + 2, + [] + ], + [ + "add", + 191, + 446, + 1, + 2, + [] + ], + [ + "add", + 191, + 447, + -1, + 2, + [] + ], + [ + "add", + 191, + 499, + -1, + 4, + [] + ], + [ + "add", + 191, + 511, + 1, + 4, + [] + ], + [ + "add", + 121, + 272, + -1, + 4, + [] + ], + [ + "add", + 121, + 274, + 1, + 4, + [] + ], + [ + "add", + 121, + 279, + 1, + 4, + [] + ], + [ + "add", + 121, + 280, + 1, + 4, + [] + ], + [ + "add", + 121, + 281, + -1, + 2, + [] + ], + [ + "add", + 121, + 283, + 1, + 2, + [] + ], + [ + "add", + 121, + 288, + -1, + 4, + [] + ], + [ + "add", + 121, + 290, + 1, + 4, + [] + ], + [ + "add", + 121, + 295, + 1, + 4, + [] + ], + [ + "add", + 121, + 296, + 1, + 4, + [] + ], + [ + "add", + 121, + 297, + -1, + 2, + [] + ], + [ + "add", + 121, + 299, + 1, + 2, + [] + ], + [ + "add", + 121, + 304, + -1, + 4, + [] + ], + [ + "add", + 121, + 306, + 1, + 4, + [] + ], + [ + "add", + 121, + 312, + 1, + 4, + [] + ], + [ + "add", + 121, + 313, + -1, + 2, + [] + ], + [ + "add", + 121, + 315, + 1, + 2, + [] + ], + [ + "add", + 121, + 320, + -1, + 4, + [] + ], + [ + "add", + 121, + 322, + 1, + 4, + [] + ], + [ + "add", + 121, + 329, + -1, + 2, + [] + ], + [ + "add", + 121, + 331, + 1, + 2, + [] + ], + [ + "add", + 121, + 335, + -1, + 4, + [] + ], + [ + "add", + 121, + 336, + -1, + 4, + [] + ], + [ + "add", + 121, + 338, + 1, + 4, + [] + ], + [ + "add", + 121, + 343, + 1, + 4, + [] + ], + [ + "add", + 121, + 345, + -1, + 2, + [] + ], + [ + "add", + 121, + 347, + 1, + 2, + [] + ], + [ + "add", + 121, + 351, + -1, + 4, + [] + ], + [ + "add", + 121, + 352, + -1, + 4, + [] + ], + [ + "add", + 121, + 354, + 1, + 4, + [] + ], + [ + "add", + 121, + 359, + 1, + 4, + [] + ], + [ + "add", + 121, + 361, + -1, + 2, + [] + ], + [ + "add", + 121, + 363, + 1, + 2, + [] + ], + [ + "add", + 121, + 367, + -1, + 4, + [] + ], + [ + "add", + 121, + 368, + -1, + 4, + [] + ], + [ + "add", + 121, + 370, + 1, + 4, + [] + ], + [ + "add", + 121, + 375, + 1, + 4, + [] + ], + [ + "add", + 121, + 377, + -1, + 2, + [] + ], + [ + "add", + 121, + 379, + 1, + 2, + [] + ], + [ + "add", + 121, + 383, + -1, + 4, + [] + ], + [ + "add", + 121, + 384, + -1, + 4, + [] + ], + [ + "add", + 121, + 386, + 1, + 4, + [] + ], + [ + "add", + 121, + 391, + 1, + 4, + [] + ], + [ + "add", + 121, + 393, + -1, + 2, + [] + ], + [ + "add", + 121, + 395, + 1, + 2, + [] + ], + [ + "add", + 121, + 399, + -1, + 4, + [] + ], + [ + "add", + 121, + 499, + 1, + 4, + [] + ], + [ + "add", + 121, + 511, + 1, + 4, + [] + ], + [ + "add", + 121, + 530, + -1, + 2, + [] + ], + [ + "add", + 121, + 542, + -1, + 2, + [] + ], + [ + "add", + 182, + 224, + -1, + 2, + [] + ], + [ + "add", + 182, + 227, + -1, + 2, + [] + ], + [ + "add", + 182, + 229, + -1, + 2, + [] + ], + [ + "add", + 182, + 230, + -1, + 2, + [] + ], + [ + "add", + 182, + 234, + 1, + 2, + [] + ], + [ + "add", + 182, + 235, + -1, + 2, + [] + ], + [ + "add", + 182, + 238, + -1, + 2, + [] + ], + [ + "add", + 182, + 239, + 1, + 2, + [] + ], + [ + "add", + 182, + 240, + -1, + 2, + [] + ], + [ + "add", + 182, + 242, + -1, + 2, + [] + ], + [ + "add", + 182, + 243, + -1, + 2, + [] + ], + [ + "add", + 182, + 245, + -1, + 2, + [] + ], + [ + "add", + 182, + 246, + -1, + 2, + [] + ], + [ + "add", + 182, + 250, + 1, + 2, + [] + ], + [ + "add", + 182, + 251, + -1, + 2, + [] + ], + [ + "add", + 182, + 254, + -1, + 2, + [] + ], + [ + "add", + 182, + 255, + 1, + 2, + [] + ], + [ + "add", + 182, + 256, + -1, + 2, + [] + ], + [ + "add", + 182, + 258, + -1, + 2, + [] + ], + [ + "add", + 182, + 259, + -1, + 2, + [] + ], + [ + "add", + 182, + 261, + -1, + 2, + [] + ], + [ + "add", + 182, + 262, + -1, + 2, + [] + ], + [ + "add", + 182, + 266, + 1, + 2, + [] + ], + [ + "add", + 182, + 267, + -1, + 2, + [] + ], + [ + "add", + 182, + 270, + -1, + 2, + [] + ], + [ + "add", + 182, + 271, + 1, + 2, + [] + ], + [ + "add", + 182, + 278, + 1, + 4, + [] + ], + [ + "add", + 182, + 280, + 1, + 2, + [] + ], + [ + "add", + 182, + 283, + -1, + 4, + [] + ], + [ + "add", + 182, + 284, + 1, + 4, + [] + ], + [ + "add", + 182, + 287, + 1, + 2, + [] + ], + [ + "add", + 182, + 294, + 1, + 4, + [] + ], + [ + "add", + 182, + 296, + 1, + 2, + [] + ], + [ + "add", + 182, + 299, + -1, + 4, + [] + ], + [ + "add", + 182, + 300, + 1, + 4, + [] + ], + [ + "add", + 182, + 303, + 1, + 2, + [] + ], + [ + "add", + 182, + 310, + 1, + 4, + [] + ], + [ + "add", + 182, + 312, + 1, + 2, + [] + ], + [ + "add", + 182, + 315, + -1, + 4, + [] + ], + [ + "add", + 182, + 316, + 1, + 4, + [] + ], + [ + "add", + 182, + 319, + 1, + 2, + [] + ], + [ + "add", + 182, + 326, + 1, + 4, + [] + ], + [ + "add", + 182, + 328, + 1, + 2, + [] + ], + [ + "add", + 182, + 331, + -1, + 4, + [] + ], + [ + "add", + 182, + 332, + 1, + 4, + [] + ], + [ + "add", + 182, + 335, + 1, + 2, + [] + ], + [ + "add", + 182, + 342, + 1, + 4, + [] + ], + [ + "add", + 182, + 344, + 1, + 2, + [] + ], + [ + "add", + 182, + 347, + -1, + 4, + [] + ], + [ + "add", + 182, + 348, + 1, + 4, + [] + ], + [ + "add", + 182, + 351, + 1, + 2, + [] + ], + [ + "add", + 182, + 358, + 1, + 4, + [] + ], + [ + "add", + 182, + 360, + 1, + 2, + [] + ], + [ + "add", + 182, + 363, + -1, + 4, + [] + ], + [ + "add", + 182, + 364, + 1, + 4, + [] + ], + [ + "add", + 182, + 367, + 1, + 2, + [] + ], + [ + "add", + 182, + 374, + 1, + 4, + [] + ], + [ + "add", + 182, + 376, + 1, + 2, + [] + ], + [ + "add", + 182, + 379, + -1, + 4, + [] + ], + [ + "add", + 182, + 380, + 1, + 4, + [] + ], + [ + "add", + 182, + 383, + 1, + 2, + [] + ], + [ + "add", + 182, + 390, + 1, + 4, + [] + ], + [ + "add", + 182, + 392, + 1, + 2, + [] + ], + [ + "add", + 182, + 395, + -1, + 4, + [] + ], + [ + "add", + 182, + 396, + 1, + 4, + [] + ], + [ + "add", + 182, + 399, + 1, + 2, + [] + ], + [ + "add", + 202, + 272, + 1, + 4, + [] + ], + [ + "add", + 202, + 276, + -1, + 4, + [] + ], + [ + "add", + 202, + 278, + -1, + 4, + [] + ], + [ + "add", + 202, + 280, + 1, + 4, + [] + ], + [ + "add", + 202, + 283, + 1, + 4, + [] + ], + [ + "add", + 202, + 284, + -1, + 4, + [] + ], + [ + "add", + 202, + 286, + -1, + 4, + [] + ], + [ + "add", + 202, + 288, + -1, + 4, + [] + ], + [ + "add", + 202, + 292, + 1, + 4, + [] + ], + [ + "add", + 202, + 294, + 1, + 4, + [] + ], + [ + "add", + 202, + 296, + -1, + 4, + [] + ], + [ + "add", + 202, + 299, + -1, + 4, + [] + ], + [ + "add", + 202, + 300, + 1, + 4, + [] + ], + [ + "add", + 202, + 302, + 1, + 4, + [] + ], + [ + "add", + 202, + 304, + 1, + 4, + [] + ], + [ + "add", + 202, + 308, + -1, + 4, + [] + ], + [ + "add", + 202, + 310, + -1, + 4, + [] + ], + [ + "add", + 202, + 312, + 1, + 4, + [] + ], + [ + "add", + 202, + 315, + 1, + 4, + [] + ], + [ + "add", + 202, + 316, + -1, + 4, + [] + ], + [ + "add", + 202, + 318, + -1, + 4, + [] + ], + [ + "add", + 202, + 320, + -1, + 4, + [] + ], + [ + "add", + 202, + 324, + 1, + 4, + [] + ], + [ + "add", + 202, + 326, + 1, + 4, + [] + ], + [ + "add", + 202, + 328, + -1, + 2, + [] + ], + [ + "add", + 202, + 331, + -1, + 4, + [] + ], + [ + "add", + 202, + 332, + 1, + 4, + [] + ], + [ + "add", + 202, + 334, + 1, + 4, + [] + ], + [ + "add", + 202, + 335, + -1, + 4, + [] + ], + [ + "add", + 202, + 336, + 1, + 4, + [] + ], + [ + "add", + 202, + 340, + -1, + 4, + [] + ], + [ + "add", + 202, + 342, + -1, + 4, + [] + ], + [ + "add", + 202, + 344, + 1, + 2, + [] + ], + [ + "add", + 202, + 347, + 1, + 4, + [] + ], + [ + "add", + 202, + 348, + -1, + 4, + [] + ], + [ + "add", + 202, + 350, + -1, + 4, + [] + ], + [ + "add", + 202, + 351, + 1, + 4, + [] + ], + [ + "add", + 202, + 352, + -1, + 4, + [] + ], + [ + "add", + 202, + 356, + 1, + 4, + [] + ], + [ + "add", + 202, + 358, + 1, + 4, + [] + ], + [ + "add", + 202, + 360, + -1, + 2, + [] + ], + [ + "add", + 202, + 363, + -1, + 4, + [] + ], + [ + "add", + 202, + 364, + 1, + 4, + [] + ], + [ + "add", + 202, + 366, + 1, + 4, + [] + ], + [ + "add", + 202, + 367, + -1, + 4, + [] + ], + [ + "add", + 202, + 368, + 1, + 4, + [] + ], + [ + "add", + 202, + 372, + -1, + 4, + [] + ], + [ + "add", + 202, + 374, + -1, + 4, + [] + ], + [ + "add", + 202, + 376, + 1, + 2, + [] + ], + [ + "add", + 202, + 379, + 1, + 4, + [] + ], + [ + "add", + 202, + 380, + -1, + 4, + [] + ], + [ + "add", + 202, + 382, + -1, + 4, + [] + ], + [ + "add", + 202, + 383, + 1, + 4, + [] + ], + [ + "add", + 202, + 384, + -1, + 4, + [] + ], + [ + "add", + 202, + 388, + 1, + 4, + [] + ], + [ + "add", + 202, + 390, + 1, + 4, + [] + ], + [ + "add", + 202, + 392, + -1, + 2, + [] + ], + [ + "add", + 202, + 395, + -1, + 4, + [] + ], + [ + "add", + 202, + 396, + 1, + 4, + [] + ], + [ + "add", + 202, + 398, + 1, + 4, + [] + ], + [ + "add", + 202, + 399, + -1, + 4, + [] + ], + [ + "add", + 202, + 530, + 1, + 2, + [] + ], + [ + "add", + 202, + 542, + -1, + 2, + [] + ], + [ + "add", + 203, + 240, + -1, + 2, + [] + ], + [ + "add", + 203, + 243, + -1, + 2, + [] + ], + [ + "add", + 203, + 246, + 1, + 2, + [] + ], + [ + "add", + 203, + 249, + -1, + 2, + [] + ], + [ + "add", + 203, + 250, + -1, + 2, + [] + ], + [ + "add", + 203, + 251, + 1, + 2, + [] + ], + [ + "add", + 203, + 255, + 1, + 2, + [] + ], + [ + "add", + 203, + 278, + -1, + 4, + [] + ], + [ + "add", + 203, + 280, + 1, + 2, + [] + ], + [ + "add", + 203, + 283, + 1, + 4, + [] + ], + [ + "add", + 203, + 284, + -1, + 4, + [] + ], + [ + "add", + 203, + 287, + 1, + 2, + [] + ], + [ + "add", + 203, + 294, + -1, + 4, + [] + ], + [ + "add", + 203, + 296, + 1, + 2, + [] + ], + [ + "add", + 203, + 299, + 1, + 4, + [] + ], + [ + "add", + 203, + 300, + -1, + 4, + [] + ], + [ + "add", + 203, + 303, + 1, + 2, + [] + ], + [ + "add", + 203, + 310, + -1, + 4, + [] + ], + [ + "add", + 203, + 312, + 1, + 2, + [] + ], + [ + "add", + 203, + 315, + 1, + 4, + [] + ], + [ + "add", + 203, + 316, + -1, + 4, + [] + ], + [ + "add", + 203, + 319, + 1, + 2, + [] + ], + [ + "add", + 203, + 326, + -1, + 4, + [] + ], + [ + "add", + 203, + 328, + 1, + 2, + [] + ], + [ + "add", + 203, + 331, + 1, + 4, + [] + ], + [ + "add", + 203, + 332, + -1, + 4, + [] + ], + [ + "add", + 203, + 335, + 1, + 2, + [] + ], + [ + "add", + 203, + 342, + -1, + 4, + [] + ], + [ + "add", + 203, + 344, + 1, + 2, + [] + ], + [ + "add", + 203, + 347, + 1, + 4, + [] + ], + [ + "add", + 203, + 348, + -1, + 4, + [] + ], + [ + "add", + 203, + 351, + 1, + 2, + [] + ], + [ + "add", + 203, + 358, + -1, + 4, + [] + ], + [ + "add", + 203, + 360, + 1, + 2, + [] + ], + [ + "add", + 203, + 363, + 1, + 4, + [] + ], + [ + "add", + 203, + 364, + -1, + 4, + [] + ], + [ + "add", + 203, + 367, + 1, + 2, + [] + ], + [ + "add", + 203, + 374, + -1, + 4, + [] + ], + [ + "add", + 203, + 376, + 1, + 2, + [] + ], + [ + "add", + 203, + 379, + 1, + 4, + [] + ], + [ + "add", + 203, + 380, + -1, + 4, + [] + ], + [ + "add", + 203, + 383, + 1, + 2, + [] + ], + [ + "add", + 203, + 390, + -1, + 4, + [] + ], + [ + "add", + 203, + 392, + 1, + 2, + [] + ], + [ + "add", + 203, + 395, + 1, + 4, + [] + ], + [ + "add", + 203, + 396, + -1, + 4, + [] + ], + [ + "add", + 203, + 399, + 1, + 2, + [] + ], + [ + "add", + 203, + 400, + -1, + 2, + [] + ], + [ + "add", + 203, + 402, + 1, + 2, + [] + ], + [ + "add", + 203, + 403, + -1, + 2, + [] + ], + [ + "add", + 203, + 406, + 1, + 2, + [] + ], + [ + "add", + 203, + 409, + -1, + 2, + [] + ], + [ + "add", + 203, + 410, + -1, + 2, + [] + ], + [ + "add", + 203, + 411, + 1, + 2, + [] + ], + [ + "add", + 203, + 415, + 1, + 2, + [] + ], + [ + "add", + 203, + 432, + -1, + 2, + [] + ], + [ + "add", + 203, + 435, + -1, + 2, + [] + ], + [ + "add", + 203, + 437, + -1, + 2, + [] + ], + [ + "add", + 203, + 438, + -1, + 2, + [] + ], + [ + "add", + 203, + 442, + 1, + 2, + [] + ], + [ + "add", + 203, + 443, + -1, + 2, + [] + ], + [ + "add", + 203, + 446, + -1, + 2, + [] + ], + [ + "add", + 203, + 447, + 1, + 2, + [] + ], + [ + "add", + 174, + 224, + 1, + 2, + [] + ], + [ + "add", + 174, + 225, + -1, + 2, + [] + ], + [ + "add", + 174, + 226, + 1, + 2, + [] + ], + [ + "add", + 174, + 227, + -1, + 2, + [] + ], + [ + "add", + 174, + 233, + -1, + 2, + [] + ], + [ + "add", + 174, + 235, + -1, + 2, + [] + ], + [ + "add", + 174, + 237, + -1, + 2, + [] + ], + [ + "add", + 174, + 239, + -1, + 2, + [] + ], + [ + "add", + 174, + 241, + -1, + 2, + [] + ], + [ + "add", + 174, + 243, + -1, + 2, + [] + ], + [ + "add", + 174, + 249, + -1, + 2, + [] + ], + [ + "add", + 174, + 251, + -1, + 2, + [] + ], + [ + "add", + 174, + 253, + -1, + 2, + [] + ], + [ + "add", + 174, + 255, + -1, + 2, + [] + ], + [ + "add", + 174, + 257, + -1, + 2, + [] + ], + [ + "add", + 174, + 259, + -1, + 2, + [] + ], + [ + "add", + 174, + 265, + -1, + 2, + [] + ], + [ + "add", + 174, + 267, + -1, + 2, + [] + ], + [ + "add", + 174, + 269, + -1, + 2, + [] + ], + [ + "add", + 174, + 271, + -1, + 2, + [] + ], + [ + "add", + 174, + 278, + 1, + 4, + [] + ], + [ + "add", + 174, + 280, + 1, + 2, + [] + ], + [ + "add", + 174, + 283, + -1, + 4, + [] + ], + [ + "add", + 174, + 284, + 1, + 4, + [] + ], + [ + "add", + 174, + 287, + 1, + 2, + [] + ], + [ + "add", + 174, + 294, + 1, + 4, + [] + ], + [ + "add", + 174, + 296, + 1, + 2, + [] + ], + [ + "add", + 174, + 299, + -1, + 4, + [] + ], + [ + "add", + 174, + 300, + 1, + 4, + [] + ], + [ + "add", + 174, + 303, + 1, + 2, + [] + ], + [ + "add", + 174, + 310, + 1, + 4, + [] + ], + [ + "add", + 174, + 312, + 1, + 2, + [] + ], + [ + "add", + 174, + 315, + -1, + 4, + [] + ], + [ + "add", + 174, + 316, + 1, + 4, + [] + ], + [ + "add", + 174, + 319, + 1, + 2, + [] + ], + [ + "add", + 174, + 326, + 1, + 4, + [] + ], + [ + "add", + 174, + 328, + 1, + 2, + [] + ], + [ + "add", + 174, + 331, + -1, + 4, + [] + ], + [ + "add", + 174, + 332, + 1, + 4, + [] + ], + [ + "add", + 174, + 335, + 1, + 2, + [] + ], + [ + "add", + 174, + 342, + -1, + 4, + [] + ], + [ + "add", + 174, + 344, + -1, + 2, + [] + ], + [ + "add", + 174, + 347, + 1, + 4, + [] + ], + [ + "add", + 174, + 348, + -1, + 4, + [] + ], + [ + "add", + 174, + 351, + -1, + 2, + [] + ], + [ + "add", + 174, + 358, + -1, + 4, + [] + ], + [ + "add", + 174, + 360, + -1, + 2, + [] + ], + [ + "add", + 174, + 363, + 1, + 4, + [] + ], + [ + "add", + 174, + 364, + -1, + 4, + [] + ], + [ + "add", + 174, + 367, + -1, + 2, + [] + ], + [ + "add", + 174, + 374, + -1, + 4, + [] + ], + [ + "add", + 174, + 376, + -1, + 2, + [] + ], + [ + "add", + 174, + 379, + 1, + 4, + [] + ], + [ + "add", + 174, + 380, + -1, + 4, + [] + ], + [ + "add", + 174, + 383, + -1, + 2, + [] + ], + [ + "add", + 174, + 390, + -1, + 4, + [] + ], + [ + "add", + 174, + 392, + -1, + 2, + [] + ], + [ + "add", + 174, + 395, + 1, + 4, + [] + ], + [ + "add", + 174, + 396, + -1, + 4, + [] + ], + [ + "add", + 174, + 399, + -1, + 2, + [] + ], + [ + "add", + 122, + 241, + 1, + 2, + [] + ], + [ + "add", + 122, + 242, + -1, + 2, + [] + ], + [ + "add", + 122, + 243, + -1, + 2, + [] + ], + [ + "add", + 122, + 245, + 1, + 2, + [] + ], + [ + "add", + 122, + 251, + -1, + 2, + [] + ], + [ + "add", + 122, + 253, + 1, + 2, + [] + ], + [ + "add", + 122, + 254, + 1, + 2, + [] + ], + [ + "add", + 122, + 255, + -1, + 2, + [] + ], + [ + "add", + 122, + 278, + -1, + 4, + [] + ], + [ + "add", + 122, + 280, + 1, + 2, + [] + ], + [ + "add", + 122, + 283, + 1, + 4, + [] + ], + [ + "add", + 122, + 284, + -1, + 4, + [] + ], + [ + "add", + 122, + 287, + 1, + 2, + [] + ], + [ + "add", + 122, + 294, + 1, + 4, + [] + ], + [ + "add", + 122, + 296, + -1, + 2, + [] + ], + [ + "add", + 122, + 299, + -1, + 4, + [] + ], + [ + "add", + 122, + 300, + 1, + 4, + [] + ], + [ + "add", + 122, + 303, + -1, + 2, + [] + ], + [ + "add", + 122, + 310, + -1, + 4, + [] + ], + [ + "add", + 122, + 312, + 1, + 2, + [] + ], + [ + "add", + 122, + 315, + 1, + 4, + [] + ], + [ + "add", + 122, + 316, + -1, + 4, + [] + ], + [ + "add", + 122, + 319, + 1, + 2, + [] + ], + [ + "add", + 122, + 326, + 1, + 4, + [] + ], + [ + "add", + 122, + 328, + -1, + 2, + [] + ], + [ + "add", + 122, + 331, + -1, + 4, + [] + ], + [ + "add", + 122, + 332, + 1, + 4, + [] + ], + [ + "add", + 122, + 335, + -1, + 2, + [] + ], + [ + "add", + 122, + 342, + -1, + 4, + [] + ], + [ + "add", + 122, + 344, + 1, + 2, + [] + ], + [ + "add", + 122, + 347, + 1, + 4, + [] + ], + [ + "add", + 122, + 348, + -1, + 4, + [] + ], + [ + "add", + 122, + 351, + 1, + 2, + [] + ], + [ + "add", + 122, + 358, + 1, + 4, + [] + ], + [ + "add", + 122, + 360, + -1, + 2, + [] + ], + [ + "add", + 122, + 363, + -1, + 4, + [] + ], + [ + "add", + 122, + 364, + 1, + 4, + [] + ], + [ + "add", + 122, + 367, + -1, + 2, + [] + ], + [ + "add", + 122, + 374, + -1, + 4, + [] + ], + [ + "add", + 122, + 376, + 1, + 2, + [] + ], + [ + "add", + 122, + 379, + 1, + 4, + [] + ], + [ + "add", + 122, + 380, + -1, + 4, + [] + ], + [ + "add", + 122, + 383, + 1, + 2, + [] + ], + [ + "add", + 122, + 390, + 1, + 4, + [] + ], + [ + "add", + 122, + 392, + -1, + 2, + [] + ], + [ + "add", + 122, + 395, + -1, + 4, + [] + ], + [ + "add", + 122, + 396, + 1, + 4, + [] + ], + [ + "add", + 122, + 399, + -1, + 2, + [] + ], + [ + "add", + 122, + 401, + 1, + 2, + [] + ], + [ + "add", + 122, + 403, + -1, + 2, + [] + ], + [ + "add", + 122, + 405, + 1, + 2, + [] + ], + [ + "add", + 122, + 411, + -1, + 2, + [] + ], + [ + "add", + 122, + 413, + 1, + 2, + [] + ], + [ + "add", + 122, + 414, + 1, + 2, + [] + ], + [ + "add", + 122, + 415, + -1, + 2, + [] + ], + [ + "add", + 122, + 432, + 1, + 2, + [] + ], + [ + "add", + 122, + 433, + -1, + 2, + [] + ], + [ + "add", + 122, + 434, + 1, + 2, + [] + ], + [ + "add", + 122, + 435, + -1, + 2, + [] + ], + [ + "add", + 122, + 441, + -1, + 2, + [] + ], + [ + "add", + 122, + 443, + -1, + 2, + [] + ], + [ + "add", + 122, + 445, + -1, + 2, + [] + ], + [ + "add", + 122, + 447, + -1, + 2, + [] + ], + [ + "add", + 123, + 272, + 1, + 4, + [] + ], + [ + "add", + 123, + 276, + -1, + 4, + [] + ], + [ + "add", + 123, + 278, + -1, + 4, + [] + ], + [ + "add", + 123, + 280, + 1, + 4, + [] + ], + [ + "add", + 123, + 283, + 1, + 4, + [] + ], + [ + "add", + 123, + 284, + -1, + 4, + [] + ], + [ + "add", + 123, + 286, + -1, + 4, + [] + ], + [ + "add", + 123, + 288, + 1, + 4, + [] + ], + [ + "add", + 123, + 292, + -1, + 4, + [] + ], + [ + "add", + 123, + 294, + -1, + 4, + [] + ], + [ + "add", + 123, + 296, + 1, + 4, + [] + ], + [ + "add", + 123, + 299, + 1, + 4, + [] + ], + [ + "add", + 123, + 300, + -1, + 4, + [] + ], + [ + "add", + 123, + 302, + -1, + 4, + [] + ], + [ + "add", + 123, + 304, + 1, + 4, + [] + ], + [ + "add", + 123, + 308, + -1, + 4, + [] + ], + [ + "add", + 123, + 310, + -1, + 4, + [] + ], + [ + "add", + 123, + 312, + 1, + 4, + [] + ], + [ + "add", + 123, + 315, + 1, + 4, + [] + ], + [ + "add", + 123, + 316, + -1, + 4, + [] + ], + [ + "add", + 123, + 318, + -1, + 4, + [] + ], + [ + "add", + 123, + 320, + 1, + 4, + [] + ], + [ + "add", + 123, + 324, + -1, + 4, + [] + ], + [ + "add", + 123, + 326, + -1, + 4, + [] + ], + [ + "add", + 123, + 328, + 1, + 2, + [] + ], + [ + "add", + 123, + 331, + 1, + 4, + [] + ], + [ + "add", + 123, + 332, + -1, + 4, + [] + ], + [ + "add", + 123, + 334, + -1, + 4, + [] + ], + [ + "add", + 123, + 335, + 1, + 4, + [] + ], + [ + "add", + 123, + 336, + 1, + 4, + [] + ], + [ + "add", + 123, + 340, + -1, + 4, + [] + ], + [ + "add", + 123, + 342, + -1, + 4, + [] + ], + [ + "add", + 123, + 344, + 1, + 2, + [] + ], + [ + "add", + 123, + 347, + 1, + 4, + [] + ], + [ + "add", + 123, + 348, + -1, + 4, + [] + ], + [ + "add", + 123, + 350, + -1, + 4, + [] + ], + [ + "add", + 123, + 351, + 1, + 4, + [] + ], + [ + "add", + 123, + 352, + 1, + 4, + [] + ], + [ + "add", + 123, + 356, + -1, + 4, + [] + ], + [ + "add", + 123, + 358, + -1, + 4, + [] + ], + [ + "add", + 123, + 360, + 1, + 2, + [] + ], + [ + "add", + 123, + 363, + 1, + 4, + [] + ], + [ + "add", + 123, + 364, + -1, + 4, + [] + ], + [ + "add", + 123, + 366, + -1, + 4, + [] + ], + [ + "add", + 123, + 367, + 1, + 4, + [] + ], + [ + "add", + 123, + 368, + 1, + 4, + [] + ], + [ + "add", + 123, + 372, + -1, + 4, + [] + ], + [ + "add", + 123, + 374, + -1, + 4, + [] + ], + [ + "add", + 123, + 376, + 1, + 2, + [] + ], + [ + "add", + 123, + 379, + 1, + 4, + [] + ], + [ + "add", + 123, + 380, + -1, + 4, + [] + ], + [ + "add", + 123, + 382, + -1, + 4, + [] + ], + [ + "add", + 123, + 383, + 1, + 4, + [] + ], + [ + "add", + 123, + 384, + 1, + 4, + [] + ], + [ + "add", + 123, + 388, + -1, + 4, + [] + ], + [ + "add", + 123, + 390, + -1, + 4, + [] + ], + [ + "add", + 123, + 392, + 1, + 2, + [] + ], + [ + "add", + 123, + 395, + 1, + 4, + [] + ], + [ + "add", + 123, + 396, + -1, + 4, + [] + ], + [ + "add", + 123, + 398, + -1, + 4, + [] + ], + [ + "add", + 123, + 399, + 1, + 4, + [] + ], + [ + "add", + 123, + 530, + 1, + 2, + [] + ], + [ + "add", + 123, + 542, + 1, + 2, + [] + ], + [ + "add", + 213, + 226, + 1, + 1, + [] + ], + [ + "add", + 213, + 227, + -1, + 1, + [] + ], + [ + "add", + 213, + 243, + -1, + 4, + [] + ], + [ + "add", + 213, + 244, + 1, + 4, + [] + ], + [ + "add", + 213, + 245, + -1, + 4, + [] + ], + [ + "add", + 213, + 248, + 1, + 4, + [] + ], + [ + "add", + 213, + 249, + -1, + 4, + [] + ], + [ + "add", + 213, + 250, + 1, + 2, + [] + ], + [ + "add", + 213, + 251, + -1, + 2, + [] + ], + [ + "add", + 213, + 254, + -1, + 4, + [] + ], + [ + "add", + 213, + 255, + 1, + 4, + [] + ], + [ + "add", + 213, + 259, + -1, + 4, + [] + ], + [ + "add", + 213, + 260, + 1, + 4, + [] + ], + [ + "add", + 213, + 261, + -1, + 4, + [] + ], + [ + "add", + 213, + 264, + 1, + 4, + [] + ], + [ + "add", + 213, + 265, + -1, + 4, + [] + ], + [ + "add", + 213, + 266, + 1, + 2, + [] + ], + [ + "add", + 213, + 267, + -1, + 2, + [] + ], + [ + "add", + 213, + 270, + -1, + 4, + [] + ], + [ + "add", + 213, + 271, + 1, + 4, + [] + ], + [ + "add", + 213, + 272, + -1, + 2, + [] + ], + [ + "add", + 213, + 276, + -1, + 2, + [] + ], + [ + "add", + 213, + 280, + 1, + 2, + [] + ], + [ + "add", + 213, + 286, + -1, + 2, + [] + ], + [ + "add", + 213, + 287, + 1, + 1, + [] + ], + [ + "add", + 213, + 288, + -1, + 2, + [] + ], + [ + "add", + 213, + 292, + -1, + 2, + [] + ], + [ + "add", + 213, + 296, + 1, + 2, + [] + ], + [ + "add", + 213, + 302, + -1, + 2, + [] + ], + [ + "add", + 213, + 303, + 1, + 1, + [] + ], + [ + "add", + 213, + 306, + 1, + 4, + [] + ], + [ + "add", + 213, + 308, + -1, + 4, + [] + ], + [ + "add", + 213, + 313, + 1, + 2, + [] + ], + [ + "add", + 213, + 315, + -1, + 2, + [] + ], + [ + "add", + 213, + 318, + -1, + 4, + [] + ], + [ + "add", + 213, + 319, + 1, + 2, + [] + ], + [ + "add", + 213, + 326, + 1, + 4, + [] + ], + [ + "add", + 213, + 328, + 1, + 2, + [] + ], + [ + "add", + 213, + 331, + -1, + 4, + [] + ], + [ + "add", + 213, + 332, + 1, + 4, + [] + ], + [ + "add", + 213, + 335, + 1, + 2, + [] + ], + [ + "add", + 213, + 342, + 1, + 4, + [] + ], + [ + "add", + 213, + 347, + 1, + 4, + [] + ], + [ + "add", + 213, + 348, + -1, + 4, + [] + ], + [ + "add", + 213, + 350, + -1, + 2, + [] + ], + [ + "add", + 213, + 351, + 1, + 2, + [] + ], + [ + "add", + 213, + 354, + 1, + 4, + [] + ], + [ + "add", + 213, + 356, + -1, + 4, + [] + ], + [ + "add", + 213, + 359, + -1, + 4, + [] + ], + [ + "add", + 213, + 363, + 1, + 2, + [] + ], + [ + "add", + 213, + 365, + -1, + 2, + [] + ], + [ + "add", + 213, + 366, + -1, + 4, + [] + ], + [ + "add", + 213, + 402, + 1, + 4, + [] + ], + [ + "add", + 213, + 403, + -1, + 4, + [] + ], + [ + "add", + 213, + 404, + 1, + 4, + [] + ], + [ + "add", + 213, + 405, + -1, + 4, + [] + ], + [ + "add", + 213, + 408, + 1, + 4, + [] + ], + [ + "add", + 213, + 409, + -1, + 4, + [] + ], + [ + "add", + 213, + 410, + 1, + 2, + [] + ], + [ + "add", + 213, + 411, + -1, + 2, + [] + ], + [ + "add", + 213, + 414, + -1, + 4, + [] + ], + [ + "add", + 213, + 415, + 1, + 4, + [] + ], + [ + "add", + 213, + 418, + 1, + 4, + [] + ], + [ + "add", + 213, + 419, + -1, + 4, + [] + ], + [ + "add", + 213, + 420, + 1, + 4, + [] + ], + [ + "add", + 213, + 421, + -1, + 4, + [] + ], + [ + "add", + 213, + 424, + 1, + 4, + [] + ], + [ + "add", + 213, + 425, + -1, + 4, + [] + ], + [ + "add", + 213, + 426, + 1, + 2, + [] + ], + [ + "add", + 213, + 427, + -1, + 2, + [] + ], + [ + "add", + 213, + 430, + -1, + 4, + [] + ], + [ + "add", + 213, + 431, + 1, + 4, + [] + ], + [ + "add", + 213, + 499, + 1, + 4, + [] + ], + [ + "add", + 166, + 226, + 1, + 1, + [] + ], + [ + "add", + 166, + 227, + -1, + 1, + [] + ], + [ + "add", + 166, + 243, + -1, + 4, + [] + ], + [ + "add", + 166, + 244, + 1, + 4, + [] + ], + [ + "add", + 166, + 245, + -1, + 4, + [] + ], + [ + "add", + 166, + 248, + 1, + 4, + [] + ], + [ + "add", + 166, + 249, + -1, + 4, + [] + ], + [ + "add", + 166, + 250, + 1, + 2, + [] + ], + [ + "add", + 166, + 251, + -1, + 2, + [] + ], + [ + "add", + 166, + 254, + -1, + 4, + [] + ], + [ + "add", + 166, + 255, + 1, + 4, + [] + ], + [ + "add", + 166, + 259, + -1, + 4, + [] + ], + [ + "add", + 166, + 260, + 1, + 4, + [] + ], + [ + "add", + 166, + 261, + -1, + 4, + [] + ], + [ + "add", + 166, + 264, + 1, + 4, + [] + ], + [ + "add", + 166, + 265, + -1, + 4, + [] + ], + [ + "add", + 166, + 266, + 1, + 2, + [] + ], + [ + "add", + 166, + 267, + -1, + 2, + [] + ], + [ + "add", + 166, + 270, + -1, + 4, + [] + ], + [ + "add", + 166, + 271, + 1, + 4, + [] + ], + [ + "add", + 166, + 272, + -1, + 2, + [] + ], + [ + "add", + 166, + 276, + -1, + 2, + [] + ], + [ + "add", + 166, + 280, + 1, + 2, + [] + ], + [ + "add", + 166, + 286, + -1, + 2, + [] + ], + [ + "add", + 166, + 287, + 1, + 1, + [] + ], + [ + "add", + 166, + 288, + -1, + 2, + [] + ], + [ + "add", + 166, + 292, + -1, + 2, + [] + ], + [ + "add", + 166, + 296, + 1, + 2, + [] + ], + [ + "add", + 166, + 302, + -1, + 2, + [] + ], + [ + "add", + 166, + 303, + 1, + 1, + [] + ], + [ + "add", + 166, + 306, + 1, + 4, + [] + ], + [ + "add", + 166, + 308, + -1, + 4, + [] + ], + [ + "add", + 166, + 313, + 1, + 2, + [] + ], + [ + "add", + 166, + 315, + -1, + 2, + [] + ], + [ + "add", + 166, + 318, + -1, + 4, + [] + ], + [ + "add", + 166, + 319, + 1, + 2, + [] + ], + [ + "add", + 166, + 326, + 1, + 4, + [] + ], + [ + "add", + 166, + 328, + 1, + 2, + [] + ], + [ + "add", + 166, + 331, + -1, + 4, + [] + ], + [ + "add", + 166, + 332, + 1, + 4, + [] + ], + [ + "add", + 166, + 335, + 1, + 2, + [] + ], + [ + "add", + 166, + 342, + 1, + 4, + [] + ], + [ + "add", + 166, + 347, + 1, + 4, + [] + ], + [ + "add", + 166, + 348, + -1, + 4, + [] + ], + [ + "add", + 166, + 350, + -1, + 2, + [] + ], + [ + "add", + 166, + 351, + 1, + 2, + [] + ], + [ + "add", + 166, + 354, + 1, + 4, + [] + ], + [ + "add", + 166, + 356, + -1, + 4, + [] + ], + [ + "add", + 166, + 359, + -1, + 4, + [] + ], + [ + "add", + 166, + 363, + 1, + 2, + [] + ], + [ + "add", + 166, + 365, + -1, + 2, + [] + ], + [ + "add", + 166, + 366, + -1, + 4, + [] + ], + [ + "add", + 166, + 402, + 1, + 4, + [] + ], + [ + "add", + 166, + 403, + -1, + 4, + [] + ], + [ + "add", + 166, + 404, + 1, + 4, + [] + ], + [ + "add", + 166, + 405, + -1, + 4, + [] + ], + [ + "add", + 166, + 408, + 1, + 4, + [] + ], + [ + "add", + 166, + 409, + -1, + 4, + [] + ], + [ + "add", + 166, + 410, + 1, + 2, + [] + ], + [ + "add", + 166, + 411, + -1, + 2, + [] + ], + [ + "add", + 166, + 414, + -1, + 4, + [] + ], + [ + "add", + 166, + 415, + 1, + 4, + [] + ], + [ + "add", + 166, + 418, + 1, + 4, + [] + ], + [ + "add", + 166, + 419, + -1, + 4, + [] + ], + [ + "add", + 166, + 420, + 1, + 4, + [] + ], + [ + "add", + 166, + 421, + -1, + 4, + [] + ], + [ + "add", + 166, + 424, + 1, + 4, + [] + ], + [ + "add", + 166, + 425, + -1, + 4, + [] + ], + [ + "add", + 166, + 426, + 1, + 2, + [] + ], + [ + "add", + 166, + 427, + -1, + 2, + [] + ], + [ + "add", + 166, + 430, + -1, + 4, + [] + ], + [ + "add", + 166, + 431, + 1, + 4, + [] + ], + [ + "add", + 166, + 499, + 1, + 4, + [] + ], + [ + "add", + 214, + 243, + -1, + 4, + [] + ], + [ + "add", + 214, + 244, + 1, + 4, + [] + ], + [ + "add", + 214, + 245, + -1, + 4, + [] + ], + [ + "add", + 214, + 248, + 1, + 4, + [] + ], + [ + "add", + 214, + 249, + -1, + 4, + [] + ], + [ + "add", + 214, + 250, + -1, + 2, + [] + ], + [ + "add", + 214, + 251, + 1, + 2, + [] + ], + [ + "add", + 214, + 254, + -1, + 4, + [] + ], + [ + "add", + 214, + 255, + 1, + 4, + [] + ], + [ + "add", + 214, + 259, + 1, + 4, + [] + ], + [ + "add", + 214, + 260, + -1, + 4, + [] + ], + [ + "add", + 214, + 261, + 1, + 4, + [] + ], + [ + "add", + 214, + 264, + -1, + 4, + [] + ], + [ + "add", + 214, + 265, + 1, + 4, + [] + ], + [ + "add", + 214, + 266, + 1, + 2, + [] + ], + [ + "add", + 214, + 267, + -1, + 2, + [] + ], + [ + "add", + 214, + 270, + 1, + 4, + [] + ], + [ + "add", + 214, + 271, + -1, + 4, + [] + ], + [ + "add", + 214, + 288, + -1, + 2, + [] + ], + [ + "add", + 214, + 292, + 1, + 2, + [] + ], + [ + "add", + 214, + 296, + 1, + 2, + [] + ], + [ + "add", + 214, + 302, + 1, + 2, + [] + ], + [ + "add", + 214, + 306, + -1, + 4, + [] + ], + [ + "add", + 214, + 308, + 1, + 4, + [] + ], + [ + "add", + 214, + 313, + 1, + 2, + [] + ], + [ + "add", + 214, + 315, + -1, + 2, + [] + ], + [ + "add", + 214, + 318, + 1, + 4, + [] + ], + [ + "add", + 214, + 319, + -1, + 2, + [] + ], + [ + "add", + 214, + 326, + -1, + 4, + [] + ], + [ + "add", + 214, + 328, + 1, + 2, + [] + ], + [ + "add", + 214, + 331, + 1, + 4, + [] + ], + [ + "add", + 214, + 332, + -1, + 4, + [] + ], + [ + "add", + 214, + 335, + 1, + 2, + [] + ], + [ + "add", + 214, + 342, + 1, + 4, + [] + ], + [ + "add", + 214, + 347, + 1, + 4, + [] + ], + [ + "add", + 214, + 348, + -1, + 4, + [] + ], + [ + "add", + 214, + 350, + 1, + 2, + [] + ], + [ + "add", + 214, + 351, + -1, + 2, + [] + ], + [ + "add", + 214, + 354, + -1, + 4, + [] + ], + [ + "add", + 214, + 356, + 1, + 4, + [] + ], + [ + "add", + 214, + 359, + 1, + 4, + [] + ], + [ + "add", + 214, + 363, + 1, + 2, + [] + ], + [ + "add", + 214, + 365, + -1, + 2, + [] + ], + [ + "add", + 214, + 366, + 1, + 4, + [] + ], + [ + "add", + 214, + 384, + -1, + 2, + [] + ], + [ + "add", + 214, + 388, + 1, + 2, + [] + ], + [ + "add", + 214, + 398, + 1, + 2, + [] + ], + [ + "add", + 214, + 399, + -1, + 2, + [] + ], + [ + "add", + 214, + 402, + 1, + 4, + [] + ], + [ + "add", + 214, + 403, + -1, + 4, + [] + ], + [ + "add", + 214, + 404, + 1, + 4, + [] + ], + [ + "add", + 214, + 405, + -1, + 4, + [] + ], + [ + "add", + 214, + 408, + 1, + 4, + [] + ], + [ + "add", + 214, + 409, + -1, + 4, + [] + ], + [ + "add", + 214, + 410, + -1, + 2, + [] + ], + [ + "add", + 214, + 411, + 1, + 2, + [] + ], + [ + "add", + 214, + 414, + -1, + 4, + [] + ], + [ + "add", + 214, + 415, + 1, + 4, + [] + ], + [ + "add", + 214, + 418, + -1, + 4, + [] + ], + [ + "add", + 214, + 419, + 1, + 4, + [] + ], + [ + "add", + 214, + 420, + -1, + 4, + [] + ], + [ + "add", + 214, + 421, + 1, + 4, + [] + ], + [ + "add", + 214, + 424, + -1, + 4, + [] + ], + [ + "add", + 214, + 425, + 1, + 4, + [] + ], + [ + "add", + 214, + 426, + 1, + 2, + [] + ], + [ + "add", + 214, + 427, + -1, + 2, + [] + ], + [ + "add", + 214, + 430, + 1, + 4, + [] + ], + [ + "add", + 214, + 431, + -1, + 4, + [] + ], + [ + "add", + 214, + 432, + -1, + 2, + [] + ], + [ + "add", + 214, + 433, + 1, + 2, + [] + ], + [ + "add", + 214, + 438, + -1, + 2, + [] + ], + [ + "add", + 214, + 439, + 1, + 2, + [] + ], + [ + "add", + 214, + 442, + 1, + 2, + [] + ], + [ + "add", + 214, + 443, + -1, + 2, + [] + ], + [ + "add", + 214, + 444, + -1, + 2, + [] + ], + [ + "add", + 214, + 445, + 1, + 2, + [] + ], + [ + "add", + 214, + 499, + -1, + 4, + [] + ], + [ + "add", + 167, + 243, + -1, + 4, + [] + ], + [ + "add", + 167, + 244, + 1, + 4, + [] + ], + [ + "add", + 167, + 245, + -1, + 4, + [] + ], + [ + "add", + 167, + 248, + 1, + 4, + [] + ], + [ + "add", + 167, + 249, + -1, + 4, + [] + ], + [ + "add", + 167, + 250, + -1, + 2, + [] + ], + [ + "add", + 167, + 251, + 1, + 2, + [] + ], + [ + "add", + 167, + 254, + -1, + 4, + [] + ], + [ + "add", + 167, + 255, + 1, + 4, + [] + ], + [ + "add", + 167, + 259, + -1, + 4, + [] + ], + [ + "add", + 167, + 260, + 1, + 4, + [] + ], + [ + "add", + 167, + 261, + -1, + 4, + [] + ], + [ + "add", + 167, + 264, + 1, + 4, + [] + ], + [ + "add", + 167, + 265, + -1, + 4, + [] + ], + [ + "add", + 167, + 266, + -1, + 2, + [] + ], + [ + "add", + 167, + 267, + 1, + 2, + [] + ], + [ + "add", + 167, + 270, + -1, + 4, + [] + ], + [ + "add", + 167, + 271, + 1, + 4, + [] + ], + [ + "add", + 167, + 303, + 1, + 1, + [] + ], + [ + "add", + 167, + 306, + 1, + 4, + [] + ], + [ + "add", + 167, + 308, + -1, + 4, + [] + ], + [ + "add", + 167, + 313, + -1, + 2, + [] + ], + [ + "add", + 167, + 315, + 1, + 2, + [] + ], + [ + "add", + 167, + 318, + -1, + 4, + [] + ], + [ + "add", + 167, + 319, + 1, + 2, + [] + ], + [ + "add", + 167, + 326, + -1, + 4, + [] + ], + [ + "add", + 167, + 328, + 1, + 2, + [] + ], + [ + "add", + 167, + 331, + 1, + 4, + [] + ], + [ + "add", + 167, + 332, + -1, + 4, + [] + ], + [ + "add", + 167, + 335, + 1, + 2, + [] + ], + [ + "add", + 167, + 342, + -1, + 4, + [] + ], + [ + "add", + 167, + 347, + -1, + 4, + [] + ], + [ + "add", + 167, + 348, + 1, + 4, + [] + ], + [ + "add", + 167, + 350, + -1, + 2, + [] + ], + [ + "add", + 167, + 351, + 1, + 2, + [] + ], + [ + "add", + 167, + 354, + -1, + 4, + [] + ], + [ + "add", + 167, + 356, + 1, + 4, + [] + ], + [ + "add", + 167, + 359, + 1, + 4, + [] + ], + [ + "add", + 167, + 363, + 1, + 2, + [] + ], + [ + "add", + 167, + 365, + -1, + 2, + [] + ], + [ + "add", + 167, + 366, + 1, + 4, + [] + ], + [ + "add", + 167, + 399, + 1, + 1, + [] + ], + [ + "add", + 167, + 402, + 1, + 4, + [] + ], + [ + "add", + 167, + 403, + -1, + 4, + [] + ], + [ + "add", + 167, + 404, + 1, + 4, + [] + ], + [ + "add", + 167, + 405, + -1, + 4, + [] + ], + [ + "add", + 167, + 408, + 1, + 4, + [] + ], + [ + "add", + 167, + 409, + -1, + 4, + [] + ], + [ + "add", + 167, + 410, + -1, + 2, + [] + ], + [ + "add", + 167, + 411, + 1, + 2, + [] + ], + [ + "add", + 167, + 414, + -1, + 4, + [] + ], + [ + "add", + 167, + 415, + 1, + 4, + [] + ], + [ + "add", + 167, + 418, + 1, + 4, + [] + ], + [ + "add", + 167, + 419, + -1, + 4, + [] + ], + [ + "add", + 167, + 420, + 1, + 4, + [] + ], + [ + "add", + 167, + 421, + -1, + 4, + [] + ], + [ + "add", + 167, + 424, + 1, + 4, + [] + ], + [ + "add", + 167, + 425, + -1, + 4, + [] + ], + [ + "add", + 167, + 426, + -1, + 2, + [] + ], + [ + "add", + 167, + 427, + 1, + 2, + [] + ], + [ + "add", + 167, + 430, + -1, + 4, + [] + ], + [ + "add", + 167, + 431, + 1, + 4, + [] + ], + [ + "add", + 167, + 446, + -1, + 1, + [] + ], + [ + "add", + 167, + 447, + 1, + 1, + [] + ], + [ + "add", + 167, + 499, + 1, + 4, + [] + ], + [ + "add", + 130, + 224, + 1, + 2, + [] + ], + [ + "add", + 130, + 225, + -1, + 2, + [] + ], + [ + "add", + 130, + 230, + -1, + 2, + [] + ], + [ + "add", + 130, + 231, + 1, + 2, + [] + ], + [ + "add", + 130, + 234, + 1, + 2, + [] + ], + [ + "add", + 130, + 235, + -1, + 2, + [] + ], + [ + "add", + 130, + 236, + 1, + 2, + [] + ], + [ + "add", + 130, + 237, + -1, + 2, + [] + ], + [ + "add", + 130, + 243, + -1, + 4, + [] + ], + [ + "add", + 130, + 244, + 1, + 4, + [] + ], + [ + "add", + 130, + 245, + -1, + 4, + [] + ], + [ + "add", + 130, + 248, + 1, + 4, + [] + ], + [ + "add", + 130, + 249, + -1, + 4, + [] + ], + [ + "add", + 130, + 250, + 1, + 2, + [] + ], + [ + "add", + 130, + 251, + -1, + 2, + [] + ], + [ + "add", + 130, + 254, + -1, + 4, + [] + ], + [ + "add", + 130, + 255, + 1, + 4, + [] + ], + [ + "add", + 130, + 259, + -1, + 4, + [] + ], + [ + "add", + 130, + 260, + 1, + 4, + [] + ], + [ + "add", + 130, + 261, + -1, + 4, + [] + ], + [ + "add", + 130, + 264, + 1, + 4, + [] + ], + [ + "add", + 130, + 265, + -1, + 4, + [] + ], + [ + "add", + 130, + 266, + 1, + 2, + [] + ], + [ + "add", + 130, + 267, + -1, + 2, + [] + ], + [ + "add", + 130, + 270, + -1, + 4, + [] + ], + [ + "add", + 130, + 271, + 1, + 4, + [] + ], + [ + "add", + 130, + 283, + -1, + 1, + [] + ], + [ + "add", + 130, + 299, + -1, + 1, + [] + ], + [ + "add", + 130, + 306, + 1, + 4, + [] + ], + [ + "add", + 130, + 308, + -1, + 4, + [] + ], + [ + "add", + 130, + 313, + 1, + 2, + [] + ], + [ + "add", + 130, + 315, + -1, + 2, + [] + ], + [ + "add", + 130, + 318, + -1, + 4, + [] + ], + [ + "add", + 130, + 319, + 1, + 2, + [] + ], + [ + "add", + 130, + 326, + 1, + 4, + [] + ], + [ + "add", + 130, + 328, + 1, + 2, + [] + ], + [ + "add", + 130, + 331, + -1, + 4, + [] + ], + [ + "add", + 130, + 332, + 1, + 4, + [] + ], + [ + "add", + 130, + 335, + 1, + 2, + [] + ], + [ + "add", + 130, + 342, + -1, + 4, + [] + ], + [ + "add", + 130, + 347, + -1, + 4, + [] + ], + [ + "add", + 130, + 348, + 1, + 4, + [] + ], + [ + "add", + 130, + 350, + 1, + 2, + [] + ], + [ + "add", + 130, + 351, + -1, + 2, + [] + ], + [ + "add", + 130, + 354, + -1, + 4, + [] + ], + [ + "add", + 130, + 356, + 1, + 4, + [] + ], + [ + "add", + 130, + 359, + 1, + 4, + [] + ], + [ + "add", + 130, + 363, + -1, + 2, + [] + ], + [ + "add", + 130, + 365, + 1, + 2, + [] + ], + [ + "add", + 130, + 366, + 1, + 4, + [] + ], + [ + "add", + 130, + 402, + -1, + 4, + [] + ], + [ + "add", + 130, + 403, + 1, + 4, + [] + ], + [ + "add", + 130, + 404, + -1, + 4, + [] + ], + [ + "add", + 130, + 405, + 1, + 4, + [] + ], + [ + "add", + 130, + 408, + -1, + 4, + [] + ], + [ + "add", + 130, + 409, + 1, + 4, + [] + ], + [ + "add", + 130, + 410, + -1, + 2, + [] + ], + [ + "add", + 130, + 411, + 1, + 2, + [] + ], + [ + "add", + 130, + 414, + 1, + 4, + [] + ], + [ + "add", + 130, + 415, + -1, + 4, + [] + ], + [ + "add", + 130, + 418, + -1, + 4, + [] + ], + [ + "add", + 130, + 419, + 1, + 4, + [] + ], + [ + "add", + 130, + 420, + -1, + 4, + [] + ], + [ + "add", + 130, + 421, + 1, + 4, + [] + ], + [ + "add", + 130, + 424, + -1, + 4, + [] + ], + [ + "add", + 130, + 425, + 1, + 4, + [] + ], + [ + "add", + 130, + 426, + -1, + 2, + [] + ], + [ + "add", + 130, + 427, + 1, + 2, + [] + ], + [ + "add", + 130, + 430, + 1, + 4, + [] + ], + [ + "add", + 130, + 431, + -1, + 4, + [] + ], + [ + "add", + 130, + 499, + 1, + 4, + [] + ], + [ + "add", + 152, + 224, + 1, + 2, + [] + ], + [ + "add", + 152, + 225, + -1, + 2, + [] + ], + [ + "add", + 152, + 230, + -1, + 2, + [] + ], + [ + "add", + 152, + 231, + 1, + 2, + [] + ], + [ + "add", + 152, + 234, + 1, + 2, + [] + ], + [ + "add", + 152, + 235, + -1, + 2, + [] + ], + [ + "add", + 152, + 236, + 1, + 2, + [] + ], + [ + "add", + 152, + 237, + -1, + 2, + [] + ], + [ + "add", + 152, + 243, + -1, + 4, + [] + ], + [ + "add", + 152, + 244, + 1, + 4, + [] + ], + [ + "add", + 152, + 245, + -1, + 4, + [] + ], + [ + "add", + 152, + 248, + 1, + 4, + [] + ], + [ + "add", + 152, + 249, + -1, + 4, + [] + ], + [ + "add", + 152, + 250, + 1, + 2, + [] + ], + [ + "add", + 152, + 251, + -1, + 2, + [] + ], + [ + "add", + 152, + 254, + -1, + 4, + [] + ], + [ + "add", + 152, + 255, + 1, + 4, + [] + ], + [ + "add", + 152, + 259, + -1, + 4, + [] + ], + [ + "add", + 152, + 260, + 1, + 4, + [] + ], + [ + "add", + 152, + 261, + -1, + 4, + [] + ], + [ + "add", + 152, + 264, + 1, + 4, + [] + ], + [ + "add", + 152, + 265, + -1, + 4, + [] + ], + [ + "add", + 152, + 266, + 1, + 2, + [] + ], + [ + "add", + 152, + 267, + -1, + 2, + [] + ], + [ + "add", + 152, + 270, + -1, + 4, + [] + ], + [ + "add", + 152, + 271, + 1, + 4, + [] + ], + [ + "add", + 152, + 283, + -1, + 1, + [] + ], + [ + "add", + 152, + 299, + -1, + 1, + [] + ], + [ + "add", + 152, + 306, + 1, + 4, + [] + ], + [ + "add", + 152, + 308, + -1, + 4, + [] + ], + [ + "add", + 152, + 313, + 1, + 2, + [] + ], + [ + "add", + 152, + 315, + -1, + 2, + [] + ], + [ + "add", + 152, + 318, + -1, + 4, + [] + ], + [ + "add", + 152, + 319, + 1, + 2, + [] + ], + [ + "add", + 152, + 326, + 1, + 4, + [] + ], + [ + "add", + 152, + 328, + 1, + 2, + [] + ], + [ + "add", + 152, + 331, + -1, + 4, + [] + ], + [ + "add", + 152, + 332, + 1, + 4, + [] + ], + [ + "add", + 152, + 335, + 1, + 2, + [] + ], + [ + "add", + 152, + 342, + -1, + 4, + [] + ], + [ + "add", + 152, + 347, + -1, + 4, + [] + ], + [ + "add", + 152, + 348, + 1, + 4, + [] + ], + [ + "add", + 152, + 350, + 1, + 2, + [] + ], + [ + "add", + 152, + 351, + -1, + 2, + [] + ], + [ + "add", + 152, + 354, + -1, + 4, + [] + ], + [ + "add", + 152, + 356, + 1, + 4, + [] + ], + [ + "add", + 152, + 359, + 1, + 4, + [] + ], + [ + "add", + 152, + 363, + -1, + 2, + [] + ], + [ + "add", + 152, + 365, + 1, + 2, + [] + ], + [ + "add", + 152, + 366, + 1, + 4, + [] + ], + [ + "add", + 152, + 402, + -1, + 4, + [] + ], + [ + "add", + 152, + 403, + 1, + 4, + [] + ], + [ + "add", + 152, + 404, + -1, + 4, + [] + ], + [ + "add", + 152, + 405, + 1, + 4, + [] + ], + [ + "add", + 152, + 408, + -1, + 4, + [] + ], + [ + "add", + 152, + 409, + 1, + 4, + [] + ], + [ + "add", + 152, + 410, + -1, + 2, + [] + ], + [ + "add", + 152, + 411, + 1, + 2, + [] + ], + [ + "add", + 152, + 414, + 1, + 4, + [] + ], + [ + "add", + 152, + 415, + -1, + 4, + [] + ], + [ + "add", + 152, + 418, + -1, + 4, + [] + ], + [ + "add", + 152, + 419, + 1, + 4, + [] + ], + [ + "add", + 152, + 420, + -1, + 4, + [] + ], + [ + "add", + 152, + 421, + 1, + 4, + [] + ], + [ + "add", + 152, + 424, + -1, + 4, + [] + ], + [ + "add", + 152, + 425, + 1, + 4, + [] + ], + [ + "add", + 152, + 426, + -1, + 2, + [] + ], + [ + "add", + 152, + 427, + 1, + 2, + [] + ], + [ + "add", + 152, + 430, + 1, + 4, + [] + ], + [ + "add", + 152, + 431, + -1, + 4, + [] + ], + [ + "add", + 152, + 499, + 1, + 4, + [] + ], + [ + "add", + 131, + 243, + -1, + 4, + [] + ], + [ + "add", + 131, + 244, + 1, + 4, + [] + ], + [ + "add", + 131, + 245, + -1, + 4, + [] + ], + [ + "add", + 131, + 248, + 1, + 4, + [] + ], + [ + "add", + 131, + 249, + -1, + 4, + [] + ], + [ + "add", + 131, + 250, + -1, + 2, + [] + ], + [ + "add", + 131, + 251, + 1, + 2, + [] + ], + [ + "add", + 131, + 254, + -1, + 4, + [] + ], + [ + "add", + 131, + 255, + 1, + 4, + [] + ], + [ + "add", + 131, + 259, + 1, + 4, + [] + ], + [ + "add", + 131, + 260, + -1, + 4, + [] + ], + [ + "add", + 131, + 261, + 1, + 4, + [] + ], + [ + "add", + 131, + 264, + -1, + 4, + [] + ], + [ + "add", + 131, + 265, + 1, + 4, + [] + ], + [ + "add", + 131, + 266, + 1, + 2, + [] + ], + [ + "add", + 131, + 267, + -1, + 2, + [] + ], + [ + "add", + 131, + 270, + 1, + 4, + [] + ], + [ + "add", + 131, + 271, + -1, + 4, + [] + ], + [ + "add", + 131, + 288, + -1, + 2, + [] + ], + [ + "add", + 131, + 292, + 1, + 2, + [] + ], + [ + "add", + 131, + 296, + 1, + 2, + [] + ], + [ + "add", + 131, + 302, + 1, + 2, + [] + ], + [ + "add", + 131, + 306, + -1, + 4, + [] + ], + [ + "add", + 131, + 308, + 1, + 4, + [] + ], + [ + "add", + 131, + 313, + 1, + 2, + [] + ], + [ + "add", + 131, + 315, + -1, + 2, + [] + ], + [ + "add", + 131, + 318, + 1, + 4, + [] + ], + [ + "add", + 131, + 319, + -1, + 2, + [] + ], + [ + "add", + 131, + 326, + -1, + 4, + [] + ], + [ + "add", + 131, + 328, + 1, + 2, + [] + ], + [ + "add", + 131, + 331, + 1, + 4, + [] + ], + [ + "add", + 131, + 332, + -1, + 4, + [] + ], + [ + "add", + 131, + 335, + 1, + 2, + [] + ], + [ + "add", + 131, + 342, + 1, + 4, + [] + ], + [ + "add", + 131, + 347, + 1, + 4, + [] + ], + [ + "add", + 131, + 348, + -1, + 4, + [] + ], + [ + "add", + 131, + 350, + 1, + 2, + [] + ], + [ + "add", + 131, + 351, + -1, + 2, + [] + ], + [ + "add", + 131, + 354, + -1, + 4, + [] + ], + [ + "add", + 131, + 356, + 1, + 4, + [] + ], + [ + "add", + 131, + 359, + 1, + 4, + [] + ], + [ + "add", + 131, + 363, + 1, + 2, + [] + ], + [ + "add", + 131, + 365, + -1, + 2, + [] + ], + [ + "add", + 131, + 366, + 1, + 4, + [] + ], + [ + "add", + 131, + 384, + -1, + 2, + [] + ], + [ + "add", + 131, + 388, + 1, + 2, + [] + ], + [ + "add", + 131, + 398, + 1, + 2, + [] + ], + [ + "add", + 131, + 399, + -1, + 2, + [] + ], + [ + "add", + 131, + 402, + 1, + 4, + [] + ], + [ + "add", + 131, + 403, + -1, + 4, + [] + ], + [ + "add", + 131, + 404, + 1, + 4, + [] + ], + [ + "add", + 131, + 405, + -1, + 4, + [] + ], + [ + "add", + 131, + 408, + 1, + 4, + [] + ], + [ + "add", + 131, + 409, + -1, + 4, + [] + ], + [ + "add", + 131, + 410, + -1, + 2, + [] + ], + [ + "add", + 131, + 411, + 1, + 2, + [] + ], + [ + "add", + 131, + 414, + -1, + 4, + [] + ], + [ + "add", + 131, + 415, + 1, + 4, + [] + ], + [ + "add", + 131, + 418, + -1, + 4, + [] + ], + [ + "add", + 131, + 419, + 1, + 4, + [] + ], + [ + "add", + 131, + 420, + -1, + 4, + [] + ], + [ + "add", + 131, + 421, + 1, + 4, + [] + ], + [ + "add", + 131, + 424, + -1, + 4, + [] + ], + [ + "add", + 131, + 425, + 1, + 4, + [] + ], + [ + "add", + 131, + 426, + 1, + 2, + [] + ], + [ + "add", + 131, + 427, + -1, + 2, + [] + ], + [ + "add", + 131, + 430, + 1, + 4, + [] + ], + [ + "add", + 131, + 431, + -1, + 4, + [] + ], + [ + "add", + 131, + 432, + -1, + 2, + [] + ], + [ + "add", + 131, + 433, + 1, + 2, + [] + ], + [ + "add", + 131, + 438, + -1, + 2, + [] + ], + [ + "add", + 131, + 439, + 1, + 2, + [] + ], + [ + "add", + 131, + 442, + 1, + 2, + [] + ], + [ + "add", + 131, + 443, + -1, + 2, + [] + ], + [ + "add", + 131, + 444, + -1, + 2, + [] + ], + [ + "add", + 131, + 445, + 1, + 2, + [] + ], + [ + "add", + 131, + 499, + -1, + 4, + [] + ], + [ + "add", + 151, + 243, + -1, + 4, + [] + ], + [ + "add", + 151, + 244, + 1, + 4, + [] + ], + [ + "add", + 151, + 245, + -1, + 4, + [] + ], + [ + "add", + 151, + 248, + 1, + 4, + [] + ], + [ + "add", + 151, + 249, + -1, + 4, + [] + ], + [ + "add", + 151, + 250, + -1, + 2, + [] + ], + [ + "add", + 151, + 251, + 1, + 2, + [] + ], + [ + "add", + 151, + 254, + -1, + 4, + [] + ], + [ + "add", + 151, + 255, + 1, + 4, + [] + ], + [ + "add", + 151, + 259, + -1, + 4, + [] + ], + [ + "add", + 151, + 260, + 1, + 4, + [] + ], + [ + "add", + 151, + 261, + -1, + 4, + [] + ], + [ + "add", + 151, + 264, + 1, + 4, + [] + ], + [ + "add", + 151, + 265, + -1, + 4, + [] + ], + [ + "add", + 151, + 266, + -1, + 2, + [] + ], + [ + "add", + 151, + 267, + 1, + 2, + [] + ], + [ + "add", + 151, + 270, + -1, + 4, + [] + ], + [ + "add", + 151, + 271, + 1, + 4, + [] + ], + [ + "add", + 151, + 303, + 1, + 1, + [] + ], + [ + "add", + 151, + 306, + 1, + 4, + [] + ], + [ + "add", + 151, + 308, + -1, + 4, + [] + ], + [ + "add", + 151, + 313, + -1, + 2, + [] + ], + [ + "add", + 151, + 315, + 1, + 2, + [] + ], + [ + "add", + 151, + 318, + -1, + 4, + [] + ], + [ + "add", + 151, + 319, + 1, + 2, + [] + ], + [ + "add", + 151, + 326, + -1, + 4, + [] + ], + [ + "add", + 151, + 328, + 1, + 2, + [] + ], + [ + "add", + 151, + 331, + 1, + 4, + [] + ], + [ + "add", + 151, + 332, + -1, + 4, + [] + ], + [ + "add", + 151, + 335, + 1, + 2, + [] + ], + [ + "add", + 151, + 342, + -1, + 4, + [] + ], + [ + "add", + 151, + 347, + -1, + 4, + [] + ], + [ + "add", + 151, + 348, + 1, + 4, + [] + ], + [ + "add", + 151, + 350, + -1, + 2, + [] + ], + [ + "add", + 151, + 351, + 1, + 2, + [] + ], + [ + "add", + 151, + 354, + -1, + 4, + [] + ], + [ + "add", + 151, + 356, + 1, + 4, + [] + ], + [ + "add", + 151, + 359, + 1, + 4, + [] + ], + [ + "add", + 151, + 363, + 1, + 2, + [] + ], + [ + "add", + 151, + 365, + -1, + 2, + [] + ], + [ + "add", + 151, + 366, + 1, + 4, + [] + ], + [ + "add", + 151, + 399, + 1, + 1, + [] + ], + [ + "add", + 151, + 402, + 1, + 4, + [] + ], + [ + "add", + 151, + 403, + -1, + 4, + [] + ], + [ + "add", + 151, + 404, + 1, + 4, + [] + ], + [ + "add", + 151, + 405, + -1, + 4, + [] + ], + [ + "add", + 151, + 408, + 1, + 4, + [] + ], + [ + "add", + 151, + 409, + -1, + 4, + [] + ], + [ + "add", + 151, + 410, + -1, + 2, + [] + ], + [ + "add", + 151, + 411, + 1, + 2, + [] + ], + [ + "add", + 151, + 414, + -1, + 4, + [] + ], + [ + "add", + 151, + 415, + 1, + 4, + [] + ], + [ + "add", + 151, + 418, + 1, + 4, + [] + ], + [ + "add", + 151, + 419, + -1, + 4, + [] + ], + [ + "add", + 151, + 420, + 1, + 4, + [] + ], + [ + "add", + 151, + 421, + -1, + 4, + [] + ], + [ + "add", + 151, + 424, + 1, + 4, + [] + ], + [ + "add", + 151, + 425, + -1, + 4, + [] + ], + [ + "add", + 151, + 426, + -1, + 2, + [] + ], + [ + "add", + 151, + 427, + 1, + 2, + [] + ], + [ + "add", + 151, + 430, + -1, + 4, + [] + ], + [ + "add", + 151, + 431, + 1, + 4, + [] + ], + [ + "add", + 151, + 446, + -1, + 1, + [] + ], + [ + "add", + 151, + 447, + 1, + 1, + [] + ], + [ + "add", + 151, + 499, + 1, + 4, + [] + ], + [ + "add", + 195, + 224, + -1, + 1, + [] + ], + [ + "add", + 195, + 225, + 1, + 1, + [] + ], + [ + "add", + 195, + 241, + 1, + 4, + [] + ], + [ + "add", + 195, + 246, + -1, + 4, + [] + ], + [ + "add", + 195, + 247, + 1, + 4, + [] + ], + [ + "add", + 195, + 250, + 1, + 4, + [] + ], + [ + "add", + 195, + 251, + -1, + 4, + [] + ], + [ + "add", + 195, + 252, + -1, + 4, + [] + ], + [ + "add", + 195, + 253, + 1, + 4, + [] + ], + [ + "add", + 195, + 254, + -1, + 2, + [] + ], + [ + "add", + 195, + 255, + 1, + 2, + [] + ], + [ + "add", + 195, + 257, + 1, + 2, + [] + ], + [ + "add", + 195, + 259, + 1, + 4, + [] + ], + [ + "add", + 195, + 260, + 1, + 4, + [] + ], + [ + "add", + 195, + 261, + -1, + 4, + [] + ], + [ + "add", + 195, + 264, + -1, + 4, + [] + ], + [ + "add", + 195, + 265, + 1, + 4, + [] + ], + [ + "add", + 195, + 270, + -1, + 4, + [] + ], + [ + "add", + 195, + 271, + 1, + 4, + [] + ], + [ + "add", + 195, + 278, + 1, + 4, + [] + ], + [ + "add", + 195, + 283, + 1, + 4, + [] + ], + [ + "add", + 195, + 284, + -1, + 4, + [] + ], + [ + "add", + 195, + 286, + -1, + 2, + [] + ], + [ + "add", + 195, + 287, + 1, + 2, + [] + ], + [ + "add", + 195, + 290, + 1, + 4, + [] + ], + [ + "add", + 195, + 292, + -1, + 4, + [] + ], + [ + "add", + 195, + 295, + -1, + 4, + [] + ], + [ + "add", + 195, + 299, + 1, + 2, + [] + ], + [ + "add", + 195, + 301, + -1, + 2, + [] + ], + [ + "add", + 195, + 302, + -1, + 4, + [] + ], + [ + "add", + 195, + 336, + -1, + 2, + [] + ], + [ + "add", + 195, + 340, + -1, + 2, + [] + ], + [ + "add", + 195, + 350, + -1, + 2, + [] + ], + [ + "add", + 195, + 351, + 1, + 2, + [] + ], + [ + "add", + 195, + 352, + -1, + 2, + [] + ], + [ + "add", + 195, + 356, + -1, + 2, + [] + ], + [ + "add", + 195, + 366, + -1, + 2, + [] + ], + [ + "add", + 195, + 367, + 1, + 2, + [] + ], + [ + "add", + 195, + 370, + 1, + 4, + [] + ], + [ + "add", + 195, + 372, + -1, + 4, + [] + ], + [ + "add", + 195, + 375, + 1, + 4, + [] + ], + [ + "add", + 195, + 377, + 1, + 2, + [] + ], + [ + "add", + 195, + 379, + -1, + 2, + [] + ], + [ + "add", + 195, + 382, + -1, + 4, + [] + ], + [ + "add", + 195, + 383, + 1, + 2, + [] + ], + [ + "add", + 195, + 390, + 1, + 4, + [] + ], + [ + "add", + 195, + 392, + 1, + 2, + [] + ], + [ + "add", + 195, + 395, + -1, + 4, + [] + ], + [ + "add", + 195, + 396, + 1, + 4, + [] + ], + [ + "add", + 195, + 399, + 1, + 2, + [] + ], + [ + "add", + 195, + 402, + 1, + 4, + [] + ], + [ + "add", + 195, + 403, + -1, + 4, + [] + ], + [ + "add", + 195, + 404, + 1, + 4, + [] + ], + [ + "add", + 195, + 405, + -1, + 4, + [] + ], + [ + "add", + 195, + 408, + 1, + 4, + [] + ], + [ + "add", + 195, + 409, + -1, + 4, + [] + ], + [ + "add", + 195, + 410, + 1, + 2, + [] + ], + [ + "add", + 195, + 411, + -1, + 2, + [] + ], + [ + "add", + 195, + 414, + -1, + 4, + [] + ], + [ + "add", + 195, + 415, + 1, + 4, + [] + ], + [ + "add", + 195, + 417, + -1, + 4, + [] + ], + [ + "add", + 195, + 418, + 1, + 2, + [] + ], + [ + "add", + 195, + 419, + -1, + 2, + [] + ], + [ + "add", + 195, + 422, + -1, + 4, + [] + ], + [ + "add", + 195, + 423, + 1, + 4, + [] + ], + [ + "add", + 195, + 426, + 1, + 4, + [] + ], + [ + "add", + 195, + 427, + -1, + 4, + [] + ], + [ + "add", + 195, + 428, + 1, + 4, + [] + ], + [ + "add", + 195, + 429, + -1, + 4, + [] + ], + [ + "add", + 195, + 548, + 1, + 4, + [] + ], + [ + "add", + 195, + 549, + 1, + 4, + [] + ], + [ + "add", + 195, + 558, + 1, + 4, + [] + ], + [ + "add", + 195, + 570, + 1, + 4, + [] + ], + [ + "add", + 185, + 224, + -1, + 1, + [] + ], + [ + "add", + 185, + 225, + 1, + 1, + [] + ], + [ + "add", + 185, + 241, + 1, + 4, + [] + ], + [ + "add", + 185, + 246, + -1, + 4, + [] + ], + [ + "add", + 185, + 247, + 1, + 4, + [] + ], + [ + "add", + 185, + 250, + 1, + 4, + [] + ], + [ + "add", + 185, + 251, + -1, + 4, + [] + ], + [ + "add", + 185, + 252, + -1, + 4, + [] + ], + [ + "add", + 185, + 253, + 1, + 4, + [] + ], + [ + "add", + 185, + 254, + -1, + 2, + [] + ], + [ + "add", + 185, + 255, + 1, + 2, + [] + ], + [ + "add", + 185, + 257, + 1, + 2, + [] + ], + [ + "add", + 185, + 259, + 1, + 4, + [] + ], + [ + "add", + 185, + 260, + 1, + 4, + [] + ], + [ + "add", + 185, + 261, + -1, + 4, + [] + ], + [ + "add", + 185, + 264, + -1, + 4, + [] + ], + [ + "add", + 185, + 265, + 1, + 4, + [] + ], + [ + "add", + 185, + 270, + -1, + 4, + [] + ], + [ + "add", + 185, + 271, + 1, + 4, + [] + ], + [ + "add", + 185, + 278, + 1, + 4, + [] + ], + [ + "add", + 185, + 283, + 1, + 4, + [] + ], + [ + "add", + 185, + 284, + -1, + 4, + [] + ], + [ + "add", + 185, + 286, + -1, + 2, + [] + ], + [ + "add", + 185, + 287, + 1, + 2, + [] + ], + [ + "add", + 185, + 290, + 1, + 4, + [] + ], + [ + "add", + 185, + 292, + -1, + 4, + [] + ], + [ + "add", + 185, + 295, + -1, + 4, + [] + ], + [ + "add", + 185, + 299, + 1, + 2, + [] + ], + [ + "add", + 185, + 301, + -1, + 2, + [] + ], + [ + "add", + 185, + 302, + -1, + 4, + [] + ], + [ + "add", + 185, + 336, + -1, + 2, + [] + ], + [ + "add", + 185, + 340, + -1, + 2, + [] + ], + [ + "add", + 185, + 350, + -1, + 2, + [] + ], + [ + "add", + 185, + 351, + 1, + 2, + [] + ], + [ + "add", + 185, + 352, + -1, + 2, + [] + ], + [ + "add", + 185, + 356, + -1, + 2, + [] + ], + [ + "add", + 185, + 366, + -1, + 2, + [] + ], + [ + "add", + 185, + 367, + 1, + 2, + [] + ], + [ + "add", + 185, + 370, + 1, + 4, + [] + ], + [ + "add", + 185, + 372, + -1, + 4, + [] + ], + [ + "add", + 185, + 375, + 1, + 4, + [] + ], + [ + "add", + 185, + 377, + 1, + 2, + [] + ], + [ + "add", + 185, + 379, + -1, + 2, + [] + ], + [ + "add", + 185, + 382, + -1, + 4, + [] + ], + [ + "add", + 185, + 383, + 1, + 2, + [] + ], + [ + "add", + 185, + 390, + 1, + 4, + [] + ], + [ + "add", + 185, + 392, + 1, + 2, + [] + ], + [ + "add", + 185, + 395, + -1, + 4, + [] + ], + [ + "add", + 185, + 396, + 1, + 4, + [] + ], + [ + "add", + 185, + 399, + 1, + 2, + [] + ], + [ + "add", + 185, + 402, + 1, + 4, + [] + ], + [ + "add", + 185, + 403, + -1, + 4, + [] + ], + [ + "add", + 185, + 404, + 1, + 4, + [] + ], + [ + "add", + 185, + 405, + -1, + 4, + [] + ], + [ + "add", + 185, + 408, + 1, + 4, + [] + ], + [ + "add", + 185, + 409, + -1, + 4, + [] + ], + [ + "add", + 185, + 410, + 1, + 2, + [] + ], + [ + "add", + 185, + 411, + -1, + 2, + [] + ], + [ + "add", + 185, + 414, + -1, + 4, + [] + ], + [ + "add", + 185, + 415, + 1, + 4, + [] + ], + [ + "add", + 185, + 417, + -1, + 4, + [] + ], + [ + "add", + 185, + 418, + 1, + 2, + [] + ], + [ + "add", + 185, + 419, + -1, + 2, + [] + ], + [ + "add", + 185, + 422, + -1, + 4, + [] + ], + [ + "add", + 185, + 423, + 1, + 4, + [] + ], + [ + "add", + 185, + 426, + 1, + 4, + [] + ], + [ + "add", + 185, + 427, + -1, + 4, + [] + ], + [ + "add", + 185, + 428, + 1, + 4, + [] + ], + [ + "add", + 185, + 429, + -1, + 4, + [] + ], + [ + "add", + 185, + 548, + 1, + 4, + [] + ], + [ + "add", + 185, + 549, + 1, + 4, + [] + ], + [ + "add", + 185, + 558, + 1, + 4, + [] + ], + [ + "add", + 185, + 570, + 1, + 4, + [] + ], + [ + "add", + 196, + 241, + -1, + 4, + [] + ], + [ + "add", + 196, + 246, + 1, + 4, + [] + ], + [ + "add", + 196, + 247, + -1, + 4, + [] + ], + [ + "add", + 196, + 250, + -1, + 4, + [] + ], + [ + "add", + 196, + 251, + 1, + 4, + [] + ], + [ + "add", + 196, + 252, + 1, + 4, + [] + ], + [ + "add", + 196, + 253, + -1, + 4, + [] + ], + [ + "add", + 196, + 254, + -1, + 2, + [] + ], + [ + "add", + 196, + 255, + 1, + 2, + [] + ], + [ + "add", + 196, + 257, + -1, + 2, + [] + ], + [ + "add", + 196, + 259, + 1, + 4, + [] + ], + [ + "add", + 196, + 260, + 1, + 4, + [] + ], + [ + "add", + 196, + 261, + -1, + 4, + [] + ], + [ + "add", + 196, + 264, + -1, + 4, + [] + ], + [ + "add", + 196, + 265, + 1, + 4, + [] + ], + [ + "add", + 196, + 270, + -1, + 4, + [] + ], + [ + "add", + 196, + 271, + 1, + 4, + [] + ], + [ + "add", + 196, + 278, + 1, + 4, + [] + ], + [ + "add", + 196, + 283, + 1, + 4, + [] + ], + [ + "add", + 196, + 284, + -1, + 4, + [] + ], + [ + "add", + 196, + 286, + 1, + 2, + [] + ], + [ + "add", + 196, + 287, + -1, + 2, + [] + ], + [ + "add", + 196, + 290, + -1, + 4, + [] + ], + [ + "add", + 196, + 292, + 1, + 4, + [] + ], + [ + "add", + 196, + 295, + 1, + 4, + [] + ], + [ + "add", + 196, + 299, + 1, + 2, + [] + ], + [ + "add", + 196, + 301, + -1, + 2, + [] + ], + [ + "add", + 196, + 302, + 1, + 4, + [] + ], + [ + "add", + 196, + 320, + -1, + 2, + [] + ], + [ + "add", + 196, + 324, + 1, + 2, + [] + ], + [ + "add", + 196, + 334, + 1, + 2, + [] + ], + [ + "add", + 196, + 335, + -1, + 2, + [] + ], + [ + "add", + 196, + 352, + -1, + 2, + [] + ], + [ + "add", + 196, + 356, + 1, + 2, + [] + ], + [ + "add", + 196, + 366, + 1, + 2, + [] + ], + [ + "add", + 196, + 367, + -1, + 2, + [] + ], + [ + "add", + 196, + 370, + -1, + 4, + [] + ], + [ + "add", + 196, + 372, + 1, + 4, + [] + ], + [ + "add", + 196, + 375, + -1, + 4, + [] + ], + [ + "add", + 196, + 377, + 1, + 2, + [] + ], + [ + "add", + 196, + 379, + -1, + 2, + [] + ], + [ + "add", + 196, + 382, + 1, + 4, + [] + ], + [ + "add", + 196, + 383, + -1, + 2, + [] + ], + [ + "add", + 196, + 390, + -1, + 4, + [] + ], + [ + "add", + 196, + 392, + 1, + 2, + [] + ], + [ + "add", + 196, + 395, + 1, + 4, + [] + ], + [ + "add", + 196, + 396, + -1, + 4, + [] + ], + [ + "add", + 196, + 399, + 1, + 2, + [] + ], + [ + "add", + 196, + 402, + 1, + 4, + [] + ], + [ + "add", + 196, + 403, + -1, + 4, + [] + ], + [ + "add", + 196, + 404, + 1, + 4, + [] + ], + [ + "add", + 196, + 405, + -1, + 4, + [] + ], + [ + "add", + 196, + 408, + 1, + 4, + [] + ], + [ + "add", + 196, + 409, + -1, + 4, + [] + ], + [ + "add", + 196, + 410, + -1, + 2, + [] + ], + [ + "add", + 196, + 411, + 1, + 2, + [] + ], + [ + "add", + 196, + 414, + -1, + 4, + [] + ], + [ + "add", + 196, + 415, + 1, + 4, + [] + ], + [ + "add", + 196, + 417, + -1, + 4, + [] + ], + [ + "add", + 196, + 418, + -1, + 2, + [] + ], + [ + "add", + 196, + 419, + 1, + 2, + [] + ], + [ + "add", + 196, + 422, + -1, + 4, + [] + ], + [ + "add", + 196, + 423, + 1, + 4, + [] + ], + [ + "add", + 196, + 426, + 1, + 4, + [] + ], + [ + "add", + 196, + 427, + -1, + 4, + [] + ], + [ + "add", + 196, + 428, + 1, + 4, + [] + ], + [ + "add", + 196, + 429, + -1, + 4, + [] + ], + [ + "add", + 196, + 434, + -1, + 2, + [] + ], + [ + "add", + 196, + 435, + 1, + 2, + [] + ], + [ + "add", + 196, + 436, + 1, + 2, + [] + ], + [ + "add", + 196, + 437, + -1, + 2, + [] + ], + [ + "add", + 196, + 440, + -1, + 2, + [] + ], + [ + "add", + 196, + 441, + 1, + 2, + [] + ], + [ + "add", + 196, + 446, + -1, + 2, + [] + ], + [ + "add", + 196, + 447, + 1, + 2, + [] + ], + [ + "add", + 196, + 548, + 1, + 4, + [] + ], + [ + "add", + 196, + 549, + -1, + 4, + [] + ], + [ + "add", + 196, + 558, + -1, + 4, + [] + ], + [ + "add", + 196, + 570, + -1, + 4, + [] + ], + [ + "add", + 186, + 241, + -1, + 4, + [] + ], + [ + "add", + 186, + 246, + 1, + 4, + [] + ], + [ + "add", + 186, + 247, + -1, + 4, + [] + ], + [ + "add", + 186, + 250, + -1, + 4, + [] + ], + [ + "add", + 186, + 251, + 1, + 4, + [] + ], + [ + "add", + 186, + 252, + 1, + 4, + [] + ], + [ + "add", + 186, + 253, + -1, + 4, + [] + ], + [ + "add", + 186, + 254, + -1, + 2, + [] + ], + [ + "add", + 186, + 255, + 1, + 2, + [] + ], + [ + "add", + 186, + 257, + 1, + 2, + [] + ], + [ + "add", + 186, + 259, + -1, + 4, + [] + ], + [ + "add", + 186, + 260, + -1, + 4, + [] + ], + [ + "add", + 186, + 261, + 1, + 4, + [] + ], + [ + "add", + 186, + 264, + 1, + 4, + [] + ], + [ + "add", + 186, + 265, + -1, + 4, + [] + ], + [ + "add", + 186, + 270, + 1, + 4, + [] + ], + [ + "add", + 186, + 271, + -1, + 4, + [] + ], + [ + "add", + 186, + 278, + -1, + 4, + [] + ], + [ + "add", + 186, + 283, + -1, + 4, + [] + ], + [ + "add", + 186, + 284, + 1, + 4, + [] + ], + [ + "add", + 186, + 286, + -1, + 2, + [] + ], + [ + "add", + 186, + 287, + 1, + 2, + [] + ], + [ + "add", + 186, + 290, + -1, + 4, + [] + ], + [ + "add", + 186, + 292, + 1, + 4, + [] + ], + [ + "add", + 186, + 295, + 1, + 4, + [] + ], + [ + "add", + 186, + 299, + 1, + 2, + [] + ], + [ + "add", + 186, + 301, + -1, + 2, + [] + ], + [ + "add", + 186, + 302, + 1, + 4, + [] + ], + [ + "add", + 186, + 335, + 1, + 1, + [] + ], + [ + "add", + 186, + 367, + 1, + 1, + [] + ], + [ + "add", + 186, + 370, + 1, + 4, + [] + ], + [ + "add", + 186, + 372, + -1, + 4, + [] + ], + [ + "add", + 186, + 375, + 1, + 4, + [] + ], + [ + "add", + 186, + 377, + -1, + 2, + [] + ], + [ + "add", + 186, + 379, + 1, + 2, + [] + ], + [ + "add", + 186, + 382, + -1, + 4, + [] + ], + [ + "add", + 186, + 383, + 1, + 2, + [] + ], + [ + "add", + 186, + 390, + -1, + 4, + [] + ], + [ + "add", + 186, + 392, + 1, + 2, + [] + ], + [ + "add", + 186, + 395, + 1, + 4, + [] + ], + [ + "add", + 186, + 396, + -1, + 4, + [] + ], + [ + "add", + 186, + 399, + 1, + 2, + [] + ], + [ + "add", + 186, + 402, + 1, + 4, + [] + ], + [ + "add", + 186, + 403, + -1, + 4, + [] + ], + [ + "add", + 186, + 404, + 1, + 4, + [] + ], + [ + "add", + 186, + 405, + -1, + 4, + [] + ], + [ + "add", + 186, + 408, + 1, + 4, + [] + ], + [ + "add", + 186, + 409, + -1, + 4, + [] + ], + [ + "add", + 186, + 410, + -1, + 2, + [] + ], + [ + "add", + 186, + 411, + 1, + 2, + [] + ], + [ + "add", + 186, + 414, + -1, + 4, + [] + ], + [ + "add", + 186, + 415, + 1, + 4, + [] + ], + [ + "add", + 186, + 417, + 1, + 4, + [] + ], + [ + "add", + 186, + 418, + 1, + 2, + [] + ], + [ + "add", + 186, + 419, + -1, + 2, + [] + ], + [ + "add", + 186, + 422, + 1, + 4, + [] + ], + [ + "add", + 186, + 423, + -1, + 4, + [] + ], + [ + "add", + 186, + 426, + -1, + 4, + [] + ], + [ + "add", + 186, + 427, + 1, + 4, + [] + ], + [ + "add", + 186, + 428, + -1, + 4, + [] + ], + [ + "add", + 186, + 429, + 1, + 4, + [] + ], + [ + "add", + 186, + 432, + -1, + 1, + [] + ], + [ + "add", + 186, + 433, + 1, + 1, + [] + ], + [ + "add", + 186, + 548, + -1, + 4, + [] + ], + [ + "add", + 186, + 549, + 1, + 4, + [] + ], + [ + "add", + 186, + 558, + -1, + 4, + [] + ], + [ + "add", + 186, + 570, + -1, + 4, + [] + ], + [ + "add", + 171, + 226, + -1, + 2, + [] + ], + [ + "add", + 171, + 227, + 1, + 2, + [] + ], + [ + "add", + 171, + 228, + 1, + 2, + [] + ], + [ + "add", + 171, + 229, + -1, + 2, + [] + ], + [ + "add", + 171, + 232, + -1, + 2, + [] + ], + [ + "add", + 171, + 233, + 1, + 2, + [] + ], + [ + "add", + 171, + 238, + -1, + 2, + [] + ], + [ + "add", + 171, + 239, + 1, + 2, + [] + ], + [ + "add", + 171, + 241, + 1, + 4, + [] + ], + [ + "add", + 171, + 246, + -1, + 4, + [] + ], + [ + "add", + 171, + 247, + 1, + 4, + [] + ], + [ + "add", + 171, + 250, + 1, + 4, + [] + ], + [ + "add", + 171, + 251, + -1, + 4, + [] + ], + [ + "add", + 171, + 252, + -1, + 4, + [] + ], + [ + "add", + 171, + 253, + 1, + 4, + [] + ], + [ + "add", + 171, + 254, + -1, + 2, + [] + ], + [ + "add", + 171, + 255, + 1, + 2, + [] + ], + [ + "add", + 171, + 257, + 1, + 2, + [] + ], + [ + "add", + 171, + 259, + 1, + 4, + [] + ], + [ + "add", + 171, + 260, + 1, + 4, + [] + ], + [ + "add", + 171, + 261, + -1, + 4, + [] + ], + [ + "add", + 171, + 264, + -1, + 4, + [] + ], + [ + "add", + 171, + 265, + 1, + 4, + [] + ], + [ + "add", + 171, + 270, + -1, + 4, + [] + ], + [ + "add", + 171, + 271, + 1, + 4, + [] + ], + [ + "add", + 171, + 278, + -1, + 4, + [] + ], + [ + "add", + 171, + 283, + -1, + 4, + [] + ], + [ + "add", + 171, + 284, + 1, + 4, + [] + ], + [ + "add", + 171, + 286, + 1, + 2, + [] + ], + [ + "add", + 171, + 287, + -1, + 2, + [] + ], + [ + "add", + 171, + 290, + -1, + 4, + [] + ], + [ + "add", + 171, + 292, + 1, + 4, + [] + ], + [ + "add", + 171, + 295, + 1, + 4, + [] + ], + [ + "add", + 171, + 299, + -1, + 2, + [] + ], + [ + "add", + 171, + 301, + 1, + 2, + [] + ], + [ + "add", + 171, + 302, + 1, + 4, + [] + ], + [ + "add", + 171, + 347, + -1, + 1, + [] + ], + [ + "add", + 171, + 363, + -1, + 1, + [] + ], + [ + "add", + 171, + 370, + 1, + 4, + [] + ], + [ + "add", + 171, + 372, + -1, + 4, + [] + ], + [ + "add", + 171, + 375, + 1, + 4, + [] + ], + [ + "add", + 171, + 377, + 1, + 2, + [] + ], + [ + "add", + 171, + 379, + -1, + 2, + [] + ], + [ + "add", + 171, + 382, + -1, + 4, + [] + ], + [ + "add", + 171, + 383, + 1, + 2, + [] + ], + [ + "add", + 171, + 390, + 1, + 4, + [] + ], + [ + "add", + 171, + 392, + 1, + 2, + [] + ], + [ + "add", + 171, + 395, + -1, + 4, + [] + ], + [ + "add", + 171, + 396, + 1, + 4, + [] + ], + [ + "add", + 171, + 399, + 1, + 2, + [] + ], + [ + "add", + 171, + 402, + -1, + 4, + [] + ], + [ + "add", + 171, + 403, + 1, + 4, + [] + ], + [ + "add", + 171, + 404, + -1, + 4, + [] + ], + [ + "add", + 171, + 405, + 1, + 4, + [] + ], + [ + "add", + 171, + 408, + -1, + 4, + [] + ], + [ + "add", + 171, + 409, + 1, + 4, + [] + ], + [ + "add", + 171, + 410, + -1, + 2, + [] + ], + [ + "add", + 171, + 411, + 1, + 2, + [] + ], + [ + "add", + 171, + 414, + 1, + 4, + [] + ], + [ + "add", + 171, + 415, + -1, + 4, + [] + ], + [ + "add", + 171, + 417, + 1, + 4, + [] + ], + [ + "add", + 171, + 418, + -1, + 2, + [] + ], + [ + "add", + 171, + 419, + 1, + 2, + [] + ], + [ + "add", + 171, + 422, + 1, + 4, + [] + ], + [ + "add", + 171, + 423, + -1, + 4, + [] + ], + [ + "add", + 171, + 426, + -1, + 4, + [] + ], + [ + "add", + 171, + 427, + 1, + 4, + [] + ], + [ + "add", + 171, + 428, + -1, + 4, + [] + ], + [ + "add", + 171, + 429, + 1, + 4, + [] + ], + [ + "add", + 171, + 548, + 1, + 4, + [] + ], + [ + "add", + 171, + 549, + 1, + 4, + [] + ], + [ + "add", + 171, + 558, + 1, + 4, + [] + ], + [ + "add", + 171, + 570, + -1, + 4, + [] + ], + [ + "add", + 142, + 226, + -1, + 2, + [] + ], + [ + "add", + 142, + 227, + 1, + 2, + [] + ], + [ + "add", + 142, + 228, + 1, + 2, + [] + ], + [ + "add", + 142, + 229, + -1, + 2, + [] + ], + [ + "add", + 142, + 232, + -1, + 2, + [] + ], + [ + "add", + 142, + 233, + 1, + 2, + [] + ], + [ + "add", + 142, + 238, + -1, + 2, + [] + ], + [ + "add", + 142, + 239, + 1, + 2, + [] + ], + [ + "add", + 142, + 241, + 1, + 4, + [] + ], + [ + "add", + 142, + 246, + -1, + 4, + [] + ], + [ + "add", + 142, + 247, + 1, + 4, + [] + ], + [ + "add", + 142, + 250, + 1, + 4, + [] + ], + [ + "add", + 142, + 251, + -1, + 4, + [] + ], + [ + "add", + 142, + 252, + -1, + 4, + [] + ], + [ + "add", + 142, + 253, + 1, + 4, + [] + ], + [ + "add", + 142, + 254, + -1, + 2, + [] + ], + [ + "add", + 142, + 255, + 1, + 2, + [] + ], + [ + "add", + 142, + 257, + 1, + 2, + [] + ], + [ + "add", + 142, + 259, + 1, + 4, + [] + ], + [ + "add", + 142, + 260, + 1, + 4, + [] + ], + [ + "add", + 142, + 261, + -1, + 4, + [] + ], + [ + "add", + 142, + 264, + -1, + 4, + [] + ], + [ + "add", + 142, + 265, + 1, + 4, + [] + ], + [ + "add", + 142, + 270, + -1, + 4, + [] + ], + [ + "add", + 142, + 271, + 1, + 4, + [] + ], + [ + "add", + 142, + 278, + -1, + 4, + [] + ], + [ + "add", + 142, + 283, + -1, + 4, + [] + ], + [ + "add", + 142, + 284, + 1, + 4, + [] + ], + [ + "add", + 142, + 286, + 1, + 2, + [] + ], + [ + "add", + 142, + 287, + -1, + 2, + [] + ], + [ + "add", + 142, + 290, + -1, + 4, + [] + ], + [ + "add", + 142, + 292, + 1, + 4, + [] + ], + [ + "add", + 142, + 295, + 1, + 4, + [] + ], + [ + "add", + 142, + 299, + -1, + 2, + [] + ], + [ + "add", + 142, + 301, + 1, + 2, + [] + ], + [ + "add", + 142, + 302, + 1, + 4, + [] + ], + [ + "add", + 142, + 347, + -1, + 1, + [] + ], + [ + "add", + 142, + 363, + -1, + 1, + [] + ], + [ + "add", + 142, + 370, + 1, + 4, + [] + ], + [ + "add", + 142, + 372, + -1, + 4, + [] + ], + [ + "add", + 142, + 375, + 1, + 4, + [] + ], + [ + "add", + 142, + 377, + 1, + 2, + [] + ], + [ + "add", + 142, + 379, + -1, + 2, + [] + ], + [ + "add", + 142, + 382, + -1, + 4, + [] + ], + [ + "add", + 142, + 383, + 1, + 2, + [] + ], + [ + "add", + 142, + 390, + 1, + 4, + [] + ], + [ + "add", + 142, + 392, + 1, + 2, + [] + ], + [ + "add", + 142, + 395, + -1, + 4, + [] + ], + [ + "add", + 142, + 396, + 1, + 4, + [] + ], + [ + "add", + 142, + 399, + 1, + 2, + [] + ], + [ + "add", + 142, + 402, + -1, + 4, + [] + ], + [ + "add", + 142, + 403, + 1, + 4, + [] + ], + [ + "add", + 142, + 404, + -1, + 4, + [] + ], + [ + "add", + 142, + 405, + 1, + 4, + [] + ], + [ + "add", + 142, + 408, + -1, + 4, + [] + ], + [ + "add", + 142, + 409, + 1, + 4, + [] + ], + [ + "add", + 142, + 410, + -1, + 2, + [] + ], + [ + "add", + 142, + 411, + 1, + 2, + [] + ], + [ + "add", + 142, + 414, + 1, + 4, + [] + ], + [ + "add", + 142, + 415, + -1, + 4, + [] + ], + [ + "add", + 142, + 417, + 1, + 4, + [] + ], + [ + "add", + 142, + 418, + -1, + 2, + [] + ], + [ + "add", + 142, + 419, + 1, + 2, + [] + ], + [ + "add", + 142, + 422, + 1, + 4, + [] + ], + [ + "add", + 142, + 423, + -1, + 4, + [] + ], + [ + "add", + 142, + 426, + -1, + 4, + [] + ], + [ + "add", + 142, + 427, + 1, + 4, + [] + ], + [ + "add", + 142, + 428, + -1, + 4, + [] + ], + [ + "add", + 142, + 429, + 1, + 4, + [] + ], + [ + "add", + 142, + 548, + 1, + 4, + [] + ], + [ + "add", + 142, + 549, + 1, + 4, + [] + ], + [ + "add", + 142, + 558, + 1, + 4, + [] + ], + [ + "add", + 142, + 570, + -1, + 4, + [] + ], + [ + "add", + 172, + 241, + -1, + 4, + [] + ], + [ + "add", + 172, + 246, + 1, + 4, + [] + ], + [ + "add", + 172, + 247, + -1, + 4, + [] + ], + [ + "add", + 172, + 250, + -1, + 4, + [] + ], + [ + "add", + 172, + 251, + 1, + 4, + [] + ], + [ + "add", + 172, + 252, + 1, + 4, + [] + ], + [ + "add", + 172, + 253, + -1, + 4, + [] + ], + [ + "add", + 172, + 254, + -1, + 2, + [] + ], + [ + "add", + 172, + 255, + 1, + 2, + [] + ], + [ + "add", + 172, + 257, + -1, + 2, + [] + ], + [ + "add", + 172, + 259, + 1, + 4, + [] + ], + [ + "add", + 172, + 260, + 1, + 4, + [] + ], + [ + "add", + 172, + 261, + -1, + 4, + [] + ], + [ + "add", + 172, + 264, + -1, + 4, + [] + ], + [ + "add", + 172, + 265, + 1, + 4, + [] + ], + [ + "add", + 172, + 270, + -1, + 4, + [] + ], + [ + "add", + 172, + 271, + 1, + 4, + [] + ], + [ + "add", + 172, + 278, + 1, + 4, + [] + ], + [ + "add", + 172, + 283, + 1, + 4, + [] + ], + [ + "add", + 172, + 284, + -1, + 4, + [] + ], + [ + "add", + 172, + 286, + 1, + 2, + [] + ], + [ + "add", + 172, + 287, + -1, + 2, + [] + ], + [ + "add", + 172, + 290, + -1, + 4, + [] + ], + [ + "add", + 172, + 292, + 1, + 4, + [] + ], + [ + "add", + 172, + 295, + 1, + 4, + [] + ], + [ + "add", + 172, + 299, + 1, + 2, + [] + ], + [ + "add", + 172, + 301, + -1, + 2, + [] + ], + [ + "add", + 172, + 302, + 1, + 4, + [] + ], + [ + "add", + 172, + 320, + -1, + 2, + [] + ], + [ + "add", + 172, + 324, + 1, + 2, + [] + ], + [ + "add", + 172, + 334, + 1, + 2, + [] + ], + [ + "add", + 172, + 335, + -1, + 2, + [] + ], + [ + "add", + 172, + 352, + -1, + 2, + [] + ], + [ + "add", + 172, + 356, + 1, + 2, + [] + ], + [ + "add", + 172, + 366, + 1, + 2, + [] + ], + [ + "add", + 172, + 367, + -1, + 2, + [] + ], + [ + "add", + 172, + 370, + -1, + 4, + [] + ], + [ + "add", + 172, + 372, + 1, + 4, + [] + ], + [ + "add", + 172, + 375, + -1, + 4, + [] + ], + [ + "add", + 172, + 377, + 1, + 2, + [] + ], + [ + "add", + 172, + 379, + -1, + 2, + [] + ], + [ + "add", + 172, + 382, + 1, + 4, + [] + ], + [ + "add", + 172, + 383, + -1, + 2, + [] + ], + [ + "add", + 172, + 390, + -1, + 4, + [] + ], + [ + "add", + 172, + 392, + 1, + 2, + [] + ], + [ + "add", + 172, + 395, + 1, + 4, + [] + ], + [ + "add", + 172, + 396, + -1, + 4, + [] + ], + [ + "add", + 172, + 399, + 1, + 2, + [] + ], + [ + "add", + 172, + 402, + 1, + 4, + [] + ], + [ + "add", + 172, + 403, + -1, + 4, + [] + ], + [ + "add", + 172, + 404, + 1, + 4, + [] + ], + [ + "add", + 172, + 405, + -1, + 4, + [] + ], + [ + "add", + 172, + 408, + 1, + 4, + [] + ], + [ + "add", + 172, + 409, + -1, + 4, + [] + ], + [ + "add", + 172, + 410, + -1, + 2, + [] + ], + [ + "add", + 172, + 411, + 1, + 2, + [] + ], + [ + "add", + 172, + 414, + -1, + 4, + [] + ], + [ + "add", + 172, + 415, + 1, + 4, + [] + ], + [ + "add", + 172, + 417, + -1, + 4, + [] + ], + [ + "add", + 172, + 418, + -1, + 2, + [] + ], + [ + "add", + 172, + 419, + 1, + 2, + [] + ], + [ + "add", + 172, + 422, + -1, + 4, + [] + ], + [ + "add", + 172, + 423, + 1, + 4, + [] + ], + [ + "add", + 172, + 426, + 1, + 4, + [] + ], + [ + "add", + 172, + 427, + -1, + 4, + [] + ], + [ + "add", + 172, + 428, + 1, + 4, + [] + ], + [ + "add", + 172, + 429, + -1, + 4, + [] + ], + [ + "add", + 172, + 434, + -1, + 2, + [] + ], + [ + "add", + 172, + 435, + 1, + 2, + [] + ], + [ + "add", + 172, + 436, + 1, + 2, + [] + ], + [ + "add", + 172, + 437, + -1, + 2, + [] + ], + [ + "add", + 172, + 440, + -1, + 2, + [] + ], + [ + "add", + 172, + 441, + 1, + 2, + [] + ], + [ + "add", + 172, + 446, + -1, + 2, + [] + ], + [ + "add", + 172, + 447, + 1, + 2, + [] + ], + [ + "add", + 172, + 548, + 1, + 4, + [] + ], + [ + "add", + 172, + 549, + -1, + 4, + [] + ], + [ + "add", + 172, + 558, + -1, + 4, + [] + ], + [ + "add", + 172, + 570, + -1, + 4, + [] + ], + [ + "add", + 141, + 241, + -1, + 4, + [] + ], + [ + "add", + 141, + 246, + 1, + 4, + [] + ], + [ + "add", + 141, + 247, + -1, + 4, + [] + ], + [ + "add", + 141, + 250, + -1, + 4, + [] + ], + [ + "add", + 141, + 251, + 1, + 4, + [] + ], + [ + "add", + 141, + 252, + 1, + 4, + [] + ], + [ + "add", + 141, + 253, + -1, + 4, + [] + ], + [ + "add", + 141, + 254, + -1, + 2, + [] + ], + [ + "add", + 141, + 255, + 1, + 2, + [] + ], + [ + "add", + 141, + 257, + 1, + 2, + [] + ], + [ + "add", + 141, + 259, + -1, + 4, + [] + ], + [ + "add", + 141, + 260, + -1, + 4, + [] + ], + [ + "add", + 141, + 261, + 1, + 4, + [] + ], + [ + "add", + 141, + 264, + 1, + 4, + [] + ], + [ + "add", + 141, + 265, + -1, + 4, + [] + ], + [ + "add", + 141, + 270, + 1, + 4, + [] + ], + [ + "add", + 141, + 271, + -1, + 4, + [] + ], + [ + "add", + 141, + 278, + -1, + 4, + [] + ], + [ + "add", + 141, + 283, + -1, + 4, + [] + ], + [ + "add", + 141, + 284, + 1, + 4, + [] + ], + [ + "add", + 141, + 286, + -1, + 2, + [] + ], + [ + "add", + 141, + 287, + 1, + 2, + [] + ], + [ + "add", + 141, + 290, + -1, + 4, + [] + ], + [ + "add", + 141, + 292, + 1, + 4, + [] + ], + [ + "add", + 141, + 295, + 1, + 4, + [] + ], + [ + "add", + 141, + 299, + 1, + 2, + [] + ], + [ + "add", + 141, + 301, + -1, + 2, + [] + ], + [ + "add", + 141, + 302, + 1, + 4, + [] + ], + [ + "add", + 141, + 335, + 1, + 1, + [] + ], + [ + "add", + 141, + 367, + 1, + 1, + [] + ], + [ + "add", + 141, + 370, + 1, + 4, + [] + ], + [ + "add", + 141, + 372, + -1, + 4, + [] + ], + [ + "add", + 141, + 375, + 1, + 4, + [] + ], + [ + "add", + 141, + 377, + -1, + 2, + [] + ], + [ + "add", + 141, + 379, + 1, + 2, + [] + ], + [ + "add", + 141, + 382, + -1, + 4, + [] + ], + [ + "add", + 141, + 383, + 1, + 2, + [] + ], + [ + "add", + 141, + 390, + -1, + 4, + [] + ], + [ + "add", + 141, + 392, + 1, + 2, + [] + ], + [ + "add", + 141, + 395, + 1, + 4, + [] + ], + [ + "add", + 141, + 396, + -1, + 4, + [] + ], + [ + "add", + 141, + 399, + 1, + 2, + [] + ], + [ + "add", + 141, + 402, + 1, + 4, + [] + ], + [ + "add", + 141, + 403, + -1, + 4, + [] + ], + [ + "add", + 141, + 404, + 1, + 4, + [] + ], + [ + "add", + 141, + 405, + -1, + 4, + [] + ], + [ + "add", + 141, + 408, + 1, + 4, + [] + ], + [ + "add", + 141, + 409, + -1, + 4, + [] + ], + [ + "add", + 141, + 410, + -1, + 2, + [] + ], + [ + "add", + 141, + 411, + 1, + 2, + [] + ], + [ + "add", + 141, + 414, + -1, + 4, + [] + ], + [ + "add", + 141, + 415, + 1, + 4, + [] + ], + [ + "add", + 141, + 417, + 1, + 4, + [] + ], + [ + "add", + 141, + 418, + 1, + 2, + [] + ], + [ + "add", + 141, + 419, + -1, + 2, + [] + ], + [ + "add", + 141, + 422, + 1, + 4, + [] + ], + [ + "add", + 141, + 423, + -1, + 4, + [] + ], + [ + "add", + 141, + 426, + -1, + 4, + [] + ], + [ + "add", + 141, + 427, + 1, + 4, + [] + ], + [ + "add", + 141, + 428, + -1, + 4, + [] + ], + [ + "add", + 141, + 429, + 1, + 4, + [] + ], + [ + "add", + 141, + 432, + -1, + 1, + [] + ], + [ + "add", + 141, + 433, + 1, + 1, + [] + ], + [ + "add", + 141, + 548, + -1, + 4, + [] + ], + [ + "add", + 141, + 549, + 1, + 4, + [] + ], + [ + "add", + 141, + 558, + -1, + 4, + [] + ], + [ + "add", + 141, + 570, + -1, + 4, + [] + ], + [ + "add", + 148, + 240, + -1, + 2, + [] + ], + [ + "add", + 148, + 243, + -1, + 2, + [] + ], + [ + "add", + 148, + 246, + 1, + 2, + [] + ], + [ + "add", + 148, + 249, + -1, + 2, + [] + ], + [ + "add", + 148, + 250, + -1, + 2, + [] + ], + [ + "add", + 148, + 251, + 1, + 2, + [] + ], + [ + "add", + 148, + 255, + 1, + 2, + [] + ], + [ + "add", + 148, + 272, + -1, + 4, + [] + ], + [ + "add", + 148, + 276, + 1, + 4, + [] + ], + [ + "add", + 148, + 280, + 1, + 4, + [] + ], + [ + "add", + 148, + 286, + 1, + 4, + [] + ], + [ + "add", + 148, + 287, + 1, + 2, + [] + ], + [ + "add", + 148, + 288, + -1, + 4, + [] + ], + [ + "add", + 148, + 292, + 1, + 4, + [] + ], + [ + "add", + 148, + 296, + 1, + 4, + [] + ], + [ + "add", + 148, + 302, + 1, + 4, + [] + ], + [ + "add", + 148, + 303, + 1, + 2, + [] + ], + [ + "add", + 148, + 304, + -1, + 4, + [] + ], + [ + "add", + 148, + 308, + 1, + 4, + [] + ], + [ + "add", + 148, + 312, + 1, + 4, + [] + ], + [ + "add", + 148, + 318, + 1, + 4, + [] + ], + [ + "add", + 148, + 319, + 1, + 2, + [] + ], + [ + "add", + 148, + 320, + -1, + 4, + [] + ], + [ + "add", + 148, + 324, + 1, + 4, + [] + ], + [ + "add", + 148, + 334, + 1, + 4, + [] + ], + [ + "add", + 148, + 335, + 1, + 4, + [] + ], + [ + "add", + 148, + 336, + -1, + 4, + [] + ], + [ + "add", + 148, + 340, + 1, + 4, + [] + ], + [ + "add", + 148, + 350, + 1, + 4, + [] + ], + [ + "add", + 148, + 351, + 1, + 4, + [] + ], + [ + "add", + 148, + 352, + -1, + 4, + [] + ], + [ + "add", + 148, + 356, + 1, + 4, + [] + ], + [ + "add", + 148, + 366, + 1, + 4, + [] + ], + [ + "add", + 148, + 367, + 1, + 4, + [] + ], + [ + "add", + 148, + 368, + -1, + 4, + [] + ], + [ + "add", + 148, + 372, + 1, + 4, + [] + ], + [ + "add", + 148, + 382, + 1, + 4, + [] + ], + [ + "add", + 148, + 383, + 1, + 4, + [] + ], + [ + "add", + 148, + 384, + -1, + 4, + [] + ], + [ + "add", + 148, + 388, + 1, + 4, + [] + ], + [ + "add", + 148, + 398, + 1, + 4, + [] + ], + [ + "add", + 148, + 399, + 1, + 4, + [] + ], + [ + "add", + 148, + 400, + -1, + 2, + [] + ], + [ + "add", + 148, + 402, + 1, + 2, + [] + ], + [ + "add", + 148, + 403, + -1, + 2, + [] + ], + [ + "add", + 148, + 406, + 1, + 2, + [] + ], + [ + "add", + 148, + 409, + -1, + 2, + [] + ], + [ + "add", + 148, + 410, + -1, + 2, + [] + ], + [ + "add", + 148, + 411, + 1, + 2, + [] + ], + [ + "add", + 148, + 415, + 1, + 2, + [] + ], + [ + "add", + 148, + 432, + -1, + 2, + [] + ], + [ + "add", + 148, + 435, + -1, + 2, + [] + ], + [ + "add", + 148, + 437, + -1, + 2, + [] + ], + [ + "add", + 148, + 438, + -1, + 2, + [] + ], + [ + "add", + 148, + 442, + 1, + 2, + [] + ], + [ + "add", + 148, + 443, + -1, + 2, + [] + ], + [ + "add", + 148, + 446, + -1, + 2, + [] + ], + [ + "add", + 148, + 447, + 1, + 2, + [] + ], + [ + "add", + 148, + 530, + -1, + 2, + [] + ], + [ + "add", + 148, + 542, + -1, + 2, + [] + ], + [ + "add", + 133, + 272, + -1, + 4, + [] + ], + [ + "add", + 133, + 276, + 1, + 4, + [] + ], + [ + "add", + 133, + 278, + 1, + 4, + [] + ], + [ + "add", + 133, + 280, + -1, + 4, + [] + ], + [ + "add", + 133, + 283, + -1, + 4, + [] + ], + [ + "add", + 133, + 284, + 1, + 4, + [] + ], + [ + "add", + 133, + 286, + 1, + 4, + [] + ], + [ + "add", + 133, + 288, + -1, + 4, + [] + ], + [ + "add", + 133, + 292, + 1, + 4, + [] + ], + [ + "add", + 133, + 294, + 1, + 4, + [] + ], + [ + "add", + 133, + 296, + -1, + 4, + [] + ], + [ + "add", + 133, + 299, + -1, + 4, + [] + ], + [ + "add", + 133, + 300, + 1, + 4, + [] + ], + [ + "add", + 133, + 302, + 1, + 4, + [] + ], + [ + "add", + 133, + 304, + -1, + 4, + [] + ], + [ + "add", + 133, + 308, + 1, + 4, + [] + ], + [ + "add", + 133, + 310, + 1, + 4, + [] + ], + [ + "add", + 133, + 312, + -1, + 4, + [] + ], + [ + "add", + 133, + 315, + -1, + 4, + [] + ], + [ + "add", + 133, + 316, + 1, + 4, + [] + ], + [ + "add", + 133, + 318, + 1, + 4, + [] + ], + [ + "add", + 133, + 320, + -1, + 4, + [] + ], + [ + "add", + 133, + 324, + 1, + 4, + [] + ], + [ + "add", + 133, + 326, + 1, + 4, + [] + ], + [ + "add", + 133, + 328, + -1, + 2, + [] + ], + [ + "add", + 133, + 331, + -1, + 4, + [] + ], + [ + "add", + 133, + 332, + 1, + 4, + [] + ], + [ + "add", + 133, + 334, + 1, + 4, + [] + ], + [ + "add", + 133, + 335, + -1, + 4, + [] + ], + [ + "add", + 133, + 336, + -1, + 4, + [] + ], + [ + "add", + 133, + 340, + 1, + 4, + [] + ], + [ + "add", + 133, + 342, + 1, + 4, + [] + ], + [ + "add", + 133, + 344, + -1, + 2, + [] + ], + [ + "add", + 133, + 347, + -1, + 4, + [] + ], + [ + "add", + 133, + 348, + 1, + 4, + [] + ], + [ + "add", + 133, + 350, + 1, + 4, + [] + ], + [ + "add", + 133, + 351, + -1, + 4, + [] + ], + [ + "add", + 133, + 352, + -1, + 4, + [] + ], + [ + "add", + 133, + 356, + 1, + 4, + [] + ], + [ + "add", + 133, + 358, + 1, + 4, + [] + ], + [ + "add", + 133, + 360, + -1, + 2, + [] + ], + [ + "add", + 133, + 363, + -1, + 4, + [] + ], + [ + "add", + 133, + 364, + 1, + 4, + [] + ], + [ + "add", + 133, + 366, + 1, + 4, + [] + ], + [ + "add", + 133, + 367, + -1, + 4, + [] + ], + [ + "add", + 133, + 368, + -1, + 4, + [] + ], + [ + "add", + 133, + 372, + 1, + 4, + [] + ], + [ + "add", + 133, + 374, + 1, + 4, + [] + ], + [ + "add", + 133, + 376, + -1, + 2, + [] + ], + [ + "add", + 133, + 379, + -1, + 4, + [] + ], + [ + "add", + 133, + 380, + 1, + 4, + [] + ], + [ + "add", + 133, + 382, + 1, + 4, + [] + ], + [ + "add", + 133, + 383, + -1, + 4, + [] + ], + [ + "add", + 133, + 384, + -1, + 4, + [] + ], + [ + "add", + 133, + 388, + 1, + 4, + [] + ], + [ + "add", + 133, + 390, + 1, + 4, + [] + ], + [ + "add", + 133, + 392, + -1, + 2, + [] + ], + [ + "add", + 133, + 395, + -1, + 4, + [] + ], + [ + "add", + 133, + 396, + 1, + 4, + [] + ], + [ + "add", + 133, + 398, + 1, + 4, + [] + ], + [ + "add", + 133, + 399, + -1, + 4, + [] + ], + [ + "add", + 133, + 530, + -1, + 2, + [] + ], + [ + "add", + 133, + 542, + -1, + 2, + [] + ], + [ + "add", + 159, + 272, + 1, + 4, + [] + ], + [ + "add", + 159, + 274, + -1, + 4, + [] + ], + [ + "add", + 159, + 279, + -1, + 4, + [] + ], + [ + "add", + 159, + 280, + -1, + 4, + [] + ], + [ + "add", + 159, + 281, + 1, + 2, + [] + ], + [ + "add", + 159, + 283, + -1, + 2, + [] + ], + [ + "add", + 159, + 288, + -1, + 4, + [] + ], + [ + "add", + 159, + 290, + 1, + 4, + [] + ], + [ + "add", + 159, + 295, + 1, + 4, + [] + ], + [ + "add", + 159, + 296, + 1, + 4, + [] + ], + [ + "add", + 159, + 297, + -1, + 2, + [] + ], + [ + "add", + 159, + 299, + 1, + 2, + [] + ], + [ + "add", + 159, + 304, + -1, + 4, + [] + ], + [ + "add", + 159, + 306, + 1, + 4, + [] + ], + [ + "add", + 159, + 312, + 1, + 4, + [] + ], + [ + "add", + 159, + 313, + -1, + 2, + [] + ], + [ + "add", + 159, + 315, + 1, + 2, + [] + ], + [ + "add", + 159, + 320, + 1, + 4, + [] + ], + [ + "add", + 159, + 322, + -1, + 4, + [] + ], + [ + "add", + 159, + 329, + 1, + 2, + [] + ], + [ + "add", + 159, + 331, + -1, + 2, + [] + ], + [ + "add", + 159, + 335, + 1, + 4, + [] + ], + [ + "add", + 159, + 336, + -1, + 4, + [] + ], + [ + "add", + 159, + 338, + 1, + 4, + [] + ], + [ + "add", + 159, + 343, + 1, + 4, + [] + ], + [ + "add", + 159, + 345, + -1, + 2, + [] + ], + [ + "add", + 159, + 347, + 1, + 2, + [] + ], + [ + "add", + 159, + 351, + -1, + 4, + [] + ], + [ + "add", + 159, + 352, + 1, + 4, + [] + ], + [ + "add", + 159, + 354, + -1, + 4, + [] + ], + [ + "add", + 159, + 359, + -1, + 4, + [] + ], + [ + "add", + 159, + 361, + 1, + 2, + [] + ], + [ + "add", + 159, + 363, + -1, + 2, + [] + ], + [ + "add", + 159, + 367, + 1, + 4, + [] + ], + [ + "add", + 159, + 368, + 1, + 4, + [] + ], + [ + "add", + 159, + 370, + -1, + 4, + [] + ], + [ + "add", + 159, + 375, + -1, + 4, + [] + ], + [ + "add", + 159, + 377, + 1, + 2, + [] + ], + [ + "add", + 159, + 379, + -1, + 2, + [] + ], + [ + "add", + 159, + 383, + 1, + 4, + [] + ], + [ + "add", + 159, + 384, + -1, + 4, + [] + ], + [ + "add", + 159, + 386, + 1, + 4, + [] + ], + [ + "add", + 159, + 391, + 1, + 4, + [] + ], + [ + "add", + 159, + 393, + -1, + 2, + [] + ], + [ + "add", + 159, + 395, + 1, + 2, + [] + ], + [ + "add", + 159, + 399, + -1, + 4, + [] + ], + [ + "add", + 159, + 499, + 1, + 4, + [] + ], + [ + "add", + 159, + 511, + -1, + 4, + [] + ], + [ + "add", + 159, + 530, + -1, + 2, + [] + ], + [ + "add", + 159, + 542, + 1, + 2, + [] + ], + [ + "add", + 223, + 256, + -1, + 2, + [] + ], + [ + "add", + 223, + 259, + -1, + 2, + [] + ], + [ + "add", + 223, + 262, + 1, + 2, + [] + ], + [ + "add", + 223, + 265, + -1, + 2, + [] + ], + [ + "add", + 223, + 266, + -1, + 2, + [] + ], + [ + "add", + 223, + 267, + 1, + 2, + [] + ], + [ + "add", + 223, + 271, + 1, + 2, + [] + ], + [ + "add", + 223, + 272, + 1, + 4, + [] + ], + [ + "add", + 223, + 276, + -1, + 4, + [] + ], + [ + "add", + 223, + 280, + -1, + 4, + [] + ], + [ + "add", + 223, + 286, + -1, + 4, + [] + ], + [ + "add", + 223, + 287, + 1, + 2, + [] + ], + [ + "add", + 223, + 288, + 1, + 4, + [] + ], + [ + "add", + 223, + 292, + -1, + 4, + [] + ], + [ + "add", + 223, + 296, + -1, + 4, + [] + ], + [ + "add", + 223, + 302, + -1, + 4, + [] + ], + [ + "add", + 223, + 303, + 1, + 2, + [] + ], + [ + "add", + 223, + 304, + 1, + 4, + [] + ], + [ + "add", + 223, + 308, + -1, + 4, + [] + ], + [ + "add", + 223, + 312, + -1, + 4, + [] + ], + [ + "add", + 223, + 318, + -1, + 4, + [] + ], + [ + "add", + 223, + 319, + 1, + 2, + [] + ], + [ + "add", + 223, + 320, + 1, + 4, + [] + ], + [ + "add", + 223, + 324, + -1, + 4, + [] + ], + [ + "add", + 223, + 334, + -1, + 4, + [] + ], + [ + "add", + 223, + 335, + 3, + 4, + [] + ], + [ + "add", + 223, + 336, + 1, + 4, + [] + ], + [ + "add", + 223, + 340, + -1, + 4, + [] + ], + [ + "add", + 223, + 350, + -1, + 4, + [] + ], + [ + "add", + 223, + 351, + 3, + 4, + [] + ], + [ + "add", + 223, + 352, + 1, + 4, + [] + ], + [ + "add", + 223, + 356, + -1, + 4, + [] + ], + [ + "add", + 223, + 366, + -1, + 4, + [] + ], + [ + "add", + 223, + 367, + 3, + 4, + [] + ], + [ + "add", + 223, + 368, + 1, + 4, + [] + ], + [ + "add", + 223, + 372, + -1, + 4, + [] + ], + [ + "add", + 223, + 382, + -1, + 4, + [] + ], + [ + "add", + 223, + 383, + 3, + 4, + [] + ], + [ + "add", + 223, + 384, + 1, + 4, + [] + ], + [ + "add", + 223, + 388, + -1, + 4, + [] + ], + [ + "add", + 223, + 398, + -1, + 4, + [] + ], + [ + "add", + 223, + 399, + 3, + 4, + [] + ], + [ + "add", + 223, + 416, + -1, + 2, + [] + ], + [ + "add", + 223, + 418, + 1, + 2, + [] + ], + [ + "add", + 223, + 419, + -1, + 2, + [] + ], + [ + "add", + 223, + 422, + 1, + 2, + [] + ], + [ + "add", + 223, + 425, + -1, + 2, + [] + ], + [ + "add", + 223, + 426, + -1, + 2, + [] + ], + [ + "add", + 223, + 427, + 1, + 2, + [] + ], + [ + "add", + 223, + 431, + 1, + 2, + [] + ], + [ + "add", + 223, + 432, + -1, + 2, + [] + ], + [ + "add", + 223, + 434, + 1, + 2, + [] + ], + [ + "add", + 223, + 435, + -1, + 2, + [] + ], + [ + "add", + 223, + 438, + 1, + 2, + [] + ], + [ + "add", + 223, + 441, + -1, + 2, + [] + ], + [ + "add", + 223, + 442, + -1, + 2, + [] + ], + [ + "add", + 223, + 443, + 1, + 2, + [] + ], + [ + "add", + 223, + 447, + 1, + 2, + [] + ], + [ + "add", + 223, + 530, + 1, + 2, + [] + ], + [ + "add", + 223, + 542, + 1, + 2, + [] + ], + [ + "add", + 149, + 272, + -1, + 4, + [] + ], + [ + "add", + 149, + 276, + 1, + 4, + [] + ], + [ + "add", + 149, + 278, + 1, + 4, + [] + ], + [ + "add", + 149, + 280, + -1, + 4, + [] + ], + [ + "add", + 149, + 283, + -1, + 4, + [] + ], + [ + "add", + 149, + 284, + 1, + 4, + [] + ], + [ + "add", + 149, + 286, + 1, + 4, + [] + ], + [ + "add", + 149, + 288, + 1, + 4, + [] + ], + [ + "add", + 149, + 292, + -1, + 4, + [] + ], + [ + "add", + 149, + 294, + -1, + 4, + [] + ], + [ + "add", + 149, + 296, + 1, + 4, + [] + ], + [ + "add", + 149, + 299, + 1, + 4, + [] + ], + [ + "add", + 149, + 300, + -1, + 4, + [] + ], + [ + "add", + 149, + 302, + -1, + 4, + [] + ], + [ + "add", + 149, + 304, + -1, + 4, + [] + ], + [ + "add", + 149, + 308, + 1, + 4, + [] + ], + [ + "add", + 149, + 310, + 1, + 4, + [] + ], + [ + "add", + 149, + 312, + -1, + 4, + [] + ], + [ + "add", + 149, + 315, + -1, + 4, + [] + ], + [ + "add", + 149, + 316, + 1, + 4, + [] + ], + [ + "add", + 149, + 318, + 1, + 4, + [] + ], + [ + "add", + 149, + 320, + 1, + 4, + [] + ], + [ + "add", + 149, + 324, + -1, + 4, + [] + ], + [ + "add", + 149, + 326, + -1, + 4, + [] + ], + [ + "add", + 149, + 328, + 1, + 2, + [] + ], + [ + "add", + 149, + 331, + 1, + 4, + [] + ], + [ + "add", + 149, + 332, + -1, + 4, + [] + ], + [ + "add", + 149, + 334, + -1, + 4, + [] + ], + [ + "add", + 149, + 335, + 1, + 4, + [] + ], + [ + "add", + 149, + 336, + -1, + 4, + [] + ], + [ + "add", + 149, + 340, + 1, + 4, + [] + ], + [ + "add", + 149, + 342, + 1, + 4, + [] + ], + [ + "add", + 149, + 344, + -1, + 2, + [] + ], + [ + "add", + 149, + 347, + -1, + 4, + [] + ], + [ + "add", + 149, + 348, + 1, + 4, + [] + ], + [ + "add", + 149, + 350, + 1, + 4, + [] + ], + [ + "add", + 149, + 351, + -1, + 4, + [] + ], + [ + "add", + 149, + 352, + 1, + 4, + [] + ], + [ + "add", + 149, + 356, + -1, + 4, + [] + ], + [ + "add", + 149, + 358, + -1, + 4, + [] + ], + [ + "add", + 149, + 360, + 1, + 2, + [] + ], + [ + "add", + 149, + 363, + 1, + 4, + [] + ], + [ + "add", + 149, + 364, + -1, + 4, + [] + ], + [ + "add", + 149, + 366, + -1, + 4, + [] + ], + [ + "add", + 149, + 367, + 1, + 4, + [] + ], + [ + "add", + 149, + 368, + -1, + 4, + [] + ], + [ + "add", + 149, + 372, + 1, + 4, + [] + ], + [ + "add", + 149, + 374, + 1, + 4, + [] + ], + [ + "add", + 149, + 376, + -1, + 2, + [] + ], + [ + "add", + 149, + 379, + -1, + 4, + [] + ], + [ + "add", + 149, + 380, + 1, + 4, + [] + ], + [ + "add", + 149, + 382, + 1, + 4, + [] + ], + [ + "add", + 149, + 383, + -1, + 4, + [] + ], + [ + "add", + 149, + 384, + 1, + 4, + [] + ], + [ + "add", + 149, + 388, + -1, + 4, + [] + ], + [ + "add", + 149, + 390, + -1, + 4, + [] + ], + [ + "add", + 149, + 392, + 1, + 2, + [] + ], + [ + "add", + 149, + 395, + 1, + 4, + [] + ], + [ + "add", + 149, + 396, + -1, + 4, + [] + ], + [ + "add", + 149, + 398, + -1, + 4, + [] + ], + [ + "add", + 149, + 399, + 1, + 4, + [] + ], + [ + "add", + 149, + 530, + -1, + 2, + [] + ], + [ + "add", + 149, + 542, + 1, + 2, + [] + ], + [ + "add", + 132, + 241, + 1, + 2, + [] + ], + [ + "add", + 132, + 242, + -1, + 2, + [] + ], + [ + "add", + 132, + 243, + -1, + 2, + [] + ], + [ + "add", + 132, + 245, + 1, + 2, + [] + ], + [ + "add", + 132, + 251, + -1, + 2, + [] + ], + [ + "add", + 132, + 253, + 1, + 2, + [] + ], + [ + "add", + 132, + 254, + 1, + 2, + [] + ], + [ + "add", + 132, + 255, + -1, + 2, + [] + ], + [ + "add", + 132, + 272, + -1, + 4, + [] + ], + [ + "add", + 132, + 276, + 1, + 4, + [] + ], + [ + "add", + 132, + 280, + 1, + 4, + [] + ], + [ + "add", + 132, + 286, + 1, + 4, + [] + ], + [ + "add", + 132, + 287, + 1, + 2, + [] + ], + [ + "add", + 132, + 288, + 1, + 4, + [] + ], + [ + "add", + 132, + 292, + -1, + 4, + [] + ], + [ + "add", + 132, + 296, + -1, + 4, + [] + ], + [ + "add", + 132, + 302, + -1, + 4, + [] + ], + [ + "add", + 132, + 303, + -1, + 2, + [] + ], + [ + "add", + 132, + 304, + -1, + 4, + [] + ], + [ + "add", + 132, + 308, + 1, + 4, + [] + ], + [ + "add", + 132, + 312, + 1, + 4, + [] + ], + [ + "add", + 132, + 318, + 1, + 4, + [] + ], + [ + "add", + 132, + 319, + 1, + 2, + [] + ], + [ + "add", + 132, + 320, + 1, + 4, + [] + ], + [ + "add", + 132, + 324, + -1, + 4, + [] + ], + [ + "add", + 132, + 334, + -1, + 4, + [] + ], + [ + "add", + 132, + 335, + -1, + 4, + [] + ], + [ + "add", + 132, + 336, + -1, + 4, + [] + ], + [ + "add", + 132, + 340, + 1, + 4, + [] + ], + [ + "add", + 132, + 350, + 1, + 4, + [] + ], + [ + "add", + 132, + 351, + 1, + 4, + [] + ], + [ + "add", + 132, + 352, + 1, + 4, + [] + ], + [ + "add", + 132, + 356, + -1, + 4, + [] + ], + [ + "add", + 132, + 366, + -1, + 4, + [] + ], + [ + "add", + 132, + 367, + -1, + 4, + [] + ], + [ + "add", + 132, + 368, + -1, + 4, + [] + ], + [ + "add", + 132, + 372, + 1, + 4, + [] + ], + [ + "add", + 132, + 382, + 1, + 4, + [] + ], + [ + "add", + 132, + 383, + 1, + 4, + [] + ], + [ + "add", + 132, + 384, + 1, + 4, + [] + ], + [ + "add", + 132, + 388, + -1, + 4, + [] + ], + [ + "add", + 132, + 398, + -1, + 4, + [] + ], + [ + "add", + 132, + 399, + -1, + 4, + [] + ], + [ + "add", + 132, + 401, + 1, + 2, + [] + ], + [ + "add", + 132, + 403, + -1, + 2, + [] + ], + [ + "add", + 132, + 405, + 1, + 2, + [] + ], + [ + "add", + 132, + 411, + -1, + 2, + [] + ], + [ + "add", + 132, + 413, + 1, + 2, + [] + ], + [ + "add", + 132, + 414, + 1, + 2, + [] + ], + [ + "add", + 132, + 415, + -1, + 2, + [] + ], + [ + "add", + 132, + 432, + 1, + 2, + [] + ], + [ + "add", + 132, + 433, + -1, + 2, + [] + ], + [ + "add", + 132, + 434, + 1, + 2, + [] + ], + [ + "add", + 132, + 435, + -1, + 2, + [] + ], + [ + "add", + 132, + 441, + -1, + 2, + [] + ], + [ + "add", + 132, + 443, + -1, + 2, + [] + ], + [ + "add", + 132, + 445, + -1, + 2, + [] + ], + [ + "add", + 132, + 447, + -1, + 2, + [] + ], + [ + "add", + 132, + 530, + -1, + 2, + [] + ], + [ + "add", + 132, + 542, + 1, + 2, + [] + ], + [ + "add", + 158, + 257, + 1, + 2, + [] + ], + [ + "add", + 158, + 258, + -1, + 2, + [] + ], + [ + "add", + 158, + 259, + -1, + 2, + [] + ], + [ + "add", + 158, + 261, + 1, + 2, + [] + ], + [ + "add", + 158, + 267, + -1, + 2, + [] + ], + [ + "add", + 158, + 269, + 1, + 2, + [] + ], + [ + "add", + 158, + 270, + 1, + 2, + [] + ], + [ + "add", + 158, + 271, + -1, + 2, + [] + ], + [ + "add", + 158, + 272, + 1, + 4, + [] + ], + [ + "add", + 158, + 276, + -1, + 4, + [] + ], + [ + "add", + 158, + 280, + -1, + 4, + [] + ], + [ + "add", + 158, + 286, + -1, + 4, + [] + ], + [ + "add", + 158, + 287, + 1, + 2, + [] + ], + [ + "add", + 158, + 288, + -1, + 4, + [] + ], + [ + "add", + 158, + 292, + 1, + 4, + [] + ], + [ + "add", + 158, + 296, + 1, + 4, + [] + ], + [ + "add", + 158, + 302, + 1, + 4, + [] + ], + [ + "add", + 158, + 303, + -1, + 2, + [] + ], + [ + "add", + 158, + 304, + -1, + 4, + [] + ], + [ + "add", + 158, + 308, + 1, + 4, + [] + ], + [ + "add", + 158, + 312, + 1, + 4, + [] + ], + [ + "add", + 158, + 318, + 1, + 4, + [] + ], + [ + "add", + 158, + 319, + -1, + 2, + [] + ], + [ + "add", + 158, + 320, + 1, + 4, + [] + ], + [ + "add", + 158, + 324, + -1, + 4, + [] + ], + [ + "add", + 158, + 334, + -1, + 4, + [] + ], + [ + "add", + 158, + 335, + 3, + 4, + [] + ], + [ + "add", + 158, + 336, + -1, + 4, + [] + ], + [ + "add", + 158, + 340, + 1, + 4, + [] + ], + [ + "add", + 158, + 350, + 1, + 4, + [] + ], + [ + "add", + 158, + 351, + -3, + 4, + [] + ], + [ + "add", + 158, + 352, + 1, + 4, + [] + ], + [ + "add", + 158, + 356, + -1, + 4, + [] + ], + [ + "add", + 158, + 366, + -1, + 4, + [] + ], + [ + "add", + 158, + 367, + 3, + 4, + [] + ], + [ + "add", + 158, + 368, + 1, + 4, + [] + ], + [ + "add", + 158, + 372, + -1, + 4, + [] + ], + [ + "add", + 158, + 382, + -1, + 4, + [] + ], + [ + "add", + 158, + 383, + 3, + 4, + [] + ], + [ + "add", + 158, + 384, + -1, + 4, + [] + ], + [ + "add", + 158, + 388, + 1, + 4, + [] + ], + [ + "add", + 158, + 398, + 1, + 4, + [] + ], + [ + "add", + 158, + 399, + -3, + 4, + [] + ], + [ + "add", + 158, + 417, + 1, + 2, + [] + ], + [ + "add", + 158, + 419, + -1, + 2, + [] + ], + [ + "add", + 158, + 421, + 1, + 2, + [] + ], + [ + "add", + 158, + 427, + -1, + 2, + [] + ], + [ + "add", + 158, + 429, + 1, + 2, + [] + ], + [ + "add", + 158, + 430, + 1, + 2, + [] + ], + [ + "add", + 158, + 431, + -1, + 2, + [] + ], + [ + "add", + 158, + 432, + -1, + 2, + [] + ], + [ + "add", + 158, + 433, + 1, + 2, + [] + ], + [ + "add", + 158, + 435, + -1, + 2, + [] + ], + [ + "add", + 158, + 437, + 1, + 2, + [] + ], + [ + "add", + 158, + 443, + -1, + 2, + [] + ], + [ + "add", + 158, + 445, + 1, + 2, + [] + ], + [ + "add", + 158, + 446, + 1, + 2, + [] + ], + [ + "add", + 158, + 447, + -1, + 2, + [] + ], + [ + "add", + 158, + 530, + -1, + 2, + [] + ], + [ + "add", + 158, + 542, + 1, + 2, + [] + ], + [ + "add", + 222, + 272, + 1, + 4, + [] + ], + [ + "add", + 222, + 274, + -1, + 4, + [] + ], + [ + "add", + 222, + 279, + -1, + 4, + [] + ], + [ + "add", + 222, + 280, + -1, + 4, + [] + ], + [ + "add", + 222, + 281, + 1, + 2, + [] + ], + [ + "add", + 222, + 283, + -1, + 2, + [] + ], + [ + "add", + 222, + 288, + 1, + 4, + [] + ], + [ + "add", + 222, + 290, + -1, + 4, + [] + ], + [ + "add", + 222, + 295, + -1, + 4, + [] + ], + [ + "add", + 222, + 296, + -1, + 4, + [] + ], + [ + "add", + 222, + 297, + 1, + 2, + [] + ], + [ + "add", + 222, + 299, + -1, + 2, + [] + ], + [ + "add", + 222, + 304, + 1, + 4, + [] + ], + [ + "add", + 222, + 306, + -1, + 4, + [] + ], + [ + "add", + 222, + 312, + -1, + 4, + [] + ], + [ + "add", + 222, + 313, + 1, + 2, + [] + ], + [ + "add", + 222, + 315, + -1, + 2, + [] + ], + [ + "add", + 222, + 320, + 1, + 4, + [] + ], + [ + "add", + 222, + 322, + -1, + 4, + [] + ], + [ + "add", + 222, + 329, + 1, + 2, + [] + ], + [ + "add", + 222, + 331, + -1, + 2, + [] + ], + [ + "add", + 222, + 335, + 1, + 4, + [] + ], + [ + "add", + 222, + 336, + 1, + 4, + [] + ], + [ + "add", + 222, + 338, + -1, + 4, + [] + ], + [ + "add", + 222, + 343, + -1, + 4, + [] + ], + [ + "add", + 222, + 345, + 1, + 2, + [] + ], + [ + "add", + 222, + 347, + -1, + 2, + [] + ], + [ + "add", + 222, + 351, + 1, + 4, + [] + ], + [ + "add", + 222, + 352, + 1, + 4, + [] + ], + [ + "add", + 222, + 354, + -1, + 4, + [] + ], + [ + "add", + 222, + 359, + -1, + 4, + [] + ], + [ + "add", + 222, + 361, + 1, + 2, + [] + ], + [ + "add", + 222, + 363, + -1, + 2, + [] + ], + [ + "add", + 222, + 367, + 1, + 4, + [] + ], + [ + "add", + 222, + 368, + 1, + 4, + [] + ], + [ + "add", + 222, + 370, + -1, + 4, + [] + ], + [ + "add", + 222, + 375, + -1, + 4, + [] + ], + [ + "add", + 222, + 377, + 1, + 2, + [] + ], + [ + "add", + 222, + 379, + -1, + 2, + [] + ], + [ + "add", + 222, + 383, + 1, + 4, + [] + ], + [ + "add", + 222, + 384, + 1, + 4, + [] + ], + [ + "add", + 222, + 386, + -1, + 4, + [] + ], + [ + "add", + 222, + 391, + -1, + 4, + [] + ], + [ + "add", + 222, + 393, + 1, + 2, + [] + ], + [ + "add", + 222, + 395, + -1, + 2, + [] + ], + [ + "add", + 222, + 399, + 1, + 4, + [] + ], + [ + "add", + 222, + 499, + -1, + 4, + [] + ], + [ + "add", + 222, + 511, + -1, + 4, + [] + ], + [ + "add", + 222, + 530, + 1, + 2, + [] + ], + [ + "add", + 222, + 542, + 1, + 2, + [] + ], + [ + "add", + 112, + 224, + -1, + 2, + [] + ], + [ + "add", + 112, + 227, + -1, + 2, + [] + ], + [ + "add", + 112, + 229, + -1, + 2, + [] + ], + [ + "add", + 112, + 230, + -1, + 2, + [] + ], + [ + "add", + 112, + 234, + 1, + 2, + [] + ], + [ + "add", + 112, + 235, + -1, + 2, + [] + ], + [ + "add", + 112, + 238, + -1, + 2, + [] + ], + [ + "add", + 112, + 239, + 1, + 2, + [] + ], + [ + "add", + 112, + 240, + -1, + 2, + [] + ], + [ + "add", + 112, + 242, + -1, + 2, + [] + ], + [ + "add", + 112, + 243, + -1, + 2, + [] + ], + [ + "add", + 112, + 245, + -1, + 2, + [] + ], + [ + "add", + 112, + 246, + -1, + 2, + [] + ], + [ + "add", + 112, + 250, + 1, + 2, + [] + ], + [ + "add", + 112, + 251, + -1, + 2, + [] + ], + [ + "add", + 112, + 254, + -1, + 2, + [] + ], + [ + "add", + 112, + 255, + 1, + 2, + [] + ], + [ + "add", + 112, + 256, + -1, + 2, + [] + ], + [ + "add", + 112, + 258, + -1, + 2, + [] + ], + [ + "add", + 112, + 259, + -1, + 2, + [] + ], + [ + "add", + 112, + 261, + -1, + 2, + [] + ], + [ + "add", + 112, + 262, + -1, + 2, + [] + ], + [ + "add", + 112, + 266, + 1, + 2, + [] + ], + [ + "add", + 112, + 267, + -1, + 2, + [] + ], + [ + "add", + 112, + 270, + -1, + 2, + [] + ], + [ + "add", + 112, + 271, + 1, + 2, + [] + ], + [ + "add", + 112, + 272, + -1, + 4, + [] + ], + [ + "add", + 112, + 276, + -1, + 4, + [] + ], + [ + "add", + 112, + 280, + 1, + 4, + [] + ], + [ + "add", + 112, + 283, + -1, + 2, + [] + ], + [ + "add", + 112, + 286, + -1, + 4, + [] + ], + [ + "add", + 112, + 287, + 1, + 2, + [] + ], + [ + "add", + 112, + 288, + -1, + 4, + [] + ], + [ + "add", + 112, + 292, + -1, + 4, + [] + ], + [ + "add", + 112, + 296, + 1, + 4, + [] + ], + [ + "add", + 112, + 299, + -1, + 2, + [] + ], + [ + "add", + 112, + 302, + -1, + 4, + [] + ], + [ + "add", + 112, + 303, + 1, + 2, + [] + ], + [ + "add", + 112, + 304, + -1, + 4, + [] + ], + [ + "add", + 112, + 308, + -1, + 4, + [] + ], + [ + "add", + 112, + 312, + 1, + 4, + [] + ], + [ + "add", + 112, + 315, + -1, + 2, + [] + ], + [ + "add", + 112, + 318, + -1, + 4, + [] + ], + [ + "add", + 112, + 319, + 1, + 2, + [] + ], + [ + "add", + 112, + 320, + -1, + 4, + [] + ], + [ + "add", + 112, + 324, + -1, + 4, + [] + ], + [ + "add", + 112, + 331, + -1, + 2, + [] + ], + [ + "add", + 112, + 334, + -1, + 4, + [] + ], + [ + "add", + 112, + 335, + 1, + 4, + [] + ], + [ + "add", + 112, + 336, + -1, + 4, + [] + ], + [ + "add", + 112, + 340, + -1, + 4, + [] + ], + [ + "add", + 112, + 347, + -1, + 2, + [] + ], + [ + "add", + 112, + 350, + -1, + 4, + [] + ], + [ + "add", + 112, + 351, + 1, + 4, + [] + ], + [ + "add", + 112, + 352, + -1, + 4, + [] + ], + [ + "add", + 112, + 356, + -1, + 4, + [] + ], + [ + "add", + 112, + 363, + -1, + 2, + [] + ], + [ + "add", + 112, + 366, + -1, + 4, + [] + ], + [ + "add", + 112, + 367, + 1, + 4, + [] + ], + [ + "add", + 112, + 368, + -1, + 4, + [] + ], + [ + "add", + 112, + 372, + -1, + 4, + [] + ], + [ + "add", + 112, + 379, + -1, + 2, + [] + ], + [ + "add", + 112, + 382, + -1, + 4, + [] + ], + [ + "add", + 112, + 383, + 1, + 4, + [] + ], + [ + "add", + 112, + 384, + -1, + 4, + [] + ], + [ + "add", + 112, + 388, + -1, + 4, + [] + ], + [ + "add", + 112, + 395, + -1, + 2, + [] + ], + [ + "add", + 112, + 398, + -1, + 4, + [] + ], + [ + "add", + 112, + 399, + 1, + 4, + [] + ], + [ + "add", + 188, + 272, + -1, + 4, + [] + ], + [ + "add", + 188, + 274, + -1, + 4, + [] + ], + [ + "add", + 188, + 279, + -1, + 4, + [] + ], + [ + "add", + 188, + 280, + 1, + 4, + [] + ], + [ + "add", + 188, + 281, + -1, + 2, + [] + ], + [ + "add", + 188, + 288, + -1, + 4, + [] + ], + [ + "add", + 188, + 290, + -1, + 4, + [] + ], + [ + "add", + 188, + 295, + -1, + 4, + [] + ], + [ + "add", + 188, + 296, + 1, + 4, + [] + ], + [ + "add", + 188, + 297, + -1, + 2, + [] + ], + [ + "add", + 188, + 304, + -1, + 4, + [] + ], + [ + "add", + 188, + 306, + -1, + 4, + [] + ], + [ + "add", + 188, + 312, + 1, + 4, + [] + ], + [ + "add", + 188, + 313, + -1, + 2, + [] + ], + [ + "add", + 188, + 320, + -1, + 4, + [] + ], + [ + "add", + 188, + 322, + -1, + 4, + [] + ], + [ + "add", + 188, + 329, + -1, + 2, + [] + ], + [ + "add", + 188, + 335, + -1, + 4, + [] + ], + [ + "add", + 188, + 336, + -1, + 4, + [] + ], + [ + "add", + 188, + 338, + -1, + 4, + [] + ], + [ + "add", + 188, + 343, + -1, + 4, + [] + ], + [ + "add", + 188, + 345, + -1, + 2, + [] + ], + [ + "add", + 188, + 351, + -1, + 4, + [] + ], + [ + "add", + 188, + 352, + -1, + 4, + [] + ], + [ + "add", + 188, + 354, + -1, + 4, + [] + ], + [ + "add", + 188, + 359, + -1, + 4, + [] + ], + [ + "add", + 188, + 361, + -1, + 2, + [] + ], + [ + "add", + 188, + 367, + -1, + 4, + [] + ], + [ + "add", + 188, + 368, + -1, + 4, + [] + ], + [ + "add", + 188, + 370, + -1, + 4, + [] + ], + [ + "add", + 188, + 375, + -1, + 4, + [] + ], + [ + "add", + 188, + 377, + -1, + 2, + [] + ], + [ + "add", + 188, + 383, + -1, + 4, + [] + ], + [ + "add", + 188, + 384, + -1, + 4, + [] + ], + [ + "add", + 188, + 386, + -1, + 4, + [] + ], + [ + "add", + 188, + 391, + -1, + 4, + [] + ], + [ + "add", + 188, + 393, + -1, + 2, + [] + ], + [ + "add", + 188, + 399, + -1, + 4, + [] + ], + [ + "add", + 188, + 499, + -1, + 4, + [] + ], + [ + "add", + 188, + 511, + -1, + 4, + [] + ], + [ + "add", + 199, + 272, + -1, + 4, + [] + ], + [ + "add", + 199, + 276, + -1, + 4, + [] + ], + [ + "add", + 199, + 278, + -1, + 4, + [] + ], + [ + "add", + 199, + 280, + 1, + 4, + [] + ], + [ + "add", + 199, + 283, + 1, + 4, + [] + ], + [ + "add", + 199, + 284, + 1, + 4, + [] + ], + [ + "add", + 199, + 286, + 1, + 4, + [] + ], + [ + "add", + 199, + 288, + -1, + 4, + [] + ], + [ + "add", + 199, + 292, + -1, + 4, + [] + ], + [ + "add", + 199, + 294, + -1, + 4, + [] + ], + [ + "add", + 199, + 296, + 1, + 4, + [] + ], + [ + "add", + 199, + 299, + 1, + 4, + [] + ], + [ + "add", + 199, + 300, + 1, + 4, + [] + ], + [ + "add", + 199, + 302, + 1, + 4, + [] + ], + [ + "add", + 199, + 304, + 1, + 4, + [] + ], + [ + "add", + 199, + 308, + 1, + 4, + [] + ], + [ + "add", + 199, + 310, + 1, + 4, + [] + ], + [ + "add", + 199, + 312, + -1, + 4, + [] + ], + [ + "add", + 199, + 315, + -1, + 4, + [] + ], + [ + "add", + 199, + 316, + -1, + 4, + [] + ], + [ + "add", + 199, + 318, + -1, + 4, + [] + ], + [ + "add", + 199, + 320, + 1, + 4, + [] + ], + [ + "add", + 199, + 324, + 1, + 4, + [] + ], + [ + "add", + 199, + 326, + 1, + 4, + [] + ], + [ + "add", + 199, + 331, + -1, + 4, + [] + ], + [ + "add", + 199, + 332, + -1, + 4, + [] + ], + [ + "add", + 199, + 334, + -1, + 4, + [] + ], + [ + "add", + 199, + 335, + 1, + 4, + [] + ], + [ + "add", + 199, + 336, + -1, + 4, + [] + ], + [ + "add", + 199, + 340, + -1, + 4, + [] + ], + [ + "add", + 199, + 342, + -1, + 4, + [] + ], + [ + "add", + 199, + 347, + 1, + 4, + [] + ], + [ + "add", + 199, + 348, + 1, + 4, + [] + ], + [ + "add", + 199, + 350, + 1, + 4, + [] + ], + [ + "add", + 199, + 351, + -1, + 4, + [] + ], + [ + "add", + 199, + 352, + -1, + 4, + [] + ], + [ + "add", + 199, + 356, + -1, + 4, + [] + ], + [ + "add", + 199, + 358, + -1, + 4, + [] + ], + [ + "add", + 199, + 363, + 1, + 4, + [] + ], + [ + "add", + 199, + 364, + 1, + 4, + [] + ], + [ + "add", + 199, + 366, + 1, + 4, + [] + ], + [ + "add", + 199, + 367, + -1, + 4, + [] + ], + [ + "add", + 199, + 368, + 1, + 4, + [] + ], + [ + "add", + 199, + 372, + 1, + 4, + [] + ], + [ + "add", + 199, + 374, + 1, + 4, + [] + ], + [ + "add", + 199, + 379, + -1, + 4, + [] + ], + [ + "add", + 199, + 380, + -1, + 4, + [] + ], + [ + "add", + 199, + 382, + -1, + 4, + [] + ], + [ + "add", + 199, + 383, + 1, + 4, + [] + ], + [ + "add", + 199, + 384, + 1, + 4, + [] + ], + [ + "add", + 199, + 388, + 1, + 4, + [] + ], + [ + "add", + 199, + 390, + 1, + 4, + [] + ], + [ + "add", + 199, + 395, + -1, + 4, + [] + ], + [ + "add", + 199, + 396, + -1, + 4, + [] + ], + [ + "add", + 199, + 398, + -1, + 4, + [] + ], + [ + "add", + 199, + 399, + 1, + 4, + [] + ], + [ + "add", + 199, + 480, + 1, + 2, + [] + ], + [ + "add", + 199, + 481, + 1, + 2, + [] + ], + [ + "add", + 199, + 492, + 1, + 2, + [] + ], + [ + "add", + 199, + 493, + 1, + 2, + [] + ], + [ + "add", + 199, + 504, + -1, + 2, + [] + ], + [ + "add", + 199, + 505, + -1, + 2, + [] + ], + [ + "add", + 199, + 516, + -1, + 2, + [] + ], + [ + "add", + 199, + 517, + -1, + 2, + [] + ], + [ + "add", + 139, + 224, + -1, + 2, + [] + ], + [ + "add", + 139, + 226, + 1, + 2, + [] + ], + [ + "add", + 139, + 227, + -1, + 2, + [] + ], + [ + "add", + 139, + 230, + 1, + 2, + [] + ], + [ + "add", + 139, + 233, + -1, + 2, + [] + ], + [ + "add", + 139, + 234, + -1, + 2, + [] + ], + [ + "add", + 139, + 235, + 1, + 2, + [] + ], + [ + "add", + 139, + 239, + 1, + 2, + [] + ], + [ + "add", + 139, + 272, + -1, + 4, + [] + ], + [ + "add", + 139, + 276, + -1, + 4, + [] + ], + [ + "add", + 139, + 280, + 1, + 4, + [] + ], + [ + "add", + 139, + 283, + 1, + 2, + [] + ], + [ + "add", + 139, + 286, + -1, + 4, + [] + ], + [ + "add", + 139, + 287, + 1, + 2, + [] + ], + [ + "add", + 139, + 288, + -1, + 4, + [] + ], + [ + "add", + 139, + 292, + -1, + 4, + [] + ], + [ + "add", + 139, + 296, + 1, + 4, + [] + ], + [ + "add", + 139, + 299, + 1, + 2, + [] + ], + [ + "add", + 139, + 302, + -1, + 4, + [] + ], + [ + "add", + 139, + 303, + 1, + 2, + [] + ], + [ + "add", + 139, + 304, + -1, + 4, + [] + ], + [ + "add", + 139, + 308, + -1, + 4, + [] + ], + [ + "add", + 139, + 312, + 1, + 4, + [] + ], + [ + "add", + 139, + 315, + 1, + 2, + [] + ], + [ + "add", + 139, + 318, + -1, + 4, + [] + ], + [ + "add", + 139, + 319, + 1, + 2, + [] + ], + [ + "add", + 139, + 320, + -1, + 4, + [] + ], + [ + "add", + 139, + 324, + -1, + 4, + [] + ], + [ + "add", + 139, + 331, + 1, + 2, + [] + ], + [ + "add", + 139, + 334, + -1, + 4, + [] + ], + [ + "add", + 139, + 335, + 1, + 4, + [] + ], + [ + "add", + 139, + 336, + -1, + 4, + [] + ], + [ + "add", + 139, + 340, + -1, + 4, + [] + ], + [ + "add", + 139, + 347, + 1, + 2, + [] + ], + [ + "add", + 139, + 350, + -1, + 4, + [] + ], + [ + "add", + 139, + 351, + 1, + 4, + [] + ], + [ + "add", + 139, + 352, + -1, + 4, + [] + ], + [ + "add", + 139, + 356, + -1, + 4, + [] + ], + [ + "add", + 139, + 363, + 1, + 2, + [] + ], + [ + "add", + 139, + 366, + -1, + 4, + [] + ], + [ + "add", + 139, + 367, + 1, + 4, + [] + ], + [ + "add", + 139, + 368, + -1, + 4, + [] + ], + [ + "add", + 139, + 372, + -1, + 4, + [] + ], + [ + "add", + 139, + 379, + 1, + 2, + [] + ], + [ + "add", + 139, + 382, + -1, + 4, + [] + ], + [ + "add", + 139, + 383, + 1, + 4, + [] + ], + [ + "add", + 139, + 384, + -1, + 4, + [] + ], + [ + "add", + 139, + 388, + -1, + 4, + [] + ], + [ + "add", + 139, + 395, + 1, + 2, + [] + ], + [ + "add", + 139, + 398, + -1, + 4, + [] + ], + [ + "add", + 139, + 399, + 1, + 4, + [] + ], + [ + "add", + 139, + 400, + -1, + 2, + [] + ], + [ + "add", + 139, + 403, + -1, + 2, + [] + ], + [ + "add", + 139, + 405, + -1, + 2, + [] + ], + [ + "add", + 139, + 406, + -1, + 2, + [] + ], + [ + "add", + 139, + 410, + 1, + 2, + [] + ], + [ + "add", + 139, + 411, + -1, + 2, + [] + ], + [ + "add", + 139, + 414, + -1, + 2, + [] + ], + [ + "add", + 139, + 415, + 1, + 2, + [] + ], + [ + "add", + 139, + 416, + -1, + 2, + [] + ], + [ + "add", + 139, + 419, + -1, + 2, + [] + ], + [ + "add", + 139, + 421, + -1, + 2, + [] + ], + [ + "add", + 139, + 422, + -1, + 2, + [] + ], + [ + "add", + 139, + 426, + 1, + 2, + [] + ], + [ + "add", + 139, + 427, + -1, + 2, + [] + ], + [ + "add", + 139, + 430, + -1, + 2, + [] + ], + [ + "add", + 139, + 431, + 1, + 2, + [] + ], + [ + "add", + 204, + 272, + -1, + 4, + [] + ], + [ + "add", + 204, + 274, + -1, + 4, + [] + ], + [ + "add", + 204, + 279, + -1, + 4, + [] + ], + [ + "add", + 204, + 280, + 1, + 4, + [] + ], + [ + "add", + 204, + 281, + -1, + 2, + [] + ], + [ + "add", + 204, + 288, + -1, + 4, + [] + ], + [ + "add", + 204, + 290, + -1, + 4, + [] + ], + [ + "add", + 204, + 295, + -1, + 4, + [] + ], + [ + "add", + 204, + 296, + 1, + 4, + [] + ], + [ + "add", + 204, + 297, + -1, + 2, + [] + ], + [ + "add", + 204, + 304, + -1, + 4, + [] + ], + [ + "add", + 204, + 306, + -1, + 4, + [] + ], + [ + "add", + 204, + 312, + 1, + 4, + [] + ], + [ + "add", + 204, + 313, + -1, + 2, + [] + ], + [ + "add", + 204, + 320, + -1, + 4, + [] + ], + [ + "add", + 204, + 322, + -1, + 4, + [] + ], + [ + "add", + 204, + 329, + -1, + 2, + [] + ], + [ + "add", + 204, + 335, + -1, + 4, + [] + ], + [ + "add", + 204, + 336, + 1, + 4, + [] + ], + [ + "add", + 204, + 338, + 1, + 4, + [] + ], + [ + "add", + 204, + 343, + 1, + 4, + [] + ], + [ + "add", + 204, + 345, + 1, + 2, + [] + ], + [ + "add", + 204, + 351, + 1, + 4, + [] + ], + [ + "add", + 204, + 352, + 1, + 4, + [] + ], + [ + "add", + 204, + 354, + 1, + 4, + [] + ], + [ + "add", + 204, + 359, + 1, + 4, + [] + ], + [ + "add", + 204, + 361, + 1, + 2, + [] + ], + [ + "add", + 204, + 367, + 1, + 4, + [] + ], + [ + "add", + 204, + 368, + 1, + 4, + [] + ], + [ + "add", + 204, + 370, + 1, + 4, + [] + ], + [ + "add", + 204, + 375, + 1, + 4, + [] + ], + [ + "add", + 204, + 377, + 1, + 2, + [] + ], + [ + "add", + 204, + 383, + 1, + 4, + [] + ], + [ + "add", + 204, + 384, + 1, + 4, + [] + ], + [ + "add", + 204, + 386, + 1, + 4, + [] + ], + [ + "add", + 204, + 391, + 1, + 4, + [] + ], + [ + "add", + 204, + 393, + 1, + 2, + [] + ], + [ + "add", + 204, + 399, + 1, + 4, + [] + ], + [ + "add", + 204, + 499, + -1, + 4, + [] + ], + [ + "add", + 204, + 511, + -1, + 4, + [] + ], + [ + "add", + 169, + 224, + 1, + 2, + [] + ], + [ + "add", + 169, + 225, + -1, + 2, + [] + ], + [ + "add", + 169, + 226, + 1, + 2, + [] + ], + [ + "add", + 169, + 227, + -1, + 2, + [] + ], + [ + "add", + 169, + 233, + -1, + 2, + [] + ], + [ + "add", + 169, + 235, + -1, + 2, + [] + ], + [ + "add", + 169, + 237, + -1, + 2, + [] + ], + [ + "add", + 169, + 239, + -1, + 2, + [] + ], + [ + "add", + 169, + 241, + -1, + 2, + [] + ], + [ + "add", + 169, + 243, + -1, + 2, + [] + ], + [ + "add", + 169, + 249, + -1, + 2, + [] + ], + [ + "add", + 169, + 251, + -1, + 2, + [] + ], + [ + "add", + 169, + 253, + -1, + 2, + [] + ], + [ + "add", + 169, + 255, + -1, + 2, + [] + ], + [ + "add", + 169, + 257, + -1, + 2, + [] + ], + [ + "add", + 169, + 259, + -1, + 2, + [] + ], + [ + "add", + 169, + 265, + -1, + 2, + [] + ], + [ + "add", + 169, + 267, + -1, + 2, + [] + ], + [ + "add", + 169, + 269, + -1, + 2, + [] + ], + [ + "add", + 169, + 271, + -1, + 2, + [] + ], + [ + "add", + 169, + 272, + -1, + 4, + [] + ], + [ + "add", + 169, + 276, + -1, + 4, + [] + ], + [ + "add", + 169, + 280, + 1, + 4, + [] + ], + [ + "add", + 169, + 283, + -1, + 2, + [] + ], + [ + "add", + 169, + 286, + -1, + 4, + [] + ], + [ + "add", + 169, + 287, + 1, + 2, + [] + ], + [ + "add", + 169, + 288, + -1, + 4, + [] + ], + [ + "add", + 169, + 292, + -1, + 4, + [] + ], + [ + "add", + 169, + 296, + 1, + 4, + [] + ], + [ + "add", + 169, + 299, + -1, + 2, + [] + ], + [ + "add", + 169, + 302, + -1, + 4, + [] + ], + [ + "add", + 169, + 303, + 1, + 2, + [] + ], + [ + "add", + 169, + 304, + -1, + 4, + [] + ], + [ + "add", + 169, + 308, + -1, + 4, + [] + ], + [ + "add", + 169, + 312, + 1, + 4, + [] + ], + [ + "add", + 169, + 315, + -1, + 2, + [] + ], + [ + "add", + 169, + 318, + -1, + 4, + [] + ], + [ + "add", + 169, + 319, + 1, + 2, + [] + ], + [ + "add", + 169, + 320, + -1, + 4, + [] + ], + [ + "add", + 169, + 324, + -1, + 4, + [] + ], + [ + "add", + 169, + 331, + -1, + 2, + [] + ], + [ + "add", + 169, + 334, + -1, + 4, + [] + ], + [ + "add", + 169, + 335, + 1, + 4, + [] + ], + [ + "add", + 169, + 336, + 1, + 4, + [] + ], + [ + "add", + 169, + 340, + 1, + 4, + [] + ], + [ + "add", + 169, + 347, + 1, + 2, + [] + ], + [ + "add", + 169, + 350, + 1, + 4, + [] + ], + [ + "add", + 169, + 351, + -1, + 4, + [] + ], + [ + "add", + 169, + 352, + 1, + 4, + [] + ], + [ + "add", + 169, + 356, + 1, + 4, + [] + ], + [ + "add", + 169, + 363, + 1, + 2, + [] + ], + [ + "add", + 169, + 366, + 1, + 4, + [] + ], + [ + "add", + 169, + 367, + -1, + 4, + [] + ], + [ + "add", + 169, + 368, + 1, + 4, + [] + ], + [ + "add", + 169, + 372, + 1, + 4, + [] + ], + [ + "add", + 169, + 379, + 1, + 2, + [] + ], + [ + "add", + 169, + 382, + 1, + 4, + [] + ], + [ + "add", + 169, + 383, + -1, + 4, + [] + ], + [ + "add", + 169, + 384, + 1, + 4, + [] + ], + [ + "add", + 169, + 388, + 1, + 4, + [] + ], + [ + "add", + 169, + 395, + 1, + 2, + [] + ], + [ + "add", + 169, + 398, + 1, + 4, + [] + ], + [ + "add", + 169, + 399, + -1, + 4, + [] + ], + [ + "add", + 119, + 224, + -1, + 2, + [] + ], + [ + "add", + 119, + 225, + 1, + 2, + [] + ], + [ + "add", + 119, + 227, + -1, + 2, + [] + ], + [ + "add", + 119, + 229, + 1, + 2, + [] + ], + [ + "add", + 119, + 235, + -1, + 2, + [] + ], + [ + "add", + 119, + 237, + 1, + 2, + [] + ], + [ + "add", + 119, + 238, + 1, + 2, + [] + ], + [ + "add", + 119, + 239, + -1, + 2, + [] + ], + [ + "add", + 119, + 272, + -1, + 4, + [] + ], + [ + "add", + 119, + 276, + -1, + 4, + [] + ], + [ + "add", + 119, + 280, + 1, + 4, + [] + ], + [ + "add", + 119, + 283, + 1, + 2, + [] + ], + [ + "add", + 119, + 286, + -1, + 4, + [] + ], + [ + "add", + 119, + 287, + 1, + 2, + [] + ], + [ + "add", + 119, + 288, + -1, + 4, + [] + ], + [ + "add", + 119, + 292, + -1, + 4, + [] + ], + [ + "add", + 119, + 296, + 1, + 4, + [] + ], + [ + "add", + 119, + 299, + 1, + 2, + [] + ], + [ + "add", + 119, + 302, + -1, + 4, + [] + ], + [ + "add", + 119, + 303, + 1, + 2, + [] + ], + [ + "add", + 119, + 304, + 1, + 4, + [] + ], + [ + "add", + 119, + 308, + 1, + 4, + [] + ], + [ + "add", + 119, + 312, + -1, + 4, + [] + ], + [ + "add", + 119, + 315, + -1, + 2, + [] + ], + [ + "add", + 119, + 318, + 1, + 4, + [] + ], + [ + "add", + 119, + 319, + -1, + 2, + [] + ], + [ + "add", + 119, + 320, + 1, + 4, + [] + ], + [ + "add", + 119, + 324, + 1, + 4, + [] + ], + [ + "add", + 119, + 331, + -1, + 2, + [] + ], + [ + "add", + 119, + 334, + 1, + 4, + [] + ], + [ + "add", + 119, + 335, + -1, + 4, + [] + ], + [ + "add", + 119, + 336, + -1, + 4, + [] + ], + [ + "add", + 119, + 340, + -1, + 4, + [] + ], + [ + "add", + 119, + 347, + 1, + 2, + [] + ], + [ + "add", + 119, + 350, + -1, + 4, + [] + ], + [ + "add", + 119, + 351, + 1, + 4, + [] + ], + [ + "add", + 119, + 352, + -1, + 4, + [] + ], + [ + "add", + 119, + 356, + -1, + 4, + [] + ], + [ + "add", + 119, + 363, + 1, + 2, + [] + ], + [ + "add", + 119, + 366, + -1, + 4, + [] + ], + [ + "add", + 119, + 367, + 1, + 4, + [] + ], + [ + "add", + 119, + 368, + 1, + 4, + [] + ], + [ + "add", + 119, + 372, + 1, + 4, + [] + ], + [ + "add", + 119, + 379, + -1, + 2, + [] + ], + [ + "add", + 119, + 382, + 1, + 4, + [] + ], + [ + "add", + 119, + 383, + -1, + 4, + [] + ], + [ + "add", + 119, + 384, + 1, + 4, + [] + ], + [ + "add", + 119, + 388, + 1, + 4, + [] + ], + [ + "add", + 119, + 395, + -1, + 2, + [] + ], + [ + "add", + 119, + 398, + 1, + 4, + [] + ], + [ + "add", + 119, + 399, + -1, + 4, + [] + ], + [ + "add", + 119, + 401, + -1, + 2, + [] + ], + [ + "add", + 119, + 402, + 1, + 2, + [] + ], + [ + "add", + 119, + 403, + -1, + 2, + [] + ], + [ + "add", + 119, + 409, + -1, + 2, + [] + ], + [ + "add", + 119, + 411, + -1, + 2, + [] + ], + [ + "add", + 119, + 413, + -1, + 2, + [] + ], + [ + "add", + 119, + 415, + -1, + 2, + [] + ], + [ + "add", + 119, + 417, + -1, + 2, + [] + ], + [ + "add", + 119, + 418, + 1, + 2, + [] + ], + [ + "add", + 119, + 419, + -1, + 2, + [] + ], + [ + "add", + 119, + 425, + -1, + 2, + [] + ], + [ + "add", + 119, + 427, + -1, + 2, + [] + ], + [ + "add", + 119, + 429, + -1, + 2, + [] + ], + [ + "add", + 119, + 431, + -1, + 2, + [] + ], + [ + "add", + 193, + 272, + -1, + 4, + [] + ], + [ + "add", + 193, + 276, + -1, + 4, + [] + ], + [ + "add", + 193, + 278, + -1, + 4, + [] + ], + [ + "add", + 193, + 280, + 1, + 4, + [] + ], + [ + "add", + 193, + 283, + 1, + 4, + [] + ], + [ + "add", + 193, + 284, + 1, + 4, + [] + ], + [ + "add", + 193, + 286, + 1, + 4, + [] + ], + [ + "add", + 193, + 288, + -1, + 4, + [] + ], + [ + "add", + 193, + 292, + -1, + 4, + [] + ], + [ + "add", + 193, + 294, + -1, + 4, + [] + ], + [ + "add", + 193, + 296, + 1, + 4, + [] + ], + [ + "add", + 193, + 299, + 1, + 4, + [] + ], + [ + "add", + 193, + 300, + 1, + 4, + [] + ], + [ + "add", + 193, + 302, + 1, + 4, + [] + ], + [ + "add", + 193, + 304, + -1, + 4, + [] + ], + [ + "add", + 193, + 308, + -1, + 4, + [] + ], + [ + "add", + 193, + 310, + -1, + 4, + [] + ], + [ + "add", + 193, + 312, + 1, + 4, + [] + ], + [ + "add", + 193, + 315, + 1, + 4, + [] + ], + [ + "add", + 193, + 316, + 1, + 4, + [] + ], + [ + "add", + 193, + 318, + 1, + 4, + [] + ], + [ + "add", + 193, + 320, + -1, + 4, + [] + ], + [ + "add", + 193, + 324, + -1, + 4, + [] + ], + [ + "add", + 193, + 326, + -1, + 4, + [] + ], + [ + "add", + 193, + 331, + 1, + 4, + [] + ], + [ + "add", + 193, + 332, + 1, + 4, + [] + ], + [ + "add", + 193, + 334, + 1, + 4, + [] + ], + [ + "add", + 193, + 335, + -1, + 4, + [] + ], + [ + "add", + 193, + 336, + -1, + 4, + [] + ], + [ + "add", + 193, + 340, + -1, + 4, + [] + ], + [ + "add", + 193, + 342, + -1, + 4, + [] + ], + [ + "add", + 193, + 347, + 1, + 4, + [] + ], + [ + "add", + 193, + 348, + 1, + 4, + [] + ], + [ + "add", + 193, + 350, + 1, + 4, + [] + ], + [ + "add", + 193, + 351, + -1, + 4, + [] + ], + [ + "add", + 193, + 352, + -1, + 4, + [] + ], + [ + "add", + 193, + 356, + -1, + 4, + [] + ], + [ + "add", + 193, + 358, + -1, + 4, + [] + ], + [ + "add", + 193, + 363, + 1, + 4, + [] + ], + [ + "add", + 193, + 364, + 1, + 4, + [] + ], + [ + "add", + 193, + 366, + 1, + 4, + [] + ], + [ + "add", + 193, + 367, + -1, + 4, + [] + ], + [ + "add", + 193, + 368, + -1, + 4, + [] + ], + [ + "add", + 193, + 372, + -1, + 4, + [] + ], + [ + "add", + 193, + 374, + -1, + 4, + [] + ], + [ + "add", + 193, + 379, + 1, + 4, + [] + ], + [ + "add", + 193, + 380, + 1, + 4, + [] + ], + [ + "add", + 193, + 382, + 1, + 4, + [] + ], + [ + "add", + 193, + 383, + -1, + 4, + [] + ], + [ + "add", + 193, + 384, + -1, + 4, + [] + ], + [ + "add", + 193, + 388, + -1, + 4, + [] + ], + [ + "add", + 193, + 390, + -1, + 4, + [] + ], + [ + "add", + 193, + 395, + 1, + 4, + [] + ], + [ + "add", + 193, + 396, + 1, + 4, + [] + ], + [ + "add", + 193, + 398, + 1, + 4, + [] + ], + [ + "add", + 193, + 399, + -1, + 4, + [] + ], + [ + "add", + 193, + 480, + 1, + 2, + [] + ], + [ + "add", + 193, + 481, + 1, + 2, + [] + ], + [ + "add", + 193, + 492, + 1, + 2, + [] + ], + [ + "add", + 193, + 493, + 1, + 2, + [] + ], + [ + "add", + 193, + 504, + 1, + 2, + [] + ], + [ + "add", + 193, + 505, + 1, + 2, + [] + ], + [ + "add", + 193, + 516, + 1, + 2, + [] + ], + [ + "add", + 193, + 517, + 1, + 2, + [] + ], + [ + "add", + 210, + 226, + 1, + 2, + [] + ], + [ + "add", + 210, + 227, + -1, + 2, + [] + ], + [ + "add", + 210, + 228, + 1, + 2, + [] + ], + [ + "add", + 210, + 229, + -1, + 2, + [] + ], + [ + "add", + 210, + 232, + 1, + 2, + [] + ], + [ + "add", + 210, + 233, + -1, + 2, + [] + ], + [ + "add", + 210, + 238, + -1, + 2, + [] + ], + [ + "add", + 210, + 239, + 1, + 2, + [] + ], + [ + "add", + 210, + 241, + -1, + 4, + [] + ], + [ + "add", + 210, + 243, + -1, + 2, + [] + ], + [ + "add", + 210, + 246, + -1, + 4, + [] + ], + [ + "add", + 210, + 247, + 1, + 4, + [] + ], + [ + "add", + 210, + 250, + 1, + 4, + [] + ], + [ + "add", + 210, + 251, + -1, + 4, + [] + ], + [ + "add", + 210, + 252, + 1, + 4, + [] + ], + [ + "add", + 210, + 253, + -1, + 4, + [] + ], + [ + "add", + 210, + 259, + -1, + 4, + [] + ], + [ + "add", + 210, + 260, + 1, + 4, + [] + ], + [ + "add", + 210, + 261, + -1, + 4, + [] + ], + [ + "add", + 210, + 264, + 1, + 4, + [] + ], + [ + "add", + 210, + 265, + -1, + 4, + [] + ], + [ + "add", + 210, + 266, + 1, + 2, + [] + ], + [ + "add", + 210, + 267, + -1, + 2, + [] + ], + [ + "add", + 210, + 270, + -1, + 4, + [] + ], + [ + "add", + 210, + 271, + 1, + 4, + [] + ], + [ + "add", + 210, + 278, + 1, + 4, + [] + ], + [ + "add", + 210, + 280, + 1, + 2, + [] + ], + [ + "add", + 210, + 283, + -1, + 4, + [] + ], + [ + "add", + 210, + 284, + 1, + 4, + [] + ], + [ + "add", + 210, + 287, + 1, + 2, + [] + ], + [ + "add", + 210, + 290, + 1, + 4, + [] + ], + [ + "add", + 210, + 292, + -1, + 4, + [] + ], + [ + "add", + 210, + 295, + 1, + 4, + [] + ], + [ + "add", + 210, + 297, + 1, + 2, + [] + ], + [ + "add", + 210, + 299, + -1, + 2, + [] + ], + [ + "add", + 210, + 302, + -1, + 4, + [] + ], + [ + "add", + 210, + 303, + 1, + 2, + [] + ], + [ + "add", + 210, + 304, + -1, + 2, + [] + ], + [ + "add", + 210, + 308, + -1, + 2, + [] + ], + [ + "add", + 210, + 312, + 1, + 2, + [] + ], + [ + "add", + 210, + 318, + -1, + 2, + [] + ], + [ + "add", + 210, + 319, + 1, + 1, + [] + ], + [ + "add", + 210, + 320, + -1, + 2, + [] + ], + [ + "add", + 210, + 324, + -1, + 2, + [] + ], + [ + "add", + 210, + 334, + -1, + 2, + [] + ], + [ + "add", + 210, + 335, + 1, + 2, + [] + ], + [ + "add", + 210, + 370, + 1, + 4, + [] + ], + [ + "add", + 210, + 372, + -1, + 4, + [] + ], + [ + "add", + 210, + 375, + -1, + 4, + [] + ], + [ + "add", + 210, + 379, + 1, + 2, + [] + ], + [ + "add", + 210, + 381, + -1, + 2, + [] + ], + [ + "add", + 210, + 382, + -1, + 4, + [] + ], + [ + "add", + 210, + 390, + 1, + 4, + [] + ], + [ + "add", + 210, + 395, + 1, + 4, + [] + ], + [ + "add", + 210, + 396, + -1, + 4, + [] + ], + [ + "add", + 210, + 398, + -1, + 2, + [] + ], + [ + "add", + 210, + 399, + 1, + 2, + [] + ], + [ + "add", + 210, + 401, + 1, + 2, + [] + ], + [ + "add", + 210, + 402, + -1, + 4, + [] + ], + [ + "add", + 210, + 403, + 1, + 4, + [] + ], + [ + "add", + 210, + 404, + 1, + 4, + [] + ], + [ + "add", + 210, + 405, + -1, + 4, + [] + ], + [ + "add", + 210, + 408, + -1, + 4, + [] + ], + [ + "add", + 210, + 409, + 1, + 4, + [] + ], + [ + "add", + 210, + 414, + -1, + 4, + [] + ], + [ + "add", + 210, + 415, + 1, + 4, + [] + ], + [ + "add", + 210, + 417, + 1, + 4, + [] + ], + [ + "add", + 210, + 422, + -1, + 4, + [] + ], + [ + "add", + 210, + 423, + 1, + 4, + [] + ], + [ + "add", + 210, + 426, + 1, + 4, + [] + ], + [ + "add", + 210, + 427, + -1, + 4, + [] + ], + [ + "add", + 210, + 428, + -1, + 4, + [] + ], + [ + "add", + 210, + 429, + 1, + 4, + [] + ], + [ + "add", + 210, + 430, + -1, + 2, + [] + ], + [ + "add", + 210, + 431, + 1, + 2, + [] + ], + [ + "add", + 210, + 456, + 1, + 4, + [] + ], + [ + "add", + 210, + 457, + 1, + 4, + [] + ], + [ + "add", + 210, + 466, + 1, + 4, + [] + ], + [ + "add", + 210, + 467, + 1, + 4, + [] + ], + [ + "add", + 160, + 226, + 1, + 2, + [] + ], + [ + "add", + 160, + 227, + -1, + 2, + [] + ], + [ + "add", + 160, + 228, + 1, + 2, + [] + ], + [ + "add", + 160, + 229, + -1, + 2, + [] + ], + [ + "add", + 160, + 232, + 1, + 2, + [] + ], + [ + "add", + 160, + 233, + -1, + 2, + [] + ], + [ + "add", + 160, + 238, + -1, + 2, + [] + ], + [ + "add", + 160, + 239, + 1, + 2, + [] + ], + [ + "add", + 160, + 241, + -1, + 4, + [] + ], + [ + "add", + 160, + 243, + -1, + 2, + [] + ], + [ + "add", + 160, + 246, + -1, + 4, + [] + ], + [ + "add", + 160, + 247, + 1, + 4, + [] + ], + [ + "add", + 160, + 250, + 1, + 4, + [] + ], + [ + "add", + 160, + 251, + -1, + 4, + [] + ], + [ + "add", + 160, + 252, + 1, + 4, + [] + ], + [ + "add", + 160, + 253, + -1, + 4, + [] + ], + [ + "add", + 160, + 259, + -1, + 4, + [] + ], + [ + "add", + 160, + 260, + 1, + 4, + [] + ], + [ + "add", + 160, + 261, + -1, + 4, + [] + ], + [ + "add", + 160, + 264, + 1, + 4, + [] + ], + [ + "add", + 160, + 265, + -1, + 4, + [] + ], + [ + "add", + 160, + 266, + 1, + 2, + [] + ], + [ + "add", + 160, + 267, + -1, + 2, + [] + ], + [ + "add", + 160, + 270, + -1, + 4, + [] + ], + [ + "add", + 160, + 271, + 1, + 4, + [] + ], + [ + "add", + 160, + 278, + 1, + 4, + [] + ], + [ + "add", + 160, + 280, + 1, + 2, + [] + ], + [ + "add", + 160, + 283, + -1, + 4, + [] + ], + [ + "add", + 160, + 284, + 1, + 4, + [] + ], + [ + "add", + 160, + 287, + 1, + 2, + [] + ], + [ + "add", + 160, + 290, + 1, + 4, + [] + ], + [ + "add", + 160, + 292, + -1, + 4, + [] + ], + [ + "add", + 160, + 295, + 1, + 4, + [] + ], + [ + "add", + 160, + 297, + 1, + 2, + [] + ], + [ + "add", + 160, + 299, + -1, + 2, + [] + ], + [ + "add", + 160, + 302, + -1, + 4, + [] + ], + [ + "add", + 160, + 303, + 1, + 2, + [] + ], + [ + "add", + 160, + 304, + -1, + 2, + [] + ], + [ + "add", + 160, + 308, + -1, + 2, + [] + ], + [ + "add", + 160, + 312, + 1, + 2, + [] + ], + [ + "add", + 160, + 318, + -1, + 2, + [] + ], + [ + "add", + 160, + 319, + 1, + 1, + [] + ], + [ + "add", + 160, + 320, + -1, + 2, + [] + ], + [ + "add", + 160, + 324, + -1, + 2, + [] + ], + [ + "add", + 160, + 334, + -1, + 2, + [] + ], + [ + "add", + 160, + 335, + 1, + 2, + [] + ], + [ + "add", + 160, + 370, + 1, + 4, + [] + ], + [ + "add", + 160, + 372, + -1, + 4, + [] + ], + [ + "add", + 160, + 375, + -1, + 4, + [] + ], + [ + "add", + 160, + 379, + 1, + 2, + [] + ], + [ + "add", + 160, + 381, + -1, + 2, + [] + ], + [ + "add", + 160, + 382, + -1, + 4, + [] + ], + [ + "add", + 160, + 390, + 1, + 4, + [] + ], + [ + "add", + 160, + 395, + 1, + 4, + [] + ], + [ + "add", + 160, + 396, + -1, + 4, + [] + ], + [ + "add", + 160, + 398, + -1, + 2, + [] + ], + [ + "add", + 160, + 399, + 1, + 2, + [] + ], + [ + "add", + 160, + 401, + 1, + 2, + [] + ], + [ + "add", + 160, + 402, + -1, + 4, + [] + ], + [ + "add", + 160, + 403, + 1, + 4, + [] + ], + [ + "add", + 160, + 404, + 1, + 4, + [] + ], + [ + "add", + 160, + 405, + -1, + 4, + [] + ], + [ + "add", + 160, + 408, + -1, + 4, + [] + ], + [ + "add", + 160, + 409, + 1, + 4, + [] + ], + [ + "add", + 160, + 414, + -1, + 4, + [] + ], + [ + "add", + 160, + 415, + 1, + 4, + [] + ], + [ + "add", + 160, + 417, + 1, + 4, + [] + ], + [ + "add", + 160, + 422, + -1, + 4, + [] + ], + [ + "add", + 160, + 423, + 1, + 4, + [] + ], + [ + "add", + 160, + 426, + 1, + 4, + [] + ], + [ + "add", + 160, + 427, + -1, + 4, + [] + ], + [ + "add", + 160, + 428, + -1, + 4, + [] + ], + [ + "add", + 160, + 429, + 1, + 4, + [] + ], + [ + "add", + 160, + 430, + -1, + 2, + [] + ], + [ + "add", + 160, + 431, + 1, + 2, + [] + ], + [ + "add", + 160, + 456, + 1, + 4, + [] + ], + [ + "add", + 160, + 457, + 1, + 4, + [] + ], + [ + "add", + 160, + 466, + 1, + 4, + [] + ], + [ + "add", + 160, + 467, + 1, + 4, + [] + ], + [ + "add", + 144, + 241, + 1, + 4, + [] + ], + [ + "add", + 144, + 243, + -1, + 2, + [] + ], + [ + "add", + 144, + 246, + 1, + 4, + [] + ], + [ + "add", + 144, + 247, + -1, + 4, + [] + ], + [ + "add", + 144, + 250, + -1, + 4, + [] + ], + [ + "add", + 144, + 251, + 1, + 4, + [] + ], + [ + "add", + 144, + 252, + -1, + 4, + [] + ], + [ + "add", + 144, + 253, + 1, + 4, + [] + ], + [ + "add", + 144, + 259, + 1, + 4, + [] + ], + [ + "add", + 144, + 260, + -1, + 4, + [] + ], + [ + "add", + 144, + 261, + 1, + 4, + [] + ], + [ + "add", + 144, + 264, + -1, + 4, + [] + ], + [ + "add", + 144, + 265, + 1, + 4, + [] + ], + [ + "add", + 144, + 266, + 1, + 2, + [] + ], + [ + "add", + 144, + 267, + -1, + 2, + [] + ], + [ + "add", + 144, + 270, + 1, + 4, + [] + ], + [ + "add", + 144, + 271, + -1, + 4, + [] + ], + [ + "add", + 144, + 278, + -1, + 4, + [] + ], + [ + "add", + 144, + 280, + 1, + 2, + [] + ], + [ + "add", + 144, + 283, + 1, + 4, + [] + ], + [ + "add", + 144, + 284, + -1, + 4, + [] + ], + [ + "add", + 144, + 287, + 1, + 2, + [] + ], + [ + "add", + 144, + 290, + -1, + 4, + [] + ], + [ + "add", + 144, + 292, + 1, + 4, + [] + ], + [ + "add", + 144, + 295, + -1, + 4, + [] + ], + [ + "add", + 144, + 297, + 1, + 2, + [] + ], + [ + "add", + 144, + 299, + -1, + 2, + [] + ], + [ + "add", + 144, + 302, + 1, + 4, + [] + ], + [ + "add", + 144, + 303, + -1, + 2, + [] + ], + [ + "add", + 144, + 304, + -1, + 2, + [] + ], + [ + "add", + 144, + 308, + 1, + 2, + [] + ], + [ + "add", + 144, + 312, + 1, + 2, + [] + ], + [ + "add", + 144, + 318, + 1, + 2, + [] + ], + [ + "add", + 144, + 336, + -1, + 2, + [] + ], + [ + "add", + 144, + 340, + 1, + 2, + [] + ], + [ + "add", + 144, + 350, + 1, + 2, + [] + ], + [ + "add", + 144, + 351, + -1, + 2, + [] + ], + [ + "add", + 144, + 370, + -1, + 4, + [] + ], + [ + "add", + 144, + 372, + 1, + 4, + [] + ], + [ + "add", + 144, + 375, + 1, + 4, + [] + ], + [ + "add", + 144, + 379, + 1, + 2, + [] + ], + [ + "add", + 144, + 381, + -1, + 2, + [] + ], + [ + "add", + 144, + 382, + 1, + 4, + [] + ], + [ + "add", + 144, + 390, + 1, + 4, + [] + ], + [ + "add", + 144, + 395, + 1, + 4, + [] + ], + [ + "add", + 144, + 396, + -1, + 4, + [] + ], + [ + "add", + 144, + 398, + 1, + 2, + [] + ], + [ + "add", + 144, + 399, + -1, + 2, + [] + ], + [ + "add", + 144, + 401, + 1, + 2, + [] + ], + [ + "add", + 144, + 402, + 1, + 4, + [] + ], + [ + "add", + 144, + 403, + -1, + 4, + [] + ], + [ + "add", + 144, + 404, + -1, + 4, + [] + ], + [ + "add", + 144, + 405, + 1, + 4, + [] + ], + [ + "add", + 144, + 408, + 1, + 4, + [] + ], + [ + "add", + 144, + 409, + -1, + 4, + [] + ], + [ + "add", + 144, + 414, + 1, + 4, + [] + ], + [ + "add", + 144, + 415, + -1, + 4, + [] + ], + [ + "add", + 144, + 417, + 1, + 4, + [] + ], + [ + "add", + 144, + 422, + -1, + 4, + [] + ], + [ + "add", + 144, + 423, + 1, + 4, + [] + ], + [ + "add", + 144, + 426, + 1, + 4, + [] + ], + [ + "add", + 144, + 427, + -1, + 4, + [] + ], + [ + "add", + 144, + 428, + -1, + 4, + [] + ], + [ + "add", + 144, + 429, + 1, + 4, + [] + ], + [ + "add", + 144, + 430, + 1, + 2, + [] + ], + [ + "add", + 144, + 431, + -1, + 2, + [] + ], + [ + "add", + 144, + 442, + 1, + 1, + [] + ], + [ + "add", + 144, + 443, + -1, + 1, + [] + ], + [ + "add", + 144, + 456, + -1, + 4, + [] + ], + [ + "add", + 144, + 457, + 1, + 4, + [] + ], + [ + "add", + 144, + 466, + 1, + 4, + [] + ], + [ + "add", + 144, + 467, + -1, + 4, + [] + ], + [ + "add", + 144, + 530, + -1, + 1, + [] + ], + [ + "add", + 197, + 241, + 1, + 4, + [] + ], + [ + "add", + 197, + 243, + -1, + 2, + [] + ], + [ + "add", + 197, + 246, + 1, + 4, + [] + ], + [ + "add", + 197, + 247, + -1, + 4, + [] + ], + [ + "add", + 197, + 250, + -1, + 4, + [] + ], + [ + "add", + 197, + 251, + 1, + 4, + [] + ], + [ + "add", + 197, + 252, + -1, + 4, + [] + ], + [ + "add", + 197, + 253, + 1, + 4, + [] + ], + [ + "add", + 197, + 259, + -1, + 4, + [] + ], + [ + "add", + 197, + 260, + 1, + 4, + [] + ], + [ + "add", + 197, + 261, + -1, + 4, + [] + ], + [ + "add", + 197, + 264, + 1, + 4, + [] + ], + [ + "add", + 197, + 265, + -1, + 4, + [] + ], + [ + "add", + 197, + 266, + -1, + 2, + [] + ], + [ + "add", + 197, + 267, + 1, + 2, + [] + ], + [ + "add", + 197, + 270, + -1, + 4, + [] + ], + [ + "add", + 197, + 271, + 1, + 4, + [] + ], + [ + "add", + 197, + 278, + -1, + 4, + [] + ], + [ + "add", + 197, + 280, + 1, + 2, + [] + ], + [ + "add", + 197, + 283, + 1, + 4, + [] + ], + [ + "add", + 197, + 284, + -1, + 4, + [] + ], + [ + "add", + 197, + 287, + 1, + 2, + [] + ], + [ + "add", + 197, + 290, + 1, + 4, + [] + ], + [ + "add", + 197, + 292, + -1, + 4, + [] + ], + [ + "add", + 197, + 295, + 1, + 4, + [] + ], + [ + "add", + 197, + 297, + -1, + 2, + [] + ], + [ + "add", + 197, + 299, + 1, + 2, + [] + ], + [ + "add", + 197, + 302, + -1, + 4, + [] + ], + [ + "add", + 197, + 303, + 1, + 2, + [] + ], + [ + "add", + 197, + 319, + 1, + 1, + [] + ], + [ + "add", + 197, + 351, + 1, + 1, + [] + ], + [ + "add", + 197, + 370, + -1, + 4, + [] + ], + [ + "add", + 197, + 372, + 1, + 4, + [] + ], + [ + "add", + 197, + 375, + 1, + 4, + [] + ], + [ + "add", + 197, + 379, + 1, + 2, + [] + ], + [ + "add", + 197, + 381, + -1, + 2, + [] + ], + [ + "add", + 197, + 382, + 1, + 4, + [] + ], + [ + "add", + 197, + 390, + -1, + 4, + [] + ], + [ + "add", + 197, + 395, + -1, + 4, + [] + ], + [ + "add", + 197, + 396, + 1, + 4, + [] + ], + [ + "add", + 197, + 398, + -1, + 2, + [] + ], + [ + "add", + 197, + 399, + 1, + 2, + [] + ], + [ + "add", + 197, + 401, + 1, + 2, + [] + ], + [ + "add", + 197, + 402, + 1, + 4, + [] + ], + [ + "add", + 197, + 403, + -1, + 4, + [] + ], + [ + "add", + 197, + 404, + -1, + 4, + [] + ], + [ + "add", + 197, + 405, + 1, + 4, + [] + ], + [ + "add", + 197, + 408, + 1, + 4, + [] + ], + [ + "add", + 197, + 409, + -1, + 4, + [] + ], + [ + "add", + 197, + 414, + 1, + 4, + [] + ], + [ + "add", + 197, + 415, + -1, + 4, + [] + ], + [ + "add", + 197, + 417, + -1, + 4, + [] + ], + [ + "add", + 197, + 422, + 1, + 4, + [] + ], + [ + "add", + 197, + 423, + -1, + 4, + [] + ], + [ + "add", + 197, + 426, + -1, + 4, + [] + ], + [ + "add", + 197, + 427, + 1, + 4, + [] + ], + [ + "add", + 197, + 428, + 1, + 4, + [] + ], + [ + "add", + 197, + 429, + -1, + 4, + [] + ], + [ + "add", + 197, + 430, + -1, + 2, + [] + ], + [ + "add", + 197, + 431, + 1, + 2, + [] + ], + [ + "add", + 197, + 434, + 1, + 2, + [] + ], + [ + "add", + 197, + 435, + -1, + 2, + [] + ], + [ + "add", + 197, + 436, + 1, + 2, + [] + ], + [ + "add", + 197, + 437, + -1, + 2, + [] + ], + [ + "add", + 197, + 440, + 1, + 2, + [] + ], + [ + "add", + 197, + 441, + -1, + 2, + [] + ], + [ + "add", + 197, + 446, + -1, + 2, + [] + ], + [ + "add", + 197, + 447, + 1, + 2, + [] + ], + [ + "add", + 197, + 456, + -1, + 4, + [] + ], + [ + "add", + 197, + 457, + 1, + 4, + [] + ], + [ + "add", + 197, + 466, + -1, + 4, + [] + ], + [ + "add", + 197, + 467, + 1, + 4, + [] + ], + [ + "add", + 157, + 234, + 1, + 1, + [] + ], + [ + "add", + 157, + 235, + -1, + 1, + [] + ], + [ + "add", + 157, + 241, + -1, + 4, + [] + ], + [ + "add", + 157, + 243, + -1, + 2, + [] + ], + [ + "add", + 157, + 246, + -1, + 4, + [] + ], + [ + "add", + 157, + 247, + 1, + 4, + [] + ], + [ + "add", + 157, + 250, + 1, + 4, + [] + ], + [ + "add", + 157, + 251, + -1, + 4, + [] + ], + [ + "add", + 157, + 252, + 1, + 4, + [] + ], + [ + "add", + 157, + 253, + -1, + 4, + [] + ], + [ + "add", + 157, + 259, + -1, + 4, + [] + ], + [ + "add", + 157, + 260, + 1, + 4, + [] + ], + [ + "add", + 157, + 261, + -1, + 4, + [] + ], + [ + "add", + 157, + 264, + 1, + 4, + [] + ], + [ + "add", + 157, + 265, + -1, + 4, + [] + ], + [ + "add", + 157, + 266, + 1, + 2, + [] + ], + [ + "add", + 157, + 267, + -1, + 2, + [] + ], + [ + "add", + 157, + 270, + -1, + 4, + [] + ], + [ + "add", + 157, + 271, + 1, + 4, + [] + ], + [ + "add", + 157, + 278, + 1, + 4, + [] + ], + [ + "add", + 157, + 280, + 1, + 2, + [] + ], + [ + "add", + 157, + 283, + -1, + 4, + [] + ], + [ + "add", + 157, + 284, + 1, + 4, + [] + ], + [ + "add", + 157, + 287, + 1, + 2, + [] + ], + [ + "add", + 157, + 290, + 1, + 4, + [] + ], + [ + "add", + 157, + 292, + -1, + 4, + [] + ], + [ + "add", + 157, + 295, + 1, + 4, + [] + ], + [ + "add", + 157, + 297, + 1, + 2, + [] + ], + [ + "add", + 157, + 299, + -1, + 2, + [] + ], + [ + "add", + 157, + 302, + -1, + 4, + [] + ], + [ + "add", + 157, + 303, + 1, + 2, + [] + ], + [ + "add", + 157, + 315, + -1, + 1, + [] + ], + [ + "add", + 157, + 331, + -1, + 1, + [] + ], + [ + "add", + 157, + 370, + -1, + 4, + [] + ], + [ + "add", + 157, + 372, + 1, + 4, + [] + ], + [ + "add", + 157, + 375, + 1, + 4, + [] + ], + [ + "add", + 157, + 379, + -1, + 2, + [] + ], + [ + "add", + 157, + 381, + 1, + 2, + [] + ], + [ + "add", + 157, + 382, + 1, + 4, + [] + ], + [ + "add", + 157, + 390, + -1, + 4, + [] + ], + [ + "add", + 157, + 395, + -1, + 4, + [] + ], + [ + "add", + 157, + 396, + 1, + 4, + [] + ], + [ + "add", + 157, + 398, + 1, + 2, + [] + ], + [ + "add", + 157, + 399, + -1, + 2, + [] + ], + [ + "add", + 157, + 401, + -1, + 2, + [] + ], + [ + "add", + 157, + 402, + 1, + 4, + [] + ], + [ + "add", + 157, + 403, + -1, + 4, + [] + ], + [ + "add", + 157, + 404, + -1, + 4, + [] + ], + [ + "add", + 157, + 405, + 1, + 4, + [] + ], + [ + "add", + 157, + 408, + 1, + 4, + [] + ], + [ + "add", + 157, + 409, + -1, + 4, + [] + ], + [ + "add", + 157, + 414, + 1, + 4, + [] + ], + [ + "add", + 157, + 415, + -1, + 4, + [] + ], + [ + "add", + 157, + 417, + -1, + 4, + [] + ], + [ + "add", + 157, + 422, + 1, + 4, + [] + ], + [ + "add", + 157, + 423, + -1, + 4, + [] + ], + [ + "add", + 157, + 426, + -1, + 4, + [] + ], + [ + "add", + 157, + 427, + 1, + 4, + [] + ], + [ + "add", + 157, + 428, + 1, + 4, + [] + ], + [ + "add", + 157, + 429, + -1, + 4, + [] + ], + [ + "add", + 157, + 430, + 1, + 2, + [] + ], + [ + "add", + 157, + 431, + -1, + 2, + [] + ], + [ + "add", + 157, + 456, + 1, + 4, + [] + ], + [ + "add", + 157, + 457, + 1, + 4, + [] + ], + [ + "add", + 157, + 466, + 1, + 4, + [] + ], + [ + "add", + 157, + 467, + 1, + 4, + [] + ], + [ + "add", + 219, + 234, + 1, + 1, + [] + ], + [ + "add", + 219, + 235, + -1, + 1, + [] + ], + [ + "add", + 219, + 241, + -1, + 4, + [] + ], + [ + "add", + 219, + 243, + -1, + 2, + [] + ], + [ + "add", + 219, + 246, + -1, + 4, + [] + ], + [ + "add", + 219, + 247, + 1, + 4, + [] + ], + [ + "add", + 219, + 250, + 1, + 4, + [] + ], + [ + "add", + 219, + 251, + -1, + 4, + [] + ], + [ + "add", + 219, + 252, + 1, + 4, + [] + ], + [ + "add", + 219, + 253, + -1, + 4, + [] + ], + [ + "add", + 219, + 259, + -1, + 4, + [] + ], + [ + "add", + 219, + 260, + 1, + 4, + [] + ], + [ + "add", + 219, + 261, + -1, + 4, + [] + ], + [ + "add", + 219, + 264, + 1, + 4, + [] + ], + [ + "add", + 219, + 265, + -1, + 4, + [] + ], + [ + "add", + 219, + 266, + 1, + 2, + [] + ], + [ + "add", + 219, + 267, + -1, + 2, + [] + ], + [ + "add", + 219, + 270, + -1, + 4, + [] + ], + [ + "add", + 219, + 271, + 1, + 4, + [] + ], + [ + "add", + 219, + 278, + 1, + 4, + [] + ], + [ + "add", + 219, + 280, + 1, + 2, + [] + ], + [ + "add", + 219, + 283, + -1, + 4, + [] + ], + [ + "add", + 219, + 284, + 1, + 4, + [] + ], + [ + "add", + 219, + 287, + 1, + 2, + [] + ], + [ + "add", + 219, + 290, + 1, + 4, + [] + ], + [ + "add", + 219, + 292, + -1, + 4, + [] + ], + [ + "add", + 219, + 295, + 1, + 4, + [] + ], + [ + "add", + 219, + 297, + 1, + 2, + [] + ], + [ + "add", + 219, + 299, + -1, + 2, + [] + ], + [ + "add", + 219, + 302, + -1, + 4, + [] + ], + [ + "add", + 219, + 303, + 1, + 2, + [] + ], + [ + "add", + 219, + 315, + -1, + 1, + [] + ], + [ + "add", + 219, + 331, + -1, + 1, + [] + ], + [ + "add", + 219, + 370, + -1, + 4, + [] + ], + [ + "add", + 219, + 372, + 1, + 4, + [] + ], + [ + "add", + 219, + 375, + 1, + 4, + [] + ], + [ + "add", + 219, + 379, + -1, + 2, + [] + ], + [ + "add", + 219, + 381, + 1, + 2, + [] + ], + [ + "add", + 219, + 382, + 1, + 4, + [] + ], + [ + "add", + 219, + 390, + -1, + 4, + [] + ], + [ + "add", + 219, + 395, + -1, + 4, + [] + ], + [ + "add", + 219, + 396, + 1, + 4, + [] + ], + [ + "add", + 219, + 398, + 1, + 2, + [] + ], + [ + "add", + 219, + 399, + -1, + 2, + [] + ], + [ + "add", + 219, + 401, + -1, + 2, + [] + ], + [ + "add", + 219, + 402, + 1, + 4, + [] + ], + [ + "add", + 219, + 403, + -1, + 4, + [] + ], + [ + "add", + 219, + 404, + -1, + 4, + [] + ], + [ + "add", + 219, + 405, + 1, + 4, + [] + ], + [ + "add", + 219, + 408, + 1, + 4, + [] + ], + [ + "add", + 219, + 409, + -1, + 4, + [] + ], + [ + "add", + 219, + 414, + 1, + 4, + [] + ], + [ + "add", + 219, + 415, + -1, + 4, + [] + ], + [ + "add", + 219, + 417, + -1, + 4, + [] + ], + [ + "add", + 219, + 422, + 1, + 4, + [] + ], + [ + "add", + 219, + 423, + -1, + 4, + [] + ], + [ + "add", + 219, + 426, + -1, + 4, + [] + ], + [ + "add", + 219, + 427, + 1, + 4, + [] + ], + [ + "add", + 219, + 428, + 1, + 4, + [] + ], + [ + "add", + 219, + 429, + -1, + 4, + [] + ], + [ + "add", + 219, + 430, + 1, + 2, + [] + ], + [ + "add", + 219, + 431, + -1, + 2, + [] + ], + [ + "add", + 219, + 456, + 1, + 4, + [] + ], + [ + "add", + 219, + 457, + 1, + 4, + [] + ], + [ + "add", + 219, + 466, + 1, + 4, + [] + ], + [ + "add", + 219, + 467, + 1, + 4, + [] + ], + [ + "add", + 136, + 241, + 1, + 4, + [] + ], + [ + "add", + 136, + 243, + -1, + 2, + [] + ], + [ + "add", + 136, + 246, + 1, + 4, + [] + ], + [ + "add", + 136, + 247, + -1, + 4, + [] + ], + [ + "add", + 136, + 250, + -1, + 4, + [] + ], + [ + "add", + 136, + 251, + 1, + 4, + [] + ], + [ + "add", + 136, + 252, + -1, + 4, + [] + ], + [ + "add", + 136, + 253, + 1, + 4, + [] + ], + [ + "add", + 136, + 259, + 1, + 4, + [] + ], + [ + "add", + 136, + 260, + -1, + 4, + [] + ], + [ + "add", + 136, + 261, + 1, + 4, + [] + ], + [ + "add", + 136, + 264, + -1, + 4, + [] + ], + [ + "add", + 136, + 265, + 1, + 4, + [] + ], + [ + "add", + 136, + 266, + 1, + 2, + [] + ], + [ + "add", + 136, + 267, + -1, + 2, + [] + ], + [ + "add", + 136, + 270, + 1, + 4, + [] + ], + [ + "add", + 136, + 271, + -1, + 4, + [] + ], + [ + "add", + 136, + 278, + -1, + 4, + [] + ], + [ + "add", + 136, + 280, + 1, + 2, + [] + ], + [ + "add", + 136, + 283, + 1, + 4, + [] + ], + [ + "add", + 136, + 284, + -1, + 4, + [] + ], + [ + "add", + 136, + 287, + 1, + 2, + [] + ], + [ + "add", + 136, + 290, + -1, + 4, + [] + ], + [ + "add", + 136, + 292, + 1, + 4, + [] + ], + [ + "add", + 136, + 295, + -1, + 4, + [] + ], + [ + "add", + 136, + 297, + 1, + 2, + [] + ], + [ + "add", + 136, + 299, + -1, + 2, + [] + ], + [ + "add", + 136, + 302, + 1, + 4, + [] + ], + [ + "add", + 136, + 303, + -1, + 2, + [] + ], + [ + "add", + 136, + 304, + -1, + 2, + [] + ], + [ + "add", + 136, + 308, + 1, + 2, + [] + ], + [ + "add", + 136, + 312, + 1, + 2, + [] + ], + [ + "add", + 136, + 318, + 1, + 2, + [] + ], + [ + "add", + 136, + 336, + -1, + 2, + [] + ], + [ + "add", + 136, + 340, + 1, + 2, + [] + ], + [ + "add", + 136, + 350, + 1, + 2, + [] + ], + [ + "add", + 136, + 351, + -1, + 2, + [] + ], + [ + "add", + 136, + 370, + -1, + 4, + [] + ], + [ + "add", + 136, + 372, + 1, + 4, + [] + ], + [ + "add", + 136, + 375, + 1, + 4, + [] + ], + [ + "add", + 136, + 379, + 1, + 2, + [] + ], + [ + "add", + 136, + 381, + -1, + 2, + [] + ], + [ + "add", + 136, + 382, + 1, + 4, + [] + ], + [ + "add", + 136, + 390, + 1, + 4, + [] + ], + [ + "add", + 136, + 395, + 1, + 4, + [] + ], + [ + "add", + 136, + 396, + -1, + 4, + [] + ], + [ + "add", + 136, + 398, + 1, + 2, + [] + ], + [ + "add", + 136, + 399, + -1, + 2, + [] + ], + [ + "add", + 136, + 401, + 1, + 2, + [] + ], + [ + "add", + 136, + 402, + 1, + 4, + [] + ], + [ + "add", + 136, + 403, + -1, + 4, + [] + ], + [ + "add", + 136, + 404, + -1, + 4, + [] + ], + [ + "add", + 136, + 405, + 1, + 4, + [] + ], + [ + "add", + 136, + 408, + 1, + 4, + [] + ], + [ + "add", + 136, + 409, + -1, + 4, + [] + ], + [ + "add", + 136, + 414, + 1, + 4, + [] + ], + [ + "add", + 136, + 415, + -1, + 4, + [] + ], + [ + "add", + 136, + 417, + 1, + 4, + [] + ], + [ + "add", + 136, + 422, + -1, + 4, + [] + ], + [ + "add", + 136, + 423, + 1, + 4, + [] + ], + [ + "add", + 136, + 426, + 1, + 4, + [] + ], + [ + "add", + 136, + 427, + -1, + 4, + [] + ], + [ + "add", + 136, + 428, + -1, + 4, + [] + ], + [ + "add", + 136, + 429, + 1, + 4, + [] + ], + [ + "add", + 136, + 430, + 1, + 2, + [] + ], + [ + "add", + 136, + 431, + -1, + 2, + [] + ], + [ + "add", + 136, + 442, + 1, + 1, + [] + ], + [ + "add", + 136, + 443, + -1, + 1, + [] + ], + [ + "add", + 136, + 456, + -1, + 4, + [] + ], + [ + "add", + 136, + 457, + 1, + 4, + [] + ], + [ + "add", + 136, + 466, + 1, + 4, + [] + ], + [ + "add", + 136, + 467, + -1, + 4, + [] + ], + [ + "add", + 147, + 241, + 1, + 4, + [] + ], + [ + "add", + 147, + 243, + -1, + 2, + [] + ], + [ + "add", + 147, + 246, + 1, + 4, + [] + ], + [ + "add", + 147, + 247, + -1, + 4, + [] + ], + [ + "add", + 147, + 250, + -1, + 4, + [] + ], + [ + "add", + 147, + 251, + 1, + 4, + [] + ], + [ + "add", + 147, + 252, + -1, + 4, + [] + ], + [ + "add", + 147, + 253, + 1, + 4, + [] + ], + [ + "add", + 147, + 259, + -1, + 4, + [] + ], + [ + "add", + 147, + 260, + 1, + 4, + [] + ], + [ + "add", + 147, + 261, + -1, + 4, + [] + ], + [ + "add", + 147, + 264, + 1, + 4, + [] + ], + [ + "add", + 147, + 265, + -1, + 4, + [] + ], + [ + "add", + 147, + 266, + -1, + 2, + [] + ], + [ + "add", + 147, + 267, + 1, + 2, + [] + ], + [ + "add", + 147, + 270, + -1, + 4, + [] + ], + [ + "add", + 147, + 271, + 1, + 4, + [] + ], + [ + "add", + 147, + 278, + -1, + 4, + [] + ], + [ + "add", + 147, + 280, + 1, + 2, + [] + ], + [ + "add", + 147, + 283, + 1, + 4, + [] + ], + [ + "add", + 147, + 284, + -1, + 4, + [] + ], + [ + "add", + 147, + 287, + 1, + 2, + [] + ], + [ + "add", + 147, + 290, + 1, + 4, + [] + ], + [ + "add", + 147, + 292, + -1, + 4, + [] + ], + [ + "add", + 147, + 295, + 1, + 4, + [] + ], + [ + "add", + 147, + 297, + -1, + 2, + [] + ], + [ + "add", + 147, + 299, + 1, + 2, + [] + ], + [ + "add", + 147, + 302, + -1, + 4, + [] + ], + [ + "add", + 147, + 303, + 1, + 2, + [] + ], + [ + "add", + 147, + 319, + 1, + 1, + [] + ], + [ + "add", + 147, + 351, + 1, + 1, + [] + ], + [ + "add", + 147, + 370, + -1, + 4, + [] + ], + [ + "add", + 147, + 372, + 1, + 4, + [] + ], + [ + "add", + 147, + 375, + 1, + 4, + [] + ], + [ + "add", + 147, + 379, + 1, + 2, + [] + ], + [ + "add", + 147, + 381, + -1, + 2, + [] + ], + [ + "add", + 147, + 382, + 1, + 4, + [] + ], + [ + "add", + 147, + 390, + -1, + 4, + [] + ], + [ + "add", + 147, + 395, + -1, + 4, + [] + ], + [ + "add", + 147, + 396, + 1, + 4, + [] + ], + [ + "add", + 147, + 398, + -1, + 2, + [] + ], + [ + "add", + 147, + 399, + 1, + 2, + [] + ], + [ + "add", + 147, + 401, + 1, + 2, + [] + ], + [ + "add", + 147, + 402, + 1, + 4, + [] + ], + [ + "add", + 147, + 403, + -1, + 4, + [] + ], + [ + "add", + 147, + 404, + -1, + 4, + [] + ], + [ + "add", + 147, + 405, + 1, + 4, + [] + ], + [ + "add", + 147, + 408, + 1, + 4, + [] + ], + [ + "add", + 147, + 409, + -1, + 4, + [] + ], + [ + "add", + 147, + 414, + 1, + 4, + [] + ], + [ + "add", + 147, + 415, + -1, + 4, + [] + ], + [ + "add", + 147, + 417, + -1, + 4, + [] + ], + [ + "add", + 147, + 422, + 1, + 4, + [] + ], + [ + "add", + 147, + 423, + -1, + 4, + [] + ], + [ + "add", + 147, + 426, + -1, + 4, + [] + ], + [ + "add", + 147, + 427, + 1, + 4, + [] + ], + [ + "add", + 147, + 428, + 1, + 4, + [] + ], + [ + "add", + 147, + 429, + -1, + 4, + [] + ], + [ + "add", + 147, + 430, + -1, + 2, + [] + ], + [ + "add", + 147, + 431, + 1, + 2, + [] + ], + [ + "add", + 147, + 434, + 1, + 2, + [] + ], + [ + "add", + 147, + 435, + -1, + 2, + [] + ], + [ + "add", + 147, + 436, + 1, + 2, + [] + ], + [ + "add", + 147, + 437, + -1, + 2, + [] + ], + [ + "add", + 147, + 440, + 1, + 2, + [] + ], + [ + "add", + 147, + 441, + -1, + 2, + [] + ], + [ + "add", + 147, + 446, + -1, + 2, + [] + ], + [ + "add", + 147, + 447, + 1, + 2, + [] + ], + [ + "add", + 147, + 456, + -1, + 4, + [] + ], + [ + "add", + 147, + 457, + 1, + 4, + [] + ], + [ + "add", + 147, + 466, + -1, + 4, + [] + ], + [ + "add", + 147, + 467, + 1, + 4, + [] + ], + [ + "add", + 192, + 238, + -1, + 1, + [] + ], + [ + "add", + 192, + 239, + 1, + 1, + [] + ], + [ + "add", + 192, + 241, + 1, + 2, + [] + ], + [ + "add", + 192, + 243, + 1, + 4, + [] + ], + [ + "add", + 192, + 244, + 1, + 4, + [] + ], + [ + "add", + 192, + 245, + -1, + 4, + [] + ], + [ + "add", + 192, + 248, + -1, + 4, + [] + ], + [ + "add", + 192, + 249, + 1, + 4, + [] + ], + [ + "add", + 192, + 254, + -1, + 4, + [] + ], + [ + "add", + 192, + 255, + 1, + 4, + [] + ], + [ + "add", + 192, + 257, + 1, + 2, + [] + ], + [ + "add", + 192, + 259, + 1, + 4, + [] + ], + [ + "add", + 192, + 260, + 1, + 4, + [] + ], + [ + "add", + 192, + 261, + -1, + 4, + [] + ], + [ + "add", + 192, + 264, + -1, + 4, + [] + ], + [ + "add", + 192, + 265, + 1, + 4, + [] + ], + [ + "add", + 192, + 270, + -1, + 4, + [] + ], + [ + "add", + 192, + 271, + 1, + 4, + [] + ], + [ + "add", + 192, + 306, + 1, + 4, + [] + ], + [ + "add", + 192, + 308, + -1, + 4, + [] + ], + [ + "add", + 192, + 315, + 1, + 2, + [] + ], + [ + "add", + 192, + 317, + -1, + 2, + [] + ], + [ + "add", + 192, + 318, + -1, + 4, + [] + ], + [ + "add", + 192, + 326, + 1, + 4, + [] + ], + [ + "add", + 192, + 331, + 1, + 4, + [] + ], + [ + "add", + 192, + 332, + -1, + 4, + [] + ], + [ + "add", + 192, + 334, + -1, + 2, + [] + ], + [ + "add", + 192, + 335, + 1, + 2, + [] + ], + [ + "add", + 192, + 342, + 1, + 4, + [] + ], + [ + "add", + 192, + 344, + 1, + 2, + [] + ], + [ + "add", + 192, + 347, + -1, + 4, + [] + ], + [ + "add", + 192, + 348, + 1, + 4, + [] + ], + [ + "add", + 192, + 351, + 1, + 2, + [] + ], + [ + "add", + 192, + 354, + 1, + 4, + [] + ], + [ + "add", + 192, + 356, + -1, + 4, + [] + ], + [ + "add", + 192, + 359, + 1, + 4, + [] + ], + [ + "add", + 192, + 361, + 1, + 2, + [] + ], + [ + "add", + 192, + 363, + -1, + 2, + [] + ], + [ + "add", + 192, + 366, + -1, + 4, + [] + ], + [ + "add", + 192, + 367, + 1, + 2, + [] + ], + [ + "add", + 192, + 368, + -1, + 2, + [] + ], + [ + "add", + 192, + 372, + -1, + 2, + [] + ], + [ + "add", + 192, + 382, + -1, + 2, + [] + ], + [ + "add", + 192, + 383, + 1, + 2, + [] + ], + [ + "add", + 192, + 384, + -1, + 2, + [] + ], + [ + "add", + 192, + 388, + -1, + 2, + [] + ], + [ + "add", + 192, + 398, + -1, + 2, + [] + ], + [ + "add", + 192, + 399, + 1, + 2, + [] + ], + [ + "add", + 192, + 401, + 1, + 2, + [] + ], + [ + "add", + 192, + 402, + -1, + 4, + [] + ], + [ + "add", + 192, + 403, + 1, + 4, + [] + ], + [ + "add", + 192, + 404, + 1, + 4, + [] + ], + [ + "add", + 192, + 405, + -1, + 4, + [] + ], + [ + "add", + 192, + 408, + -1, + 4, + [] + ], + [ + "add", + 192, + 409, + 1, + 4, + [] + ], + [ + "add", + 192, + 414, + -1, + 4, + [] + ], + [ + "add", + 192, + 415, + 1, + 4, + [] + ], + [ + "add", + 192, + 417, + 1, + 2, + [] + ], + [ + "add", + 192, + 418, + -1, + 4, + [] + ], + [ + "add", + 192, + 419, + 1, + 4, + [] + ], + [ + "add", + 192, + 420, + 1, + 4, + [] + ], + [ + "add", + 192, + 421, + -1, + 4, + [] + ], + [ + "add", + 192, + 424, + -1, + 4, + [] + ], + [ + "add", + 192, + 425, + 1, + 4, + [] + ], + [ + "add", + 192, + 430, + -1, + 4, + [] + ], + [ + "add", + 192, + 431, + 1, + 4, + [] + ], + [ + "add", + 192, + 460, + -1, + 2, + [] + ], + [ + "add", + 192, + 461, + -1, + 2, + [] + ], + [ + "add", + 192, + 468, + -1, + 2, + [] + ], + [ + "add", + 192, + 469, + -1, + 2, + [] + ], + [ + "add", + 192, + 499, + -1, + 4, + [] + ], + [ + "add", + 179, + 238, + -1, + 1, + [] + ], + [ + "add", + 179, + 239, + 1, + 1, + [] + ], + [ + "add", + 179, + 241, + 1, + 2, + [] + ], + [ + "add", + 179, + 243, + 1, + 4, + [] + ], + [ + "add", + 179, + 244, + 1, + 4, + [] + ], + [ + "add", + 179, + 245, + -1, + 4, + [] + ], + [ + "add", + 179, + 248, + -1, + 4, + [] + ], + [ + "add", + 179, + 249, + 1, + 4, + [] + ], + [ + "add", + 179, + 254, + -1, + 4, + [] + ], + [ + "add", + 179, + 255, + 1, + 4, + [] + ], + [ + "add", + 179, + 257, + 1, + 2, + [] + ], + [ + "add", + 179, + 259, + 1, + 4, + [] + ], + [ + "add", + 179, + 260, + 1, + 4, + [] + ], + [ + "add", + 179, + 261, + -1, + 4, + [] + ], + [ + "add", + 179, + 264, + -1, + 4, + [] + ], + [ + "add", + 179, + 265, + 1, + 4, + [] + ], + [ + "add", + 179, + 270, + -1, + 4, + [] + ], + [ + "add", + 179, + 271, + 1, + 4, + [] + ], + [ + "add", + 179, + 306, + 1, + 4, + [] + ], + [ + "add", + 179, + 308, + -1, + 4, + [] + ], + [ + "add", + 179, + 315, + 1, + 2, + [] + ], + [ + "add", + 179, + 317, + -1, + 2, + [] + ], + [ + "add", + 179, + 318, + -1, + 4, + [] + ], + [ + "add", + 179, + 326, + 1, + 4, + [] + ], + [ + "add", + 179, + 331, + 1, + 4, + [] + ], + [ + "add", + 179, + 332, + -1, + 4, + [] + ], + [ + "add", + 179, + 334, + -1, + 2, + [] + ], + [ + "add", + 179, + 335, + 1, + 2, + [] + ], + [ + "add", + 179, + 342, + 1, + 4, + [] + ], + [ + "add", + 179, + 344, + 1, + 2, + [] + ], + [ + "add", + 179, + 347, + -1, + 4, + [] + ], + [ + "add", + 179, + 348, + 1, + 4, + [] + ], + [ + "add", + 179, + 351, + 1, + 2, + [] + ], + [ + "add", + 179, + 354, + 1, + 4, + [] + ], + [ + "add", + 179, + 356, + -1, + 4, + [] + ], + [ + "add", + 179, + 359, + 1, + 4, + [] + ], + [ + "add", + 179, + 361, + 1, + 2, + [] + ], + [ + "add", + 179, + 363, + -1, + 2, + [] + ], + [ + "add", + 179, + 366, + -1, + 4, + [] + ], + [ + "add", + 179, + 367, + 1, + 2, + [] + ], + [ + "add", + 179, + 368, + -1, + 2, + [] + ], + [ + "add", + 179, + 372, + -1, + 2, + [] + ], + [ + "add", + 179, + 382, + -1, + 2, + [] + ], + [ + "add", + 179, + 383, + 1, + 2, + [] + ], + [ + "add", + 179, + 384, + -1, + 2, + [] + ], + [ + "add", + 179, + 388, + -1, + 2, + [] + ], + [ + "add", + 179, + 398, + -1, + 2, + [] + ], + [ + "add", + 179, + 399, + 1, + 2, + [] + ], + [ + "add", + 179, + 401, + 1, + 2, + [] + ], + [ + "add", + 179, + 402, + -1, + 4, + [] + ], + [ + "add", + 179, + 403, + 1, + 4, + [] + ], + [ + "add", + 179, + 404, + 1, + 4, + [] + ], + [ + "add", + 179, + 405, + -1, + 4, + [] + ], + [ + "add", + 179, + 408, + -1, + 4, + [] + ], + [ + "add", + 179, + 409, + 1, + 4, + [] + ], + [ + "add", + 179, + 414, + -1, + 4, + [] + ], + [ + "add", + 179, + 415, + 1, + 4, + [] + ], + [ + "add", + 179, + 417, + 1, + 2, + [] + ], + [ + "add", + 179, + 418, + -1, + 4, + [] + ], + [ + "add", + 179, + 419, + 1, + 4, + [] + ], + [ + "add", + 179, + 420, + 1, + 4, + [] + ], + [ + "add", + 179, + 421, + -1, + 4, + [] + ], + [ + "add", + 179, + 424, + -1, + 4, + [] + ], + [ + "add", + 179, + 425, + 1, + 4, + [] + ], + [ + "add", + 179, + 430, + -1, + 4, + [] + ], + [ + "add", + 179, + 431, + 1, + 4, + [] + ], + [ + "add", + 179, + 460, + -1, + 2, + [] + ], + [ + "add", + 179, + 461, + -1, + 2, + [] + ], + [ + "add", + 179, + 468, + -1, + 2, + [] + ], + [ + "add", + 179, + 469, + -1, + 2, + [] + ], + [ + "add", + 179, + 499, + -1, + 4, + [] + ], + [ + "add", + 115, + 241, + 1, + 2, + [] + ], + [ + "add", + 115, + 243, + -1, + 4, + [] + ], + [ + "add", + 115, + 244, + -1, + 4, + [] + ], + [ + "add", + 115, + 245, + 1, + 4, + [] + ], + [ + "add", + 115, + 248, + 1, + 4, + [] + ], + [ + "add", + 115, + 249, + -1, + 4, + [] + ], + [ + "add", + 115, + 254, + 1, + 4, + [] + ], + [ + "add", + 115, + 255, + -1, + 4, + [] + ], + [ + "add", + 115, + 257, + -1, + 2, + [] + ], + [ + "add", + 115, + 259, + 1, + 4, + [] + ], + [ + "add", + 115, + 260, + 1, + 4, + [] + ], + [ + "add", + 115, + 261, + -1, + 4, + [] + ], + [ + "add", + 115, + 264, + -1, + 4, + [] + ], + [ + "add", + 115, + 265, + 1, + 4, + [] + ], + [ + "add", + 115, + 270, + -1, + 4, + [] + ], + [ + "add", + 115, + 271, + 1, + 4, + [] + ], + [ + "add", + 115, + 272, + -1, + 2, + [] + ], + [ + "add", + 115, + 276, + 1, + 2, + [] + ], + [ + "add", + 115, + 280, + 1, + 2, + [] + ], + [ + "add", + 115, + 286, + 1, + 2, + [] + ], + [ + "add", + 115, + 306, + -1, + 4, + [] + ], + [ + "add", + 115, + 308, + 1, + 4, + [] + ], + [ + "add", + 115, + 315, + 1, + 2, + [] + ], + [ + "add", + 115, + 317, + -1, + 2, + [] + ], + [ + "add", + 115, + 318, + 1, + 4, + [] + ], + [ + "add", + 115, + 326, + 1, + 4, + [] + ], + [ + "add", + 115, + 331, + 1, + 4, + [] + ], + [ + "add", + 115, + 332, + -1, + 4, + [] + ], + [ + "add", + 115, + 334, + 1, + 2, + [] + ], + [ + "add", + 115, + 335, + -1, + 2, + [] + ], + [ + "add", + 115, + 342, + -1, + 4, + [] + ], + [ + "add", + 115, + 344, + 1, + 2, + [] + ], + [ + "add", + 115, + 347, + 1, + 4, + [] + ], + [ + "add", + 115, + 348, + -1, + 4, + [] + ], + [ + "add", + 115, + 351, + 1, + 2, + [] + ], + [ + "add", + 115, + 354, + -1, + 4, + [] + ], + [ + "add", + 115, + 356, + 1, + 4, + [] + ], + [ + "add", + 115, + 359, + -1, + 4, + [] + ], + [ + "add", + 115, + 361, + 1, + 2, + [] + ], + [ + "add", + 115, + 363, + -1, + 2, + [] + ], + [ + "add", + 115, + 366, + 1, + 4, + [] + ], + [ + "add", + 115, + 367, + -1, + 2, + [] + ], + [ + "add", + 115, + 368, + -1, + 2, + [] + ], + [ + "add", + 115, + 372, + 1, + 2, + [] + ], + [ + "add", + 115, + 382, + 1, + 2, + [] + ], + [ + "add", + 115, + 383, + -1, + 2, + [] + ], + [ + "add", + 115, + 401, + 1, + 2, + [] + ], + [ + "add", + 115, + 402, + 1, + 4, + [] + ], + [ + "add", + 115, + 403, + -1, + 4, + [] + ], + [ + "add", + 115, + 404, + -1, + 4, + [] + ], + [ + "add", + 115, + 405, + 1, + 4, + [] + ], + [ + "add", + 115, + 408, + 1, + 4, + [] + ], + [ + "add", + 115, + 409, + -1, + 4, + [] + ], + [ + "add", + 115, + 414, + 1, + 4, + [] + ], + [ + "add", + 115, + 415, + -1, + 4, + [] + ], + [ + "add", + 115, + 417, + -1, + 2, + [] + ], + [ + "add", + 115, + 418, + -1, + 4, + [] + ], + [ + "add", + 115, + 419, + 1, + 4, + [] + ], + [ + "add", + 115, + 420, + 1, + 4, + [] + ], + [ + "add", + 115, + 421, + -1, + 4, + [] + ], + [ + "add", + 115, + 424, + -1, + 4, + [] + ], + [ + "add", + 115, + 425, + 1, + 4, + [] + ], + [ + "add", + 115, + 430, + -1, + 4, + [] + ], + [ + "add", + 115, + 431, + 1, + 4, + [] + ], + [ + "add", + 115, + 432, + 1, + 2, + [] + ], + [ + "add", + 115, + 433, + -1, + 2, + [] + ], + [ + "add", + 115, + 438, + -1, + 2, + [] + ], + [ + "add", + 115, + 439, + 1, + 2, + [] + ], + [ + "add", + 115, + 442, + 1, + 2, + [] + ], + [ + "add", + 115, + 443, + -1, + 2, + [] + ], + [ + "add", + 115, + 444, + 1, + 2, + [] + ], + [ + "add", + 115, + 445, + -1, + 2, + [] + ], + [ + "add", + 115, + 460, + 1, + 2, + [] + ], + [ + "add", + 115, + 461, + -1, + 2, + [] + ], + [ + "add", + 115, + 468, + -1, + 2, + [] + ], + [ + "add", + 115, + 469, + 1, + 2, + [] + ], + [ + "add", + 115, + 499, + 1, + 4, + [] + ], + [ + "add", + 200, + 241, + 1, + 2, + [] + ], + [ + "add", + 200, + 243, + -1, + 4, + [] + ], + [ + "add", + 200, + 244, + -1, + 4, + [] + ], + [ + "add", + 200, + 245, + 1, + 4, + [] + ], + [ + "add", + 200, + 248, + 1, + 4, + [] + ], + [ + "add", + 200, + 249, + -1, + 4, + [] + ], + [ + "add", + 200, + 254, + 1, + 4, + [] + ], + [ + "add", + 200, + 255, + -1, + 4, + [] + ], + [ + "add", + 200, + 257, + 1, + 2, + [] + ], + [ + "add", + 200, + 259, + -1, + 4, + [] + ], + [ + "add", + 200, + 260, + -1, + 4, + [] + ], + [ + "add", + 200, + 261, + 1, + 4, + [] + ], + [ + "add", + 200, + 264, + 1, + 4, + [] + ], + [ + "add", + 200, + 265, + -1, + 4, + [] + ], + [ + "add", + 200, + 270, + 1, + 4, + [] + ], + [ + "add", + 200, + 271, + -1, + 4, + [] + ], + [ + "add", + 200, + 287, + 1, + 1, + [] + ], + [ + "add", + 200, + 306, + -1, + 4, + [] + ], + [ + "add", + 200, + 308, + 1, + 4, + [] + ], + [ + "add", + 200, + 315, + 1, + 2, + [] + ], + [ + "add", + 200, + 317, + -1, + 2, + [] + ], + [ + "add", + 200, + 318, + 1, + 4, + [] + ], + [ + "add", + 200, + 326, + -1, + 4, + [] + ], + [ + "add", + 200, + 331, + -1, + 4, + [] + ], + [ + "add", + 200, + 332, + 1, + 4, + [] + ], + [ + "add", + 200, + 334, + -1, + 2, + [] + ], + [ + "add", + 200, + 335, + 1, + 2, + [] + ], + [ + "add", + 200, + 342, + -1, + 4, + [] + ], + [ + "add", + 200, + 344, + 1, + 2, + [] + ], + [ + "add", + 200, + 347, + 1, + 4, + [] + ], + [ + "add", + 200, + 348, + -1, + 4, + [] + ], + [ + "add", + 200, + 351, + 1, + 2, + [] + ], + [ + "add", + 200, + 354, + 1, + 4, + [] + ], + [ + "add", + 200, + 356, + -1, + 4, + [] + ], + [ + "add", + 200, + 359, + 1, + 4, + [] + ], + [ + "add", + 200, + 361, + -1, + 2, + [] + ], + [ + "add", + 200, + 363, + 1, + 2, + [] + ], + [ + "add", + 200, + 366, + -1, + 4, + [] + ], + [ + "add", + 200, + 367, + 1, + 2, + [] + ], + [ + "add", + 200, + 383, + 1, + 1, + [] + ], + [ + "add", + 200, + 401, + 1, + 2, + [] + ], + [ + "add", + 200, + 402, + 1, + 4, + [] + ], + [ + "add", + 200, + 403, + -1, + 4, + [] + ], + [ + "add", + 200, + 404, + -1, + 4, + [] + ], + [ + "add", + 200, + 405, + 1, + 4, + [] + ], + [ + "add", + 200, + 408, + 1, + 4, + [] + ], + [ + "add", + 200, + 409, + -1, + 4, + [] + ], + [ + "add", + 200, + 414, + 1, + 4, + [] + ], + [ + "add", + 200, + 415, + -1, + 4, + [] + ], + [ + "add", + 200, + 417, + 1, + 2, + [] + ], + [ + "add", + 200, + 418, + 1, + 4, + [] + ], + [ + "add", + 200, + 419, + -1, + 4, + [] + ], + [ + "add", + 200, + 420, + -1, + 4, + [] + ], + [ + "add", + 200, + 421, + 1, + 4, + [] + ], + [ + "add", + 200, + 424, + 1, + 4, + [] + ], + [ + "add", + 200, + 425, + -1, + 4, + [] + ], + [ + "add", + 200, + 430, + 1, + 4, + [] + ], + [ + "add", + 200, + 431, + -1, + 4, + [] + ], + [ + "add", + 200, + 434, + 1, + 1, + [] + ], + [ + "add", + 200, + 435, + -1, + 1, + [] + ], + [ + "add", + 200, + 460, + 1, + 2, + [] + ], + [ + "add", + 200, + 461, + -1, + 2, + [] + ], + [ + "add", + 200, + 468, + 1, + 2, + [] + ], + [ + "add", + 200, + 469, + -1, + 2, + [] + ], + [ + "add", + 200, + 499, + 1, + 4, + [] + ], + [ + "add", + 120, + 224, + -1, + 2, + [] + ], + [ + "add", + 120, + 225, + 1, + 2, + [] + ], + [ + "add", + 120, + 230, + -1, + 2, + [] + ], + [ + "add", + 120, + 231, + 1, + 2, + [] + ], + [ + "add", + 120, + 234, + 1, + 2, + [] + ], + [ + "add", + 120, + 235, + -1, + 2, + [] + ], + [ + "add", + 120, + 236, + -1, + 2, + [] + ], + [ + "add", + 120, + 237, + 1, + 2, + [] + ], + [ + "add", + 120, + 241, + 1, + 2, + [] + ], + [ + "add", + 120, + 243, + 1, + 4, + [] + ], + [ + "add", + 120, + 244, + 1, + 4, + [] + ], + [ + "add", + 120, + 245, + -1, + 4, + [] + ], + [ + "add", + 120, + 248, + -1, + 4, + [] + ], + [ + "add", + 120, + 249, + 1, + 4, + [] + ], + [ + "add", + 120, + 254, + -1, + 4, + [] + ], + [ + "add", + 120, + 255, + 1, + 4, + [] + ], + [ + "add", + 120, + 257, + 1, + 2, + [] + ], + [ + "add", + 120, + 259, + 1, + 4, + [] + ], + [ + "add", + 120, + 260, + 1, + 4, + [] + ], + [ + "add", + 120, + 261, + -1, + 4, + [] + ], + [ + "add", + 120, + 264, + -1, + 4, + [] + ], + [ + "add", + 120, + 265, + 1, + 4, + [] + ], + [ + "add", + 120, + 270, + -1, + 4, + [] + ], + [ + "add", + 120, + 271, + 1, + 4, + [] + ], + [ + "add", + 120, + 306, + -1, + 4, + [] + ], + [ + "add", + 120, + 308, + 1, + 4, + [] + ], + [ + "add", + 120, + 315, + -1, + 2, + [] + ], + [ + "add", + 120, + 317, + 1, + 2, + [] + ], + [ + "add", + 120, + 318, + 1, + 4, + [] + ], + [ + "add", + 120, + 326, + -1, + 4, + [] + ], + [ + "add", + 120, + 331, + -1, + 4, + [] + ], + [ + "add", + 120, + 332, + 1, + 4, + [] + ], + [ + "add", + 120, + 334, + 1, + 2, + [] + ], + [ + "add", + 120, + 335, + -1, + 2, + [] + ], + [ + "add", + 120, + 342, + 1, + 4, + [] + ], + [ + "add", + 120, + 344, + 1, + 2, + [] + ], + [ + "add", + 120, + 347, + -1, + 4, + [] + ], + [ + "add", + 120, + 348, + 1, + 4, + [] + ], + [ + "add", + 120, + 351, + 1, + 2, + [] + ], + [ + "add", + 120, + 354, + 1, + 4, + [] + ], + [ + "add", + 120, + 356, + -1, + 4, + [] + ], + [ + "add", + 120, + 359, + 1, + 4, + [] + ], + [ + "add", + 120, + 361, + 1, + 2, + [] + ], + [ + "add", + 120, + 363, + -1, + 2, + [] + ], + [ + "add", + 120, + 366, + -1, + 4, + [] + ], + [ + "add", + 120, + 367, + 1, + 2, + [] + ], + [ + "add", + 120, + 379, + -1, + 1, + [] + ], + [ + "add", + 120, + 395, + -1, + 1, + [] + ], + [ + "add", + 120, + 401, + -1, + 2, + [] + ], + [ + "add", + 120, + 402, + 1, + 4, + [] + ], + [ + "add", + 120, + 403, + -1, + 4, + [] + ], + [ + "add", + 120, + 404, + -1, + 4, + [] + ], + [ + "add", + 120, + 405, + 1, + 4, + [] + ], + [ + "add", + 120, + 408, + 1, + 4, + [] + ], + [ + "add", + 120, + 409, + -1, + 4, + [] + ], + [ + "add", + 120, + 414, + 1, + 4, + [] + ], + [ + "add", + 120, + 415, + -1, + 4, + [] + ], + [ + "add", + 120, + 417, + -1, + 2, + [] + ], + [ + "add", + 120, + 418, + 1, + 4, + [] + ], + [ + "add", + 120, + 419, + -1, + 4, + [] + ], + [ + "add", + 120, + 420, + -1, + 4, + [] + ], + [ + "add", + 120, + 421, + 1, + 4, + [] + ], + [ + "add", + 120, + 424, + 1, + 4, + [] + ], + [ + "add", + 120, + 425, + -1, + 4, + [] + ], + [ + "add", + 120, + 430, + 1, + 4, + [] + ], + [ + "add", + 120, + 431, + -1, + 4, + [] + ], + [ + "add", + 120, + 460, + -1, + 2, + [] + ], + [ + "add", + 120, + 461, + -1, + 2, + [] + ], + [ + "add", + 120, + 468, + -1, + 2, + [] + ], + [ + "add", + 120, + 469, + -1, + 2, + [] + ], + [ + "add", + 120, + 499, + 1, + 4, + [] + ], + [ + "add", + 207, + 224, + -1, + 2, + [] + ], + [ + "add", + 207, + 225, + 1, + 2, + [] + ], + [ + "add", + 207, + 230, + -1, + 2, + [] + ], + [ + "add", + 207, + 231, + 1, + 2, + [] + ], + [ + "add", + 207, + 234, + 1, + 2, + [] + ], + [ + "add", + 207, + 235, + -1, + 2, + [] + ], + [ + "add", + 207, + 236, + -1, + 2, + [] + ], + [ + "add", + 207, + 237, + 1, + 2, + [] + ], + [ + "add", + 207, + 241, + 1, + 2, + [] + ], + [ + "add", + 207, + 243, + 1, + 4, + [] + ], + [ + "add", + 207, + 244, + 1, + 4, + [] + ], + [ + "add", + 207, + 245, + -1, + 4, + [] + ], + [ + "add", + 207, + 248, + -1, + 4, + [] + ], + [ + "add", + 207, + 249, + 1, + 4, + [] + ], + [ + "add", + 207, + 254, + -1, + 4, + [] + ], + [ + "add", + 207, + 255, + 1, + 4, + [] + ], + [ + "add", + 207, + 257, + 1, + 2, + [] + ], + [ + "add", + 207, + 259, + 1, + 4, + [] + ], + [ + "add", + 207, + 260, + 1, + 4, + [] + ], + [ + "add", + 207, + 261, + -1, + 4, + [] + ], + [ + "add", + 207, + 264, + -1, + 4, + [] + ], + [ + "add", + 207, + 265, + 1, + 4, + [] + ], + [ + "add", + 207, + 270, + -1, + 4, + [] + ], + [ + "add", + 207, + 271, + 1, + 4, + [] + ], + [ + "add", + 207, + 306, + -1, + 4, + [] + ], + [ + "add", + 207, + 308, + 1, + 4, + [] + ], + [ + "add", + 207, + 315, + -1, + 2, + [] + ], + [ + "add", + 207, + 317, + 1, + 2, + [] + ], + [ + "add", + 207, + 318, + 1, + 4, + [] + ], + [ + "add", + 207, + 326, + -1, + 4, + [] + ], + [ + "add", + 207, + 331, + -1, + 4, + [] + ], + [ + "add", + 207, + 332, + 1, + 4, + [] + ], + [ + "add", + 207, + 334, + 1, + 2, + [] + ], + [ + "add", + 207, + 335, + -1, + 2, + [] + ], + [ + "add", + 207, + 342, + 1, + 4, + [] + ], + [ + "add", + 207, + 344, + 1, + 2, + [] + ], + [ + "add", + 207, + 347, + -1, + 4, + [] + ], + [ + "add", + 207, + 348, + 1, + 4, + [] + ], + [ + "add", + 207, + 351, + 1, + 2, + [] + ], + [ + "add", + 207, + 354, + 1, + 4, + [] + ], + [ + "add", + 207, + 356, + -1, + 4, + [] + ], + [ + "add", + 207, + 359, + 1, + 4, + [] + ], + [ + "add", + 207, + 361, + 1, + 2, + [] + ], + [ + "add", + 207, + 363, + -1, + 2, + [] + ], + [ + "add", + 207, + 366, + -1, + 4, + [] + ], + [ + "add", + 207, + 367, + 1, + 2, + [] + ], + [ + "add", + 207, + 379, + -1, + 1, + [] + ], + [ + "add", + 207, + 395, + -1, + 1, + [] + ], + [ + "add", + 207, + 401, + -1, + 2, + [] + ], + [ + "add", + 207, + 402, + 1, + 4, + [] + ], + [ + "add", + 207, + 403, + -1, + 4, + [] + ], + [ + "add", + 207, + 404, + -1, + 4, + [] + ], + [ + "add", + 207, + 405, + 1, + 4, + [] + ], + [ + "add", + 207, + 408, + 1, + 4, + [] + ], + [ + "add", + 207, + 409, + -1, + 4, + [] + ], + [ + "add", + 207, + 414, + 1, + 4, + [] + ], + [ + "add", + 207, + 415, + -1, + 4, + [] + ], + [ + "add", + 207, + 417, + -1, + 2, + [] + ], + [ + "add", + 207, + 418, + 1, + 4, + [] + ], + [ + "add", + 207, + 419, + -1, + 4, + [] + ], + [ + "add", + 207, + 420, + -1, + 4, + [] + ], + [ + "add", + 207, + 421, + 1, + 4, + [] + ], + [ + "add", + 207, + 424, + 1, + 4, + [] + ], + [ + "add", + 207, + 425, + -1, + 4, + [] + ], + [ + "add", + 207, + 430, + 1, + 4, + [] + ], + [ + "add", + 207, + 431, + -1, + 4, + [] + ], + [ + "add", + 207, + 460, + -1, + 2, + [] + ], + [ + "add", + 207, + 461, + -1, + 2, + [] + ], + [ + "add", + 207, + 468, + -1, + 2, + [] + ], + [ + "add", + 207, + 469, + -1, + 2, + [] + ], + [ + "add", + 207, + 499, + 1, + 4, + [] + ], + [ + "add", + 178, + 241, + 1, + 2, + [] + ], + [ + "add", + 178, + 243, + -1, + 4, + [] + ], + [ + "add", + 178, + 244, + -1, + 4, + [] + ], + [ + "add", + 178, + 245, + 1, + 4, + [] + ], + [ + "add", + 178, + 248, + 1, + 4, + [] + ], + [ + "add", + 178, + 249, + -1, + 4, + [] + ], + [ + "add", + 178, + 254, + 1, + 4, + [] + ], + [ + "add", + 178, + 255, + -1, + 4, + [] + ], + [ + "add", + 178, + 257, + -1, + 2, + [] + ], + [ + "add", + 178, + 259, + 1, + 4, + [] + ], + [ + "add", + 178, + 260, + 1, + 4, + [] + ], + [ + "add", + 178, + 261, + -1, + 4, + [] + ], + [ + "add", + 178, + 264, + -1, + 4, + [] + ], + [ + "add", + 178, + 265, + 1, + 4, + [] + ], + [ + "add", + 178, + 270, + -1, + 4, + [] + ], + [ + "add", + 178, + 271, + 1, + 4, + [] + ], + [ + "add", + 178, + 272, + -1, + 2, + [] + ], + [ + "add", + 178, + 276, + 1, + 2, + [] + ], + [ + "add", + 178, + 280, + 1, + 2, + [] + ], + [ + "add", + 178, + 286, + 1, + 2, + [] + ], + [ + "add", + 178, + 306, + -1, + 4, + [] + ], + [ + "add", + 178, + 308, + 1, + 4, + [] + ], + [ + "add", + 178, + 315, + 1, + 2, + [] + ], + [ + "add", + 178, + 317, + -1, + 2, + [] + ], + [ + "add", + 178, + 318, + 1, + 4, + [] + ], + [ + "add", + 178, + 326, + 1, + 4, + [] + ], + [ + "add", + 178, + 331, + 1, + 4, + [] + ], + [ + "add", + 178, + 332, + -1, + 4, + [] + ], + [ + "add", + 178, + 334, + 1, + 2, + [] + ], + [ + "add", + 178, + 335, + -1, + 2, + [] + ], + [ + "add", + 178, + 342, + -1, + 4, + [] + ], + [ + "add", + 178, + 344, + 1, + 2, + [] + ], + [ + "add", + 178, + 347, + 1, + 4, + [] + ], + [ + "add", + 178, + 348, + -1, + 4, + [] + ], + [ + "add", + 178, + 351, + 1, + 2, + [] + ], + [ + "add", + 178, + 354, + -1, + 4, + [] + ], + [ + "add", + 178, + 356, + 1, + 4, + [] + ], + [ + "add", + 178, + 359, + -1, + 4, + [] + ], + [ + "add", + 178, + 361, + 1, + 2, + [] + ], + [ + "add", + 178, + 363, + -1, + 2, + [] + ], + [ + "add", + 178, + 366, + 1, + 4, + [] + ], + [ + "add", + 178, + 367, + -1, + 2, + [] + ], + [ + "add", + 178, + 368, + -1, + 2, + [] + ], + [ + "add", + 178, + 372, + 1, + 2, + [] + ], + [ + "add", + 178, + 382, + 1, + 2, + [] + ], + [ + "add", + 178, + 383, + -1, + 2, + [] + ], + [ + "add", + 178, + 401, + 1, + 2, + [] + ], + [ + "add", + 178, + 402, + 1, + 4, + [] + ], + [ + "add", + 178, + 403, + -1, + 4, + [] + ], + [ + "add", + 178, + 404, + -1, + 4, + [] + ], + [ + "add", + 178, + 405, + 1, + 4, + [] + ], + [ + "add", + 178, + 408, + 1, + 4, + [] + ], + [ + "add", + 178, + 409, + -1, + 4, + [] + ], + [ + "add", + 178, + 414, + 1, + 4, + [] + ], + [ + "add", + 178, + 415, + -1, + 4, + [] + ], + [ + "add", + 178, + 417, + -1, + 2, + [] + ], + [ + "add", + 178, + 418, + -1, + 4, + [] + ], + [ + "add", + 178, + 419, + 1, + 4, + [] + ], + [ + "add", + 178, + 420, + 1, + 4, + [] + ], + [ + "add", + 178, + 421, + -1, + 4, + [] + ], + [ + "add", + 178, + 424, + -1, + 4, + [] + ], + [ + "add", + 178, + 425, + 1, + 4, + [] + ], + [ + "add", + 178, + 430, + -1, + 4, + [] + ], + [ + "add", + 178, + 431, + 1, + 4, + [] + ], + [ + "add", + 178, + 432, + 1, + 2, + [] + ], + [ + "add", + 178, + 433, + -1, + 2, + [] + ], + [ + "add", + 178, + 438, + -1, + 2, + [] + ], + [ + "add", + 178, + 439, + 1, + 2, + [] + ], + [ + "add", + 178, + 442, + 1, + 2, + [] + ], + [ + "add", + 178, + 443, + -1, + 2, + [] + ], + [ + "add", + 178, + 444, + 1, + 2, + [] + ], + [ + "add", + 178, + 445, + -1, + 2, + [] + ], + [ + "add", + 178, + 460, + 1, + 2, + [] + ], + [ + "add", + 178, + 461, + -1, + 2, + [] + ], + [ + "add", + 178, + 468, + -1, + 2, + [] + ], + [ + "add", + 178, + 469, + 1, + 2, + [] + ], + [ + "add", + 178, + 499, + 1, + 4, + [] + ], + [ + "add", + 138, + 241, + 1, + 2, + [] + ], + [ + "add", + 138, + 243, + -1, + 4, + [] + ], + [ + "add", + 138, + 244, + -1, + 4, + [] + ], + [ + "add", + 138, + 245, + 1, + 4, + [] + ], + [ + "add", + 138, + 248, + 1, + 4, + [] + ], + [ + "add", + 138, + 249, + -1, + 4, + [] + ], + [ + "add", + 138, + 254, + 1, + 4, + [] + ], + [ + "add", + 138, + 255, + -1, + 4, + [] + ], + [ + "add", + 138, + 257, + 1, + 2, + [] + ], + [ + "add", + 138, + 259, + -1, + 4, + [] + ], + [ + "add", + 138, + 260, + -1, + 4, + [] + ], + [ + "add", + 138, + 261, + 1, + 4, + [] + ], + [ + "add", + 138, + 264, + 1, + 4, + [] + ], + [ + "add", + 138, + 265, + -1, + 4, + [] + ], + [ + "add", + 138, + 270, + 1, + 4, + [] + ], + [ + "add", + 138, + 271, + -1, + 4, + [] + ], + [ + "add", + 138, + 287, + 1, + 1, + [] + ], + [ + "add", + 138, + 306, + -1, + 4, + [] + ], + [ + "add", + 138, + 308, + 1, + 4, + [] + ], + [ + "add", + 138, + 315, + 1, + 2, + [] + ], + [ + "add", + 138, + 317, + -1, + 2, + [] + ], + [ + "add", + 138, + 318, + 1, + 4, + [] + ], + [ + "add", + 138, + 326, + -1, + 4, + [] + ], + [ + "add", + 138, + 331, + -1, + 4, + [] + ], + [ + "add", + 138, + 332, + 1, + 4, + [] + ], + [ + "add", + 138, + 334, + -1, + 2, + [] + ], + [ + "add", + 138, + 335, + 1, + 2, + [] + ], + [ + "add", + 138, + 342, + -1, + 4, + [] + ], + [ + "add", + 138, + 344, + 1, + 2, + [] + ], + [ + "add", + 138, + 347, + 1, + 4, + [] + ], + [ + "add", + 138, + 348, + -1, + 4, + [] + ], + [ + "add", + 138, + 351, + 1, + 2, + [] + ], + [ + "add", + 138, + 354, + 1, + 4, + [] + ], + [ + "add", + 138, + 356, + -1, + 4, + [] + ], + [ + "add", + 138, + 359, + 1, + 4, + [] + ], + [ + "add", + 138, + 361, + -1, + 2, + [] + ], + [ + "add", + 138, + 363, + 1, + 2, + [] + ], + [ + "add", + 138, + 366, + -1, + 4, + [] + ], + [ + "add", + 138, + 367, + 1, + 2, + [] + ], + [ + "add", + 138, + 383, + 1, + 1, + [] + ], + [ + "add", + 138, + 401, + 1, + 2, + [] + ], + [ + "add", + 138, + 402, + 1, + 4, + [] + ], + [ + "add", + 138, + 403, + -1, + 4, + [] + ], + [ + "add", + 138, + 404, + -1, + 4, + [] + ], + [ + "add", + 138, + 405, + 1, + 4, + [] + ], + [ + "add", + 138, + 408, + 1, + 4, + [] + ], + [ + "add", + 138, + 409, + -1, + 4, + [] + ], + [ + "add", + 138, + 414, + 1, + 4, + [] + ], + [ + "add", + 138, + 415, + -1, + 4, + [] + ], + [ + "add", + 138, + 417, + 1, + 2, + [] + ], + [ + "add", + 138, + 418, + 1, + 4, + [] + ], + [ + "add", + 138, + 419, + -1, + 4, + [] + ], + [ + "add", + 138, + 420, + -1, + 4, + [] + ], + [ + "add", + 138, + 421, + 1, + 4, + [] + ], + [ + "add", + 138, + 424, + 1, + 4, + [] + ], + [ + "add", + 138, + 425, + -1, + 4, + [] + ], + [ + "add", + 138, + 430, + 1, + 4, + [] + ], + [ + "add", + 138, + 431, + -1, + 4, + [] + ], + [ + "add", + 138, + 434, + 1, + 1, + [] + ], + [ + "add", + 138, + 435, + -1, + 1, + [] + ], + [ + "add", + 138, + 460, + 1, + 2, + [] + ], + [ + "add", + 138, + 461, + -1, + 2, + [] + ], + [ + "add", + 138, + 468, + 1, + 2, + [] + ], + [ + "add", + 138, + 469, + -1, + 2, + [] + ], + [ + "add", + 138, + 499, + 1, + 4, + [] + ], + [ + "add", + 125, + 224, + -1, + 2, + [] + ], + [ + "add", + 125, + 226, + 1, + 2, + [] + ], + [ + "add", + 125, + 227, + -1, + 2, + [] + ], + [ + "add", + 125, + 230, + 1, + 2, + [] + ], + [ + "add", + 125, + 233, + -1, + 2, + [] + ], + [ + "add", + 125, + 234, + -1, + 2, + [] + ], + [ + "add", + 125, + 235, + 1, + 2, + [] + ], + [ + "add", + 125, + 239, + 1, + 2, + [] + ], + [ + "add", + 125, + 278, + 1, + 4, + [] + ], + [ + "add", + 125, + 283, + 1, + 4, + [] + ], + [ + "add", + 125, + 284, + -1, + 4, + [] + ], + [ + "add", + 125, + 286, + -1, + 2, + [] + ], + [ + "add", + 125, + 287, + 1, + 2, + [] + ], + [ + "add", + 125, + 294, + 1, + 4, + [] + ], + [ + "add", + 125, + 299, + 1, + 4, + [] + ], + [ + "add", + 125, + 300, + -1, + 4, + [] + ], + [ + "add", + 125, + 302, + -1, + 2, + [] + ], + [ + "add", + 125, + 303, + 1, + 2, + [] + ], + [ + "add", + 125, + 310, + 1, + 4, + [] + ], + [ + "add", + 125, + 315, + 1, + 4, + [] + ], + [ + "add", + 125, + 316, + -1, + 4, + [] + ], + [ + "add", + 125, + 318, + -1, + 2, + [] + ], + [ + "add", + 125, + 319, + 1, + 2, + [] + ], + [ + "add", + 125, + 326, + 1, + 4, + [] + ], + [ + "add", + 125, + 331, + 1, + 4, + [] + ], + [ + "add", + 125, + 332, + -1, + 4, + [] + ], + [ + "add", + 125, + 334, + -1, + 2, + [] + ], + [ + "add", + 125, + 335, + 1, + 2, + [] + ], + [ + "add", + 125, + 342, + 1, + 4, + [] + ], + [ + "add", + 125, + 347, + 1, + 4, + [] + ], + [ + "add", + 125, + 348, + -1, + 4, + [] + ], + [ + "add", + 125, + 350, + -1, + 2, + [] + ], + [ + "add", + 125, + 351, + 1, + 2, + [] + ], + [ + "add", + 125, + 358, + 1, + 4, + [] + ], + [ + "add", + 125, + 363, + 1, + 4, + [] + ], + [ + "add", + 125, + 364, + -1, + 4, + [] + ], + [ + "add", + 125, + 366, + -1, + 2, + [] + ], + [ + "add", + 125, + 367, + 1, + 2, + [] + ], + [ + "add", + 125, + 374, + 1, + 4, + [] + ], + [ + "add", + 125, + 379, + 1, + 4, + [] + ], + [ + "add", + 125, + 380, + -1, + 4, + [] + ], + [ + "add", + 125, + 382, + -1, + 2, + [] + ], + [ + "add", + 125, + 383, + 1, + 2, + [] + ], + [ + "add", + 125, + 390, + 1, + 4, + [] + ], + [ + "add", + 125, + 395, + 1, + 4, + [] + ], + [ + "add", + 125, + 396, + -1, + 4, + [] + ], + [ + "add", + 125, + 398, + -1, + 2, + [] + ], + [ + "add", + 125, + 399, + 1, + 2, + [] + ], + [ + "add", + 125, + 400, + -1, + 2, + [] + ], + [ + "add", + 125, + 403, + -1, + 2, + [] + ], + [ + "add", + 125, + 405, + -1, + 2, + [] + ], + [ + "add", + 125, + 406, + -1, + 2, + [] + ], + [ + "add", + 125, + 410, + 1, + 2, + [] + ], + [ + "add", + 125, + 411, + -1, + 2, + [] + ], + [ + "add", + 125, + 414, + -1, + 2, + [] + ], + [ + "add", + 125, + 415, + 1, + 2, + [] + ], + [ + "add", + 125, + 416, + -1, + 2, + [] + ], + [ + "add", + 125, + 419, + -1, + 2, + [] + ], + [ + "add", + 125, + 421, + -1, + 2, + [] + ], + [ + "add", + 125, + 422, + -1, + 2, + [] + ], + [ + "add", + 125, + 426, + 1, + 2, + [] + ], + [ + "add", + 125, + 427, + -1, + 2, + [] + ], + [ + "add", + 125, + 430, + -1, + 2, + [] + ], + [ + "add", + 125, + 431, + 1, + 2, + [] + ], + [ + "add", + 125, + 480, + -1, + 2, + [] + ], + [ + "add", + 125, + 481, + -1, + 2, + [] + ], + [ + "add", + 125, + 492, + -1, + 2, + [] + ], + [ + "add", + 125, + 493, + -1, + 2, + [] + ], + [ + "add", + 125, + 504, + -1, + 2, + [] + ], + [ + "add", + 125, + 505, + -1, + 2, + [] + ], + [ + "add", + 125, + 516, + -1, + 2, + [] + ], + [ + "add", + 125, + 517, + -1, + 2, + [] + ], + [ + "add", + 190, + 272, + 1, + 4, + [] + ], + [ + "add", + 190, + 276, + 1, + 4, + [] + ], + [ + "add", + 190, + 278, + 1, + 4, + [] + ], + [ + "add", + 190, + 280, + -1, + 4, + [] + ], + [ + "add", + 190, + 283, + -1, + 4, + [] + ], + [ + "add", + 190, + 284, + -1, + 4, + [] + ], + [ + "add", + 190, + 286, + -1, + 4, + [] + ], + [ + "add", + 190, + 288, + 1, + 4, + [] + ], + [ + "add", + 190, + 292, + 1, + 4, + [] + ], + [ + "add", + 190, + 294, + 1, + 4, + [] + ], + [ + "add", + 190, + 296, + -1, + 4, + [] + ], + [ + "add", + 190, + 299, + -1, + 4, + [] + ], + [ + "add", + 190, + 300, + -1, + 4, + [] + ], + [ + "add", + 190, + 302, + -1, + 4, + [] + ], + [ + "add", + 190, + 304, + 1, + 4, + [] + ], + [ + "add", + 190, + 308, + 1, + 4, + [] + ], + [ + "add", + 190, + 310, + 1, + 4, + [] + ], + [ + "add", + 190, + 312, + -1, + 4, + [] + ], + [ + "add", + 190, + 315, + -1, + 4, + [] + ], + [ + "add", + 190, + 316, + -1, + 4, + [] + ], + [ + "add", + 190, + 318, + -1, + 4, + [] + ], + [ + "add", + 190, + 320, + 1, + 4, + [] + ], + [ + "add", + 190, + 324, + 1, + 4, + [] + ], + [ + "add", + 190, + 326, + 1, + 4, + [] + ], + [ + "add", + 190, + 331, + -1, + 4, + [] + ], + [ + "add", + 190, + 332, + -1, + 4, + [] + ], + [ + "add", + 190, + 334, + -1, + 4, + [] + ], + [ + "add", + 190, + 335, + 1, + 4, + [] + ], + [ + "add", + 190, + 336, + 1, + 4, + [] + ], + [ + "add", + 190, + 340, + 1, + 4, + [] + ], + [ + "add", + 190, + 342, + 1, + 4, + [] + ], + [ + "add", + 190, + 347, + -1, + 4, + [] + ], + [ + "add", + 190, + 348, + -1, + 4, + [] + ], + [ + "add", + 190, + 350, + -1, + 4, + [] + ], + [ + "add", + 190, + 351, + 1, + 4, + [] + ], + [ + "add", + 190, + 352, + 1, + 4, + [] + ], + [ + "add", + 190, + 356, + 1, + 4, + [] + ], + [ + "add", + 190, + 358, + 1, + 4, + [] + ], + [ + "add", + 190, + 363, + -1, + 4, + [] + ], + [ + "add", + 190, + 364, + -1, + 4, + [] + ], + [ + "add", + 190, + 366, + -1, + 4, + [] + ], + [ + "add", + 190, + 367, + 1, + 4, + [] + ], + [ + "add", + 190, + 368, + 1, + 4, + [] + ], + [ + "add", + 190, + 372, + 1, + 4, + [] + ], + [ + "add", + 190, + 374, + 1, + 4, + [] + ], + [ + "add", + 190, + 379, + -1, + 4, + [] + ], + [ + "add", + 190, + 380, + -1, + 4, + [] + ], + [ + "add", + 190, + 382, + -1, + 4, + [] + ], + [ + "add", + 190, + 383, + 1, + 4, + [] + ], + [ + "add", + 190, + 384, + 1, + 4, + [] + ], + [ + "add", + 190, + 388, + 1, + 4, + [] + ], + [ + "add", + 190, + 390, + 1, + 4, + [] + ], + [ + "add", + 190, + 395, + -1, + 4, + [] + ], + [ + "add", + 190, + 396, + -1, + 4, + [] + ], + [ + "add", + 190, + 398, + -1, + 4, + [] + ], + [ + "add", + 190, + 399, + 1, + 4, + [] + ], + [ + "add", + 190, + 480, + -1, + 2, + [] + ], + [ + "add", + 190, + 481, + -1, + 2, + [] + ], + [ + "add", + 190, + 492, + -1, + 2, + [] + ], + [ + "add", + 190, + 493, + -1, + 2, + [] + ], + [ + "add", + 190, + 504, + -1, + 2, + [] + ], + [ + "add", + 190, + 505, + -1, + 2, + [] + ], + [ + "add", + 190, + 516, + -1, + 2, + [] + ], + [ + "add", + 190, + 517, + -1, + 2, + [] + ], + [ + "add", + 163, + 256, + -1, + 2, + [] + ], + [ + "add", + 163, + 259, + -1, + 2, + [] + ], + [ + "add", + 163, + 262, + 1, + 2, + [] + ], + [ + "add", + 163, + 265, + -1, + 2, + [] + ], + [ + "add", + 163, + 266, + -1, + 2, + [] + ], + [ + "add", + 163, + 267, + 1, + 2, + [] + ], + [ + "add", + 163, + 271, + 1, + 2, + [] + ], + [ + "add", + 163, + 278, + -1, + 4, + [] + ], + [ + "add", + 163, + 283, + -1, + 4, + [] + ], + [ + "add", + 163, + 284, + 1, + 4, + [] + ], + [ + "add", + 163, + 286, + -1, + 2, + [] + ], + [ + "add", + 163, + 287, + 1, + 2, + [] + ], + [ + "add", + 163, + 294, + -1, + 4, + [] + ], + [ + "add", + 163, + 299, + -1, + 4, + [] + ], + [ + "add", + 163, + 300, + 1, + 4, + [] + ], + [ + "add", + 163, + 302, + -1, + 2, + [] + ], + [ + "add", + 163, + 303, + 1, + 2, + [] + ], + [ + "add", + 163, + 310, + -1, + 4, + [] + ], + [ + "add", + 163, + 315, + -1, + 4, + [] + ], + [ + "add", + 163, + 316, + 1, + 4, + [] + ], + [ + "add", + 163, + 318, + -1, + 2, + [] + ], + [ + "add", + 163, + 319, + 1, + 2, + [] + ], + [ + "add", + 163, + 326, + -1, + 4, + [] + ], + [ + "add", + 163, + 331, + -1, + 4, + [] + ], + [ + "add", + 163, + 332, + 1, + 4, + [] + ], + [ + "add", + 163, + 334, + -1, + 2, + [] + ], + [ + "add", + 163, + 335, + 1, + 2, + [] + ], + [ + "add", + 163, + 342, + -1, + 4, + [] + ], + [ + "add", + 163, + 347, + -1, + 4, + [] + ], + [ + "add", + 163, + 348, + 1, + 4, + [] + ], + [ + "add", + 163, + 350, + -1, + 2, + [] + ], + [ + "add", + 163, + 351, + 1, + 2, + [] + ], + [ + "add", + 163, + 358, + -1, + 4, + [] + ], + [ + "add", + 163, + 363, + -1, + 4, + [] + ], + [ + "add", + 163, + 364, + 1, + 4, + [] + ], + [ + "add", + 163, + 366, + -1, + 2, + [] + ], + [ + "add", + 163, + 367, + 1, + 2, + [] + ], + [ + "add", + 163, + 374, + -1, + 4, + [] + ], + [ + "add", + 163, + 379, + -1, + 4, + [] + ], + [ + "add", + 163, + 380, + 1, + 4, + [] + ], + [ + "add", + 163, + 382, + -1, + 2, + [] + ], + [ + "add", + 163, + 383, + 1, + 2, + [] + ], + [ + "add", + 163, + 390, + -1, + 4, + [] + ], + [ + "add", + 163, + 395, + -1, + 4, + [] + ], + [ + "add", + 163, + 396, + 1, + 4, + [] + ], + [ + "add", + 163, + 398, + -1, + 2, + [] + ], + [ + "add", + 163, + 399, + 1, + 2, + [] + ], + [ + "add", + 163, + 416, + -1, + 2, + [] + ], + [ + "add", + 163, + 418, + 1, + 2, + [] + ], + [ + "add", + 163, + 419, + -1, + 2, + [] + ], + [ + "add", + 163, + 422, + 1, + 2, + [] + ], + [ + "add", + 163, + 425, + -1, + 2, + [] + ], + [ + "add", + 163, + 426, + -1, + 2, + [] + ], + [ + "add", + 163, + 427, + 1, + 2, + [] + ], + [ + "add", + 163, + 431, + 1, + 2, + [] + ], + [ + "add", + 163, + 432, + -1, + 2, + [] + ], + [ + "add", + 163, + 434, + 1, + 2, + [] + ], + [ + "add", + 163, + 435, + -1, + 2, + [] + ], + [ + "add", + 163, + 438, + 1, + 2, + [] + ], + [ + "add", + 163, + 441, + -1, + 2, + [] + ], + [ + "add", + 163, + 442, + -1, + 2, + [] + ], + [ + "add", + 163, + 443, + 1, + 2, + [] + ], + [ + "add", + 163, + 447, + 1, + 2, + [] + ], + [ + "add", + 163, + 480, + 1, + 2, + [] + ], + [ + "add", + 163, + 481, + -1, + 2, + [] + ], + [ + "add", + 163, + 492, + 1, + 2, + [] + ], + [ + "add", + 163, + 493, + -1, + 2, + [] + ], + [ + "add", + 163, + 504, + 1, + 2, + [] + ], + [ + "add", + 163, + 505, + -1, + 2, + [] + ], + [ + "add", + 163, + 516, + 1, + 2, + [] + ], + [ + "add", + 163, + 517, + -1, + 2, + [] + ], + [ + "add", + 155, + 272, + 1, + 4, + [] + ], + [ + "add", + 155, + 276, + 1, + 4, + [] + ], + [ + "add", + 155, + 278, + 1, + 4, + [] + ], + [ + "add", + 155, + 280, + -1, + 4, + [] + ], + [ + "add", + 155, + 283, + -1, + 4, + [] + ], + [ + "add", + 155, + 284, + -1, + 4, + [] + ], + [ + "add", + 155, + 286, + -1, + 4, + [] + ], + [ + "add", + 155, + 288, + 1, + 4, + [] + ], + [ + "add", + 155, + 292, + 1, + 4, + [] + ], + [ + "add", + 155, + 294, + 1, + 4, + [] + ], + [ + "add", + 155, + 296, + -1, + 4, + [] + ], + [ + "add", + 155, + 299, + -1, + 4, + [] + ], + [ + "add", + 155, + 300, + -1, + 4, + [] + ], + [ + "add", + 155, + 302, + -1, + 4, + [] + ], + [ + "add", + 155, + 304, + -1, + 4, + [] + ], + [ + "add", + 155, + 308, + -1, + 4, + [] + ], + [ + "add", + 155, + 310, + -1, + 4, + [] + ], + [ + "add", + 155, + 312, + 1, + 4, + [] + ], + [ + "add", + 155, + 315, + 1, + 4, + [] + ], + [ + "add", + 155, + 316, + 1, + 4, + [] + ], + [ + "add", + 155, + 318, + 1, + 4, + [] + ], + [ + "add", + 155, + 320, + -1, + 4, + [] + ], + [ + "add", + 155, + 324, + -1, + 4, + [] + ], + [ + "add", + 155, + 326, + -1, + 4, + [] + ], + [ + "add", + 155, + 331, + 1, + 4, + [] + ], + [ + "add", + 155, + 332, + 1, + 4, + [] + ], + [ + "add", + 155, + 334, + 1, + 4, + [] + ], + [ + "add", + 155, + 335, + -1, + 4, + [] + ], + [ + "add", + 155, + 336, + 1, + 4, + [] + ], + [ + "add", + 155, + 340, + 1, + 4, + [] + ], + [ + "add", + 155, + 342, + 1, + 4, + [] + ], + [ + "add", + 155, + 347, + -1, + 4, + [] + ], + [ + "add", + 155, + 348, + -1, + 4, + [] + ], + [ + "add", + 155, + 350, + -1, + 4, + [] + ], + [ + "add", + 155, + 351, + 1, + 4, + [] + ], + [ + "add", + 155, + 352, + 1, + 4, + [] + ], + [ + "add", + 155, + 356, + 1, + 4, + [] + ], + [ + "add", + 155, + 358, + 1, + 4, + [] + ], + [ + "add", + 155, + 363, + -1, + 4, + [] + ], + [ + "add", + 155, + 364, + -1, + 4, + [] + ], + [ + "add", + 155, + 366, + -1, + 4, + [] + ], + [ + "add", + 155, + 367, + 1, + 4, + [] + ], + [ + "add", + 155, + 368, + -1, + 4, + [] + ], + [ + "add", + 155, + 372, + -1, + 4, + [] + ], + [ + "add", + 155, + 374, + -1, + 4, + [] + ], + [ + "add", + 155, + 379, + 1, + 4, + [] + ], + [ + "add", + 155, + 380, + 1, + 4, + [] + ], + [ + "add", + 155, + 382, + 1, + 4, + [] + ], + [ + "add", + 155, + 383, + -1, + 4, + [] + ], + [ + "add", + 155, + 384, + -1, + 4, + [] + ], + [ + "add", + 155, + 388, + -1, + 4, + [] + ], + [ + "add", + 155, + 390, + -1, + 4, + [] + ], + [ + "add", + 155, + 395, + 1, + 4, + [] + ], + [ + "add", + 155, + 396, + 1, + 4, + [] + ], + [ + "add", + 155, + 398, + 1, + 4, + [] + ], + [ + "add", + 155, + 399, + -1, + 4, + [] + ], + [ + "add", + 155, + 480, + -1, + 2, + [] + ], + [ + "add", + 155, + 481, + -1, + 2, + [] + ], + [ + "add", + 155, + 492, + -1, + 2, + [] + ], + [ + "add", + 155, + 493, + -1, + 2, + [] + ], + [ + "add", + 155, + 504, + 1, + 2, + [] + ], + [ + "add", + 155, + 505, + 1, + 2, + [] + ], + [ + "add", + 155, + 516, + 1, + 2, + [] + ], + [ + "add", + 155, + 517, + 1, + 2, + [] + ], + [ + "add", + 128, + 224, + -1, + 2, + [] + ], + [ + "add", + 128, + 225, + 1, + 2, + [] + ], + [ + "add", + 128, + 227, + -1, + 2, + [] + ], + [ + "add", + 128, + 229, + 1, + 2, + [] + ], + [ + "add", + 128, + 235, + -1, + 2, + [] + ], + [ + "add", + 128, + 237, + 1, + 2, + [] + ], + [ + "add", + 128, + 238, + 1, + 2, + [] + ], + [ + "add", + 128, + 239, + -1, + 2, + [] + ], + [ + "add", + 128, + 278, + 1, + 4, + [] + ], + [ + "add", + 128, + 283, + 1, + 4, + [] + ], + [ + "add", + 128, + 284, + -1, + 4, + [] + ], + [ + "add", + 128, + 286, + -1, + 2, + [] + ], + [ + "add", + 128, + 287, + 1, + 2, + [] + ], + [ + "add", + 128, + 294, + 1, + 4, + [] + ], + [ + "add", + 128, + 299, + 1, + 4, + [] + ], + [ + "add", + 128, + 300, + -1, + 4, + [] + ], + [ + "add", + 128, + 302, + -1, + 2, + [] + ], + [ + "add", + 128, + 303, + 1, + 2, + [] + ], + [ + "add", + 128, + 310, + -1, + 4, + [] + ], + [ + "add", + 128, + 315, + -1, + 4, + [] + ], + [ + "add", + 128, + 316, + 1, + 4, + [] + ], + [ + "add", + 128, + 318, + 1, + 2, + [] + ], + [ + "add", + 128, + 319, + -1, + 2, + [] + ], + [ + "add", + 128, + 326, + -1, + 4, + [] + ], + [ + "add", + 128, + 331, + -1, + 4, + [] + ], + [ + "add", + 128, + 332, + 1, + 4, + [] + ], + [ + "add", + 128, + 334, + 1, + 2, + [] + ], + [ + "add", + 128, + 335, + -1, + 2, + [] + ], + [ + "add", + 128, + 342, + 1, + 4, + [] + ], + [ + "add", + 128, + 347, + 1, + 4, + [] + ], + [ + "add", + 128, + 348, + -1, + 4, + [] + ], + [ + "add", + 128, + 350, + -1, + 2, + [] + ], + [ + "add", + 128, + 351, + 1, + 2, + [] + ], + [ + "add", + 128, + 358, + 1, + 4, + [] + ], + [ + "add", + 128, + 363, + 1, + 4, + [] + ], + [ + "add", + 128, + 364, + -1, + 4, + [] + ], + [ + "add", + 128, + 366, + -1, + 2, + [] + ], + [ + "add", + 128, + 367, + 1, + 2, + [] + ], + [ + "add", + 128, + 374, + -1, + 4, + [] + ], + [ + "add", + 128, + 379, + -1, + 4, + [] + ], + [ + "add", + 128, + 380, + 1, + 4, + [] + ], + [ + "add", + 128, + 382, + 1, + 2, + [] + ], + [ + "add", + 128, + 383, + -1, + 2, + [] + ], + [ + "add", + 128, + 390, + -1, + 4, + [] + ], + [ + "add", + 128, + 395, + -1, + 4, + [] + ], + [ + "add", + 128, + 396, + 1, + 4, + [] + ], + [ + "add", + 128, + 398, + 1, + 2, + [] + ], + [ + "add", + 128, + 399, + -1, + 2, + [] + ], + [ + "add", + 128, + 401, + -1, + 2, + [] + ], + [ + "add", + 128, + 402, + 1, + 2, + [] + ], + [ + "add", + 128, + 403, + -1, + 2, + [] + ], + [ + "add", + 128, + 409, + -1, + 2, + [] + ], + [ + "add", + 128, + 411, + -1, + 2, + [] + ], + [ + "add", + 128, + 413, + -1, + 2, + [] + ], + [ + "add", + 128, + 415, + -1, + 2, + [] + ], + [ + "add", + 128, + 417, + -1, + 2, + [] + ], + [ + "add", + 128, + 418, + 1, + 2, + [] + ], + [ + "add", + 128, + 419, + -1, + 2, + [] + ], + [ + "add", + 128, + 425, + -1, + 2, + [] + ], + [ + "add", + 128, + 427, + -1, + 2, + [] + ], + [ + "add", + 128, + 429, + -1, + 2, + [] + ], + [ + "add", + 128, + 431, + -1, + 2, + [] + ], + [ + "add", + 128, + 480, + -1, + 2, + [] + ], + [ + "add", + 128, + 481, + -1, + 2, + [] + ], + [ + "add", + 128, + 492, + -1, + 2, + [] + ], + [ + "add", + 128, + 493, + -1, + 2, + [] + ], + [ + "add", + 128, + 504, + 1, + 2, + [] + ], + [ + "add", + 128, + 505, + 1, + 2, + [] + ], + [ + "add", + 128, + 516, + 1, + 2, + [] + ], + [ + "add", + 128, + 517, + 1, + 2, + [] + ], + [ + "add", + 156, + 257, + 1, + 2, + [] + ], + [ + "add", + 156, + 258, + -1, + 2, + [] + ], + [ + "add", + 156, + 259, + -1, + 2, + [] + ], + [ + "add", + 156, + 261, + 1, + 2, + [] + ], + [ + "add", + 156, + 267, + -1, + 2, + [] + ], + [ + "add", + 156, + 269, + 1, + 2, + [] + ], + [ + "add", + 156, + 270, + 1, + 2, + [] + ], + [ + "add", + 156, + 271, + -1, + 2, + [] + ], + [ + "add", + 156, + 278, + -1, + 4, + [] + ], + [ + "add", + 156, + 283, + -1, + 4, + [] + ], + [ + "add", + 156, + 284, + 1, + 4, + [] + ], + [ + "add", + 156, + 286, + -1, + 2, + [] + ], + [ + "add", + 156, + 287, + 1, + 2, + [] + ], + [ + "add", + 156, + 294, + 1, + 4, + [] + ], + [ + "add", + 156, + 299, + 1, + 4, + [] + ], + [ + "add", + 156, + 300, + -1, + 4, + [] + ], + [ + "add", + 156, + 302, + 1, + 2, + [] + ], + [ + "add", + 156, + 303, + -1, + 2, + [] + ], + [ + "add", + 156, + 310, + 1, + 4, + [] + ], + [ + "add", + 156, + 315, + 1, + 4, + [] + ], + [ + "add", + 156, + 316, + -1, + 4, + [] + ], + [ + "add", + 156, + 318, + 1, + 2, + [] + ], + [ + "add", + 156, + 319, + -1, + 2, + [] + ], + [ + "add", + 156, + 326, + -1, + 4, + [] + ], + [ + "add", + 156, + 331, + -1, + 4, + [] + ], + [ + "add", + 156, + 332, + 1, + 4, + [] + ], + [ + "add", + 156, + 334, + -1, + 2, + [] + ], + [ + "add", + 156, + 335, + 1, + 2, + [] + ], + [ + "add", + 156, + 342, + 1, + 4, + [] + ], + [ + "add", + 156, + 347, + 1, + 4, + [] + ], + [ + "add", + 156, + 348, + -1, + 4, + [] + ], + [ + "add", + 156, + 350, + 1, + 2, + [] + ], + [ + "add", + 156, + 351, + -1, + 2, + [] + ], + [ + "add", + 156, + 358, + -1, + 4, + [] + ], + [ + "add", + 156, + 363, + -1, + 4, + [] + ], + [ + "add", + 156, + 364, + 1, + 4, + [] + ], + [ + "add", + 156, + 366, + -1, + 2, + [] + ], + [ + "add", + 156, + 367, + 1, + 2, + [] + ], + [ + "add", + 156, + 374, + -1, + 4, + [] + ], + [ + "add", + 156, + 379, + -1, + 4, + [] + ], + [ + "add", + 156, + 380, + 1, + 4, + [] + ], + [ + "add", + 156, + 382, + -1, + 2, + [] + ], + [ + "add", + 156, + 383, + 1, + 2, + [] + ], + [ + "add", + 156, + 390, + 1, + 4, + [] + ], + [ + "add", + 156, + 395, + 1, + 4, + [] + ], + [ + "add", + 156, + 396, + -1, + 4, + [] + ], + [ + "add", + 156, + 398, + 1, + 2, + [] + ], + [ + "add", + 156, + 399, + -1, + 2, + [] + ], + [ + "add", + 156, + 417, + 1, + 2, + [] + ], + [ + "add", + 156, + 419, + -1, + 2, + [] + ], + [ + "add", + 156, + 421, + 1, + 2, + [] + ], + [ + "add", + 156, + 427, + -1, + 2, + [] + ], + [ + "add", + 156, + 429, + 1, + 2, + [] + ], + [ + "add", + 156, + 430, + 1, + 2, + [] + ], + [ + "add", + 156, + 431, + -1, + 2, + [] + ], + [ + "add", + 156, + 432, + -1, + 2, + [] + ], + [ + "add", + 156, + 433, + 1, + 2, + [] + ], + [ + "add", + 156, + 435, + -1, + 2, + [] + ], + [ + "add", + 156, + 437, + 1, + 2, + [] + ], + [ + "add", + 156, + 443, + -1, + 2, + [] + ], + [ + "add", + 156, + 445, + 1, + 2, + [] + ], + [ + "add", + 156, + 446, + 1, + 2, + [] + ], + [ + "add", + 156, + 447, + -1, + 2, + [] + ], + [ + "add", + 156, + 480, + 1, + 2, + [] + ], + [ + "add", + 156, + 481, + -1, + 2, + [] + ], + [ + "add", + 156, + 492, + -1, + 2, + [] + ], + [ + "add", + 156, + 493, + 1, + 2, + [] + ], + [ + "add", + 156, + 504, + -1, + 2, + [] + ], + [ + "add", + 156, + 505, + 1, + 2, + [] + ], + [ + "add", + 156, + 516, + 1, + 2, + [] + ], + [ + "add", + 156, + 517, + -1, + 2, + [] + ], + [ + "add", + 127, + 224, + -1, + 2, + [] + ], + [ + "add", + 127, + 226, + 1, + 2, + [] + ], + [ + "add", + 127, + 227, + -1, + 2, + [] + ], + [ + "add", + 127, + 230, + 1, + 2, + [] + ], + [ + "add", + 127, + 233, + -1, + 2, + [] + ], + [ + "add", + 127, + 234, + -1, + 2, + [] + ], + [ + "add", + 127, + 235, + 1, + 2, + [] + ], + [ + "add", + 127, + 239, + 1, + 2, + [] + ], + [ + "add", + 127, + 274, + 1, + 4, + [] + ], + [ + "add", + 127, + 276, + -1, + 4, + [] + ], + [ + "add", + 127, + 279, + -1, + 4, + [] + ], + [ + "add", + 127, + 283, + 1, + 2, + [] + ], + [ + "add", + 127, + 285, + -1, + 2, + [] + ], + [ + "add", + 127, + 286, + -1, + 4, + [] + ], + [ + "add", + 127, + 290, + 1, + 4, + [] + ], + [ + "add", + 127, + 292, + -1, + 4, + [] + ], + [ + "add", + 127, + 295, + -1, + 4, + [] + ], + [ + "add", + 127, + 299, + 1, + 2, + [] + ], + [ + "add", + 127, + 301, + -1, + 2, + [] + ], + [ + "add", + 127, + 302, + -1, + 4, + [] + ], + [ + "add", + 127, + 306, + 1, + 4, + [] + ], + [ + "add", + 127, + 308, + -1, + 4, + [] + ], + [ + "add", + 127, + 315, + 1, + 2, + [] + ], + [ + "add", + 127, + 317, + -1, + 2, + [] + ], + [ + "add", + 127, + 318, + -1, + 4, + [] + ], + [ + "add", + 127, + 322, + 1, + 4, + [] + ], + [ + "add", + 127, + 324, + -1, + 4, + [] + ], + [ + "add", + 127, + 331, + 1, + 2, + [] + ], + [ + "add", + 127, + 333, + -1, + 2, + [] + ], + [ + "add", + 127, + 334, + -1, + 4, + [] + ], + [ + "add", + 127, + 338, + 1, + 4, + [] + ], + [ + "add", + 127, + 340, + -1, + 4, + [] + ], + [ + "add", + 127, + 343, + -1, + 4, + [] + ], + [ + "add", + 127, + 347, + 1, + 2, + [] + ], + [ + "add", + 127, + 349, + -1, + 2, + [] + ], + [ + "add", + 127, + 350, + -1, + 4, + [] + ], + [ + "add", + 127, + 354, + 1, + 4, + [] + ], + [ + "add", + 127, + 356, + -1, + 4, + [] + ], + [ + "add", + 127, + 359, + -1, + 4, + [] + ], + [ + "add", + 127, + 363, + 1, + 2, + [] + ], + [ + "add", + 127, + 365, + -1, + 2, + [] + ], + [ + "add", + 127, + 366, + -1, + 4, + [] + ], + [ + "add", + 127, + 370, + 1, + 4, + [] + ], + [ + "add", + 127, + 372, + -1, + 4, + [] + ], + [ + "add", + 127, + 375, + -1, + 4, + [] + ], + [ + "add", + 127, + 379, + 1, + 2, + [] + ], + [ + "add", + 127, + 381, + -1, + 2, + [] + ], + [ + "add", + 127, + 382, + -1, + 4, + [] + ], + [ + "add", + 127, + 386, + 1, + 4, + [] + ], + [ + "add", + 127, + 388, + -1, + 4, + [] + ], + [ + "add", + 127, + 391, + -1, + 4, + [] + ], + [ + "add", + 127, + 395, + 1, + 2, + [] + ], + [ + "add", + 127, + 397, + -1, + 2, + [] + ], + [ + "add", + 127, + 398, + -1, + 4, + [] + ], + [ + "add", + 127, + 400, + -1, + 2, + [] + ], + [ + "add", + 127, + 403, + -1, + 2, + [] + ], + [ + "add", + 127, + 405, + -1, + 2, + [] + ], + [ + "add", + 127, + 406, + -1, + 2, + [] + ], + [ + "add", + 127, + 410, + 1, + 2, + [] + ], + [ + "add", + 127, + 411, + -1, + 2, + [] + ], + [ + "add", + 127, + 414, + -1, + 2, + [] + ], + [ + "add", + 127, + 415, + 1, + 2, + [] + ], + [ + "add", + 127, + 416, + -1, + 2, + [] + ], + [ + "add", + 127, + 419, + -1, + 2, + [] + ], + [ + "add", + 127, + 421, + -1, + 2, + [] + ], + [ + "add", + 127, + 422, + -1, + 2, + [] + ], + [ + "add", + 127, + 426, + 1, + 2, + [] + ], + [ + "add", + 127, + 427, + -1, + 2, + [] + ], + [ + "add", + 127, + 430, + -1, + 2, + [] + ], + [ + "add", + 127, + 431, + 1, + 2, + [] + ], + [ + "add", + 127, + 478, + -1, + 2, + [] + ], + [ + "add", + 127, + 479, + -1, + 2, + [] + ], + [ + "add", + 127, + 490, + -1, + 2, + [] + ], + [ + "add", + 127, + 491, + -1, + 2, + [] + ], + [ + "add", + 127, + 499, + -1, + 4, + [] + ], + [ + "add", + 127, + 502, + -1, + 2, + [] + ], + [ + "add", + 127, + 503, + -1, + 2, + [] + ], + [ + "add", + 127, + 511, + -1, + 4, + [] + ], + [ + "add", + 127, + 514, + -1, + 2, + [] + ], + [ + "add", + 127, + 515, + -1, + 2, + [] + ], + [ + "add", + 165, + 240, + -1, + 2, + [] + ], + [ + "add", + 165, + 243, + -1, + 2, + [] + ], + [ + "add", + 165, + 246, + 1, + 2, + [] + ], + [ + "add", + 165, + 249, + -1, + 2, + [] + ], + [ + "add", + 165, + 250, + -1, + 2, + [] + ], + [ + "add", + 165, + 251, + 1, + 2, + [] + ], + [ + "add", + 165, + 255, + 1, + 2, + [] + ], + [ + "add", + 165, + 274, + -1, + 4, + [] + ], + [ + "add", + 165, + 276, + 1, + 4, + [] + ], + [ + "add", + 165, + 279, + 1, + 4, + [] + ], + [ + "add", + 165, + 283, + 1, + 2, + [] + ], + [ + "add", + 165, + 285, + -1, + 2, + [] + ], + [ + "add", + 165, + 286, + 1, + 4, + [] + ], + [ + "add", + 165, + 290, + -1, + 4, + [] + ], + [ + "add", + 165, + 292, + 1, + 4, + [] + ], + [ + "add", + 165, + 295, + 1, + 4, + [] + ], + [ + "add", + 165, + 299, + 1, + 2, + [] + ], + [ + "add", + 165, + 301, + -1, + 2, + [] + ], + [ + "add", + 165, + 302, + 1, + 4, + [] + ], + [ + "add", + 165, + 306, + -1, + 4, + [] + ], + [ + "add", + 165, + 308, + 1, + 4, + [] + ], + [ + "add", + 165, + 315, + 1, + 2, + [] + ], + [ + "add", + 165, + 317, + -1, + 2, + [] + ], + [ + "add", + 165, + 318, + 1, + 4, + [] + ], + [ + "add", + 165, + 322, + -1, + 4, + [] + ], + [ + "add", + 165, + 324, + 1, + 4, + [] + ], + [ + "add", + 165, + 331, + 1, + 2, + [] + ], + [ + "add", + 165, + 333, + -1, + 2, + [] + ], + [ + "add", + 165, + 334, + 1, + 4, + [] + ], + [ + "add", + 165, + 338, + -1, + 4, + [] + ], + [ + "add", + 165, + 340, + 1, + 4, + [] + ], + [ + "add", + 165, + 343, + 1, + 4, + [] + ], + [ + "add", + 165, + 347, + 1, + 2, + [] + ], + [ + "add", + 165, + 349, + -1, + 2, + [] + ], + [ + "add", + 165, + 350, + 1, + 4, + [] + ], + [ + "add", + 165, + 354, + -1, + 4, + [] + ], + [ + "add", + 165, + 356, + 1, + 4, + [] + ], + [ + "add", + 165, + 359, + 1, + 4, + [] + ], + [ + "add", + 165, + 363, + 1, + 2, + [] + ], + [ + "add", + 165, + 365, + -1, + 2, + [] + ], + [ + "add", + 165, + 366, + 1, + 4, + [] + ], + [ + "add", + 165, + 370, + -1, + 4, + [] + ], + [ + "add", + 165, + 372, + 1, + 4, + [] + ], + [ + "add", + 165, + 375, + 1, + 4, + [] + ], + [ + "add", + 165, + 379, + 1, + 2, + [] + ], + [ + "add", + 165, + 381, + -1, + 2, + [] + ], + [ + "add", + 165, + 382, + 1, + 4, + [] + ], + [ + "add", + 165, + 386, + -1, + 4, + [] + ], + [ + "add", + 165, + 388, + 1, + 4, + [] + ], + [ + "add", + 165, + 391, + 1, + 4, + [] + ], + [ + "add", + 165, + 395, + 1, + 2, + [] + ], + [ + "add", + 165, + 397, + -1, + 2, + [] + ], + [ + "add", + 165, + 398, + 1, + 4, + [] + ], + [ + "add", + 165, + 400, + -1, + 2, + [] + ], + [ + "add", + 165, + 402, + 1, + 2, + [] + ], + [ + "add", + 165, + 403, + -1, + 2, + [] + ], + [ + "add", + 165, + 406, + 1, + 2, + [] + ], + [ + "add", + 165, + 409, + -1, + 2, + [] + ], + [ + "add", + 165, + 410, + -1, + 2, + [] + ], + [ + "add", + 165, + 411, + 1, + 2, + [] + ], + [ + "add", + 165, + 415, + 1, + 2, + [] + ], + [ + "add", + 165, + 432, + -1, + 2, + [] + ], + [ + "add", + 165, + 435, + -1, + 2, + [] + ], + [ + "add", + 165, + 437, + -1, + 2, + [] + ], + [ + "add", + 165, + 438, + -1, + 2, + [] + ], + [ + "add", + 165, + 442, + 1, + 2, + [] + ], + [ + "add", + 165, + 443, + -1, + 2, + [] + ], + [ + "add", + 165, + 446, + -1, + 2, + [] + ], + [ + "add", + 165, + 447, + 1, + 2, + [] + ], + [ + "add", + 165, + 478, + 1, + 2, + [] + ], + [ + "add", + 165, + 479, + -1, + 2, + [] + ], + [ + "add", + 165, + 490, + 1, + 2, + [] + ], + [ + "add", + 165, + 491, + -1, + 2, + [] + ], + [ + "add", + 165, + 499, + 1, + 4, + [] + ], + [ + "add", + 165, + 502, + 1, + 2, + [] + ], + [ + "add", + 165, + 503, + -1, + 2, + [] + ], + [ + "add", + 165, + 511, + 1, + 4, + [] + ], + [ + "add", + 165, + 514, + 1, + 2, + [] + ], + [ + "add", + 165, + 515, + -1, + 2, + [] + ], + [ + "add", + 154, + 224, + -1, + 2, + [] + ], + [ + "add", + 154, + 225, + 1, + 2, + [] + ], + [ + "add", + 154, + 227, + -1, + 2, + [] + ], + [ + "add", + 154, + 229, + 1, + 2, + [] + ], + [ + "add", + 154, + 235, + -1, + 2, + [] + ], + [ + "add", + 154, + 237, + 1, + 2, + [] + ], + [ + "add", + 154, + 238, + 1, + 2, + [] + ], + [ + "add", + 154, + 239, + -1, + 2, + [] + ], + [ + "add", + 154, + 274, + 1, + 4, + [] + ], + [ + "add", + 154, + 276, + -1, + 4, + [] + ], + [ + "add", + 154, + 279, + -1, + 4, + [] + ], + [ + "add", + 154, + 283, + 1, + 2, + [] + ], + [ + "add", + 154, + 285, + -1, + 2, + [] + ], + [ + "add", + 154, + 286, + -1, + 4, + [] + ], + [ + "add", + 154, + 290, + 1, + 4, + [] + ], + [ + "add", + 154, + 292, + -1, + 4, + [] + ], + [ + "add", + 154, + 295, + -1, + 4, + [] + ], + [ + "add", + 154, + 299, + 1, + 2, + [] + ], + [ + "add", + 154, + 301, + -1, + 2, + [] + ], + [ + "add", + 154, + 302, + -1, + 4, + [] + ], + [ + "add", + 154, + 306, + -1, + 4, + [] + ], + [ + "add", + 154, + 308, + 1, + 4, + [] + ], + [ + "add", + 154, + 315, + -1, + 2, + [] + ], + [ + "add", + 154, + 317, + 1, + 2, + [] + ], + [ + "add", + 154, + 318, + 1, + 4, + [] + ], + [ + "add", + 154, + 322, + -1, + 4, + [] + ], + [ + "add", + 154, + 324, + 1, + 4, + [] + ], + [ + "add", + 154, + 331, + -1, + 2, + [] + ], + [ + "add", + 154, + 333, + 1, + 2, + [] + ], + [ + "add", + 154, + 334, + 1, + 4, + [] + ], + [ + "add", + 154, + 338, + 1, + 4, + [] + ], + [ + "add", + 154, + 340, + -1, + 4, + [] + ], + [ + "add", + 154, + 343, + -1, + 4, + [] + ], + [ + "add", + 154, + 347, + 1, + 2, + [] + ], + [ + "add", + 154, + 349, + -1, + 2, + [] + ], + [ + "add", + 154, + 350, + -1, + 4, + [] + ], + [ + "add", + 154, + 354, + 1, + 4, + [] + ], + [ + "add", + 154, + 356, + -1, + 4, + [] + ], + [ + "add", + 154, + 359, + -1, + 4, + [] + ], + [ + "add", + 154, + 363, + 1, + 2, + [] + ], + [ + "add", + 154, + 365, + -1, + 2, + [] + ], + [ + "add", + 154, + 366, + -1, + 4, + [] + ], + [ + "add", + 154, + 370, + -1, + 4, + [] + ], + [ + "add", + 154, + 372, + 1, + 4, + [] + ], + [ + "add", + 154, + 375, + 1, + 4, + [] + ], + [ + "add", + 154, + 379, + -1, + 2, + [] + ], + [ + "add", + 154, + 381, + 1, + 2, + [] + ], + [ + "add", + 154, + 382, + 1, + 4, + [] + ], + [ + "add", + 154, + 386, + -1, + 4, + [] + ], + [ + "add", + 154, + 388, + 1, + 4, + [] + ], + [ + "add", + 154, + 391, + 1, + 4, + [] + ], + [ + "add", + 154, + 395, + -1, + 2, + [] + ], + [ + "add", + 154, + 397, + 1, + 2, + [] + ], + [ + "add", + 154, + 398, + 1, + 4, + [] + ], + [ + "add", + 154, + 401, + -1, + 2, + [] + ], + [ + "add", + 154, + 402, + 1, + 2, + [] + ], + [ + "add", + 154, + 403, + -1, + 2, + [] + ], + [ + "add", + 154, + 409, + -1, + 2, + [] + ], + [ + "add", + 154, + 411, + -1, + 2, + [] + ], + [ + "add", + 154, + 413, + -1, + 2, + [] + ], + [ + "add", + 154, + 415, + -1, + 2, + [] + ], + [ + "add", + 154, + 417, + -1, + 2, + [] + ], + [ + "add", + 154, + 418, + 1, + 2, + [] + ], + [ + "add", + 154, + 419, + -1, + 2, + [] + ], + [ + "add", + 154, + 425, + -1, + 2, + [] + ], + [ + "add", + 154, + 427, + -1, + 2, + [] + ], + [ + "add", + 154, + 429, + -1, + 2, + [] + ], + [ + "add", + 154, + 431, + -1, + 2, + [] + ], + [ + "add", + 154, + 478, + -1, + 2, + [] + ], + [ + "add", + 154, + 479, + -1, + 2, + [] + ], + [ + "add", + 154, + 490, + -1, + 2, + [] + ], + [ + "add", + 154, + 491, + -1, + 2, + [] + ], + [ + "add", + 154, + 499, + 1, + 4, + [] + ], + [ + "add", + 154, + 502, + 1, + 2, + [] + ], + [ + "add", + 154, + 503, + 1, + 2, + [] + ], + [ + "add", + 154, + 511, + 1, + 4, + [] + ], + [ + "add", + 154, + 514, + 1, + 2, + [] + ], + [ + "add", + 154, + 515, + 1, + 2, + [] + ], + [ + "add", + 217, + 241, + 1, + 2, + [] + ], + [ + "add", + 217, + 242, + -1, + 2, + [] + ], + [ + "add", + 217, + 243, + -1, + 2, + [] + ], + [ + "add", + 217, + 245, + 1, + 2, + [] + ], + [ + "add", + 217, + 251, + -1, + 2, + [] + ], + [ + "add", + 217, + 253, + 1, + 2, + [] + ], + [ + "add", + 217, + 254, + 1, + 2, + [] + ], + [ + "add", + 217, + 255, + -1, + 2, + [] + ], + [ + "add", + 217, + 274, + -1, + 4, + [] + ], + [ + "add", + 217, + 276, + 1, + 4, + [] + ], + [ + "add", + 217, + 279, + 1, + 4, + [] + ], + [ + "add", + 217, + 283, + 1, + 2, + [] + ], + [ + "add", + 217, + 285, + -1, + 2, + [] + ], + [ + "add", + 217, + 286, + 1, + 4, + [] + ], + [ + "add", + 217, + 290, + 1, + 4, + [] + ], + [ + "add", + 217, + 292, + -1, + 4, + [] + ], + [ + "add", + 217, + 295, + -1, + 4, + [] + ], + [ + "add", + 217, + 299, + -1, + 2, + [] + ], + [ + "add", + 217, + 301, + 1, + 2, + [] + ], + [ + "add", + 217, + 302, + -1, + 4, + [] + ], + [ + "add", + 217, + 306, + -1, + 4, + [] + ], + [ + "add", + 217, + 308, + 1, + 4, + [] + ], + [ + "add", + 217, + 315, + 1, + 2, + [] + ], + [ + "add", + 217, + 317, + -1, + 2, + [] + ], + [ + "add", + 217, + 318, + 1, + 4, + [] + ], + [ + "add", + 217, + 322, + 1, + 4, + [] + ], + [ + "add", + 217, + 324, + -1, + 4, + [] + ], + [ + "add", + 217, + 331, + -1, + 2, + [] + ], + [ + "add", + 217, + 333, + 1, + 2, + [] + ], + [ + "add", + 217, + 334, + -1, + 4, + [] + ], + [ + "add", + 217, + 338, + -1, + 4, + [] + ], + [ + "add", + 217, + 340, + 1, + 4, + [] + ], + [ + "add", + 217, + 343, + 1, + 4, + [] + ], + [ + "add", + 217, + 347, + 1, + 2, + [] + ], + [ + "add", + 217, + 349, + -1, + 2, + [] + ], + [ + "add", + 217, + 350, + 1, + 4, + [] + ], + [ + "add", + 217, + 354, + 1, + 4, + [] + ], + [ + "add", + 217, + 356, + -1, + 4, + [] + ], + [ + "add", + 217, + 359, + -1, + 4, + [] + ], + [ + "add", + 217, + 363, + -1, + 2, + [] + ], + [ + "add", + 217, + 365, + 1, + 2, + [] + ], + [ + "add", + 217, + 366, + -1, + 4, + [] + ], + [ + "add", + 217, + 370, + -1, + 4, + [] + ], + [ + "add", + 217, + 372, + 1, + 4, + [] + ], + [ + "add", + 217, + 375, + 1, + 4, + [] + ], + [ + "add", + 217, + 379, + 1, + 2, + [] + ], + [ + "add", + 217, + 381, + -1, + 2, + [] + ], + [ + "add", + 217, + 382, + 1, + 4, + [] + ], + [ + "add", + 217, + 386, + 1, + 4, + [] + ], + [ + "add", + 217, + 388, + -1, + 4, + [] + ], + [ + "add", + 217, + 391, + -1, + 4, + [] + ], + [ + "add", + 217, + 395, + -1, + 2, + [] + ], + [ + "add", + 217, + 397, + 1, + 2, + [] + ], + [ + "add", + 217, + 398, + -1, + 4, + [] + ], + [ + "add", + 217, + 401, + 1, + 2, + [] + ], + [ + "add", + 217, + 403, + -1, + 2, + [] + ], + [ + "add", + 217, + 405, + 1, + 2, + [] + ], + [ + "add", + 217, + 411, + -1, + 2, + [] + ], + [ + "add", + 217, + 413, + 1, + 2, + [] + ], + [ + "add", + 217, + 414, + 1, + 2, + [] + ], + [ + "add", + 217, + 415, + -1, + 2, + [] + ], + [ + "add", + 217, + 432, + 1, + 2, + [] + ], + [ + "add", + 217, + 433, + -1, + 2, + [] + ], + [ + "add", + 217, + 434, + 1, + 2, + [] + ], + [ + "add", + 217, + 435, + -1, + 2, + [] + ], + [ + "add", + 217, + 441, + -1, + 2, + [] + ], + [ + "add", + 217, + 443, + -1, + 2, + [] + ], + [ + "add", + 217, + 445, + -1, + 2, + [] + ], + [ + "add", + 217, + 447, + -1, + 2, + [] + ], + [ + "add", + 217, + 478, + 1, + 2, + [] + ], + [ + "add", + 217, + 479, + -1, + 2, + [] + ], + [ + "add", + 217, + 490, + -1, + 2, + [] + ], + [ + "add", + 217, + 491, + 1, + 2, + [] + ], + [ + "add", + 217, + 499, + 1, + 4, + [] + ], + [ + "add", + 217, + 502, + 1, + 2, + [] + ], + [ + "add", + 217, + 503, + -1, + 2, + [] + ], + [ + "add", + 217, + 511, + -1, + 4, + [] + ], + [ + "add", + 217, + 514, + -1, + 2, + [] + ], + [ + "add", + 217, + 515, + 1, + 2, + [] + ], + [ + "add", + 180, + 238, + -1, + 1, + [] + ], + [ + "add", + 180, + 239, + 1, + 1, + [] + ], + [ + "add", + 180, + 241, + 1, + 4, + [] + ], + [ + "add", + 180, + 246, + -1, + 4, + [] + ], + [ + "add", + 180, + 247, + 1, + 4, + [] + ], + [ + "add", + 180, + 250, + 1, + 4, + [] + ], + [ + "add", + 180, + 251, + -1, + 4, + [] + ], + [ + "add", + 180, + 252, + -1, + 4, + [] + ], + [ + "add", + 180, + 253, + 1, + 4, + [] + ], + [ + "add", + 180, + 254, + -1, + 2, + [] + ], + [ + "add", + 180, + 255, + 1, + 2, + [] + ], + [ + "add", + 180, + 257, + 1, + 4, + [] + ], + [ + "add", + 180, + 262, + -1, + 4, + [] + ], + [ + "add", + 180, + 263, + 1, + 4, + [] + ], + [ + "add", + 180, + 266, + 1, + 4, + [] + ], + [ + "add", + 180, + 267, + -1, + 4, + [] + ], + [ + "add", + 180, + 268, + -1, + 4, + [] + ], + [ + "add", + 180, + 269, + 1, + 4, + [] + ], + [ + "add", + 180, + 270, + -1, + 2, + [] + ], + [ + "add", + 180, + 271, + 1, + 2, + [] + ], + [ + "add", + 180, + 310, + 1, + 4, + [] + ], + [ + "add", + 180, + 315, + 1, + 4, + [] + ], + [ + "add", + 180, + 316, + -1, + 4, + [] + ], + [ + "add", + 180, + 318, + -1, + 2, + [] + ], + [ + "add", + 180, + 319, + 1, + 2, + [] + ], + [ + "add", + 180, + 322, + 1, + 4, + [] + ], + [ + "add", + 180, + 324, + -1, + 4, + [] + ], + [ + "add", + 180, + 331, + 1, + 2, + [] + ], + [ + "add", + 180, + 333, + -1, + 2, + [] + ], + [ + "add", + 180, + 334, + -1, + 4, + [] + ], + [ + "add", + 180, + 338, + 1, + 4, + [] + ], + [ + "add", + 180, + 340, + -1, + 4, + [] + ], + [ + "add", + 180, + 343, + 1, + 4, + [] + ], + [ + "add", + 180, + 345, + 1, + 2, + [] + ], + [ + "add", + 180, + 347, + -1, + 2, + [] + ], + [ + "add", + 180, + 350, + -1, + 4, + [] + ], + [ + "add", + 180, + 351, + 1, + 2, + [] + ], + [ + "add", + 180, + 358, + 1, + 4, + [] + ], + [ + "add", + 180, + 360, + 1, + 2, + [] + ], + [ + "add", + 180, + 363, + -1, + 4, + [] + ], + [ + "add", + 180, + 364, + 1, + 4, + [] + ], + [ + "add", + 180, + 367, + 1, + 2, + [] + ], + [ + "add", + 180, + 368, + -1, + 2, + [] + ], + [ + "add", + 180, + 372, + -1, + 2, + [] + ], + [ + "add", + 180, + 382, + -1, + 2, + [] + ], + [ + "add", + 180, + 383, + 1, + 2, + [] + ], + [ + "add", + 180, + 384, + -1, + 2, + [] + ], + [ + "add", + 180, + 388, + -1, + 2, + [] + ], + [ + "add", + 180, + 398, + -1, + 2, + [] + ], + [ + "add", + 180, + 399, + 1, + 2, + [] + ], + [ + "add", + 180, + 401, + 1, + 4, + [] + ], + [ + "add", + 180, + 406, + -1, + 4, + [] + ], + [ + "add", + 180, + 407, + 1, + 4, + [] + ], + [ + "add", + 180, + 410, + 1, + 4, + [] + ], + [ + "add", + 180, + 411, + -1, + 4, + [] + ], + [ + "add", + 180, + 412, + -1, + 4, + [] + ], + [ + "add", + 180, + 413, + 1, + 4, + [] + ], + [ + "add", + 180, + 414, + -1, + 2, + [] + ], + [ + "add", + 180, + 415, + 1, + 2, + [] + ], + [ + "add", + 180, + 417, + 1, + 4, + [] + ], + [ + "add", + 180, + 422, + -1, + 4, + [] + ], + [ + "add", + 180, + 423, + 1, + 4, + [] + ], + [ + "add", + 180, + 426, + 1, + 4, + [] + ], + [ + "add", + 180, + 427, + -1, + 4, + [] + ], + [ + "add", + 180, + 428, + -1, + 4, + [] + ], + [ + "add", + 180, + 429, + 1, + 4, + [] + ], + [ + "add", + 180, + 430, + -1, + 2, + [] + ], + [ + "add", + 180, + 431, + 1, + 2, + [] + ], + [ + "add", + 180, + 462, + -1, + 2, + [] + ], + [ + "add", + 180, + 463, + -1, + 2, + [] + ], + [ + "add", + 180, + 470, + -1, + 2, + [] + ], + [ + "add", + 180, + 471, + -1, + 2, + [] + ], + [ + "add", + 180, + 511, + -1, + 4, + [] + ], + [ + "add", + 117, + 238, + -1, + 1, + [] + ], + [ + "add", + 117, + 239, + 1, + 1, + [] + ], + [ + "add", + 117, + 241, + 1, + 4, + [] + ], + [ + "add", + 117, + 246, + -1, + 4, + [] + ], + [ + "add", + 117, + 247, + 1, + 4, + [] + ], + [ + "add", + 117, + 250, + 1, + 4, + [] + ], + [ + "add", + 117, + 251, + -1, + 4, + [] + ], + [ + "add", + 117, + 252, + -1, + 4, + [] + ], + [ + "add", + 117, + 253, + 1, + 4, + [] + ], + [ + "add", + 117, + 254, + -1, + 2, + [] + ], + [ + "add", + 117, + 255, + 1, + 2, + [] + ], + [ + "add", + 117, + 257, + 1, + 4, + [] + ], + [ + "add", + 117, + 262, + -1, + 4, + [] + ], + [ + "add", + 117, + 263, + 1, + 4, + [] + ], + [ + "add", + 117, + 266, + 1, + 4, + [] + ], + [ + "add", + 117, + 267, + -1, + 4, + [] + ], + [ + "add", + 117, + 268, + -1, + 4, + [] + ], + [ + "add", + 117, + 269, + 1, + 4, + [] + ], + [ + "add", + 117, + 270, + -1, + 2, + [] + ], + [ + "add", + 117, + 271, + 1, + 2, + [] + ], + [ + "add", + 117, + 310, + 1, + 4, + [] + ], + [ + "add", + 117, + 315, + 1, + 4, + [] + ], + [ + "add", + 117, + 316, + -1, + 4, + [] + ], + [ + "add", + 117, + 318, + -1, + 2, + [] + ], + [ + "add", + 117, + 319, + 1, + 2, + [] + ], + [ + "add", + 117, + 322, + 1, + 4, + [] + ], + [ + "add", + 117, + 324, + -1, + 4, + [] + ], + [ + "add", + 117, + 331, + 1, + 2, + [] + ], + [ + "add", + 117, + 333, + -1, + 2, + [] + ], + [ + "add", + 117, + 334, + -1, + 4, + [] + ], + [ + "add", + 117, + 338, + 1, + 4, + [] + ], + [ + "add", + 117, + 340, + -1, + 4, + [] + ], + [ + "add", + 117, + 343, + 1, + 4, + [] + ], + [ + "add", + 117, + 345, + 1, + 2, + [] + ], + [ + "add", + 117, + 347, + -1, + 2, + [] + ], + [ + "add", + 117, + 350, + -1, + 4, + [] + ], + [ + "add", + 117, + 351, + 1, + 2, + [] + ], + [ + "add", + 117, + 358, + 1, + 4, + [] + ], + [ + "add", + 117, + 360, + 1, + 2, + [] + ], + [ + "add", + 117, + 363, + -1, + 4, + [] + ], + [ + "add", + 117, + 364, + 1, + 4, + [] + ], + [ + "add", + 117, + 367, + 1, + 2, + [] + ], + [ + "add", + 117, + 368, + -1, + 2, + [] + ], + [ + "add", + 117, + 372, + -1, + 2, + [] + ], + [ + "add", + 117, + 382, + -1, + 2, + [] + ], + [ + "add", + 117, + 383, + 1, + 2, + [] + ], + [ + "add", + 117, + 384, + -1, + 2, + [] + ], + [ + "add", + 117, + 388, + -1, + 2, + [] + ], + [ + "add", + 117, + 398, + -1, + 2, + [] + ], + [ + "add", + 117, + 399, + 1, + 2, + [] + ], + [ + "add", + 117, + 401, + 1, + 4, + [] + ], + [ + "add", + 117, + 406, + -1, + 4, + [] + ], + [ + "add", + 117, + 407, + 1, + 4, + [] + ], + [ + "add", + 117, + 410, + 1, + 4, + [] + ], + [ + "add", + 117, + 411, + -1, + 4, + [] + ], + [ + "add", + 117, + 412, + -1, + 4, + [] + ], + [ + "add", + 117, + 413, + 1, + 4, + [] + ], + [ + "add", + 117, + 414, + -1, + 2, + [] + ], + [ + "add", + 117, + 415, + 1, + 2, + [] + ], + [ + "add", + 117, + 417, + 1, + 4, + [] + ], + [ + "add", + 117, + 422, + -1, + 4, + [] + ], + [ + "add", + 117, + 423, + 1, + 4, + [] + ], + [ + "add", + 117, + 426, + 1, + 4, + [] + ], + [ + "add", + 117, + 427, + -1, + 4, + [] + ], + [ + "add", + 117, + 428, + -1, + 4, + [] + ], + [ + "add", + 117, + 429, + 1, + 4, + [] + ], + [ + "add", + 117, + 430, + -1, + 2, + [] + ], + [ + "add", + 117, + 431, + 1, + 2, + [] + ], + [ + "add", + 117, + 462, + -1, + 2, + [] + ], + [ + "add", + 117, + 463, + -1, + 2, + [] + ], + [ + "add", + 117, + 470, + -1, + 2, + [] + ], + [ + "add", + 117, + 471, + -1, + 2, + [] + ], + [ + "add", + 117, + 511, + -1, + 4, + [] + ], + [ + "add", + 181, + 241, + -1, + 4, + [] + ], + [ + "add", + 181, + 246, + 1, + 4, + [] + ], + [ + "add", + 181, + 247, + -1, + 4, + [] + ], + [ + "add", + 181, + 250, + -1, + 4, + [] + ], + [ + "add", + 181, + 251, + 1, + 4, + [] + ], + [ + "add", + 181, + 252, + 1, + 4, + [] + ], + [ + "add", + 181, + 253, + -1, + 4, + [] + ], + [ + "add", + 181, + 254, + -1, + 2, + [] + ], + [ + "add", + 181, + 255, + 1, + 2, + [] + ], + [ + "add", + 181, + 257, + 1, + 4, + [] + ], + [ + "add", + 181, + 262, + -1, + 4, + [] + ], + [ + "add", + 181, + 263, + 1, + 4, + [] + ], + [ + "add", + 181, + 266, + 1, + 4, + [] + ], + [ + "add", + 181, + 267, + -1, + 4, + [] + ], + [ + "add", + 181, + 268, + -1, + 4, + [] + ], + [ + "add", + 181, + 269, + 1, + 4, + [] + ], + [ + "add", + 181, + 270, + 1, + 2, + [] + ], + [ + "add", + 181, + 271, + -1, + 2, + [] + ], + [ + "add", + 181, + 288, + -1, + 2, + [] + ], + [ + "add", + 181, + 292, + 1, + 2, + [] + ], + [ + "add", + 181, + 296, + 1, + 2, + [] + ], + [ + "add", + 181, + 302, + 1, + 2, + [] + ], + [ + "add", + 181, + 310, + 1, + 4, + [] + ], + [ + "add", + 181, + 315, + 1, + 4, + [] + ], + [ + "add", + 181, + 316, + -1, + 4, + [] + ], + [ + "add", + 181, + 318, + 1, + 2, + [] + ], + [ + "add", + 181, + 319, + -1, + 2, + [] + ], + [ + "add", + 181, + 322, + -1, + 4, + [] + ], + [ + "add", + 181, + 324, + 1, + 4, + [] + ], + [ + "add", + 181, + 331, + 1, + 2, + [] + ], + [ + "add", + 181, + 333, + -1, + 2, + [] + ], + [ + "add", + 181, + 334, + 1, + 4, + [] + ], + [ + "add", + 181, + 338, + -1, + 4, + [] + ], + [ + "add", + 181, + 340, + 1, + 4, + [] + ], + [ + "add", + 181, + 343, + -1, + 4, + [] + ], + [ + "add", + 181, + 345, + 1, + 2, + [] + ], + [ + "add", + 181, + 347, + -1, + 2, + [] + ], + [ + "add", + 181, + 350, + 1, + 4, + [] + ], + [ + "add", + 181, + 351, + -1, + 2, + [] + ], + [ + "add", + 181, + 358, + -1, + 4, + [] + ], + [ + "add", + 181, + 360, + 1, + 2, + [] + ], + [ + "add", + 181, + 363, + 1, + 4, + [] + ], + [ + "add", + 181, + 364, + -1, + 4, + [] + ], + [ + "add", + 181, + 367, + 1, + 2, + [] + ], + [ + "add", + 181, + 384, + -1, + 2, + [] + ], + [ + "add", + 181, + 388, + 1, + 2, + [] + ], + [ + "add", + 181, + 398, + 1, + 2, + [] + ], + [ + "add", + 181, + 399, + -1, + 2, + [] + ], + [ + "add", + 181, + 401, + -1, + 4, + [] + ], + [ + "add", + 181, + 406, + 1, + 4, + [] + ], + [ + "add", + 181, + 407, + -1, + 4, + [] + ], + [ + "add", + 181, + 410, + -1, + 4, + [] + ], + [ + "add", + 181, + 411, + 1, + 4, + [] + ], + [ + "add", + 181, + 412, + 1, + 4, + [] + ], + [ + "add", + 181, + 413, + -1, + 4, + [] + ], + [ + "add", + 181, + 414, + -1, + 2, + [] + ], + [ + "add", + 181, + 415, + 1, + 2, + [] + ], + [ + "add", + 181, + 417, + 1, + 4, + [] + ], + [ + "add", + 181, + 422, + -1, + 4, + [] + ], + [ + "add", + 181, + 423, + 1, + 4, + [] + ], + [ + "add", + 181, + 426, + 1, + 4, + [] + ], + [ + "add", + 181, + 427, + -1, + 4, + [] + ], + [ + "add", + 181, + 428, + -1, + 4, + [] + ], + [ + "add", + 181, + 429, + 1, + 4, + [] + ], + [ + "add", + 181, + 430, + 1, + 2, + [] + ], + [ + "add", + 181, + 431, + -1, + 2, + [] + ], + [ + "add", + 181, + 432, + -1, + 2, + [] + ], + [ + "add", + 181, + 433, + 1, + 2, + [] + ], + [ + "add", + 181, + 438, + -1, + 2, + [] + ], + [ + "add", + 181, + 439, + 1, + 2, + [] + ], + [ + "add", + 181, + 442, + 1, + 2, + [] + ], + [ + "add", + 181, + 443, + -1, + 2, + [] + ], + [ + "add", + 181, + 444, + -1, + 2, + [] + ], + [ + "add", + 181, + 445, + 1, + 2, + [] + ], + [ + "add", + 181, + 462, + 1, + 2, + [] + ], + [ + "add", + 181, + 463, + -1, + 2, + [] + ], + [ + "add", + 181, + 470, + -1, + 2, + [] + ], + [ + "add", + 181, + 471, + 1, + 2, + [] + ], + [ + "add", + 181, + 511, + 1, + 4, + [] + ], + [ + "add", + 116, + 241, + -1, + 4, + [] + ], + [ + "add", + 116, + 246, + 1, + 4, + [] + ], + [ + "add", + 116, + 247, + -1, + 4, + [] + ], + [ + "add", + 116, + 250, + -1, + 4, + [] + ], + [ + "add", + 116, + 251, + 1, + 4, + [] + ], + [ + "add", + 116, + 252, + 1, + 4, + [] + ], + [ + "add", + 116, + 253, + -1, + 4, + [] + ], + [ + "add", + 116, + 254, + -1, + 2, + [] + ], + [ + "add", + 116, + 255, + 1, + 2, + [] + ], + [ + "add", + 116, + 257, + -1, + 4, + [] + ], + [ + "add", + 116, + 262, + 1, + 4, + [] + ], + [ + "add", + 116, + 263, + -1, + 4, + [] + ], + [ + "add", + 116, + 266, + -1, + 4, + [] + ], + [ + "add", + 116, + 267, + 1, + 4, + [] + ], + [ + "add", + 116, + 268, + 1, + 4, + [] + ], + [ + "add", + 116, + 269, + -1, + 4, + [] + ], + [ + "add", + 116, + 270, + -1, + 2, + [] + ], + [ + "add", + 116, + 271, + 1, + 2, + [] + ], + [ + "add", + 116, + 303, + 1, + 1, + [] + ], + [ + "add", + 116, + 310, + -1, + 4, + [] + ], + [ + "add", + 116, + 315, + -1, + 4, + [] + ], + [ + "add", + 116, + 316, + 1, + 4, + [] + ], + [ + "add", + 116, + 318, + -1, + 2, + [] + ], + [ + "add", + 116, + 319, + 1, + 2, + [] + ], + [ + "add", + 116, + 322, + -1, + 4, + [] + ], + [ + "add", + 116, + 324, + 1, + 4, + [] + ], + [ + "add", + 116, + 331, + 1, + 2, + [] + ], + [ + "add", + 116, + 333, + -1, + 2, + [] + ], + [ + "add", + 116, + 334, + 1, + 4, + [] + ], + [ + "add", + 116, + 338, + 1, + 4, + [] + ], + [ + "add", + 116, + 340, + -1, + 4, + [] + ], + [ + "add", + 116, + 343, + 1, + 4, + [] + ], + [ + "add", + 116, + 345, + -1, + 2, + [] + ], + [ + "add", + 116, + 347, + 1, + 2, + [] + ], + [ + "add", + 116, + 350, + -1, + 4, + [] + ], + [ + "add", + 116, + 351, + 1, + 2, + [] + ], + [ + "add", + 116, + 358, + -1, + 4, + [] + ], + [ + "add", + 116, + 360, + 1, + 2, + [] + ], + [ + "add", + 116, + 363, + 1, + 4, + [] + ], + [ + "add", + 116, + 364, + -1, + 4, + [] + ], + [ + "add", + 116, + 367, + 1, + 2, + [] + ], + [ + "add", + 116, + 399, + 1, + 1, + [] + ], + [ + "add", + 116, + 401, + -1, + 4, + [] + ], + [ + "add", + 116, + 406, + 1, + 4, + [] + ], + [ + "add", + 116, + 407, + -1, + 4, + [] + ], + [ + "add", + 116, + 410, + -1, + 4, + [] + ], + [ + "add", + 116, + 411, + 1, + 4, + [] + ], + [ + "add", + 116, + 412, + 1, + 4, + [] + ], + [ + "add", + 116, + 413, + -1, + 4, + [] + ], + [ + "add", + 116, + 414, + -1, + 2, + [] + ], + [ + "add", + 116, + 415, + 1, + 2, + [] + ], + [ + "add", + 116, + 417, + -1, + 4, + [] + ], + [ + "add", + 116, + 422, + 1, + 4, + [] + ], + [ + "add", + 116, + 423, + -1, + 4, + [] + ], + [ + "add", + 116, + 426, + -1, + 4, + [] + ], + [ + "add", + 116, + 427, + 1, + 4, + [] + ], + [ + "add", + 116, + 428, + 1, + 4, + [] + ], + [ + "add", + 116, + 429, + -1, + 4, + [] + ], + [ + "add", + 116, + 430, + -1, + 2, + [] + ], + [ + "add", + 116, + 431, + 1, + 2, + [] + ], + [ + "add", + 116, + 446, + -1, + 1, + [] + ], + [ + "add", + 116, + 447, + 1, + 1, + [] + ], + [ + "add", + 116, + 462, + 1, + 2, + [] + ], + [ + "add", + 116, + 463, + -1, + 2, + [] + ], + [ + "add", + 116, + 470, + 1, + 2, + [] + ], + [ + "add", + 116, + 471, + -1, + 2, + [] + ], + [ + "add", + 116, + 511, + 1, + 4, + [] + ], + [ + "add", + 208, + 224, + -1, + 2, + [] + ], + [ + "add", + 208, + 225, + 1, + 2, + [] + ], + [ + "add", + 208, + 230, + -1, + 2, + [] + ], + [ + "add", + 208, + 231, + 1, + 2, + [] + ], + [ + "add", + 208, + 234, + 1, + 2, + [] + ], + [ + "add", + 208, + 235, + -1, + 2, + [] + ], + [ + "add", + 208, + 236, + -1, + 2, + [] + ], + [ + "add", + 208, + 237, + 1, + 2, + [] + ], + [ + "add", + 208, + 241, + 1, + 4, + [] + ], + [ + "add", + 208, + 246, + -1, + 4, + [] + ], + [ + "add", + 208, + 247, + 1, + 4, + [] + ], + [ + "add", + 208, + 250, + 1, + 4, + [] + ], + [ + "add", + 208, + 251, + -1, + 4, + [] + ], + [ + "add", + 208, + 252, + -1, + 4, + [] + ], + [ + "add", + 208, + 253, + 1, + 4, + [] + ], + [ + "add", + 208, + 254, + -1, + 2, + [] + ], + [ + "add", + 208, + 255, + 1, + 2, + [] + ], + [ + "add", + 208, + 257, + 1, + 4, + [] + ], + [ + "add", + 208, + 262, + -1, + 4, + [] + ], + [ + "add", + 208, + 263, + 1, + 4, + [] + ], + [ + "add", + 208, + 266, + 1, + 4, + [] + ], + [ + "add", + 208, + 267, + -1, + 4, + [] + ], + [ + "add", + 208, + 268, + -1, + 4, + [] + ], + [ + "add", + 208, + 269, + 1, + 4, + [] + ], + [ + "add", + 208, + 270, + -1, + 2, + [] + ], + [ + "add", + 208, + 271, + 1, + 2, + [] + ], + [ + "add", + 208, + 310, + -1, + 4, + [] + ], + [ + "add", + 208, + 315, + -1, + 4, + [] + ], + [ + "add", + 208, + 316, + 1, + 4, + [] + ], + [ + "add", + 208, + 318, + 1, + 2, + [] + ], + [ + "add", + 208, + 319, + -1, + 2, + [] + ], + [ + "add", + 208, + 322, + -1, + 4, + [] + ], + [ + "add", + 208, + 324, + 1, + 4, + [] + ], + [ + "add", + 208, + 331, + -1, + 2, + [] + ], + [ + "add", + 208, + 333, + 1, + 2, + [] + ], + [ + "add", + 208, + 334, + 1, + 4, + [] + ], + [ + "add", + 208, + 338, + 1, + 4, + [] + ], + [ + "add", + 208, + 340, + -1, + 4, + [] + ], + [ + "add", + 208, + 343, + 1, + 4, + [] + ], + [ + "add", + 208, + 345, + 1, + 2, + [] + ], + [ + "add", + 208, + 347, + -1, + 2, + [] + ], + [ + "add", + 208, + 350, + -1, + 4, + [] + ], + [ + "add", + 208, + 351, + 1, + 2, + [] + ], + [ + "add", + 208, + 358, + 1, + 4, + [] + ], + [ + "add", + 208, + 360, + 1, + 2, + [] + ], + [ + "add", + 208, + 363, + -1, + 4, + [] + ], + [ + "add", + 208, + 364, + 1, + 4, + [] + ], + [ + "add", + 208, + 367, + 1, + 2, + [] + ], + [ + "add", + 208, + 379, + -1, + 1, + [] + ], + [ + "add", + 208, + 395, + -1, + 1, + [] + ], + [ + "add", + 208, + 401, + -1, + 4, + [] + ], + [ + "add", + 208, + 406, + 1, + 4, + [] + ], + [ + "add", + 208, + 407, + -1, + 4, + [] + ], + [ + "add", + 208, + 410, + -1, + 4, + [] + ], + [ + "add", + 208, + 411, + 1, + 4, + [] + ], + [ + "add", + 208, + 412, + 1, + 4, + [] + ], + [ + "add", + 208, + 413, + -1, + 4, + [] + ], + [ + "add", + 208, + 414, + 1, + 2, + [] + ], + [ + "add", + 208, + 415, + -1, + 2, + [] + ], + [ + "add", + 208, + 417, + -1, + 4, + [] + ], + [ + "add", + 208, + 422, + 1, + 4, + [] + ], + [ + "add", + 208, + 423, + -1, + 4, + [] + ], + [ + "add", + 208, + 426, + -1, + 4, + [] + ], + [ + "add", + 208, + 427, + 1, + 4, + [] + ], + [ + "add", + 208, + 428, + 1, + 4, + [] + ], + [ + "add", + 208, + 429, + -1, + 4, + [] + ], + [ + "add", + 208, + 430, + 1, + 2, + [] + ], + [ + "add", + 208, + 431, + -1, + 2, + [] + ], + [ + "add", + 208, + 462, + -1, + 2, + [] + ], + [ + "add", + 208, + 463, + -1, + 2, + [] + ], + [ + "add", + 208, + 470, + -1, + 2, + [] + ], + [ + "add", + 208, + 471, + -1, + 2, + [] + ], + [ + "add", + 208, + 511, + 1, + 4, + [] + ], + [ + "add", + 176, + 224, + -1, + 2, + [] + ], + [ + "add", + 176, + 225, + 1, + 2, + [] + ], + [ + "add", + 176, + 230, + -1, + 2, + [] + ], + [ + "add", + 176, + 231, + 1, + 2, + [] + ], + [ + "add", + 176, + 234, + 1, + 2, + [] + ], + [ + "add", + 176, + 235, + -1, + 2, + [] + ], + [ + "add", + 176, + 236, + -1, + 2, + [] + ], + [ + "add", + 176, + 237, + 1, + 2, + [] + ], + [ + "add", + 176, + 241, + 1, + 4, + [] + ], + [ + "add", + 176, + 246, + -1, + 4, + [] + ], + [ + "add", + 176, + 247, + 1, + 4, + [] + ], + [ + "add", + 176, + 250, + 1, + 4, + [] + ], + [ + "add", + 176, + 251, + -1, + 4, + [] + ], + [ + "add", + 176, + 252, + -1, + 4, + [] + ], + [ + "add", + 176, + 253, + 1, + 4, + [] + ], + [ + "add", + 176, + 254, + -1, + 2, + [] + ], + [ + "add", + 176, + 255, + 1, + 2, + [] + ], + [ + "add", + 176, + 257, + 1, + 4, + [] + ], + [ + "add", + 176, + 262, + -1, + 4, + [] + ], + [ + "add", + 176, + 263, + 1, + 4, + [] + ], + [ + "add", + 176, + 266, + 1, + 4, + [] + ], + [ + "add", + 176, + 267, + -1, + 4, + [] + ], + [ + "add", + 176, + 268, + -1, + 4, + [] + ], + [ + "add", + 176, + 269, + 1, + 4, + [] + ], + [ + "add", + 176, + 270, + -1, + 2, + [] + ], + [ + "add", + 176, + 271, + 1, + 2, + [] + ], + [ + "add", + 176, + 310, + -1, + 4, + [] + ], + [ + "add", + 176, + 315, + -1, + 4, + [] + ], + [ + "add", + 176, + 316, + 1, + 4, + [] + ], + [ + "add", + 176, + 318, + 1, + 2, + [] + ], + [ + "add", + 176, + 319, + -1, + 2, + [] + ], + [ + "add", + 176, + 322, + -1, + 4, + [] + ], + [ + "add", + 176, + 324, + 1, + 4, + [] + ], + [ + "add", + 176, + 331, + -1, + 2, + [] + ], + [ + "add", + 176, + 333, + 1, + 2, + [] + ], + [ + "add", + 176, + 334, + 1, + 4, + [] + ], + [ + "add", + 176, + 338, + 1, + 4, + [] + ], + [ + "add", + 176, + 340, + -1, + 4, + [] + ], + [ + "add", + 176, + 343, + 1, + 4, + [] + ], + [ + "add", + 176, + 345, + 1, + 2, + [] + ], + [ + "add", + 176, + 347, + -1, + 2, + [] + ], + [ + "add", + 176, + 350, + -1, + 4, + [] + ], + [ + "add", + 176, + 351, + 1, + 2, + [] + ], + [ + "add", + 176, + 358, + 1, + 4, + [] + ], + [ + "add", + 176, + 360, + 1, + 2, + [] + ], + [ + "add", + 176, + 363, + -1, + 4, + [] + ], + [ + "add", + 176, + 364, + 1, + 4, + [] + ], + [ + "add", + 176, + 367, + 1, + 2, + [] + ], + [ + "add", + 176, + 379, + -1, + 1, + [] + ], + [ + "add", + 176, + 395, + -1, + 1, + [] + ], + [ + "add", + 176, + 401, + -1, + 4, + [] + ], + [ + "add", + 176, + 406, + 1, + 4, + [] + ], + [ + "add", + 176, + 407, + -1, + 4, + [] + ], + [ + "add", + 176, + 410, + -1, + 4, + [] + ], + [ + "add", + 176, + 411, + 1, + 4, + [] + ], + [ + "add", + 176, + 412, + 1, + 4, + [] + ], + [ + "add", + 176, + 413, + -1, + 4, + [] + ], + [ + "add", + 176, + 414, + 1, + 2, + [] + ], + [ + "add", + 176, + 415, + -1, + 2, + [] + ], + [ + "add", + 176, + 417, + -1, + 4, + [] + ], + [ + "add", + 176, + 422, + 1, + 4, + [] + ], + [ + "add", + 176, + 423, + -1, + 4, + [] + ], + [ + "add", + 176, + 426, + -1, + 4, + [] + ], + [ + "add", + 176, + 427, + 1, + 4, + [] + ], + [ + "add", + 176, + 428, + 1, + 4, + [] + ], + [ + "add", + 176, + 429, + -1, + 4, + [] + ], + [ + "add", + 176, + 430, + 1, + 2, + [] + ], + [ + "add", + 176, + 431, + -1, + 2, + [] + ], + [ + "add", + 176, + 462, + -1, + 2, + [] + ], + [ + "add", + 176, + 463, + -1, + 2, + [] + ], + [ + "add", + 176, + 470, + -1, + 2, + [] + ], + [ + "add", + 176, + 471, + -1, + 2, + [] + ], + [ + "add", + 176, + 511, + 1, + 4, + [] + ], + [ + "add", + 209, + 241, + -1, + 4, + [] + ], + [ + "add", + 209, + 246, + 1, + 4, + [] + ], + [ + "add", + 209, + 247, + -1, + 4, + [] + ], + [ + "add", + 209, + 250, + -1, + 4, + [] + ], + [ + "add", + 209, + 251, + 1, + 4, + [] + ], + [ + "add", + 209, + 252, + 1, + 4, + [] + ], + [ + "add", + 209, + 253, + -1, + 4, + [] + ], + [ + "add", + 209, + 254, + -1, + 2, + [] + ], + [ + "add", + 209, + 255, + 1, + 2, + [] + ], + [ + "add", + 209, + 257, + 1, + 4, + [] + ], + [ + "add", + 209, + 262, + -1, + 4, + [] + ], + [ + "add", + 209, + 263, + 1, + 4, + [] + ], + [ + "add", + 209, + 266, + 1, + 4, + [] + ], + [ + "add", + 209, + 267, + -1, + 4, + [] + ], + [ + "add", + 209, + 268, + -1, + 4, + [] + ], + [ + "add", + 209, + 269, + 1, + 4, + [] + ], + [ + "add", + 209, + 270, + 1, + 2, + [] + ], + [ + "add", + 209, + 271, + -1, + 2, + [] + ], + [ + "add", + 209, + 288, + -1, + 2, + [] + ], + [ + "add", + 209, + 292, + 1, + 2, + [] + ], + [ + "add", + 209, + 296, + 1, + 2, + [] + ], + [ + "add", + 209, + 302, + 1, + 2, + [] + ], + [ + "add", + 209, + 310, + 1, + 4, + [] + ], + [ + "add", + 209, + 315, + 1, + 4, + [] + ], + [ + "add", + 209, + 316, + -1, + 4, + [] + ], + [ + "add", + 209, + 318, + 1, + 2, + [] + ], + [ + "add", + 209, + 319, + -1, + 2, + [] + ], + [ + "add", + 209, + 322, + -1, + 4, + [] + ], + [ + "add", + 209, + 324, + 1, + 4, + [] + ], + [ + "add", + 209, + 331, + 1, + 2, + [] + ], + [ + "add", + 209, + 333, + -1, + 2, + [] + ], + [ + "add", + 209, + 334, + 1, + 4, + [] + ], + [ + "add", + 209, + 338, + -1, + 4, + [] + ], + [ + "add", + 209, + 340, + 1, + 4, + [] + ], + [ + "add", + 209, + 343, + -1, + 4, + [] + ], + [ + "add", + 209, + 345, + 1, + 2, + [] + ], + [ + "add", + 209, + 347, + -1, + 2, + [] + ], + [ + "add", + 209, + 350, + 1, + 4, + [] + ], + [ + "add", + 209, + 351, + -1, + 2, + [] + ], + [ + "add", + 209, + 358, + -1, + 4, + [] + ], + [ + "add", + 209, + 360, + 1, + 2, + [] + ], + [ + "add", + 209, + 363, + 1, + 4, + [] + ], + [ + "add", + 209, + 364, + -1, + 4, + [] + ], + [ + "add", + 209, + 367, + 1, + 2, + [] + ], + [ + "add", + 209, + 384, + -1, + 2, + [] + ], + [ + "add", + 209, + 388, + 1, + 2, + [] + ], + [ + "add", + 209, + 398, + 1, + 2, + [] + ], + [ + "add", + 209, + 399, + -1, + 2, + [] + ], + [ + "add", + 209, + 401, + -1, + 4, + [] + ], + [ + "add", + 209, + 406, + 1, + 4, + [] + ], + [ + "add", + 209, + 407, + -1, + 4, + [] + ], + [ + "add", + 209, + 410, + -1, + 4, + [] + ], + [ + "add", + 209, + 411, + 1, + 4, + [] + ], + [ + "add", + 209, + 412, + 1, + 4, + [] + ], + [ + "add", + 209, + 413, + -1, + 4, + [] + ], + [ + "add", + 209, + 414, + -1, + 2, + [] + ], + [ + "add", + 209, + 415, + 1, + 2, + [] + ], + [ + "add", + 209, + 417, + 1, + 4, + [] + ], + [ + "add", + 209, + 422, + -1, + 4, + [] + ], + [ + "add", + 209, + 423, + 1, + 4, + [] + ], + [ + "add", + 209, + 426, + 1, + 4, + [] + ], + [ + "add", + 209, + 427, + -1, + 4, + [] + ], + [ + "add", + 209, + 428, + -1, + 4, + [] + ], + [ + "add", + 209, + 429, + 1, + 4, + [] + ], + [ + "add", + 209, + 430, + 1, + 2, + [] + ], + [ + "add", + 209, + 431, + -1, + 2, + [] + ], + [ + "add", + 209, + 432, + -1, + 2, + [] + ], + [ + "add", + 209, + 433, + 1, + 2, + [] + ], + [ + "add", + 209, + 438, + -1, + 2, + [] + ], + [ + "add", + 209, + 439, + 1, + 2, + [] + ], + [ + "add", + 209, + 442, + 1, + 2, + [] + ], + [ + "add", + 209, + 443, + -1, + 2, + [] + ], + [ + "add", + 209, + 444, + -1, + 2, + [] + ], + [ + "add", + 209, + 445, + 1, + 2, + [] + ], + [ + "add", + 209, + 462, + 1, + 2, + [] + ], + [ + "add", + 209, + 463, + -1, + 2, + [] + ], + [ + "add", + 209, + 470, + -1, + 2, + [] + ], + [ + "add", + 209, + 471, + 1, + 2, + [] + ], + [ + "add", + 209, + 511, + 1, + 4, + [] + ], + [ + "add", + 177, + 241, + -1, + 4, + [] + ], + [ + "add", + 177, + 246, + 1, + 4, + [] + ], + [ + "add", + 177, + 247, + -1, + 4, + [] + ], + [ + "add", + 177, + 250, + -1, + 4, + [] + ], + [ + "add", + 177, + 251, + 1, + 4, + [] + ], + [ + "add", + 177, + 252, + 1, + 4, + [] + ], + [ + "add", + 177, + 253, + -1, + 4, + [] + ], + [ + "add", + 177, + 254, + -1, + 2, + [] + ], + [ + "add", + 177, + 255, + 1, + 2, + [] + ], + [ + "add", + 177, + 257, + -1, + 4, + [] + ], + [ + "add", + 177, + 262, + 1, + 4, + [] + ], + [ + "add", + 177, + 263, + -1, + 4, + [] + ], + [ + "add", + 177, + 266, + -1, + 4, + [] + ], + [ + "add", + 177, + 267, + 1, + 4, + [] + ], + [ + "add", + 177, + 268, + 1, + 4, + [] + ], + [ + "add", + 177, + 269, + -1, + 4, + [] + ], + [ + "add", + 177, + 270, + -1, + 2, + [] + ], + [ + "add", + 177, + 271, + 1, + 2, + [] + ], + [ + "add", + 177, + 303, + 1, + 1, + [] + ], + [ + "add", + 177, + 310, + -1, + 4, + [] + ], + [ + "add", + 177, + 315, + -1, + 4, + [] + ], + [ + "add", + 177, + 316, + 1, + 4, + [] + ], + [ + "add", + 177, + 318, + -1, + 2, + [] + ], + [ + "add", + 177, + 319, + 1, + 2, + [] + ], + [ + "add", + 177, + 322, + -1, + 4, + [] + ], + [ + "add", + 177, + 324, + 1, + 4, + [] + ], + [ + "add", + 177, + 331, + 1, + 2, + [] + ], + [ + "add", + 177, + 333, + -1, + 2, + [] + ], + [ + "add", + 177, + 334, + 1, + 4, + [] + ], + [ + "add", + 177, + 338, + 1, + 4, + [] + ], + [ + "add", + 177, + 340, + -1, + 4, + [] + ], + [ + "add", + 177, + 343, + 1, + 4, + [] + ], + [ + "add", + 177, + 345, + -1, + 2, + [] + ], + [ + "add", + 177, + 347, + 1, + 2, + [] + ], + [ + "add", + 177, + 350, + -1, + 4, + [] + ], + [ + "add", + 177, + 351, + 1, + 2, + [] + ], + [ + "add", + 177, + 358, + -1, + 4, + [] + ], + [ + "add", + 177, + 360, + 1, + 2, + [] + ], + [ + "add", + 177, + 363, + 1, + 4, + [] + ], + [ + "add", + 177, + 364, + -1, + 4, + [] + ], + [ + "add", + 177, + 367, + 1, + 2, + [] + ], + [ + "add", + 177, + 399, + 1, + 1, + [] + ], + [ + "add", + 177, + 401, + -1, + 4, + [] + ], + [ + "add", + 177, + 406, + 1, + 4, + [] + ], + [ + "add", + 177, + 407, + -1, + 4, + [] + ], + [ + "add", + 177, + 410, + -1, + 4, + [] + ], + [ + "add", + 177, + 411, + 1, + 4, + [] + ], + [ + "add", + 177, + 412, + 1, + 4, + [] + ], + [ + "add", + 177, + 413, + -1, + 4, + [] + ], + [ + "add", + 177, + 414, + -1, + 2, + [] + ], + [ + "add", + 177, + 415, + 1, + 2, + [] + ], + [ + "add", + 177, + 417, + -1, + 4, + [] + ], + [ + "add", + 177, + 422, + 1, + 4, + [] + ], + [ + "add", + 177, + 423, + -1, + 4, + [] + ], + [ + "add", + 177, + 426, + -1, + 4, + [] + ], + [ + "add", + 177, + 427, + 1, + 4, + [] + ], + [ + "add", + 177, + 428, + 1, + 4, + [] + ], + [ + "add", + 177, + 429, + -1, + 4, + [] + ], + [ + "add", + 177, + 430, + -1, + 2, + [] + ], + [ + "add", + 177, + 431, + 1, + 2, + [] + ], + [ + "add", + 177, + 446, + -1, + 1, + [] + ], + [ + "add", + 177, + 447, + 1, + 1, + [] + ], + [ + "add", + 177, + 462, + 1, + 2, + [] + ], + [ + "add", + 177, + 463, + -1, + 2, + [] + ], + [ + "add", + 177, + 470, + 1, + 2, + [] + ], + [ + "add", + 177, + 471, + -1, + 2, + [] + ], + [ + "add", + 177, + 511, + 1, + 4, + [] + ], + [ + "add", + 161, + 226, + 1, + 2, + [] + ], + [ + "add", + 161, + 227, + -1, + 2, + [] + ], + [ + "add", + 161, + 228, + 1, + 2, + [] + ], + [ + "add", + 161, + 229, + -1, + 2, + [] + ], + [ + "add", + 161, + 232, + 1, + 2, + [] + ], + [ + "add", + 161, + 233, + -1, + 2, + [] + ], + [ + "add", + 161, + 238, + -1, + 2, + [] + ], + [ + "add", + 161, + 239, + 1, + 2, + [] + ], + [ + "add", + 161, + 243, + -1, + 4, + [] + ], + [ + "add", + 161, + 244, + 1, + 4, + [] + ], + [ + "add", + 161, + 245, + -1, + 4, + [] + ], + [ + "add", + 161, + 248, + 1, + 4, + [] + ], + [ + "add", + 161, + 249, + -1, + 4, + [] + ], + [ + "add", + 161, + 250, + 1, + 2, + [] + ], + [ + "add", + 161, + 251, + -1, + 2, + [] + ], + [ + "add", + 161, + 254, + -1, + 4, + [] + ], + [ + "add", + 161, + 255, + 1, + 4, + [] + ], + [ + "add", + 161, + 257, + -1, + 4, + [] + ], + [ + "add", + 161, + 259, + -1, + 2, + [] + ], + [ + "add", + 161, + 262, + -1, + 4, + [] + ], + [ + "add", + 161, + 263, + 1, + 4, + [] + ], + [ + "add", + 161, + 266, + 1, + 4, + [] + ], + [ + "add", + 161, + 267, + -1, + 4, + [] + ], + [ + "add", + 161, + 268, + 1, + 4, + [] + ], + [ + "add", + 161, + 269, + -1, + 4, + [] + ], + [ + "add", + 161, + 274, + 1, + 4, + [] + ], + [ + "add", + 161, + 276, + -1, + 4, + [] + ], + [ + "add", + 161, + 279, + 1, + 4, + [] + ], + [ + "add", + 161, + 281, + 1, + 2, + [] + ], + [ + "add", + 161, + 283, + -1, + 2, + [] + ], + [ + "add", + 161, + 286, + -1, + 4, + [] + ], + [ + "add", + 161, + 287, + 1, + 2, + [] + ], + [ + "add", + 161, + 294, + 1, + 4, + [] + ], + [ + "add", + 161, + 296, + 1, + 2, + [] + ], + [ + "add", + 161, + 299, + -1, + 4, + [] + ], + [ + "add", + 161, + 300, + 1, + 4, + [] + ], + [ + "add", + 161, + 303, + 1, + 2, + [] + ], + [ + "add", + 161, + 304, + -1, + 2, + [] + ], + [ + "add", + 161, + 308, + -1, + 2, + [] + ], + [ + "add", + 161, + 312, + 1, + 2, + [] + ], + [ + "add", + 161, + 318, + -1, + 2, + [] + ], + [ + "add", + 161, + 319, + 1, + 1, + [] + ], + [ + "add", + 161, + 320, + -1, + 2, + [] + ], + [ + "add", + 161, + 324, + -1, + 2, + [] + ], + [ + "add", + 161, + 334, + -1, + 2, + [] + ], + [ + "add", + 161, + 335, + 1, + 2, + [] + ], + [ + "add", + 161, + 374, + 1, + 4, + [] + ], + [ + "add", + 161, + 379, + 1, + 4, + [] + ], + [ + "add", + 161, + 380, + -1, + 4, + [] + ], + [ + "add", + 161, + 382, + -1, + 2, + [] + ], + [ + "add", + 161, + 383, + 1, + 2, + [] + ], + [ + "add", + 161, + 386, + 1, + 4, + [] + ], + [ + "add", + 161, + 388, + -1, + 4, + [] + ], + [ + "add", + 161, + 391, + -1, + 4, + [] + ], + [ + "add", + 161, + 395, + 1, + 2, + [] + ], + [ + "add", + 161, + 397, + -1, + 2, + [] + ], + [ + "add", + 161, + 398, + -1, + 4, + [] + ], + [ + "add", + 161, + 401, + 1, + 4, + [] + ], + [ + "add", + 161, + 406, + -1, + 4, + [] + ], + [ + "add", + 161, + 407, + 1, + 4, + [] + ], + [ + "add", + 161, + 410, + 1, + 4, + [] + ], + [ + "add", + 161, + 411, + -1, + 4, + [] + ], + [ + "add", + 161, + 412, + -1, + 4, + [] + ], + [ + "add", + 161, + 413, + 1, + 4, + [] + ], + [ + "add", + 161, + 414, + -1, + 2, + [] + ], + [ + "add", + 161, + 415, + 1, + 2, + [] + ], + [ + "add", + 161, + 417, + 1, + 2, + [] + ], + [ + "add", + 161, + 418, + -1, + 4, + [] + ], + [ + "add", + 161, + 419, + 1, + 4, + [] + ], + [ + "add", + 161, + 420, + 1, + 4, + [] + ], + [ + "add", + 161, + 421, + -1, + 4, + [] + ], + [ + "add", + 161, + 424, + -1, + 4, + [] + ], + [ + "add", + 161, + 425, + 1, + 4, + [] + ], + [ + "add", + 161, + 430, + -1, + 4, + [] + ], + [ + "add", + 161, + 431, + 1, + 4, + [] + ], + [ + "add", + 161, + 458, + 1, + 4, + [] + ], + [ + "add", + 161, + 459, + 1, + 4, + [] + ], + [ + "add", + 161, + 464, + 1, + 4, + [] + ], + [ + "add", + 161, + 465, + 1, + 4, + [] + ], + [ + "add", + 146, + 226, + 1, + 2, + [] + ], + [ + "add", + 146, + 227, + -1, + 2, + [] + ], + [ + "add", + 146, + 228, + 1, + 2, + [] + ], + [ + "add", + 146, + 229, + -1, + 2, + [] + ], + [ + "add", + 146, + 232, + 1, + 2, + [] + ], + [ + "add", + 146, + 233, + -1, + 2, + [] + ], + [ + "add", + 146, + 238, + -1, + 2, + [] + ], + [ + "add", + 146, + 239, + 1, + 2, + [] + ], + [ + "add", + 146, + 243, + -1, + 4, + [] + ], + [ + "add", + 146, + 244, + 1, + 4, + [] + ], + [ + "add", + 146, + 245, + -1, + 4, + [] + ], + [ + "add", + 146, + 248, + 1, + 4, + [] + ], + [ + "add", + 146, + 249, + -1, + 4, + [] + ], + [ + "add", + 146, + 250, + 1, + 2, + [] + ], + [ + "add", + 146, + 251, + -1, + 2, + [] + ], + [ + "add", + 146, + 254, + -1, + 4, + [] + ], + [ + "add", + 146, + 255, + 1, + 4, + [] + ], + [ + "add", + 146, + 257, + -1, + 4, + [] + ], + [ + "add", + 146, + 259, + -1, + 2, + [] + ], + [ + "add", + 146, + 262, + -1, + 4, + [] + ], + [ + "add", + 146, + 263, + 1, + 4, + [] + ], + [ + "add", + 146, + 266, + 1, + 4, + [] + ], + [ + "add", + 146, + 267, + -1, + 4, + [] + ], + [ + "add", + 146, + 268, + 1, + 4, + [] + ], + [ + "add", + 146, + 269, + -1, + 4, + [] + ], + [ + "add", + 146, + 274, + 1, + 4, + [] + ], + [ + "add", + 146, + 276, + -1, + 4, + [] + ], + [ + "add", + 146, + 279, + 1, + 4, + [] + ], + [ + "add", + 146, + 281, + 1, + 2, + [] + ], + [ + "add", + 146, + 283, + -1, + 2, + [] + ], + [ + "add", + 146, + 286, + -1, + 4, + [] + ], + [ + "add", + 146, + 287, + 1, + 2, + [] + ], + [ + "add", + 146, + 294, + 1, + 4, + [] + ], + [ + "add", + 146, + 296, + 1, + 2, + [] + ], + [ + "add", + 146, + 299, + -1, + 4, + [] + ], + [ + "add", + 146, + 300, + 1, + 4, + [] + ], + [ + "add", + 146, + 303, + 1, + 2, + [] + ], + [ + "add", + 146, + 304, + -1, + 2, + [] + ], + [ + "add", + 146, + 308, + -1, + 2, + [] + ], + [ + "add", + 146, + 312, + 1, + 2, + [] + ], + [ + "add", + 146, + 318, + -1, + 2, + [] + ], + [ + "add", + 146, + 319, + 1, + 1, + [] + ], + [ + "add", + 146, + 320, + -1, + 2, + [] + ], + [ + "add", + 146, + 324, + -1, + 2, + [] + ], + [ + "add", + 146, + 334, + -1, + 2, + [] + ], + [ + "add", + 146, + 335, + 1, + 2, + [] + ], + [ + "add", + 146, + 374, + 1, + 4, + [] + ], + [ + "add", + 146, + 379, + 1, + 4, + [] + ], + [ + "add", + 146, + 380, + -1, + 4, + [] + ], + [ + "add", + 146, + 382, + -1, + 2, + [] + ], + [ + "add", + 146, + 383, + 1, + 2, + [] + ], + [ + "add", + 146, + 386, + 1, + 4, + [] + ], + [ + "add", + 146, + 388, + -1, + 4, + [] + ], + [ + "add", + 146, + 391, + -1, + 4, + [] + ], + [ + "add", + 146, + 395, + 1, + 2, + [] + ], + [ + "add", + 146, + 397, + -1, + 2, + [] + ], + [ + "add", + 146, + 398, + -1, + 4, + [] + ], + [ + "add", + 146, + 401, + 1, + 4, + [] + ], + [ + "add", + 146, + 406, + -1, + 4, + [] + ], + [ + "add", + 146, + 407, + 1, + 4, + [] + ], + [ + "add", + 146, + 410, + 1, + 4, + [] + ], + [ + "add", + 146, + 411, + -1, + 4, + [] + ], + [ + "add", + 146, + 412, + -1, + 4, + [] + ], + [ + "add", + 146, + 413, + 1, + 4, + [] + ], + [ + "add", + 146, + 414, + -1, + 2, + [] + ], + [ + "add", + 146, + 415, + 1, + 2, + [] + ], + [ + "add", + 146, + 417, + 1, + 2, + [] + ], + [ + "add", + 146, + 418, + -1, + 4, + [] + ], + [ + "add", + 146, + 419, + 1, + 4, + [] + ], + [ + "add", + 146, + 420, + 1, + 4, + [] + ], + [ + "add", + 146, + 421, + -1, + 4, + [] + ], + [ + "add", + 146, + 424, + -1, + 4, + [] + ], + [ + "add", + 146, + 425, + 1, + 4, + [] + ], + [ + "add", + 146, + 430, + -1, + 4, + [] + ], + [ + "add", + 146, + 431, + 1, + 4, + [] + ], + [ + "add", + 146, + 458, + 1, + 4, + [] + ], + [ + "add", + 146, + 459, + 1, + 4, + [] + ], + [ + "add", + 146, + 464, + 1, + 4, + [] + ], + [ + "add", + 146, + 465, + 1, + 4, + [] + ], + [ + "add", + 162, + 243, + -1, + 4, + [] + ], + [ + "add", + 162, + 244, + 1, + 4, + [] + ], + [ + "add", + 162, + 245, + -1, + 4, + [] + ], + [ + "add", + 162, + 248, + 1, + 4, + [] + ], + [ + "add", + 162, + 249, + -1, + 4, + [] + ], + [ + "add", + 162, + 250, + -1, + 2, + [] + ], + [ + "add", + 162, + 251, + 1, + 2, + [] + ], + [ + "add", + 162, + 254, + -1, + 4, + [] + ], + [ + "add", + 162, + 255, + 1, + 4, + [] + ], + [ + "add", + 162, + 257, + -1, + 4, + [] + ], + [ + "add", + 162, + 259, + 1, + 2, + [] + ], + [ + "add", + 162, + 262, + -1, + 4, + [] + ], + [ + "add", + 162, + 263, + 1, + 4, + [] + ], + [ + "add", + 162, + 266, + 1, + 4, + [] + ], + [ + "add", + 162, + 267, + -1, + 4, + [] + ], + [ + "add", + 162, + 268, + 1, + 4, + [] + ], + [ + "add", + 162, + 269, + -1, + 4, + [] + ], + [ + "add", + 162, + 274, + -1, + 4, + [] + ], + [ + "add", + 162, + 276, + 1, + 4, + [] + ], + [ + "add", + 162, + 279, + -1, + 4, + [] + ], + [ + "add", + 162, + 281, + 1, + 2, + [] + ], + [ + "add", + 162, + 283, + -1, + 2, + [] + ], + [ + "add", + 162, + 286, + 1, + 4, + [] + ], + [ + "add", + 162, + 287, + -1, + 2, + [] + ], + [ + "add", + 162, + 294, + -1, + 4, + [] + ], + [ + "add", + 162, + 296, + 1, + 2, + [] + ], + [ + "add", + 162, + 299, + 1, + 4, + [] + ], + [ + "add", + 162, + 300, + -1, + 4, + [] + ], + [ + "add", + 162, + 303, + 1, + 2, + [] + ], + [ + "add", + 162, + 320, + -1, + 2, + [] + ], + [ + "add", + 162, + 324, + 1, + 2, + [] + ], + [ + "add", + 162, + 334, + 1, + 2, + [] + ], + [ + "add", + 162, + 335, + -1, + 2, + [] + ], + [ + "add", + 162, + 352, + -1, + 2, + [] + ], + [ + "add", + 162, + 356, + 1, + 2, + [] + ], + [ + "add", + 162, + 366, + 1, + 2, + [] + ], + [ + "add", + 162, + 367, + -1, + 2, + [] + ], + [ + "add", + 162, + 374, + 1, + 4, + [] + ], + [ + "add", + 162, + 379, + 1, + 4, + [] + ], + [ + "add", + 162, + 380, + -1, + 4, + [] + ], + [ + "add", + 162, + 382, + 1, + 2, + [] + ], + [ + "add", + 162, + 383, + -1, + 2, + [] + ], + [ + "add", + 162, + 386, + -1, + 4, + [] + ], + [ + "add", + 162, + 388, + 1, + 4, + [] + ], + [ + "add", + 162, + 391, + 1, + 4, + [] + ], + [ + "add", + 162, + 395, + 1, + 2, + [] + ], + [ + "add", + 162, + 397, + -1, + 2, + [] + ], + [ + "add", + 162, + 398, + 1, + 4, + [] + ], + [ + "add", + 162, + 401, + -1, + 4, + [] + ], + [ + "add", + 162, + 406, + 1, + 4, + [] + ], + [ + "add", + 162, + 407, + -1, + 4, + [] + ], + [ + "add", + 162, + 410, + -1, + 4, + [] + ], + [ + "add", + 162, + 411, + 1, + 4, + [] + ], + [ + "add", + 162, + 412, + 1, + 4, + [] + ], + [ + "add", + 162, + 413, + -1, + 4, + [] + ], + [ + "add", + 162, + 414, + -1, + 2, + [] + ], + [ + "add", + 162, + 415, + 1, + 2, + [] + ], + [ + "add", + 162, + 417, + -1, + 2, + [] + ], + [ + "add", + 162, + 418, + -1, + 4, + [] + ], + [ + "add", + 162, + 419, + 1, + 4, + [] + ], + [ + "add", + 162, + 420, + 1, + 4, + [] + ], + [ + "add", + 162, + 421, + -1, + 4, + [] + ], + [ + "add", + 162, + 424, + -1, + 4, + [] + ], + [ + "add", + 162, + 425, + 1, + 4, + [] + ], + [ + "add", + 162, + 430, + -1, + 4, + [] + ], + [ + "add", + 162, + 431, + 1, + 4, + [] + ], + [ + "add", + 162, + 434, + -1, + 2, + [] + ], + [ + "add", + 162, + 435, + 1, + 2, + [] + ], + [ + "add", + 162, + 436, + 1, + 2, + [] + ], + [ + "add", + 162, + 437, + -1, + 2, + [] + ], + [ + "add", + 162, + 440, + -1, + 2, + [] + ], + [ + "add", + 162, + 441, + 1, + 2, + [] + ], + [ + "add", + 162, + 446, + -1, + 2, + [] + ], + [ + "add", + 162, + 447, + 1, + 2, + [] + ], + [ + "add", + 162, + 458, + -1, + 4, + [] + ], + [ + "add", + 162, + 459, + 1, + 4, + [] + ], + [ + "add", + 162, + 464, + 1, + 4, + [] + ], + [ + "add", + 162, + 465, + -1, + 4, + [] + ], + [ + "add", + 162, + 542, + -1, + 1, + [] + ], + [ + "add", + 145, + 243, + -1, + 4, + [] + ], + [ + "add", + 145, + 244, + 1, + 4, + [] + ], + [ + "add", + 145, + 245, + -1, + 4, + [] + ], + [ + "add", + 145, + 248, + 1, + 4, + [] + ], + [ + "add", + 145, + 249, + -1, + 4, + [] + ], + [ + "add", + 145, + 250, + -1, + 2, + [] + ], + [ + "add", + 145, + 251, + 1, + 2, + [] + ], + [ + "add", + 145, + 254, + -1, + 4, + [] + ], + [ + "add", + 145, + 255, + 1, + 4, + [] + ], + [ + "add", + 145, + 257, + 1, + 4, + [] + ], + [ + "add", + 145, + 259, + -1, + 2, + [] + ], + [ + "add", + 145, + 262, + 1, + 4, + [] + ], + [ + "add", + 145, + 263, + -1, + 4, + [] + ], + [ + "add", + 145, + 266, + -1, + 4, + [] + ], + [ + "add", + 145, + 267, + 1, + 4, + [] + ], + [ + "add", + 145, + 268, + -1, + 4, + [] + ], + [ + "add", + 145, + 269, + 1, + 4, + [] + ], + [ + "add", + 145, + 274, + 1, + 4, + [] + ], + [ + "add", + 145, + 276, + -1, + 4, + [] + ], + [ + "add", + 145, + 279, + 1, + 4, + [] + ], + [ + "add", + 145, + 281, + -1, + 2, + [] + ], + [ + "add", + 145, + 283, + 1, + 2, + [] + ], + [ + "add", + 145, + 286, + -1, + 4, + [] + ], + [ + "add", + 145, + 287, + 1, + 2, + [] + ], + [ + "add", + 145, + 294, + -1, + 4, + [] + ], + [ + "add", + 145, + 296, + 1, + 2, + [] + ], + [ + "add", + 145, + 299, + 1, + 4, + [] + ], + [ + "add", + 145, + 300, + -1, + 4, + [] + ], + [ + "add", + 145, + 303, + 1, + 2, + [] + ], + [ + "add", + 145, + 335, + 1, + 1, + [] + ], + [ + "add", + 145, + 367, + 1, + 1, + [] + ], + [ + "add", + 145, + 374, + -1, + 4, + [] + ], + [ + "add", + 145, + 379, + -1, + 4, + [] + ], + [ + "add", + 145, + 380, + 1, + 4, + [] + ], + [ + "add", + 145, + 382, + -1, + 2, + [] + ], + [ + "add", + 145, + 383, + 1, + 2, + [] + ], + [ + "add", + 145, + 386, + -1, + 4, + [] + ], + [ + "add", + 145, + 388, + 1, + 4, + [] + ], + [ + "add", + 145, + 391, + 1, + 4, + [] + ], + [ + "add", + 145, + 395, + 1, + 2, + [] + ], + [ + "add", + 145, + 397, + -1, + 2, + [] + ], + [ + "add", + 145, + 398, + 1, + 4, + [] + ], + [ + "add", + 145, + 401, + -1, + 4, + [] + ], + [ + "add", + 145, + 406, + 1, + 4, + [] + ], + [ + "add", + 145, + 407, + -1, + 4, + [] + ], + [ + "add", + 145, + 410, + -1, + 4, + [] + ], + [ + "add", + 145, + 411, + 1, + 4, + [] + ], + [ + "add", + 145, + 412, + 1, + 4, + [] + ], + [ + "add", + 145, + 413, + -1, + 4, + [] + ], + [ + "add", + 145, + 414, + -1, + 2, + [] + ], + [ + "add", + 145, + 415, + 1, + 2, + [] + ], + [ + "add", + 145, + 417, + 1, + 2, + [] + ], + [ + "add", + 145, + 418, + 1, + 4, + [] + ], + [ + "add", + 145, + 419, + -1, + 4, + [] + ], + [ + "add", + 145, + 420, + -1, + 4, + [] + ], + [ + "add", + 145, + 421, + 1, + 4, + [] + ], + [ + "add", + 145, + 424, + 1, + 4, + [] + ], + [ + "add", + 145, + 425, + -1, + 4, + [] + ], + [ + "add", + 145, + 430, + 1, + 4, + [] + ], + [ + "add", + 145, + 431, + -1, + 4, + [] + ], + [ + "add", + 145, + 432, + -1, + 1, + [] + ], + [ + "add", + 145, + 433, + 1, + 1, + [] + ], + [ + "add", + 145, + 458, + -1, + 4, + [] + ], + [ + "add", + 145, + 459, + 1, + 4, + [] + ], + [ + "add", + 145, + 464, + -1, + 4, + [] + ], + [ + "add", + 145, + 465, + 1, + 4, + [] + ], + [ + "add", + 220, + 234, + 1, + 1, + [] + ], + [ + "add", + 220, + 235, + -1, + 1, + [] + ], + [ + "add", + 220, + 243, + -1, + 4, + [] + ], + [ + "add", + 220, + 244, + 1, + 4, + [] + ], + [ + "add", + 220, + 245, + -1, + 4, + [] + ], + [ + "add", + 220, + 248, + 1, + 4, + [] + ], + [ + "add", + 220, + 249, + -1, + 4, + [] + ], + [ + "add", + 220, + 250, + 1, + 2, + [] + ], + [ + "add", + 220, + 251, + -1, + 2, + [] + ], + [ + "add", + 220, + 254, + -1, + 4, + [] + ], + [ + "add", + 220, + 255, + 1, + 4, + [] + ], + [ + "add", + 220, + 257, + -1, + 4, + [] + ], + [ + "add", + 220, + 259, + -1, + 2, + [] + ], + [ + "add", + 220, + 262, + -1, + 4, + [] + ], + [ + "add", + 220, + 263, + 1, + 4, + [] + ], + [ + "add", + 220, + 266, + 1, + 4, + [] + ], + [ + "add", + 220, + 267, + -1, + 4, + [] + ], + [ + "add", + 220, + 268, + 1, + 4, + [] + ], + [ + "add", + 220, + 269, + -1, + 4, + [] + ], + [ + "add", + 220, + 274, + 1, + 4, + [] + ], + [ + "add", + 220, + 276, + -1, + 4, + [] + ], + [ + "add", + 220, + 279, + 1, + 4, + [] + ], + [ + "add", + 220, + 281, + 1, + 2, + [] + ], + [ + "add", + 220, + 283, + -1, + 2, + [] + ], + [ + "add", + 220, + 286, + -1, + 4, + [] + ], + [ + "add", + 220, + 287, + 1, + 2, + [] + ], + [ + "add", + 220, + 294, + 1, + 4, + [] + ], + [ + "add", + 220, + 296, + 1, + 2, + [] + ], + [ + "add", + 220, + 299, + -1, + 4, + [] + ], + [ + "add", + 220, + 300, + 1, + 4, + [] + ], + [ + "add", + 220, + 303, + 1, + 2, + [] + ], + [ + "add", + 220, + 315, + -1, + 1, + [] + ], + [ + "add", + 220, + 331, + -1, + 1, + [] + ], + [ + "add", + 220, + 374, + -1, + 4, + [] + ], + [ + "add", + 220, + 379, + -1, + 4, + [] + ], + [ + "add", + 220, + 380, + 1, + 4, + [] + ], + [ + "add", + 220, + 382, + 1, + 2, + [] + ], + [ + "add", + 220, + 383, + -1, + 2, + [] + ], + [ + "add", + 220, + 386, + -1, + 4, + [] + ], + [ + "add", + 220, + 388, + 1, + 4, + [] + ], + [ + "add", + 220, + 391, + 1, + 4, + [] + ], + [ + "add", + 220, + 395, + -1, + 2, + [] + ], + [ + "add", + 220, + 397, + 1, + 2, + [] + ], + [ + "add", + 220, + 398, + 1, + 4, + [] + ], + [ + "add", + 220, + 401, + -1, + 4, + [] + ], + [ + "add", + 220, + 406, + 1, + 4, + [] + ], + [ + "add", + 220, + 407, + -1, + 4, + [] + ], + [ + "add", + 220, + 410, + -1, + 4, + [] + ], + [ + "add", + 220, + 411, + 1, + 4, + [] + ], + [ + "add", + 220, + 412, + 1, + 4, + [] + ], + [ + "add", + 220, + 413, + -1, + 4, + [] + ], + [ + "add", + 220, + 414, + 1, + 2, + [] + ], + [ + "add", + 220, + 415, + -1, + 2, + [] + ], + [ + "add", + 220, + 417, + -1, + 2, + [] + ], + [ + "add", + 220, + 418, + 1, + 4, + [] + ], + [ + "add", + 220, + 419, + -1, + 4, + [] + ], + [ + "add", + 220, + 420, + -1, + 4, + [] + ], + [ + "add", + 220, + 421, + 1, + 4, + [] + ], + [ + "add", + 220, + 424, + 1, + 4, + [] + ], + [ + "add", + 220, + 425, + -1, + 4, + [] + ], + [ + "add", + 220, + 430, + 1, + 4, + [] + ], + [ + "add", + 220, + 431, + -1, + 4, + [] + ], + [ + "add", + 220, + 458, + 1, + 4, + [] + ], + [ + "add", + 220, + 459, + 1, + 4, + [] + ], + [ + "add", + 220, + 464, + 1, + 4, + [] + ], + [ + "add", + 220, + 465, + 1, + 4, + [] + ], + [ + "add", + 134, + 234, + 1, + 1, + [] + ], + [ + "add", + 134, + 235, + -1, + 1, + [] + ], + [ + "add", + 134, + 243, + -1, + 4, + [] + ], + [ + "add", + 134, + 244, + 1, + 4, + [] + ], + [ + "add", + 134, + 245, + -1, + 4, + [] + ], + [ + "add", + 134, + 248, + 1, + 4, + [] + ], + [ + "add", + 134, + 249, + -1, + 4, + [] + ], + [ + "add", + 134, + 250, + 1, + 2, + [] + ], + [ + "add", + 134, + 251, + -1, + 2, + [] + ], + [ + "add", + 134, + 254, + -1, + 4, + [] + ], + [ + "add", + 134, + 255, + 1, + 4, + [] + ], + [ + "add", + 134, + 257, + -1, + 4, + [] + ], + [ + "add", + 134, + 259, + -1, + 2, + [] + ], + [ + "add", + 134, + 262, + -1, + 4, + [] + ], + [ + "add", + 134, + 263, + 1, + 4, + [] + ], + [ + "add", + 134, + 266, + 1, + 4, + [] + ], + [ + "add", + 134, + 267, + -1, + 4, + [] + ], + [ + "add", + 134, + 268, + 1, + 4, + [] + ], + [ + "add", + 134, + 269, + -1, + 4, + [] + ], + [ + "add", + 134, + 274, + 1, + 4, + [] + ], + [ + "add", + 134, + 276, + -1, + 4, + [] + ], + [ + "add", + 134, + 279, + 1, + 4, + [] + ], + [ + "add", + 134, + 281, + 1, + 2, + [] + ], + [ + "add", + 134, + 283, + -1, + 2, + [] + ], + [ + "add", + 134, + 286, + -1, + 4, + [] + ], + [ + "add", + 134, + 287, + 1, + 2, + [] + ], + [ + "add", + 134, + 294, + 1, + 4, + [] + ], + [ + "add", + 134, + 296, + 1, + 2, + [] + ], + [ + "add", + 134, + 299, + -1, + 4, + [] + ], + [ + "add", + 134, + 300, + 1, + 4, + [] + ], + [ + "add", + 134, + 303, + 1, + 2, + [] + ], + [ + "add", + 134, + 315, + -1, + 1, + [] + ], + [ + "add", + 134, + 331, + -1, + 1, + [] + ], + [ + "add", + 134, + 374, + -1, + 4, + [] + ], + [ + "add", + 134, + 379, + -1, + 4, + [] + ], + [ + "add", + 134, + 380, + 1, + 4, + [] + ], + [ + "add", + 134, + 382, + 1, + 2, + [] + ], + [ + "add", + 134, + 383, + -1, + 2, + [] + ], + [ + "add", + 134, + 386, + -1, + 4, + [] + ], + [ + "add", + 134, + 388, + 1, + 4, + [] + ], + [ + "add", + 134, + 391, + 1, + 4, + [] + ], + [ + "add", + 134, + 395, + -1, + 2, + [] + ], + [ + "add", + 134, + 397, + 1, + 2, + [] + ], + [ + "add", + 134, + 398, + 1, + 4, + [] + ], + [ + "add", + 134, + 401, + -1, + 4, + [] + ], + [ + "add", + 134, + 406, + 1, + 4, + [] + ], + [ + "add", + 134, + 407, + -1, + 4, + [] + ], + [ + "add", + 134, + 410, + -1, + 4, + [] + ], + [ + "add", + 134, + 411, + 1, + 4, + [] + ], + [ + "add", + 134, + 412, + 1, + 4, + [] + ], + [ + "add", + 134, + 413, + -1, + 4, + [] + ], + [ + "add", + 134, + 414, + 1, + 2, + [] + ], + [ + "add", + 134, + 415, + -1, + 2, + [] + ], + [ + "add", + 134, + 417, + -1, + 2, + [] + ], + [ + "add", + 134, + 418, + 1, + 4, + [] + ], + [ + "add", + 134, + 419, + -1, + 4, + [] + ], + [ + "add", + 134, + 420, + -1, + 4, + [] + ], + [ + "add", + 134, + 421, + 1, + 4, + [] + ], + [ + "add", + 134, + 424, + 1, + 4, + [] + ], + [ + "add", + 134, + 425, + -1, + 4, + [] + ], + [ + "add", + 134, + 430, + 1, + 4, + [] + ], + [ + "add", + 134, + 431, + -1, + 4, + [] + ], + [ + "add", + 134, + 458, + 1, + 4, + [] + ], + [ + "add", + 134, + 459, + 1, + 4, + [] + ], + [ + "add", + 134, + 464, + 1, + 4, + [] + ], + [ + "add", + 134, + 465, + 1, + 4, + [] + ], + [ + "add", + 221, + 243, + -1, + 4, + [] + ], + [ + "add", + 221, + 244, + 1, + 4, + [] + ], + [ + "add", + 221, + 245, + -1, + 4, + [] + ], + [ + "add", + 221, + 248, + 1, + 4, + [] + ], + [ + "add", + 221, + 249, + -1, + 4, + [] + ], + [ + "add", + 221, + 250, + -1, + 2, + [] + ], + [ + "add", + 221, + 251, + 1, + 2, + [] + ], + [ + "add", + 221, + 254, + -1, + 4, + [] + ], + [ + "add", + 221, + 255, + 1, + 4, + [] + ], + [ + "add", + 221, + 257, + -1, + 4, + [] + ], + [ + "add", + 221, + 259, + 1, + 2, + [] + ], + [ + "add", + 221, + 262, + -1, + 4, + [] + ], + [ + "add", + 221, + 263, + 1, + 4, + [] + ], + [ + "add", + 221, + 266, + 1, + 4, + [] + ], + [ + "add", + 221, + 267, + -1, + 4, + [] + ], + [ + "add", + 221, + 268, + 1, + 4, + [] + ], + [ + "add", + 221, + 269, + -1, + 4, + [] + ], + [ + "add", + 221, + 274, + -1, + 4, + [] + ], + [ + "add", + 221, + 276, + 1, + 4, + [] + ], + [ + "add", + 221, + 279, + -1, + 4, + [] + ], + [ + "add", + 221, + 281, + 1, + 2, + [] + ], + [ + "add", + 221, + 283, + -1, + 2, + [] + ], + [ + "add", + 221, + 286, + 1, + 4, + [] + ], + [ + "add", + 221, + 287, + -1, + 2, + [] + ], + [ + "add", + 221, + 294, + -1, + 4, + [] + ], + [ + "add", + 221, + 296, + 1, + 2, + [] + ], + [ + "add", + 221, + 299, + 1, + 4, + [] + ], + [ + "add", + 221, + 300, + -1, + 4, + [] + ], + [ + "add", + 221, + 303, + 1, + 2, + [] + ], + [ + "add", + 221, + 320, + -1, + 2, + [] + ], + [ + "add", + 221, + 324, + 1, + 2, + [] + ], + [ + "add", + 221, + 334, + 1, + 2, + [] + ], + [ + "add", + 221, + 335, + -1, + 2, + [] + ], + [ + "add", + 221, + 352, + -1, + 2, + [] + ], + [ + "add", + 221, + 356, + 1, + 2, + [] + ], + [ + "add", + 221, + 366, + 1, + 2, + [] + ], + [ + "add", + 221, + 367, + -1, + 2, + [] + ], + [ + "add", + 221, + 374, + 1, + 4, + [] + ], + [ + "add", + 221, + 379, + 1, + 4, + [] + ], + [ + "add", + 221, + 380, + -1, + 4, + [] + ], + [ + "add", + 221, + 382, + 1, + 2, + [] + ], + [ + "add", + 221, + 383, + -1, + 2, + [] + ], + [ + "add", + 221, + 386, + -1, + 4, + [] + ], + [ + "add", + 221, + 388, + 1, + 4, + [] + ], + [ + "add", + 221, + 391, + 1, + 4, + [] + ], + [ + "add", + 221, + 395, + 1, + 2, + [] + ], + [ + "add", + 221, + 397, + -1, + 2, + [] + ], + [ + "add", + 221, + 398, + 1, + 4, + [] + ], + [ + "add", + 221, + 401, + -1, + 4, + [] + ], + [ + "add", + 221, + 406, + 1, + 4, + [] + ], + [ + "add", + 221, + 407, + -1, + 4, + [] + ], + [ + "add", + 221, + 410, + -1, + 4, + [] + ], + [ + "add", + 221, + 411, + 1, + 4, + [] + ], + [ + "add", + 221, + 412, + 1, + 4, + [] + ], + [ + "add", + 221, + 413, + -1, + 4, + [] + ], + [ + "add", + 221, + 414, + -1, + 2, + [] + ], + [ + "add", + 221, + 415, + 1, + 2, + [] + ], + [ + "add", + 221, + 417, + -1, + 2, + [] + ], + [ + "add", + 221, + 418, + -1, + 4, + [] + ], + [ + "add", + 221, + 419, + 1, + 4, + [] + ], + [ + "add", + 221, + 420, + 1, + 4, + [] + ], + [ + "add", + 221, + 421, + -1, + 4, + [] + ], + [ + "add", + 221, + 424, + -1, + 4, + [] + ], + [ + "add", + 221, + 425, + 1, + 4, + [] + ], + [ + "add", + 221, + 430, + -1, + 4, + [] + ], + [ + "add", + 221, + 431, + 1, + 4, + [] + ], + [ + "add", + 221, + 434, + -1, + 2, + [] + ], + [ + "add", + 221, + 435, + 1, + 2, + [] + ], + [ + "add", + 221, + 436, + 1, + 2, + [] + ], + [ + "add", + 221, + 437, + -1, + 2, + [] + ], + [ + "add", + 221, + 440, + -1, + 2, + [] + ], + [ + "add", + 221, + 441, + 1, + 2, + [] + ], + [ + "add", + 221, + 446, + -1, + 2, + [] + ], + [ + "add", + 221, + 447, + 1, + 2, + [] + ], + [ + "add", + 221, + 458, + -1, + 4, + [] + ], + [ + "add", + 221, + 459, + 1, + 4, + [] + ], + [ + "add", + 221, + 464, + 1, + 4, + [] + ], + [ + "add", + 221, + 465, + -1, + 4, + [] + ], + [ + "add", + 135, + 243, + -1, + 4, + [] + ], + [ + "add", + 135, + 244, + 1, + 4, + [] + ], + [ + "add", + 135, + 245, + -1, + 4, + [] + ], + [ + "add", + 135, + 248, + 1, + 4, + [] + ], + [ + "add", + 135, + 249, + -1, + 4, + [] + ], + [ + "add", + 135, + 250, + -1, + 2, + [] + ], + [ + "add", + 135, + 251, + 1, + 2, + [] + ], + [ + "add", + 135, + 254, + -1, + 4, + [] + ], + [ + "add", + 135, + 255, + 1, + 4, + [] + ], + [ + "add", + 135, + 257, + 1, + 4, + [] + ], + [ + "add", + 135, + 259, + -1, + 2, + [] + ], + [ + "add", + 135, + 262, + 1, + 4, + [] + ], + [ + "add", + 135, + 263, + -1, + 4, + [] + ], + [ + "add", + 135, + 266, + -1, + 4, + [] + ], + [ + "add", + 135, + 267, + 1, + 4, + [] + ], + [ + "add", + 135, + 268, + -1, + 4, + [] + ], + [ + "add", + 135, + 269, + 1, + 4, + [] + ], + [ + "add", + 135, + 274, + 1, + 4, + [] + ], + [ + "add", + 135, + 276, + -1, + 4, + [] + ], + [ + "add", + 135, + 279, + 1, + 4, + [] + ], + [ + "add", + 135, + 281, + -1, + 2, + [] + ], + [ + "add", + 135, + 283, + 1, + 2, + [] + ], + [ + "add", + 135, + 286, + -1, + 4, + [] + ], + [ + "add", + 135, + 287, + 1, + 2, + [] + ], + [ + "add", + 135, + 294, + -1, + 4, + [] + ], + [ + "add", + 135, + 296, + 1, + 2, + [] + ], + [ + "add", + 135, + 299, + 1, + 4, + [] + ], + [ + "add", + 135, + 300, + -1, + 4, + [] + ], + [ + "add", + 135, + 303, + 1, + 2, + [] + ], + [ + "add", + 135, + 335, + 1, + 1, + [] + ], + [ + "add", + 135, + 367, + 1, + 1, + [] + ], + [ + "add", + 135, + 374, + -1, + 4, + [] + ], + [ + "add", + 135, + 379, + -1, + 4, + [] + ], + [ + "add", + 135, + 380, + 1, + 4, + [] + ], + [ + "add", + 135, + 382, + -1, + 2, + [] + ], + [ + "add", + 135, + 383, + 1, + 2, + [] + ], + [ + "add", + 135, + 386, + -1, + 4, + [] + ], + [ + "add", + 135, + 388, + 1, + 4, + [] + ], + [ + "add", + 135, + 391, + 1, + 4, + [] + ], + [ + "add", + 135, + 395, + 1, + 2, + [] + ], + [ + "add", + 135, + 397, + -1, + 2, + [] + ], + [ + "add", + 135, + 398, + 1, + 4, + [] + ], + [ + "add", + 135, + 401, + -1, + 4, + [] + ], + [ + "add", + 135, + 406, + 1, + 4, + [] + ], + [ + "add", + 135, + 407, + -1, + 4, + [] + ], + [ + "add", + 135, + 410, + -1, + 4, + [] + ], + [ + "add", + 135, + 411, + 1, + 4, + [] + ], + [ + "add", + 135, + 412, + 1, + 4, + [] + ], + [ + "add", + 135, + 413, + -1, + 4, + [] + ], + [ + "add", + 135, + 414, + -1, + 2, + [] + ], + [ + "add", + 135, + 415, + 1, + 2, + [] + ], + [ + "add", + 135, + 417, + 1, + 2, + [] + ], + [ + "add", + 135, + 418, + 1, + 4, + [] + ], + [ + "add", + 135, + 419, + -1, + 4, + [] + ], + [ + "add", + 135, + 420, + -1, + 4, + [] + ], + [ + "add", + 135, + 421, + 1, + 4, + [] + ], + [ + "add", + 135, + 424, + 1, + 4, + [] + ], + [ + "add", + 135, + 425, + -1, + 4, + [] + ], + [ + "add", + 135, + 430, + 1, + 4, + [] + ], + [ + "add", + 135, + 431, + -1, + 4, + [] + ], + [ + "add", + 135, + 432, + -1, + 1, + [] + ], + [ + "add", + 135, + 433, + 1, + 1, + [] + ], + [ + "add", + 135, + 458, + -1, + 4, + [] + ], + [ + "add", + 135, + 459, + 1, + 4, + [] + ], + [ + "add", + 135, + 464, + -1, + 4, + [] + ], + [ + "add", + 135, + 465, + 1, + 4, + [] + ] + ], + "helper_final": { + "277": [ + 388, + 75, + 41, + 26 + ], + "282": [ + 388, + 75, + 41, + 26 + ], + "293": [ + 384, + 196, + 85, + 51 + ], + "298": [ + 384, + 196, + 85, + 51 + ], + "307": [ + 385, + 74, + 44, + 30 + ], + "309": [ + 385, + 74, + 44, + 30 + ], + "311": [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + "314": [ + 385, + 74, + 44, + 30 + ], + "323": [ + 384, + 193, + 75, + 30 + ], + "325": [ + 384, + 193, + 75, + 30 + ], + "327": [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ], + "330": [ + 384, + 193, + 75, + 30 + ], + "337": [ + 416, + 70, + 19, + 13 + ], + "339": [ + 416, + 70, + 19, + 13 + ], + "341": [ + 416, + 70, + 19, + 13 + ], + "346": [ + 416, + 70, + 19, + 13 + ], + "353": [ + 384, + 134, + 120, + 30 + ], + "355": [ + 384, + 134, + 120, + 30 + ], + "357": [ + 384, + 134, + 120, + 30 + ], + "362": [ + 384, + 134, + 120, + 30 + ], + "369": [ + 392, + 67, + 37, + 22 + ], + "371": [ + 392, + 67, + 37, + 22 + ], + "373": [ + 392, + 67, + 37, + 22 + ], + "378": [ + 392, + 67, + 37, + 22 + ], + "385": [ + 384, + 131, + 75, + 51 + ], + "387": [ + 384, + 131, + 75, + 51 + ], + "389": [ + 384, + 131, + 75, + 51 + ], + "394": [ + 384, + 131, + 75, + 51 + ], + "448": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "449": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "450": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "451": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "452": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "453": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "454": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "455": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "484": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "485": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "498": [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + "500": [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ], + "501": [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ], + "508": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "509": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "510": [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ], + "512": [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + "513": [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + "531": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "532": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "533": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "543": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "554": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "555": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "556": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "557": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "566": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "567": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "572": [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ], + "573": [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ], + "574": [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ], + "575": [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ], + "580": [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ], + "581": [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ], + "582": [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ], + "583": [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ], + "584": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "585": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "586": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "587": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "588": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "589": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "590": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "591": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + }, + "initial_corrections": [ + { + "target": 115, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "1" + }, + { + "target": 158, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 179, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 223, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 132, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 192, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 200, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "1" + }, + { + "target": 117, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 158, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 181, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 223, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 116, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 132, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 148, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 180, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 113, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "1" + }, + { + "target": 118, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 158, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 158, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + }, + { + "target": 186, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + }, + { + "target": 195, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + } + ], + "removed": [ + 595, + 597, + 598, + 599, + 603, + 605, + 607, + 611, + 613, + 614, + 615, + 619, + 621, + 622, + 623, + 627, + 629, + 630, + 631, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 651, + 654, + 655, + 659, + 661, + 662, + 663, + 675, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 699, + 701, + 702, + 703, + 482, + 483, + 494, + 495, + 507, + 519 + ], + "restore": [ + [ + "add", + 572, + 408, + -1, + 1, + [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ] + ], + [ + "add", + 573, + 105, + -1, + 1, + [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ] + ], + [ + "add", + 574, + 412, + -1, + 1, + [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ] + ], + [ + "add", + 575, + 414, + -1, + 1, + [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ] + ], + [ + "add", + 580, + 424, + -1, + 1, + [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ] + ], + [ + "add", + 581, + 44, + -1, + 1, + [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ] + ], + [ + "add", + 582, + 428, + -1, + 1, + [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ] + ], + [ + "add", + 583, + 430, + -1, + 1, + [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ] + ], + [ + "scale", + 311, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 311, + 498, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 311, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 511, + 322, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 327, + 511, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 511, + 327, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 327, + 511, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "scale", + 511, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 450, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 508, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 452, + 232, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 452, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 455, + 238, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 299, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 54, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 499, + 306, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 499, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 499, + 498, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 499, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "scale", + 499, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 500, + 310, + -1, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 501, + 308, + -1, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 508, + 331, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 34, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 510, + 511, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 512, + 326, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 513, + 324, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 531, + 351, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 531, + 587, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 351, + 531, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 363, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 7, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 73, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 543, + 367, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 543, + 589, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 367, + 543, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 554, + -1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 554, + 3, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 3, + 554, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 555, + 383, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 555, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 383, + 555, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 395, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 5, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 566, + 69, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 69, + 566, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 567, + 399, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 567, + 591, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 399, + 567, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 584, + 439, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 585, + 434, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 383, + 585, + 1, + 2, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 586, + 438, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 587, + 436, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 351, + 587, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 588, + 440, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 589, + 46, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 367, + 589, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 590, + 444, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 591, + 446, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 399, + 591, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "warps": [ + [ + 911, + 243, + [ + 1, + 2, + 4, + 8, + 64, + 19, + 104, + 197, + 325 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1042, + 250, + [ + 1, + 2, + 4, + 32, + 128, + 47, + 145, + 68, + 483 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 266, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 259, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1082, + 333, + [ + 1, + 2, + 8, + 32, + 44, + 128, + 59, + 66, + 489 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1082, + 317, + [ + 1, + 2, + 8, + 32, + 44, + 48, + 66, + 128, + 330 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1062, + 530, + [ + 1, + 2, + 8, + 15, + 27, + 74, + 170, + 32, + 417 + ], + [ + 385, + 70, + 33, + 18, + 12 + ], + [ + 384, + 160, + 75, + 25, + 7 + ] + ], + [ + 1130, + 285, + [ + 1, + 2, + 4, + 16, + 27, + 53, + 81, + 128, + 337 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1130, + 281, + [ + 1, + 2, + 4, + 16, + 27, + 53, + 81, + 128, + 337 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1170, + 301, + [ + 1, + 2, + 4, + 64, + 128, + 143, + 151, + 160, + 326 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 297, + [ + 1, + 2, + 4, + 64, + 128, + 143, + 151, + 160, + 326 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 313, + [ + 1, + 2, + 4, + 64, + 74, + 86, + 99, + 128, + 326 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 329, + [ + 1, + 2, + 4, + 64, + 74, + 128, + 81, + 99, + 389 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 911, + 349, + [ + 1, + 2, + 4, + 27, + 46, + 8, + 198, + 64, + 264 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1150, + 345, + [ + 1, + 2, + 4, + 40, + 86, + 8, + 132, + 16, + 408 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 911, + 365, + [ + 1, + 2, + 4, + 8, + 16, + 64, + 107, + 198, + 326 + ], + [ + 384, + 134, + 102, + 30 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 911, + 361, + [ + 1, + 2, + 4, + 8, + 16, + 64, + 107, + 198, + 326 + ], + [ + 384, + 134, + 102, + 30 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1150, + 381, + [ + 1, + 2, + 4, + 8, + 43, + 80, + 129, + 16, + 408 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1150, + 377, + [ + 1, + 2, + 4, + 8, + 43, + 80, + 129, + 16, + 408 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1150, + 397, + [ + 1, + 2, + 4, + 8, + 16, + 62, + 94, + 129, + 387 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1130, + 393, + [ + 1, + 2, + 4, + 16, + 128, + 138, + 55, + 65, + 470 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1130, + 225, + [ + 1, + 2, + 4, + 10, + 33, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1110, + 227, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 229, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 234, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 241, + [ + 1, + 4, + 8, + 16, + 128, + 26, + 185, + 65, + 476 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1082, + 245, + [ + 1, + 2, + 8, + 32, + 128, + 47, + 145, + 105, + 450 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1082, + 257, + [ + 1, + 2, + 8, + 12, + 32, + 27, + 105, + 128, + 363 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1042, + 261, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 931, + 401, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 931, + 403, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 931, + 405, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 951, + 410, + [ + 1, + 2, + 8, + 16, + 256, + 30, + 57, + 90, + 129 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 417, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 419, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 421, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 994, + 426, + [ + 1, + 2, + 4, + 8, + 29, + 47, + 77, + 128, + 261 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 391, + 68, + 34, + 17 + ] + ], + [ + 994, + 433, + [ + 1, + 2, + 4, + 8, + 31, + 47, + 128, + 72, + 395 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 391, + 68, + 34, + 17 + ] + ], + [ + 994, + 435, + [ + 1, + 2, + 4, + 8, + 31, + 47, + 128, + 72, + 395 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 391, + 68, + 34, + 17 + ] + ], + [ + 994, + 437, + [ + 1, + 2, + 4, + 8, + 31, + 47, + 128, + 72, + 395 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 391, + 68, + 34, + 17 + ] + ], + [ + 1062, + 442, + [ + 1, + 2, + 4, + 8, + 23, + 70, + 32, + 172, + 396 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 384, + 160, + 75, + 25 + ] + ], + [ + 1062, + 542, + [ + 1, + 2, + 8, + 15, + 27, + 74, + 32, + 129, + 394 + ], + [ + 262, + 193, + 33, + 18, + 12 + ], + [ + 384, + 160, + 75, + 25, + 7 + ] + ], + [ + 974, + 1, + [ + 1, + 2, + 4, + 54, + 72, + 8, + 130, + 16, + 284 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 4, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 135, + 263 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 6, + [ + 1, + 2, + 4, + 54, + 72, + 8, + 130, + 16, + 284 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 12, + [ + 1, + 2, + 4, + 8, + 57, + 66, + 143, + 16, + 272 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 1042, + 33, + [ + 1, + 2, + 4, + 32, + 50, + 128, + 124, + 60, + 411 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 55, + [ + 1, + 2, + 4, + 32, + 128, + 151, + 196, + 312, + 222 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 74, + [ + 1, + 2, + 4, + 32, + 415, + 128, + 299, + 83, + 437 + ], + [ + 384, + 134, + 120, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 85, + [ + 1, + 2, + 4, + 32, + 395, + 48, + 99, + 128, + 359 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1130, + 49, + [ + 1, + 2, + 4, + 16, + 121, + 128, + 55, + 80, + 389 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 407, + 66, + 36, + 111 + ] + ], + [ + 1131, + 83, + [ + 1, + 2, + 4, + 16, + 392, + 128, + 162, + 68, + 401 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 407, + 66, + 36, + 414 + ] + ], + [ + 1132, + 98, + [ + 1, + 2, + 4, + 16, + 50, + 492, + 80, + 128, + 278 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 407, + 66, + 504, + 36 + ] + ], + [ + 1135, + 101, + [ + 1, + 2, + 4, + 16, + 128, + 285, + 161, + 195, + 278 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 407, + 66, + 36, + 414 + ] + ], + [ + 1150, + 68, + [ + 1, + 2, + 4, + 8, + 16, + 188, + 94, + 129, + 257 + ], + [ + 259, + 131, + 75, + 51 + ], + [ + 258, + 130, + 85, + 175 + ] + ], + [ + 1151, + 80, + [ + 1, + 2, + 4, + 8, + 83, + 424, + 129, + 16, + 282 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 258, + 130, + 429, + 85 + ] + ], + [ + 1152, + 88, + [ + 1, + 2, + 4, + 8, + 427, + 80, + 129, + 16, + 282 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 258, + 130, + 85, + 429 + ] + ], + [ + 1155, + 31, + [ + 1, + 2, + 4, + 8, + 39, + 92, + 137, + 16, + 278 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 258, + 130, + 85, + 45 + ] + ], + [ + 555, + 273, + [ + 1, + 4, + 8, + 16, + 23, + 33, + 68, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 81, + 48, + 3 + ] + ], + [ + 556, + 275, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 41, + 26 + ] + ], + [ + 579, + 289, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 89, + 153, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 273, + 136, + 76, + 51 + ] + ], + [ + 580, + 291, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 89, + 128, + 281 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 264, + 145, + 76, + 51 + ] + ], + [ + 604, + 305, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 70, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 76, + 44, + 30 + ] + ], + [ + 628, + 321, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 106, + 128, + 298 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 288, + 138, + 97, + 30 + ] + ] + ] + }, + "report": { + "v": 112, + "h": 9, + "R": 480, + "local_profile": { + "1": 2369, + "2": 644, + "3": 300, + "4": 120, + "5": 26, + "7": 4, + "8": 4 + }, + "width_inventory": { + "4": 27, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + } + }, + "declared_gate_edit": [ + [ + "delete", + 555, + [ + "add", + 482, + 56, + 1, + 1 + ] + ], + [ + "delete", + 556, + [ + "add", + 483, + 287, + 1, + 1 + ] + ], + [ + "insert", + 555, + [ + "add", + 273, + 56, + 1, + 1 + ] + ], + [ + "insert", + 556, + [ + "add", + 275, + 287, + 1, + 1 + ] + ], + [ + "delete", + 579, + [ + "add", + 494, + 102, + 1, + 1 + ] + ], + [ + "delete", + 580, + [ + "add", + 495, + 303, + 1, + 1 + ] + ], + [ + "insert", + 579, + [ + "add", + 289, + 102, + 1, + 1 + ] + ], + [ + "insert", + 580, + [ + "add", + 291, + 303, + 1, + 1 + ] + ], + [ + "delete", + 604, + [ + "add", + 507, + 319, + 1, + 1 + ] + ], + [ + "insert", + 604, + [ + "add", + 305, + 319, + 1, + 1 + ] + ], + [ + "delete", + 628, + [ + "add", + 519, + 335, + 1, + 1 + ] + ], + [ + "insert", + 628, + [ + "add", + 321, + 335, + 1, + 1 + ] + ], + [ + "delete", + 783, + [ + "add", + 113, + 507, + 1, + 1 + ] + ], + [ + "insert", + 783, + [ + "add", + 113, + 305, + 1, + 1 + ] + ], + [ + "delete", + 788, + [ + "add", + 186, + 519, + 1, + 1 + ] + ], + [ + "insert", + 788, + [ + "add", + 186, + 321, + 1, + 1 + ] + ], + [ + "delete", + 791, + [ + "add", + 115, + 482, + 1, + 1 + ] + ], + [ + "insert", + 791, + [ + "add", + 115, + 273, + 1, + 1 + ] + ], + [ + "delete", + 793, + [ + "add", + 200, + 483, + 1, + 1 + ] + ], + [ + "insert", + 793, + [ + "add", + 200, + 275, + 1, + 1 + ] + ], + [ + "delete", + 796, + [ + "add", + 181, + 494, + 1, + 1 + ] + ], + [ + "insert", + 796, + [ + "add", + 181, + 289, + 1, + 1 + ] + ], + [ + "delete", + 798, + [ + "add", + 116, + 495, + 1, + 1 + ] + ], + [ + "insert", + 798, + [ + "add", + 116, + 291, + 1, + 1 + ] + ], + [ + "delete", + 903, + [ + "add", + 482, + 554, + 1, + 1 + ] + ], + [ + "delete", + 904, + [ + "add", + 483, + 555, + 1, + 1 + ] + ], + [ + "insert", + 903, + [ + "add", + 273, + 554, + 1, + 1 + ] + ], + [ + "insert", + 904, + [ + "add", + 275, + 555, + 1, + 1 + ] + ], + [ + "delete", + 906, + [ + "add", + 507, + 531, + 1, + 1 + ] + ], + [ + "insert", + 906, + [ + "add", + 305, + 531, + 1, + 1 + ] + ], + [ + "delete", + 908, + [ + "add", + 519, + 543, + 1, + 1 + ] + ], + [ + "delete", + 909, + [ + "add", + 494, + 566, + 1, + 1 + ] + ], + [ + "delete", + 910, + [ + "add", + 495, + 567, + 1, + 1 + ] + ], + [ + "insert", + 908, + [ + "add", + 321, + 543, + 1, + 1 + ] + ], + [ + "insert", + 909, + [ + "add", + 289, + 566, + 1, + 1 + ] + ], + [ + "insert", + 910, + [ + "add", + 291, + 567, + 1, + 1 + ] + ], + [ + "delete", + 1182, + [ + "add", + 696, + 482, + 1, + 1 + ] + ], + [ + "delete", + 1183, + [ + "add", + 697, + 483, + 1, + 1 + ] + ], + [ + "insert", + 1182, + [ + "add", + 696, + 273, + 1, + 1 + ] + ], + [ + "insert", + 1183, + [ + "add", + 697, + 275, + 1, + 1 + ] + ], + [ + "delete", + 1185, + [ + "add", + 301, + 507, + 1, + 1 + ] + ], + [ + "insert", + 1185, + [ + "add", + 301, + 305, + 1, + 1 + ] + ], + [ + "delete", + 1187, + [ + "add", + 329, + 519, + 1, + 1 + ] + ], + [ + "delete", + 1188, + [ + "add", + 297, + 494, + 1, + 1 + ] + ], + [ + "delete", + 1189, + [ + "add", + 313, + 495, + 1, + 1 + ] + ], + [ + "insert", + 1187, + [ + "add", + 329, + 321, + 1, + 1 + ] + ], + [ + "insert", + 1188, + [ + "add", + 297, + 289, + 1, + 1 + ] + ], + [ + "insert", + 1189, + [ + "add", + 313, + 291, + 1, + 1 + ] + ], + [ + "delete", + 1838, + [ + "add", + 482, + 494, + 1, + 1 + ] + ], + [ + "delete", + 1839, + [ + "add", + 494, + 482, + -1, + 2 + ] + ], + [ + "delete", + 1840, + [ + "add", + 223, + 482, + 1, + 1 + ] + ], + [ + "delete", + 1841, + [ + "add", + 158, + 494, + -2, + 1 + ] + ], + [ + "delete", + 1842, + [ + "add", + 483, + 495, + 1, + 1 + ] + ], + [ + "delete", + 1843, + [ + "add", + 495, + 483, + -1, + 2 + ] + ], + [ + "delete", + 1844, + [ + "add", + 148, + 483, + 1, + 1 + ] + ], + [ + "delete", + 1845, + [ + "add", + 132, + 495, + -2, + 1 + ] + ], + [ + "insert", + 1838, + [ + "add", + 273, + 289, + 1, + 1 + ] + ], + [ + "insert", + 1839, + [ + "add", + 289, + 273, + -1, + 2 + ] + ], + [ + "insert", + 1840, + [ + "add", + 223, + 273, + 1, + 1 + ] + ], + [ + "insert", + 1841, + [ + "add", + 158, + 289, + -2, + 1 + ] + ], + [ + "insert", + 1842, + [ + "add", + 275, + 291, + 1, + 1 + ] + ], + [ + "insert", + 1843, + [ + "add", + 291, + 275, + -1, + 2 + ] + ], + [ + "insert", + 1844, + [ + "add", + 148, + 275, + 1, + 1 + ] + ], + [ + "insert", + 1845, + [ + "add", + 132, + 291, + -2, + 1 + ] + ], + [ + "delete", + 1850, + [ + "add", + 507, + 519, + 1, + 1 + ] + ], + [ + "delete", + 1851, + [ + "add", + 519, + 507, + -1, + 2 + ] + ], + [ + "delete", + 1852, + [ + "add", + 148, + 507, + 1, + 1 + ] + ], + [ + "delete", + 1853, + [ + "add", + 158, + 519, + -2, + 1 + ] + ], + [ + "insert", + 1850, + [ + "add", + 305, + 321, + 1, + 1 + ] + ], + [ + "insert", + 1851, + [ + "add", + 321, + 305, + -1, + 2 + ] + ], + [ + "insert", + 1852, + [ + "add", + 148, + 305, + 1, + 1 + ] + ], + [ + "insert", + 1853, + [ + "add", + 158, + 321, + -2, + 1 + ] + ] + ] +} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/prelife_43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/prelife_43extra.json new file mode 100644 index 0000000000..2a063a51a2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/prelife_43extra.json @@ -0,0 +1,88157 @@ +{ + "kind": "PRELIFE_HOSTING_ON_PR2588_WORDS", + "credit": "pre-life hosting (this work; prepared with substantial Claude Code assistance), built on the PR2226 (Cinna Davis) anticipatory dirty-borrowing semantics and the PR2436 (tekuuu) retired-lender aliases: six cold width-4 hosts h, after restoring themselves and retiring, host the whole life of a width-9 dim-0-start helper L via one B warp (h cold-end frame -> dim-4 frame E at L first gate); the dirt-compensation reads of L become anticipatory corrections t += c K_op(h) pulled back through the target-only precondition; h stops being cold. Built by new/borrow/prelife/search/mk1.py with new/borrow/prelife/results/tryE-*.json.", + "pairs": [ + { + "L": 482, + "h": 273 + }, + { + "L": 483, + "h": 275 + }, + { + "L": 494, + "h": 289 + }, + { + "L": 495, + "h": 291 + }, + { + "L": 507, + "h": 305 + }, + { + "L": 519, + "h": 321 + } + ], + "fields": { + "B": [ + [ + "add", + 162, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 172, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 196, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 140, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 144, + 506, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 187, + 506, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 168, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 150, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 115, + 554, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 131, + 566, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 117, + 566, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 590, + 566, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 672, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 215, + 448, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 129, + 448, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 124, + 449, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 212, + 449, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 157, + 450, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 219, + 450, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 210, + 451, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 160, + 451, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 452, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 170, + 452, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 118, + 453, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 194, + 453, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 120, + 454, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 207, + 454, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 192, + 455, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 179, + 455, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 130, + 472, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 213, + 473, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 215, + 484, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 124, + 485, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 220, + 496, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 161, + 497, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 157, + 508, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 210, + 509, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 520, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 195, + 521, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 532, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 118, + 533, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 208, + 544, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 180, + 545, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 556, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 192, + 557, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 143, + 585, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 168, + 584, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 189, + 585, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 187, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 586, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 136, + 586, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 197, + 587, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 147, + 587, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 588, + 518, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 221, + 588, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 145, + 589, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 135, + 589, + -1, + 1, + [ + 30 + ] + ], + [ + "add", + 167, + 591, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 214, + 590, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 590, + 566, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 151, + 591, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 188, + 592, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 592, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 592, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 592, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 593, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 594, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 594, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 188, + 596, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 199, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 204, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 193, + 596, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 600, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 600, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 600, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 600, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 601, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 602, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 602, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 183, + 604, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 202, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 175, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 123, + 604, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 608, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 608, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 608, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 608, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 609, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 610, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 610, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 114, + 612, + 1, + 4, + [ + 45 + ] + ], + [ + "add", + 137, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 173, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 121, + 612, + -1, + 4, + [ + 45 + ] + ], + [ + "add", + 212, + 616, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 616, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 616, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 616, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 617, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 168, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 215, + 618, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 189, + 618, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 212, + 620, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 168, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 215, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 620, + 555, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 189, + 620, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 620, + 555, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 166, + 624, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 624, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 624, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 624, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 625, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 214, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 130, + 626, + 1, + 4, + [ + 51 + ] + ], + [ + "add", + 151, + 626, + -1, + 4, + [ + 51 + ] + ], + [ + "add", + 166, + 628, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 214, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 130, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 567, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 151, + 628, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 628, + 567, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 160, + 632, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 632, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 632, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 632, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 633, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 144, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 157, + 634, + 1, + 4, + [ + 30 + ] + ], + [ + "add", + 147, + 634, + -1, + 4, + [ + 30 + ] + ], + [ + "add", + 160, + 636, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 506, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 144, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 506, + -2, + 1, + [ + 30 + ] + ], + [ + "add", + 157, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 531, + 2, + 1, + [ + 30 + ] + ], + [ + "add", + 147, + 636, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 636, + 531, + -2, + 1, + [ + 30 + ] + ], + [ + "add", + 162, + 518, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 135, + 543, + 1, + 1, + [ + 30 + ] + ], + [ + "add", + 194, + 648, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 648, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 648, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 648, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 649, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 650, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 650, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 194, + 652, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 187, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 205, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 198, + 652, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 656, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 656, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 656, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 656, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 657, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 658, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 658, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 185, + 660, + -1, + 2, + [ + 30 + ] + ], + [ + "add", + 196, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 171, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 141, + 660, + 1, + 2, + [ + 30 + ] + ], + [ + "add", + 179, + 664, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 664, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 664, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 664, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 665, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 666, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 666, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 179, + 668, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 115, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 120, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 138, + 668, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 672, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 672, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 672, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 208, + 672, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 672, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 208, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 673, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 181, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 208, + 674, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 674, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 117, + 676, + -1, + 2, + [ + 51 + ] + ], + [ + "add", + 676, + 566, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 181, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 676, + 566, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 208, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 177, + 676, + 1, + 2, + [ + 51 + ] + ], + [ + "add", + 133, + 696, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 696, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 696, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 696, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 697, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 698, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 698, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 133, + 700, + -1, + 2, + [ + 45 + ] + ], + [ + "add", + 159, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 149, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 222, + 700, + 1, + 2, + [ + 45 + ] + ], + [ + "add", + 616, + 554, + -2, + 1, + [ + 51 + ] + ], + [ + "add", + 618, + 554, + 2, + 1, + [ + 51 + ] + ], + [ + "add", + 664, + 554, + -1, + 1, + [ + 51 + ] + ], + [ + "add", + 666, + 554, + 1, + 1, + [ + 51 + ] + ], + [ + "add", + 664, + 667, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 667, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 667, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 664, + 669, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 669, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 669, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 664, + 670, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 670, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 670, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 665, + 671, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 666, + 671, + 1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 668, + 671, + -1, + 1, + [ + 264, + 136, + 85, + 51 + ] + ], + [ + "add", + 118, + 82, + -1, + 2, + [ + 416, + 30 + ] + ], + [ + "add", + 194, + 6, + -1, + 2, + [ + 19, + 13 + ] + ], + [ + "add", + 187, + 349, + 1, + 1, + [ + 70, + 30 + ] + ], + [ + "add", + 113, + 351, + 1, + 1, + [ + 491, + 30 + ] + ], + [ + "add", + 351, + 531, + -1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 205, + 347, + -1, + 2, + [ + 70, + 30 + ] + ], + [ + "add", + 170, + 345, + -1, + 2, + [ + 491, + 30 + ] + ], + [ + "add", + 140, + 75, + 1, + 1, + [ + 416, + 30 + ] + ], + [ + "add", + 198, + 1, + 1, + 1, + [ + 19, + 13 + ] + ], + [ + "add", + 124, + 100, + -1, + 2, + [ + 388, + 51 + ] + ], + [ + "add", + 212, + 12, + -1, + 2, + [ + 41, + 26 + ] + ], + [ + "add", + 168, + 285, + 1, + 1, + [ + 81, + 51 + ] + ], + [ + "add", + 143, + 287, + 1, + 1, + [ + 463, + 51 + ] + ], + [ + "add", + 215, + 283, + -1, + 2, + [ + 81, + 51 + ] + ], + [ + "add", + 129, + 281, + -1, + 2, + [ + 463, + 51 + ] + ], + [ + "add", + 150, + 56, + 1, + 1, + [ + 388, + 51 + ] + ], + [ + "add", + 189, + 31, + 1, + 1, + [ + 41, + 26 + ] + ], + [ + "add", + 213, + 54, + -1, + 2, + [ + 196, + 51 + ] + ], + [ + "add", + 166, + 101, + -1, + 2, + [ + 324, + 51 + ] + ], + [ + "add", + 214, + 301, + 1, + 1, + [ + 273, + 51 + ] + ], + [ + "add", + 167, + 303, + 1, + 1, + [ + 145, + 51 + ] + ], + [ + "add", + 130, + 299, + -1, + 2, + [ + 273, + 51 + ] + ], + [ + "add", + 152, + 297, + -1, + 2, + [ + 145, + 51 + ] + ], + [ + "add", + 131, + 102, + 1, + 1, + [ + 196, + 51 + ] + ], + [ + "add", + 151, + 55, + 1, + 1, + [ + 324, + 51 + ] + ], + [ + "add", + 195, + 73, + -1, + 2, + [ + 224, + 30 + ] + ], + [ + "add", + 185, + 83, + -1, + 2, + [ + 352, + 30 + ] + ], + [ + "add", + 196, + 365, + 1, + 1, + [ + 262, + 30 + ] + ], + [ + "add", + 186, + 367, + 1, + 1, + [ + 134, + 30 + ] + ], + [ + "add", + 367, + 543, + -1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 171, + 363, + -1, + 2, + [ + 262, + 30 + ] + ], + [ + "add", + 142, + 361, + -1, + 2, + [ + 134, + 30 + ] + ], + [ + "add", + 172, + 84, + 1, + 1, + [ + 224, + 30 + ] + ], + [ + "add", + 141, + 74, + 1, + 1, + [ + 352, + 30 + ] + ], + [ + "add", + 210, + 48, + -1, + 2, + [ + 74, + 30 + ] + ], + [ + "add", + 160, + 98, + -1, + 2, + [ + 487, + 30 + ] + ], + [ + "add", + 144, + 317, + 1, + 1, + [ + 385, + 30 + ] + ], + [ + "add", + 197, + 319, + 1, + 1, + [ + 44, + 30 + ] + ], + [ + "add", + 157, + 315, + -1, + 2, + [ + 385, + 30 + ] + ], + [ + "add", + 219, + 313, + -1, + 2, + [ + 44, + 30 + ] + ], + [ + "add", + 136, + 32, + 1, + 1, + [ + 74, + 30 + ] + ], + [ + "add", + 32, + 506, + -1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 147, + 85, + 1, + 1, + [ + 487, + 30 + ] + ], + [ + "add", + 192, + 67, + -1, + 2, + [ + 67, + 51 + ] + ], + [ + "add", + 179, + 80, + -1, + 2, + [ + 477, + 51 + ] + ], + [ + "add", + 115, + 381, + 1, + 1, + [ + 392, + 51 + ] + ], + [ + "add", + 200, + 383, + 1, + 1, + [ + 37, + 22 + ] + ], + [ + "add", + 383, + 555, + -1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 120, + 379, + -1, + 2, + [ + 392, + 51 + ] + ], + [ + "add", + 207, + 377, + -1, + 2, + [ + 37, + 22 + ] + ], + [ + "add", + 178, + 3, + 1, + 1, + [ + 67, + 51 + ] + ], + [ + "add", + 3, + 554, + -1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 138, + 88, + 1, + 1, + [ + 477, + 51 + ] + ], + [ + "add", + 180, + 5, + -1, + 2, + [ + 259, + 51 + ] + ], + [ + "add", + 117, + 68, + -1, + 2, + [ + 131, + 51 + ] + ], + [ + "add", + 181, + 397, + 1, + 1, + [ + 200, + 51 + ] + ], + [ + "add", + 116, + 399, + 1, + 1, + [ + 328, + 51 + ] + ], + [ + "add", + 399, + 567, + -1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 208, + 395, + -1, + 2, + [ + 200, + 51 + ] + ], + [ + "add", + 176, + 393, + -1, + 2, + [ + 328, + 51 + ] + ], + [ + "add", + 209, + 69, + 1, + 1, + [ + 259, + 51 + ] + ], + [ + "add", + 69, + 566, + -1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 177, + 4, + 1, + 1, + [ + 131, + 51 + ] + ], + [ + "add", + 161, + 34, + -1, + 2, + [ + 266, + 30 + ] + ], + [ + "add", + 146, + 49, + -1, + 2, + [ + 138, + 30 + ] + ], + [ + "add", + 162, + 333, + 1, + 1, + [ + 193, + 30 + ] + ], + [ + "add", + 145, + 335, + 1, + 1, + [ + 321, + 30 + ] + ], + [ + "add", + 220, + 331, + -1, + 2, + [ + 193, + 30 + ] + ], + [ + "add", + 134, + 329, + -1, + 2, + [ + 321, + 30 + ] + ], + [ + "add", + 221, + 50, + 1, + 1, + [ + 266, + 30 + ] + ], + [ + "add", + 50, + 518, + -1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 135, + 33, + 1, + 1, + [ + 138, + 30 + ] + ], + [ + "add", + 112, + 76, + -1, + 2, + [ + 448, + 45 + ] + ], + [ + "add", + 188, + 0, + -1, + 2, + [ + 38, + 11 + ] + ], + [ + "add", + 183, + 72, + -1, + 2, + [ + 400, + 45 + ] + ], + [ + "add", + 182, + 2, + -1, + 2, + [ + 35, + 14 + ] + ], + [ + "add", + 114, + 70, + -1, + 2, + [ + 208, + 45 + ] + ], + [ + "add", + 184, + 71, + -1, + 2, + [ + 336, + 45 + ] + ], + [ + "add", + 76, + 0, + 1, + 1, + [ + 448, + 38, + 11 + ] + ], + [ + "add", + 71, + 72, + 1, + 1, + [ + 336, + 192, + 45 + ] + ], + [ + "add", + 2, + 70, + 1, + 1, + [ + 208, + 35, + 14 + ] + ], + [ + "add", + 112, + 71, + -1, + 2, + [ + 256, + 144, + 80, + 42, + 7 + ] + ], + [ + "add", + 182, + 76, + -1, + 2, + [ + 448, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 184, + 2, + -1, + 2, + [ + 336, + 208, + 35, + 9, + 7 + ] + ], + [ + "add", + 188, + 184, + 1, + 1, + [ + 336, + 208, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 183, + 182, + 1, + 1, + [ + 400, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 114, + 112, + 1, + 1, + [ + 256, + 128, + 64, + 42, + 16, + 7 + ] + ], + [ + "add", + 112, + 2, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 188, + 72, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 183, + 70, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 182, + 71, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 114, + 0, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 184, + 76, + -1, + 2, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 139, + 239, + 1, + 1, + [ + 478, + 45 + ] + ], + [ + "add", + 193, + 27, + 1, + 1, + [ + 38, + 11 + ] + ], + [ + "add", + 126, + 13, + -1, + 2, + [ + 73, + 45 + ] + ], + [ + "add", + 127, + 78, + -1, + 2, + [ + 471, + 45 + ] + ], + [ + "add", + 190, + 15, + -1, + 2, + [ + 265, + 45 + ] + ], + [ + "add", + 125, + 14, + -1, + 2, + [ + 137, + 45 + ] + ], + [ + "add", + 239, + 27, + 1, + 1, + [ + 469, + 38, + 11 + ] + ], + [ + "add", + 14, + 13, + 1, + 1, + [ + 137, + 73, + 45 + ] + ], + [ + "add", + 78, + 15, + 1, + 1, + [ + 265, + 222, + 45 + ] + ], + [ + "add", + 139, + 14, + -1, + 2, + [ + 263, + 137, + 73, + 45, + 25 + ] + ], + [ + "add", + 127, + 239, + 1, + 1, + [ + 453, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 125, + 78, + -1, + 2, + [ + 265, + 137, + 78, + 45, + 25 + ] + ], + [ + "add", + 193, + 125, + 1, + 1, + [ + 258, + 130, + 69, + 38, + 18, + 11 + ] + ], + [ + "add", + 126, + 127, + 1, + 1, + [ + 389, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 190, + 139, + 1, + 1, + [ + 263, + 135, + 71, + 35, + 23, + 14 + ] + ], + [ + "add", + 139, + 78, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 193, + 13, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 126, + 15, + -1, + 2, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 127, + 14, + -1, + 2, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 190, + 27, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 125, + 239, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 203, + 255, + 1, + 1, + [ + 261, + 45 + ] + ], + [ + "add", + 123, + 91, + 1, + 1, + [ + 208, + 45 + ] + ], + [ + "add", + 218, + 36, + -1, + 2, + [ + 146, + 45 + ] + ], + [ + "add", + 165, + 21, + -1, + 2, + [ + 268, + 45 + ] + ], + [ + "add", + 133, + 53, + 1, + 1, + [ + 265, + 45 + ] + ], + [ + "add", + 148, + 415, + 1, + 1, + [ + 194, + 45 + ] + ], + [ + "add", + 255, + 91, + 1, + 1, + [ + 261, + 208, + 45 + ] + ], + [ + "add", + 415, + 36, + -1, + 2, + [ + 146, + 80, + 45 + ] + ], + [ + "add", + 21, + 53, + -2, + 1, + [ + 265, + 40, + 5 + ] + ], + [ + "add", + 203, + 415, + 1, + 1, + [ + 261, + 144, + 80, + 45, + 2 + ] + ], + [ + "add", + 165, + 255, + 1, + 1, + [ + 261, + 130, + 82, + 36, + 9 + ] + ], + [ + "add", + 148, + 21, + -1, + 2, + [ + 265, + 144, + 82, + 40, + 5 + ] + ], + [ + "add", + 123, + 148, + 1, + 1, + [ + 265, + 130, + 64, + 40, + 18, + 5 + ] + ], + [ + "add", + 218, + 165, + 1, + 1, + [ + 261, + 130, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 133, + 203, + 1, + 1, + [ + 261, + 144, + 80, + 33, + 12, + 2 + ] + ], + [ + "add", + 203, + 21, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 123, + 36, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 218, + 53, + 1, + 1, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 165, + 415, + 1, + 1, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 133, + 91, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 148, + 255, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 201, + 271, + 1, + 1, + [ + 69, + 45 + ] + ], + [ + "add", + 121, + 89, + 1, + 1, + [ + 400, + 45 + ] + ], + [ + "add", + 216, + 111, + 1, + 1, + [ + 146, + 45 + ] + ], + [ + "add", + 163, + 447, + 1, + 1, + [ + 274, + 45 + ] + ], + [ + "add", + 222, + 51, + 1, + 1, + [ + 73, + 45 + ] + ], + [ + "add", + 223, + 431, + 1, + 1, + [ + 386, + 45 + ] + ], + [ + "add", + 271, + 89, + 1, + 1, + [ + 400, + 69, + 45 + ] + ], + [ + "add", + 431, + 111, + 1, + 1, + [ + 272, + 146, + 45 + ] + ], + [ + "add", + 447, + 51, + 1, + 1, + [ + 274, + 73, + 45 + ] + ], + [ + "add", + 201, + 431, + 1, + 1, + [ + 272, + 146, + 69, + 36, + 9 + ] + ], + [ + "add", + 163, + 271, + 1, + 1, + [ + 274, + 130, + 69, + 36, + 9 + ] + ], + [ + "add", + 223, + 447, + 1, + 1, + [ + 274, + 144, + 73, + 40, + 5 + ] + ], + [ + "add", + 121, + 223, + 1, + 1, + [ + 256, + 130, + 73, + 40, + 18, + 5 + ] + ], + [ + "add", + 216, + 163, + 1, + 1, + [ + 258, + 130, + 69, + 36, + 16, + 9 + ] + ], + [ + "add", + 222, + 201, + 1, + 1, + [ + 272, + 146, + 64, + 33, + 9, + 5 + ] + ], + [ + "add", + 201, + 447, + 1, + 1, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 121, + 111, + 1, + 1, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 216, + 51, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 163, + 431, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 222, + 89, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 223, + 271, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 191, + 25, + 1, + 1, + [ + 35, + 14 + ] + ], + [ + "add", + 137, + 269, + 1, + 1, + [ + 475, + 45 + ] + ], + [ + "add", + 211, + 445, + 1, + 1, + [ + 140, + 45 + ] + ], + [ + "add", + 156, + 47, + 1, + 1, + [ + 268, + 45 + ] + ], + [ + "add", + 159, + 429, + 1, + 1, + [ + 45, + 28 + ] + ], + [ + "add", + 158, + 99, + 1, + 1, + [ + 471, + 45 + ] + ], + [ + "add", + 25, + 269, + 1, + 1, + [ + 469, + 35, + 14 + ] + ], + [ + "add", + 99, + 445, + 1, + 1, + [ + 347, + 140, + 45 + ] + ], + [ + "add", + 47, + 429, + 1, + 1, + [ + 268, + 45, + 28 + ] + ], + [ + "add", + 191, + 99, + 1, + 1, + [ + 279, + 130, + 66, + 35, + 14 + ] + ], + [ + "add", + 156, + 25, + 1, + 1, + [ + 258, + 149, + 66, + 35, + 14 + ] + ], + [ + "add", + 158, + 47, + 1, + 1, + [ + 268, + 139, + 76, + 45, + 28 + ] + ], + [ + "add", + 137, + 158, + 1, + 1, + [ + 256, + 135, + 64, + 33, + 16, + 12 + ] + ], + [ + "add", + 211, + 156, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 23, + 14 + ] + ], + [ + "add", + 159, + 191, + 1, + 1, + [ + 261, + 130, + 66, + 35, + 18, + 14 + ] + ], + [ + "add", + 191, + 47, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 137, + 445, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 211, + 429, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 156, + 99, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 159, + 269, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 158, + 25, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 169, + 233, + -1, + 2, + [ + 478, + 45 + ] + ], + [ + "add", + 204, + 235, + -1, + 2, + [ + 45, + 21 + ] + ], + [ + "add", + 175, + 267, + -1, + 2, + [ + 475, + 45 + ] + ], + [ + "add", + 174, + 265, + -1, + 2, + [ + 69, + 45 + ] + ], + [ + "add", + 173, + 251, + -1, + 2, + [ + 133, + 45 + ] + ], + [ + "add", + 206, + 249, + -1, + 2, + [ + 261, + 45 + ] + ], + [ + "add", + 233, + 235, + 1, + 1, + [ + 459, + 45, + 21 + ] + ], + [ + "add", + 249, + 267, + 1, + 1, + [ + 261, + 222, + 45 + ] + ], + [ + "add", + 265, + 251, + 1, + 1, + [ + 133, + 69, + 45 + ] + ], + [ + "add", + 169, + 249, + -1, + 2, + [ + 256, + 217, + 40, + 5, + 2 + ] + ], + [ + "add", + 174, + 233, + -1, + 2, + [ + 393, + 66, + 42, + 18, + 7 + ] + ], + [ + "add", + 206, + 265, + -1, + 2, + [ + 258, + 130, + 66, + 42, + 7 + ] + ], + [ + "add", + 204, + 206, + 1, + 1, + [ + 258, + 130, + 66, + 42, + 18, + 7 + ] + ], + [ + "add", + 175, + 174, + 1, + 1, + [ + 393, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 173, + 169, + 1, + 1, + [ + 256, + 128, + 89, + 40, + 5, + 2 + ] + ], + [ + "add", + 169, + 265, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 204, + 267, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 175, + 251, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 174, + 249, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 173, + 235, + -1, + 2, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 206, + 233, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 119, + 87, + 1, + 1, + [ + 448, + 45 + ] + ], + [ + "add", + 199, + 237, + 1, + 1, + [ + 45, + 21 + ] + ], + [ + "add", + 153, + 427, + -1, + 2, + [ + 45, + 28 + ] + ], + [ + "add", + 154, + 425, + -1, + 2, + [ + 386, + 45 + ] + ], + [ + "add", + 155, + 411, + -1, + 2, + [ + 322, + 45 + ] + ], + [ + "add", + 128, + 409, + -1, + 2, + [ + 194, + 45 + ] + ], + [ + "add", + 87, + 237, + 1, + 1, + [ + 448, + 45, + 21 + ] + ], + [ + "add", + 409, + 427, + 1, + 1, + [ + 194, + 45, + 28 + ] + ], + [ + "add", + 425, + 411, + 1, + 1, + [ + 322, + 192, + 45 + ] + ], + [ + "add", + 119, + 409, + -1, + 2, + [ + 258, + 194, + 40, + 25, + 5 + ] + ], + [ + "add", + 154, + 87, + 1, + 1, + [ + 386, + 66, + 33, + 21, + 12 + ] + ], + [ + "add", + 128, + 425, + -1, + 2, + [ + 320, + 192, + 45, + 2 + ] + ], + [ + "add", + 199, + 128, + 1, + 1, + [ + 320, + 192, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 153, + 154, + 1, + 1, + [ + 386, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 155, + 119, + 1, + 1, + [ + 258, + 130, + 64, + 40, + 25, + 5 + ] + ], + [ + "add", + 119, + 425, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 199, + 427, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 153, + 411, + -1, + 2, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 154, + 409, + -1, + 2, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 155, + 237, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 128, + 87, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 122, + 90, + 1, + 1, + [ + 336, + 45 + ] + ], + [ + "add", + 202, + 253, + 1, + 1, + [ + 133, + 45 + ] + ], + [ + "add", + 164, + 443, + -1, + 2, + [ + 140, + 45 + ] + ], + [ + "add", + 217, + 441, + -1, + 2, + [ + 274, + 45 + ] + ], + [ + "add", + 149, + 413, + 1, + 1, + [ + 322, + 45 + ] + ], + [ + "add", + 132, + 52, + 1, + 1, + [ + 137, + 45 + ] + ], + [ + "add", + 90, + 253, + 1, + 1, + [ + 336, + 133, + 45 + ] + ], + [ + "add", + 52, + 443, + -1, + 2, + [ + 137, + 40, + 5 + ] + ], + [ + "add", + 441, + 413, + -2, + 1, + [ + 274, + 80, + 45 + ] + ], + [ + "add", + 122, + 52, + 1, + 1, + [ + 258, + 137, + 82, + 40, + 5 + ] + ], + [ + "add", + 217, + 90, + 1, + 1, + [ + 258, + 133, + 66, + 45, + 16 + ] + ], + [ + "add", + 132, + 441, + -1, + 2, + [ + 272, + 137, + 80, + 45, + 2 + ] + ], + [ + "add", + 202, + 132, + 1, + 1, + [ + 272, + 133, + 80, + 33, + 12, + 2 + ] + ], + [ + "add", + 164, + 217, + 1, + 1, + [ + 258, + 133, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 149, + 122, + 1, + 1, + [ + 258, + 137, + 64, + 40, + 18, + 5 + ] + ], + [ + "add", + 122, + 441, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 202, + 443, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 164, + 413, + 1, + 1, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 217, + 52, + 1, + 1, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 149, + 253, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 132, + 90, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 448, + 231, + 1, + 1, + [ + 459, + 38, + 21 + ] + ], + [ + "add", + 449, + 226, + 1, + 1, + [ + 448, + 51, + 11 + ] + ], + [ + "add", + 450, + 230, + 1, + 1, + [ + 448, + 38, + 30 + ] + ], + [ + "add", + 451, + 228, + 1, + 1, + [ + 486, + 21, + 11 + ] + ], + [ + "add", + 452, + 232, + 1, + 1, + [ + 459, + 38, + 30 + ] + ], + [ + "add", + 453, + 7, + 1, + 1, + [ + 448, + 21, + 11 + ] + ], + [ + "add", + 454, + 236, + 1, + 1, + [ + 448, + 38, + 21 + ] + ], + [ + "add", + 455, + 238, + 1, + 1, + [ + 469, + 51, + 11 + ] + ], + [ + "add", + 456, + 247, + 1, + 1, + [ + 261, + 133, + 82, + 42 + ] + ], + [ + "add", + 457, + 242, + 1, + 1, + [ + 258, + 130, + 82, + 42 + ] + ], + [ + "add", + 458, + 246, + 1, + 1, + [ + 261, + 130, + 85, + 42 + ] + ], + [ + "add", + 459, + 244, + 1, + 1, + [ + 258, + 133, + 85, + 42 + ] + ], + [ + "add", + 460, + 248, + 1, + 1, + [ + 296, + 168, + 82, + 7 + ] + ], + [ + "add", + 461, + 10, + 1, + 1, + [ + 258, + 130, + 82, + 7 + ] + ], + [ + "add", + 462, + 252, + 1, + 1, + [ + 296, + 130, + 120, + 7 + ] + ], + [ + "add", + 463, + 254, + 1, + 1, + [ + 258, + 168, + 120, + 7 + ] + ], + [ + "add", + 464, + 263, + 1, + 1, + [ + 407, + 69, + 36, + 14 + ] + ], + [ + "add", + 465, + 258, + 1, + 1, + [ + 400, + 66, + 35, + 9 + ] + ], + [ + "add", + 466, + 262, + 1, + 1, + [ + 407, + 69, + 35, + 9 + ] + ], + [ + "add", + 467, + 260, + 1, + 1, + [ + 400, + 66, + 36, + 14 + ] + ], + [ + "add", + 468, + 264, + 1, + 1, + [ + 435, + 97, + 9, + 7 + ] + ], + [ + "add", + 469, + 79, + 1, + 1, + [ + 400, + 66, + 35, + 7 + ] + ], + [ + "add", + 470, + 268, + 1, + 1, + [ + 409, + 75, + 35, + 7 + ] + ], + [ + "add", + 471, + 270, + 1, + 1, + [ + 400, + 66, + 9, + 7 + ] + ], + [ + "add", + 283, + 281, + 1, + 1, + [ + 414, + 81, + 51 + ] + ], + [ + "add", + 277, + 281, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "scale", + 277, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 100, + 12, + 1, + 1, + [ + 388, + 41, + 26 + ] + ], + [ + "add", + 273, + 12, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 56, + 285, + 1, + 1, + [ + 388, + 81, + 51 + ] + ], + [ + "add", + 282, + 285, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "scale", + 282, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 287, + 31, + 1, + 1, + [ + 463, + 41, + 26 + ] + ], + [ + "add", + 275, + 31, + -1, + 1, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 472, + 283, + 1, + 1, + [ + 414, + 81, + 51 + ] + ], + [ + "add", + 472, + 231, + 1, + 1, + [ + 387, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 473, + 100, + 1, + 1, + [ + 388, + 41, + 26 + ] + ], + [ + "add", + 473, + 226, + 1, + 1, + [ + 388, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 474, + 279, + 1, + 1, + [ + 388, + 72, + 42, + 26 + ] + ], + [ + "add", + 475, + 274, + 1, + 1, + [ + 413, + 81, + 41, + 3 + ] + ], + [ + "add", + 476, + 278, + 1, + 1, + [ + 391, + 75, + 42, + 26 + ] + ], + [ + "add", + 477, + 276, + 1, + 1, + [ + 388, + 72, + 41, + 3 + ] + ], + [ + "add", + 478, + 280, + 1, + 1, + [ + 388, + 72, + 25, + 3 + ] + ], + [ + "add", + 479, + 38, + 1, + 1, + [ + 391, + 75, + 41, + 25 + ] + ], + [ + "add", + 480, + 284, + 1, + 1, + [ + 429, + 97, + 25, + 3 + ] + ], + [ + "add", + 481, + 286, + 1, + 1, + [ + 388, + 72, + 41, + 25 + ] + ], + [ + "add", + 273, + 56, + 1, + 1, + [ + 388, + 81, + 48, + 3 + ] + ], + [ + "add", + 275, + 287, + 1, + 1, + [ + 391, + 72, + 41, + 26 + ] + ], + [ + "add", + 299, + 297, + 1, + 1, + [ + 273, + 145, + 51 + ] + ], + [ + "add", + 293, + 297, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "scale", + 293, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 54, + 101, + 1, + 1, + [ + 324, + 196, + 51 + ] + ], + [ + "add", + 289, + 101, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 102, + 301, + 1, + 1, + [ + 273, + 196, + 51 + ] + ], + [ + "add", + 298, + 301, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "scale", + 298, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 303, + 55, + 1, + 1, + [ + 324, + 145, + 51 + ] + ], + [ + "add", + 291, + 55, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 484, + 299, + 1, + 1, + [ + 273, + 145, + 51 + ] + ], + [ + "add", + 484, + 448, + 1, + 1, + [ + 260, + 132, + 71, + 38, + 21, + 12 + ] + ], + [ + "add", + 485, + 54, + 1, + 1, + [ + 324, + 196, + 51 + ] + ], + [ + "add", + 485, + 449, + 1, + 1, + [ + 260, + 132, + 64, + 33, + 18, + 11 + ] + ], + [ + "add", + 486, + 295, + 1, + 1, + [ + 273, + 136, + 85, + 42 + ] + ], + [ + "add", + 487, + 290, + 1, + 1, + [ + 264, + 145, + 85, + 42 + ] + ], + [ + "add", + 488, + 294, + 1, + 1, + [ + 264, + 136, + 76, + 42 + ] + ], + [ + "add", + 489, + 292, + 1, + 1, + [ + 273, + 145, + 76, + 42 + ] + ], + [ + "add", + 490, + 296, + 1, + 1, + [ + 290, + 136, + 102, + 25 + ] + ], + [ + "add", + 491, + 19, + 1, + 1, + [ + 264, + 162, + 102, + 25 + ] + ], + [ + "add", + 492, + 300, + 1, + 1, + [ + 264, + 136, + 76, + 25 + ] + ], + [ + "add", + 493, + 302, + 1, + 1, + [ + 290, + 162, + 76, + 25 + ] + ], + [ + "add", + 289, + 102, + 1, + 1, + [ + 273, + 136, + 76, + 51 + ] + ], + [ + "add", + 291, + 303, + 1, + 1, + [ + 264, + 145, + 76, + 51 + ] + ], + [ + "add", + 315, + 313, + 1, + 1, + [ + 385, + 44, + 30 + ] + ], + [ + "add", + 309, + 313, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "scale", + 309, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 48, + 98, + 1, + 1, + [ + 429, + 74, + 30 + ] + ], + [ + "add", + 305, + 98, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 32, + 317, + 1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 314, + 317, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "scale", + 314, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 319, + 85, + 1, + 1, + [ + 459, + 44, + 30 + ] + ], + [ + "add", + 307, + 85, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 496, + 315, + 1, + 1, + [ + 385, + 44, + 30 + ] + ], + [ + "add", + 496, + 230, + 1, + 1, + [ + 385, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 497, + 48, + 1, + 1, + [ + 429, + 74, + 30 + ] + ], + [ + "add", + 497, + 228, + 1, + 1, + [ + 390, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 498, + 311, + 1, + 1, + [ + 385, + 74, + 50 + ] + ], + [ + "add", + 499, + 306, + 1, + 1, + [ + 415, + 84, + 44 + ] + ], + [ + "add", + 500, + 310, + 1, + 1, + [ + 415, + 84, + 50 + ] + ], + [ + "add", + 501, + 308, + 1, + 1, + [ + 385, + 74, + 44 + ] + ], + [ + "add", + 502, + 312, + 1, + 1, + [ + 415, + 74, + 44 + ] + ], + [ + "add", + 503, + 24, + 1, + 1, + [ + 385, + 84, + 50 + ] + ], + [ + "add", + 504, + 316, + 1, + 1, + [ + 385, + 84, + 44 + ] + ], + [ + "add", + 505, + 318, + 1, + 1, + [ + 415, + 74, + 50 + ] + ], + [ + "add", + 506, + 32, + 1, + 1, + [ + 385, + 74, + 30 + ] + ], + [ + "add", + 305, + 319, + 1, + 1, + [ + 391, + 76, + 44, + 30 + ] + ], + [ + "add", + 331, + 329, + 1, + 1, + [ + 321, + 193, + 30 + ] + ], + [ + "add", + 325, + 329, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "scale", + 325, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 34, + 49, + 1, + 1, + [ + 266, + 138, + 30 + ] + ], + [ + "add", + 321, + 49, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 50, + 333, + 1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 330, + 333, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "scale", + 330, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 335, + 33, + 1, + 1, + [ + 321, + 138, + 30 + ] + ], + [ + "add", + 323, + 33, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 508, + 331, + 1, + 1, + [ + 321, + 193, + 30 + ] + ], + [ + "add", + 508, + 450, + 1, + 1, + [ + 257, + 129, + 64, + 38, + 18, + 12 + ] + ], + [ + "add", + 509, + 34, + 1, + 1, + [ + 266, + 138, + 30 + ] + ], + [ + "add", + 509, + 451, + 1, + 1, + [ + 257, + 129, + 71, + 33, + 21, + 11 + ] + ], + [ + "add", + 510, + 327, + 1, + 1, + [ + 276, + 138, + 85 + ] + ], + [ + "add", + 511, + 322, + 1, + 1, + [ + 266, + 148, + 85 + ] + ], + [ + "add", + 512, + 326, + 1, + 1, + [ + 266, + 138, + 75 + ] + ], + [ + "add", + 513, + 324, + 1, + 1, + [ + 276, + 148, + 75 + ] + ], + [ + "add", + 514, + 328, + 1, + 1, + [ + 276, + 138, + 75 + ] + ], + [ + "add", + 515, + 109, + 1, + 1, + [ + 266, + 148, + 75 + ] + ], + [ + "add", + 516, + 332, + 1, + 1, + [ + 266, + 138, + 85 + ] + ], + [ + "add", + 517, + 334, + 1, + 1, + [ + 276, + 148, + 85 + ] + ], + [ + "add", + 518, + 50, + 1, + 1, + [ + 266, + 193, + 30 + ] + ], + [ + "add", + 321, + 335, + 1, + 1, + [ + 288, + 138, + 97, + 30 + ] + ], + [ + "add", + 347, + 345, + 1, + 1, + [ + 429, + 70, + 30 + ] + ], + [ + "add", + 341, + 345, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "scale", + 341, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 82, + 6, + 1, + 1, + [ + 416, + 19, + 13 + ] + ], + [ + "add", + 337, + 6, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 75, + 349, + 1, + 1, + [ + 416, + 70, + 30 + ] + ], + [ + "add", + 346, + 349, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "scale", + 346, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 351, + 1, + 1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 339, + 1, + -1, + 1, + [ + 416, + 70, + 19, + 13 + ] + ], + [ + "add", + 520, + 347, + 1, + 1, + [ + 429, + 70, + 30 + ] + ], + [ + "add", + 520, + 232, + -2, + 1, + [ + 394, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 521, + 82, + 1, + 1, + [ + 416, + 19, + 13 + ] + ], + [ + "add", + 521, + 7, + -2, + 1, + [ + 416, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 522, + 343, + 1, + 1, + [ + 416, + 65, + 19, + 7 + ] + ], + [ + "add", + 523, + 338, + 1, + 1, + [ + 435, + 82, + 10, + 7 + ] + ], + [ + "add", + 524, + 342, + 1, + 1, + [ + 426, + 75, + 19, + 7 + ] + ], + [ + "add", + 525, + 340, + 1, + 1, + [ + 416, + 65, + 10, + 7 + ] + ], + [ + "add", + 526, + 344, + 1, + 1, + [ + 416, + 65, + 19, + 10 + ] + ], + [ + "add", + 527, + 28, + 1, + 1, + [ + 423, + 70, + 20, + 13 + ] + ], + [ + "add", + 528, + 348, + 1, + 1, + [ + 423, + 70, + 19, + 10 + ] + ], + [ + "add", + 529, + 350, + 1, + 1, + [ + 416, + 65, + 20, + 13 + ] + ], + [ + "add", + 530, + 75, + 1, + 1, + [ + 416, + 70, + 30 + ] + ], + [ + "add", + 531, + 351, + 1, + 1, + [ + 486, + 19, + 13 + ] + ], + [ + "add", + 363, + 361, + 1, + 1, + [ + 262, + 134, + 30 + ] + ], + [ + "add", + 357, + 361, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "scale", + 357, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 73, + 83, + 1, + 1, + [ + 352, + 224, + 30 + ] + ], + [ + "add", + 353, + 83, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 84, + 365, + 1, + 1, + [ + 262, + 224, + 30 + ] + ], + [ + "add", + 362, + 365, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "scale", + 362, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 367, + 74, + 1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 355, + 74, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 532, + 363, + 1, + 1, + [ + 262, + 134, + 30 + ] + ], + [ + "add", + 532, + 452, + -2, + 1, + [ + 257, + 129, + 75, + 33, + 25, + 7 + ] + ], + [ + "add", + 533, + 73, + 1, + 1, + [ + 352, + 224, + 30 + ] + ], + [ + "add", + 533, + 453, + -2, + 1, + [ + 288, + 160, + 64, + 18, + 11, + 7 + ] + ], + [ + "add", + 534, + 359, + 1, + 1, + [ + 280, + 129, + 120, + 7 + ] + ], + [ + "add", + 535, + 354, + 1, + 1, + [ + 257, + 152, + 120, + 7 + ] + ], + [ + "add", + 536, + 358, + 1, + 1, + [ + 257, + 129, + 97, + 7 + ] + ], + [ + "add", + 537, + 356, + 1, + 1, + [ + 280, + 152, + 97, + 7 + ] + ], + [ + "add", + 538, + 360, + 1, + 1, + [ + 262, + 129, + 102, + 25 + ] + ], + [ + "add", + 539, + 60, + 1, + 1, + [ + 257, + 134, + 102, + 25 + ] + ], + [ + "add", + 540, + 364, + 1, + 1, + [ + 257, + 129, + 97, + 25 + ] + ], + [ + "add", + 541, + 366, + 1, + 1, + [ + 262, + 134, + 97, + 25 + ] + ], + [ + "add", + 542, + 84, + 1, + 1, + [ + 262, + 224, + 30 + ] + ], + [ + "add", + 543, + 367, + 1, + 1, + [ + 352, + 134, + 30 + ] + ], + [ + "add", + 379, + 377, + 1, + 1, + [ + 392, + 37, + 22 + ] + ], + [ + "add", + 373, + 377, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "scale", + 373, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 67, + 80, + 1, + 1, + [ + 414, + 67, + 51 + ] + ], + [ + "add", + 369, + 80, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 3, + 381, + 1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 378, + 381, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "scale", + 378, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 383, + 88, + 1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 371, + 88, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 88, + 80, + 1, + 2, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 80, + 88, + -1, + 1, + [ + 392, + 67, + 37, + 22 + ] + ], + [ + "add", + 544, + 379, + 1, + 1, + [ + 392, + 37, + 22 + ] + ], + [ + "add", + 544, + 236, + -2, + 1, + [ + 392, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 545, + 67, + 1, + 1, + [ + 414, + 67, + 51 + ] + ], + [ + "add", + 545, + 238, + -2, + 1, + [ + 401, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 546, + 375, + 1, + 1, + [ + 392, + 67, + 22 + ] + ], + [ + "add", + 547, + 370, + 1, + 1, + [ + 414, + 85, + 37 + ] + ], + [ + "add", + 548, + 374, + 1, + 1, + [ + 429, + 102, + 22 + ] + ], + [ + "add", + 549, + 372, + 1, + 1, + [ + 392, + 67, + 37 + ] + ], + [ + "add", + 550, + 376, + 1, + 1, + [ + 414, + 67, + 37 + ] + ], + [ + "add", + 551, + 66, + 1, + 1, + [ + 392, + 102, + 22 + ] + ], + [ + "add", + 552, + 380, + 1, + 1, + [ + 392, + 85, + 37 + ] + ], + [ + "add", + 553, + 382, + 1, + 1, + [ + 429, + 67, + 22 + ] + ], + [ + "add", + 554, + 3, + 1, + 1, + [ + 392, + 67, + 51 + ] + ], + [ + "add", + 555, + 383, + 1, + 1, + [ + 459, + 37, + 22 + ] + ], + [ + "add", + 395, + 393, + 1, + 1, + [ + 328, + 200, + 51 + ] + ], + [ + "add", + 389, + 393, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "scale", + 389, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 5, + 68, + 1, + 1, + [ + 259, + 131, + 51 + ] + ], + [ + "add", + 385, + 68, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 69, + 397, + 1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 394, + 397, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "scale", + 394, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 399, + 4, + 1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 387, + 4, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 556, + 395, + 1, + 1, + [ + 328, + 200, + 51 + ] + ], + [ + "add", + 556, + 454, + -2, + 1, + [ + 264, + 136, + 64, + 33, + 18, + 7 + ] + ], + [ + "add", + 557, + 5, + 1, + 1, + [ + 259, + 131, + 51 + ] + ], + [ + "add", + 557, + 455, + -2, + 1, + [ + 259, + 131, + 82, + 51, + 11, + 7 + ] + ], + [ + "add", + 558, + 391, + 1, + 1, + [ + 304, + 131, + 120 + ] + ], + [ + "add", + 559, + 386, + 1, + 1, + [ + 259, + 176, + 120 + ] + ], + [ + "add", + 560, + 390, + 1, + 1, + [ + 259, + 131, + 75 + ] + ], + [ + "add", + 561, + 388, + 1, + 1, + [ + 304, + 176, + 75 + ] + ], + [ + "add", + 562, + 392, + 1, + 1, + [ + 304, + 131, + 75 + ] + ], + [ + "add", + 563, + 97, + 1, + 1, + [ + 259, + 176, + 75 + ] + ], + [ + "add", + 564, + 396, + 1, + 1, + [ + 259, + 131, + 120 + ] + ], + [ + "add", + 565, + 398, + 1, + 1, + [ + 304, + 176, + 120 + ] + ], + [ + "add", + 566, + 69, + 1, + 1, + [ + 259, + 200, + 51 + ] + ], + [ + "add", + 567, + 399, + 1, + 1, + [ + 328, + 131, + 51 + ] + ], + [ + "add", + 568, + 407, + 1, + 1, + [ + 292, + 164, + 75 + ] + ], + [ + "add", + 569, + 402, + 1, + 1, + [ + 265, + 137, + 75 + ] + ], + [ + "add", + 570, + 406, + 1, + 1, + [ + 292, + 137, + 102 + ] + ], + [ + "add", + 571, + 404, + 1, + 1, + [ + 265, + 164, + 102 + ] + ], + [ + "add", + 572, + 408, + 1, + 1, + [ + 292, + 164, + 102 + ] + ], + [ + "add", + 573, + 105, + 1, + 1, + [ + 265, + 137, + 102 + ] + ], + [ + "add", + 574, + 412, + 1, + 1, + [ + 292, + 137, + 75 + ] + ], + [ + "add", + 575, + 414, + 1, + 1, + [ + 265, + 164, + 75 + ] + ], + [ + "add", + 576, + 423, + 1, + 1, + [ + 431, + 100, + 28 + ] + ], + [ + "add", + 577, + 418, + 1, + 1, + [ + 386, + 73, + 49 + ] + ], + [ + "add", + 578, + 422, + 1, + 1, + [ + 414, + 85, + 49 + ] + ], + [ + "add", + 579, + 420, + 1, + 1, + [ + 386, + 73, + 28 + ] + ], + [ + "add", + 580, + 424, + 1, + 1, + [ + 386, + 85, + 49 + ] + ], + [ + "add", + 581, + 44, + 1, + 1, + [ + 431, + 73, + 28 + ] + ], + [ + "add", + 582, + 428, + 1, + 1, + [ + 386, + 100, + 28 + ] + ], + [ + "add", + 583, + 430, + 1, + 1, + [ + 414, + 73, + 49 + ] + ], + [ + "add", + 584, + 439, + 1, + 1, + [ + 268, + 140, + 51 + ] + ], + [ + "add", + 585, + 434, + 1, + 1, + [ + 274, + 146, + 51 + ] + ], + [ + "add", + 383, + 585, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 22, + 15 + ] + ], + [ + "add", + 287, + 434, + -1, + 2, + [ + 264, + 136, + 72, + 41, + 26, + 7 + ] + ], + [ + "add", + 586, + 438, + 1, + 1, + [ + 289, + 161, + 30 + ] + ], + [ + "add", + 587, + 436, + 1, + 1, + [ + 268, + 140, + 30 + ] + ], + [ + "add", + 351, + 587, + -1, + 2, + [ + 257, + 129, + 65, + 39, + 19, + 13 + ] + ], + [ + "add", + 319, + 436, + -1, + 2, + [ + 267, + 139, + 75, + 43, + 25, + 7 + ] + ], + [ + "add", + 588, + 440, + 1, + 1, + [ + 268, + 161, + 30 + ] + ], + [ + "add", + 589, + 46, + 1, + 1, + [ + 289, + 140, + 30 + ] + ], + [ + "add", + 367, + 589, + 1, + 1, + [ + 257, + 134, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 335, + 46, + 1, + 1, + [ + 288, + 138, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 590, + 444, + 1, + 1, + [ + 274, + 140, + 51 + ] + ], + [ + "add", + 591, + 446, + 1, + 1, + [ + 268, + 146, + 51 + ] + ], + [ + "add", + 399, + 591, + 1, + 1, + [ + 260, + 131, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 303, + 446, + 1, + 1, + [ + 264, + 145, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 129, + 299, + -1, + 2, + [ + 273, + 145, + 79, + 51 + ] + ], + [ + "add", + 212, + 54, + -1, + 2, + [ + 324, + 196, + 41, + 26 + ] + ], + [ + "add", + 168, + 554, + 1, + 1, + [ + 392, + 67, + 33, + 18 + ] + ], + [ + "add", + 150, + 439, + -1, + 2, + [ + 264, + 136, + 51, + 4 + ] + ], + [ + "add", + 143, + 555, + 1, + 1, + [ + 459, + 33, + 18, + 4 + ] + ], + [ + "add", + 152, + 283, + -1, + 2, + [ + 271, + 145, + 81, + 51 + ] + ], + [ + "add", + 166, + 100, + -1, + 2, + [ + 324, + 192, + 41, + 26 + ] + ], + [ + "add", + 214, + 566, + 1, + 1, + [ + 259, + 200, + 33, + 18 + ] + ], + [ + "add", + 131, + 444, + 1, + 1, + [ + 274, + 136, + 72, + 51, + 4 + ] + ], + [ + "add", + 167, + 567, + 1, + 1, + [ + 328, + 131, + 33, + 18 + ] + ], + [ + "add", + 219, + 331, + -1, + 2, + [ + 321, + 193, + 44, + 30 + ] + ], + [ + "add", + 160, + 34, + -1, + 2, + [ + 266, + 138, + 103, + 30 + ] + ], + [ + "add", + 144, + 530, + 1, + 1, + [ + 385, + 70, + 33, + 30 + ] + ], + [ + "add", + 136, + 586, + -1, + 2, + [ + 289, + 161, + 64, + 18, + 10, + 6 + ] + ], + [ + "add", + 197, + 531, + 1, + 1, + [ + 455, + 33, + 19, + 13 + ] + ], + [ + "add", + 134, + 315, + -1, + 2, + [ + 321, + 192, + 44, + 30 + ] + ], + [ + "add", + 146, + 48, + -1, + 2, + [ + 295, + 138, + 74, + 30 + ] + ], + [ + "add", + 162, + 542, + 1, + 1, + [ + 262, + 193, + 33, + 30 + ] + ], + [ + "add", + 221, + 588, + 1, + 1, + [ + 256, + 161, + 97, + 18, + 10, + 6 + ] + ], + [ + "add", + 145, + 543, + 1, + 1, + [ + 321, + 134, + 33, + 30 + ] + ], + [ + "add", + 170, + 363, + -1, + 2, + [ + 262, + 134, + 107, + 30 + ] + ], + [ + "add", + 194, + 73, + -1, + 2, + [ + 352, + 224, + 19, + 13 + ] + ], + [ + "add", + 187, + 506, + 1, + 1, + [ + 385, + 70, + 18, + 12 + ] + ], + [ + "add", + 140, + 438, + -1, + 2, + [ + 256, + 128, + 76, + 32, + 30, + 1 + ] + ], + [ + "add", + 113, + 305, + 1, + 1, + [ + 391, + 64, + 32, + 18, + 12 + ] + ], + [ + "add", + 142, + 347, + -1, + 2, + [ + 299, + 134, + 70, + 30 + ] + ], + [ + "add", + 185, + 82, + -1, + 2, + [ + 352, + 192, + 19, + 13 + ] + ], + [ + "add", + 196, + 518, + 1, + 1, + [ + 262, + 193, + 18, + 12 + ] + ], + [ + "add", + 172, + 440, + 1, + 1, + [ + 268, + 128, + 64, + 32, + 30, + 1 + ] + ], + [ + "add", + 186, + 321, + 1, + 1, + [ + 288, + 134, + 97, + 18, + 12 + ] + ], + [ + "add", + 207, + 395, + -1, + 2, + [ + 328, + 200, + 37, + 22 + ] + ], + [ + "add", + 179, + 5, + -1, + 2, + [ + 259, + 131, + 93, + 51 + ] + ], + [ + "add", + 115, + 273, + 1, + 1, + [ + 388, + 81, + 48, + 12, + 3 + ] + ], + [ + "add", + 56, + 439, + -1, + 2, + [ + 264, + 136, + 81, + 48, + 4, + 3 + ] + ], + [ + "add", + 200, + 275, + 1, + 1, + [ + 391, + 68, + 37, + 22, + 12 + ] + ], + [ + "add", + 176, + 379, + -1, + 2, + [ + 328, + 192, + 37, + 22 + ] + ], + [ + "add", + 117, + 67, + -1, + 2, + [ + 285, + 131, + 67, + 51 + ] + ], + [ + "add", + 181, + 289, + 1, + 1, + [ + 273, + 132, + 64, + 51, + 12 + ] + ], + [ + "add", + 102, + 444, + 1, + 1, + [ + 273, + 136, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 116, + 291, + 1, + 1, + [ + 260, + 145, + 64, + 51, + 12 + ] + ], + [ + "add", + 283, + 299, + 1, + 1, + [ + 271, + 143, + 79, + 45, + 30 + ] + ], + [ + "add", + 100, + 54, + 1, + 1, + [ + 320, + 192, + 41, + 26, + 4 + ] + ], + [ + "add", + 315, + 331, + 1, + 1, + [ + 320, + 192, + 44, + 30, + 1 + ] + ], + [ + "add", + 48, + 34, + 1, + 1, + [ + 266, + 138, + 74, + 45, + 30 + ] + ], + [ + "add", + 347, + 363, + 1, + 1, + [ + 262, + 134, + 70, + 45, + 30 + ] + ], + [ + "add", + 82, + 73, + 1, + 1, + [ + 320, + 192, + 32, + 19, + 13 + ] + ], + [ + "add", + 379, + 395, + 1, + 1, + [ + 320, + 192, + 37, + 22, + 8 + ] + ], + [ + "add", + 67, + 5, + 1, + 1, + [ + 259, + 131, + 67, + 45, + 30 + ] + ], + [ + "add", + 279, + 311, + 1, + 1, + [ + 385, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 274, + 306, + 1, + 1, + [ + 408, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 295, + 327, + 1, + 1, + [ + 273, + 136, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 290, + 322, + 1, + 1, + [ + 264, + 145, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 343, + 375, + 1, + 1, + [ + 392, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 338, + 370, + 1, + 1, + [ + 401, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 359, + 391, + 1, + 1, + [ + 280, + 129, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 354, + 386, + 1, + 1, + [ + 257, + 152, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 278, + 326, + 1, + 1, + [ + 266, + 138, + 75, + 42, + 26, + 7 + ] + ], + [ + "add", + 276, + 324, + 1, + 1, + [ + 272, + 144, + 72, + 41, + 4, + 3 + ] + ], + [ + "add", + 294, + 310, + 1, + 1, + [ + 264, + 136, + 75, + 42, + 24, + 7 + ] + ], + [ + "add", + 292, + 308, + 1, + 1, + [ + 272, + 144, + 74, + 42, + 6, + 1 + ] + ], + [ + "add", + 358, + 374, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 17, + 7 + ] + ], + [ + "add", + 356, + 372, + 1, + 1, + [ + 272, + 144, + 67, + 34, + 8, + 7 + ] + ], + [ + "add", + 342, + 390, + 1, + 1, + [ + 259, + 131, + 75, + 42, + 19, + 7 + ] + ], + [ + "add", + 340, + 388, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 10, + 7 + ] + ], + [ + "add", + 247, + 498, + 1, + 1, + [ + 260, + 132, + 74, + 42, + 24, + 1 + ] + ], + [ + "add", + 242, + 499, + 1, + 1, + [ + 258, + 130, + 75, + 42, + 25, + 6 + ] + ], + [ + "add", + 263, + 512, + 1, + 1, + [ + 260, + 132, + 69, + 36, + 23, + 14 + ] + ], + [ + "add", + 258, + 513, + 1, + 1, + [ + 260, + 132, + 66, + 35, + 16, + 9 + ] + ], + [ + "add", + 344, + 407, + -1, + 2, + [ + 260, + 132, + 65, + 32, + 19, + 10 + ] + ], + [ + "add", + 28, + 402, + -1, + 2, + [ + 260, + 132, + 70, + 39, + 20, + 13 + ] + ], + [ + "add", + 364, + 423, + -1, + 2, + [ + 257, + 129, + 75, + 42, + 25, + 5 + ] + ], + [ + "add", + 366, + 418, + -1, + 2, + [ + 260, + 132, + 73, + 40, + 25, + 2 + ] + ], + [ + "add", + 246, + 510, + 1, + 1, + [ + 261, + 130, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 244, + 511, + 1, + 1, + [ + 258, + 133, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 262, + 500, + 1, + 1, + [ + 390, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 260, + 501, + 1, + 1, + [ + 385, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 360, + 406, + -1, + 2, + [ + 262, + 129, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 60, + 404, + -1, + 2, + [ + 257, + 134, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 348, + 422, + -1, + 2, + [ + 389, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 350, + 420, + -1, + 2, + [ + 386, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 456, + 474, + 1, + 1, + [ + 257, + 129, + 72, + 42, + 26, + 4 + ] + ], + [ + "add", + 457, + 475, + 1, + 1, + [ + 257, + 129, + 76, + 41, + 29, + 3 + ] + ], + [ + "add", + 466, + 488, + 1, + 1, + [ + 257, + 129, + 69, + 35, + 23, + 9 + ] + ], + [ + "add", + 467, + 489, + 1, + 1, + [ + 257, + 129, + 66, + 36, + 16, + 14 + ] + ], + [ + "add", + 376, + 408, + 1, + 1, + [ + 257, + 129, + 67, + 37, + 30 + ] + ], + [ + "add", + 66, + 105, + 1, + 1, + [ + 257, + 129, + 102, + 22, + 8 + ] + ], + [ + "add", + 396, + 428, + 1, + 1, + [ + 257, + 129, + 100, + 28, + 2 + ] + ], + [ + "add", + 398, + 430, + 1, + 1, + [ + 257, + 129, + 73, + 47, + 30 + ] + ], + [ + "add", + 458, + 486, + 1, + 1, + [ + 261, + 130, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 459, + 487, + 1, + 1, + [ + 258, + 133, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 464, + 476, + 1, + 1, + [ + 387, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 465, + 477, + 1, + 1, + [ + 388, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 392, + 412, + 1, + 1, + [ + 292, + 131, + 65, + 20, + 10 + ] + ], + [ + "add", + 97, + 414, + 1, + 1, + [ + 259, + 164, + 65, + 20, + 10 + ] + ], + [ + "add", + 380, + 424, + 1, + 1, + [ + 386, + 65, + 37, + 20, + 10 + ] + ], + [ + "add", + 382, + 44, + 1, + 1, + [ + 421, + 65, + 20, + 8, + 2 + ] + ], + [ + "add", + 248, + 546, + -1, + 2, + [ + 288, + 160, + 67, + 17, + 8, + 7 + ] + ], + [ + "add", + 10, + 547, + -1, + 2, + [ + 258, + 130, + 75, + 34, + 25, + 7 + ] + ], + [ + "add", + 268, + 560, + -1, + 2, + [ + 259, + 131, + 75, + 35, + 25, + 7 + ] + ], + [ + "add", + 270, + 561, + -1, + 2, + [ + 288, + 160, + 66, + 16, + 9, + 7 + ] + ], + [ + "add", + 280, + 568, + -1, + 2, + [ + 288, + 160, + 72, + 25, + 4, + 3 + ] + ], + [ + "add", + 38, + 569, + -1, + 2, + [ + 265, + 137, + 75, + 41, + 25, + 7 + ] + ], + [ + "add", + 300, + 578, + -1, + 2, + [ + 264, + 136, + 75, + 40, + 25, + 7 + ] + ], + [ + "add", + 302, + 579, + -1, + 2, + [ + 288, + 160, + 73, + 25, + 5, + 2 + ] + ], + [ + "add", + 252, + 558, + -1, + 2, + [ + 296, + 130, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 254, + 559, + -1, + 2, + [ + 258, + 168, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 264, + 548, + -1, + 2, + [ + 418, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 79, + 549, + -1, + 2, + [ + 392, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 296, + 570, + -1, + 2, + [ + 290, + 136, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 19, + 571, + -1, + 2, + [ + 264, + 162, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 284, + 576, + -1, + 2, + [ + 424, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 286, + 577, + -1, + 2, + [ + 386, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 460, + 522, + -1, + 2, + [ + 264, + 136, + 65, + 32, + 19, + 7 + ] + ], + [ + "add", + 461, + 523, + -1, + 2, + [ + 258, + 130, + 82, + 51, + 10, + 7 + ] + ], + [ + "add", + 468, + 536, + -1, + 2, + [ + 257, + 129, + 82, + 51, + 9, + 7 + ] + ], + [ + "add", + 469, + 537, + -1, + 2, + [ + 264, + 136, + 66, + 35, + 16, + 7 + ] + ], + [ + "add", + 312, + 572, + 1, + 1, + [ + 264, + 136, + 74, + 44, + 31 + ] + ], + [ + "add", + 24, + 573, + 1, + 1, + [ + 264, + 136, + 84, + 50, + 1 + ] + ], + [ + "add", + 332, + 580, + 1, + 1, + [ + 264, + 136, + 85, + 49, + 2 + ] + ], + [ + "add", + 334, + 581, + 1, + 1, + [ + 264, + 136, + 73, + 47, + 28 + ] + ], + [ + "add", + 462, + 534, + -1, + 2, + [ + 280, + 129, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 463, + 535, + -1, + 2, + [ + 257, + 152, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 470, + 524, + -1, + 2, + [ + 393, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 471, + 525, + -1, + 2, + [ + 400, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 328, + 574, + 1, + 1, + [ + 276, + 137, + 72, + 48, + 3 + ] + ], + [ + "add", + 109, + 575, + 1, + 1, + [ + 265, + 148, + 72, + 48, + 3 + ] + ], + [ + "add", + 316, + 582, + 1, + 1, + [ + 385, + 72, + 44, + 28, + 3 + ] + ], + [ + "add", + 318, + 583, + 1, + 1, + [ + 412, + 72, + 48, + 2, + 1 + ] + ], + [ + "add", + 478, + 526, + 1, + 1, + [ + 388, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 479, + 527, + 1, + 1, + [ + 387, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 490, + 538, + 1, + 1, + [ + 262, + 129, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 491, + 539, + 1, + 1, + [ + 257, + 134, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 502, + 550, + 1, + 1, + [ + 390, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 503, + 551, + 1, + 1, + [ + 385, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 514, + 562, + 1, + 1, + [ + 260, + 131, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 515, + 563, + 1, + 1, + [ + 259, + 132, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 480, + 540, + 1, + 1, + [ + 257, + 129, + 76, + 45, + 25, + 3 + ] + ], + [ + "add", + 481, + 541, + 1, + 1, + [ + 258, + 130, + 72, + 41, + 25, + 4 + ] + ], + [ + "add", + 492, + 528, + 1, + 1, + [ + 258, + 130, + 70, + 39, + 19, + 10 + ] + ], + [ + "add", + 493, + 529, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 20, + 13 + ] + ], + [ + "add", + 516, + 552, + 1, + 1, + [ + 258, + 130, + 68, + 37, + 17, + 8 + ] + ], + [ + "add", + 517, + 553, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 22, + 15 + ] + ], + [ + "add", + 504, + 564, + 1, + 1, + [ + 258, + 130, + 76, + 44, + 24, + 1 + ] + ], + [ + "add", + 505, + 565, + 1, + 1, + [ + 258, + 130, + 74, + 43, + 25, + 6 + ] + ], + [ + "add", + 273, + 554, + 1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 275, + 555, + 1, + 1, + [ + 387, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 506, + 530, + 1, + 1, + [ + 385, + 70, + 33, + 18, + 12 + ] + ], + [ + "add", + 305, + 531, + 1, + 1, + [ + 390, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 518, + 542, + 1, + 1, + [ + 262, + 193, + 33, + 18, + 12 + ] + ], + [ + "add", + 321, + 543, + 1, + 1, + [ + 257, + 134, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 289, + 566, + 1, + 1, + [ + 259, + 132, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 291, + 567, + 1, + 1, + [ + 260, + 131, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 592, + 349, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 349, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 349, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 243, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 243, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 243, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 365, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 365, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 365, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 593, + 361, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 594, + 361, + 1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 596, + 361, + -1, + 1, + [ + 320, + 192, + 45, + 30 + ] + ], + [ + "add", + 592, + 283, + 1, + 1, + [ + 271, + 143, + 79, + 45, + 30 + ] + ], + [ + "add", + 593, + 100, + 1, + 1, + [ + 320, + 192, + 41, + 26, + 4 + ] + ], + [ + "add", + 594, + 315, + 1, + 1, + [ + 320, + 192, + 44, + 30, + 1 + ] + ], + [ + "add", + 349, + 48, + 1, + 1, + [ + 266, + 138, + 74, + 45, + 30 + ] + ], + [ + "add", + 596, + 347, + 1, + 1, + [ + 262, + 134, + 70, + 45, + 30 + ] + ], + [ + "add", + 243, + 82, + 1, + 1, + [ + 320, + 192, + 32, + 19, + 13 + ] + ], + [ + "add", + 365, + 379, + 1, + 1, + [ + 320, + 192, + 37, + 22, + 8 + ] + ], + [ + "add", + 361, + 67, + 1, + 1, + [ + 259, + 131, + 67, + 45, + 30 + ] + ], + [ + "add", + 600, + 401, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 401, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 401, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 403, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 403, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 403, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 606, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 606, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 606, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 601, + 405, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 602, + 405, + 1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 405, + -1, + 1, + [ + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 600, + 279, + 1, + 1, + [ + 385, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 601, + 274, + 1, + 1, + [ + 408, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 602, + 295, + 1, + 1, + [ + 273, + 136, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 401, + 290, + 1, + 1, + [ + 264, + 145, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 604, + 343, + 1, + 1, + [ + 392, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 403, + 338, + 1, + 1, + [ + 401, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 606, + 359, + 1, + 1, + [ + 280, + 129, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 405, + 354, + 1, + 1, + [ + 257, + 152, + 80, + 40, + 5, + 2 + ] + ], + [ + "add", + 608, + 410, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 410, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 410, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 417, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 417, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 417, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 419, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 419, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 419, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 609, + 421, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 610, + 421, + 1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 612, + 421, + -1, + 1, + [ + 144, + 75, + 42, + 7 + ] + ], + [ + "add", + 608, + 278, + 1, + 1, + [ + 266, + 138, + 75, + 42, + 26, + 7 + ] + ], + [ + "add", + 609, + 276, + 1, + 1, + [ + 272, + 144, + 72, + 41, + 4, + 3 + ] + ], + [ + "add", + 610, + 294, + 1, + 1, + [ + 264, + 136, + 75, + 42, + 24, + 7 + ] + ], + [ + "add", + 410, + 292, + 1, + 1, + [ + 272, + 144, + 74, + 42, + 6, + 1 + ] + ], + [ + "add", + 612, + 358, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 17, + 7 + ] + ], + [ + "add", + 417, + 356, + 1, + 1, + [ + 272, + 144, + 67, + 34, + 8, + 7 + ] + ], + [ + "add", + 419, + 342, + 1, + 1, + [ + 259, + 131, + 75, + 42, + 19, + 7 + ] + ], + [ + "add", + 421, + 340, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 10, + 7 + ] + ], + [ + "scale", + 68, + 1, + 2, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 68, + 4, + -1, + 1, + [ + 259, + 131, + 75, + 51 + ] + ], + [ + "add", + 31, + 12, + 1, + 2, + [ + 388, + 75, + 41, + 26 + ] + ], + [ + "add", + 616, + 1, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 1, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 1, + 1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 4, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 4, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 4, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 6, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 6, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 6, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 617, + 12, + 2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 618, + 12, + -2, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 620, + 12, + -1, + 1, + [ + 260, + 132, + 75, + 51 + ] + ], + [ + "add", + 616, + 247, + 1, + 1, + [ + 260, + 132, + 74, + 42, + 24, + 1 + ] + ], + [ + "add", + 617, + 242, + 1, + 1, + [ + 258, + 130, + 75, + 42, + 25, + 6 + ] + ], + [ + "add", + 618, + 263, + 1, + 1, + [ + 260, + 132, + 69, + 36, + 23, + 14 + ] + ], + [ + "add", + 1, + 258, + 1, + 1, + [ + 260, + 132, + 66, + 35, + 16, + 9 + ] + ], + [ + "add", + 620, + 344, + 1, + 1, + [ + 260, + 132, + 65, + 32, + 19, + 10 + ] + ], + [ + "add", + 4, + 28, + 1, + 1, + [ + 260, + 132, + 70, + 39, + 20, + 13 + ] + ], + [ + "add", + 6, + 364, + 1, + 1, + [ + 257, + 129, + 75, + 42, + 25, + 5 + ] + ], + [ + "add", + 12, + 366, + 1, + 1, + [ + 260, + 132, + 73, + 40, + 25, + 2 + ] + ], + [ + "add", + 624, + 426, + -1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 625, + 426, + -1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 626, + 426, + 1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 624, + 433, + -2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 625, + 433, + 2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 628, + 433, + -1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 624, + 435, + -2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 626, + 435, + 2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 628, + 435, + -1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 625, + 437, + 2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 626, + 437, + -2, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 628, + 437, + -1, + 1, + [ + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 624, + 246, + 1, + 1, + [ + 261, + 130, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 625, + 244, + 1, + 1, + [ + 258, + 133, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 626, + 262, + 1, + 1, + [ + 390, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 426, + 260, + 1, + 1, + [ + 385, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 628, + 360, + 1, + 1, + [ + 262, + 129, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 433, + 60, + 1, + 1, + [ + 257, + 134, + 68, + 34, + 17, + 8 + ] + ], + [ + "add", + 435, + 348, + 1, + 1, + [ + 389, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 437, + 350, + 1, + 1, + [ + 386, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 632, + 635, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 635, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 635, + 1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 637, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 637, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 637, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 638, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 638, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 638, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 633, + 639, + 2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 634, + 639, + -2, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 636, + 639, + -1, + 1, + [ + 257, + 129, + 102, + 30 + ] + ], + [ + "add", + 632, + 456, + 1, + 1, + [ + 257, + 129, + 72, + 42, + 26, + 4 + ] + ], + [ + "add", + 633, + 457, + 1, + 1, + [ + 257, + 129, + 76, + 41, + 29, + 3 + ] + ], + [ + "add", + 634, + 466, + 1, + 1, + [ + 257, + 129, + 69, + 35, + 23, + 9 + ] + ], + [ + "add", + 635, + 467, + 1, + 1, + [ + 257, + 129, + 66, + 36, + 16, + 14 + ] + ], + [ + "add", + 636, + 376, + 1, + 1, + [ + 257, + 129, + 67, + 37, + 30 + ] + ], + [ + "add", + 637, + 66, + 1, + 1, + [ + 257, + 129, + 102, + 22, + 8 + ] + ], + [ + "add", + 638, + 396, + 1, + 1, + [ + 257, + 129, + 100, + 28, + 2 + ] + ], + [ + "add", + 639, + 398, + 1, + 1, + [ + 257, + 129, + 73, + 47, + 30 + ] + ], + [ + "add", + 33, + 49, + 1, + 2, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 49, + 33, + -1, + 1, + [ + 266, + 138, + 75, + 30 + ] + ], + [ + "add", + 55, + 101, + 1, + 2, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 101, + 55, + -1, + 1, + [ + 273, + 145, + 85, + 51 + ] + ], + [ + "add", + 74, + 83, + 1, + 2, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 83, + 74, + -1, + 1, + [ + 262, + 134, + 102, + 30 + ] + ], + [ + "add", + 85, + 98, + 1, + 2, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 98, + 85, + -1, + 1, + [ + 385, + 74, + 44, + 30 + ] + ], + [ + "add", + 33, + 250, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 250, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 250, + 1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 266, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 266, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 266, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 259, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 259, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 259, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 55, + 261, + 2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 74, + 261, + -2, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 85, + 261, + -1, + 1, + [ + 423, + 65, + 20, + 10 + ] + ], + [ + "add", + 33, + 458, + 1, + 1, + [ + 261, + 130, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 55, + 459, + 1, + 1, + [ + 258, + 133, + 65, + 32, + 20, + 10 + ] + ], + [ + "add", + 74, + 464, + 1, + 1, + [ + 387, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 250, + 465, + 1, + 1, + [ + 388, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 85, + 392, + 1, + 1, + [ + 292, + 131, + 65, + 20, + 10 + ] + ], + [ + "add", + 266, + 97, + 1, + 1, + [ + 259, + 164, + 65, + 20, + 10 + ] + ], + [ + "add", + 259, + 380, + 1, + 1, + [ + 386, + 65, + 37, + 20, + 10 + ] + ], + [ + "add", + 261, + 382, + 1, + 1, + [ + 421, + 65, + 20, + 8, + 2 + ] + ], + [ + "add", + 648, + 530, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 530, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 530, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 653, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 653, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 653, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 542, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 542, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 542, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 649, + 442, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 650, + 442, + 1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 652, + 442, + -1, + 1, + [ + 288, + 160, + 75, + 25, + 7 + ] + ], + [ + "add", + 648, + 248, + 1, + 1, + [ + 288, + 160, + 67, + 17, + 8, + 7 + ] + ], + [ + "add", + 649, + 10, + 1, + 1, + [ + 258, + 130, + 75, + 34, + 25, + 7 + ] + ], + [ + "add", + 650, + 268, + 1, + 1, + [ + 259, + 131, + 75, + 35, + 25, + 7 + ] + ], + [ + "add", + 530, + 270, + 1, + 1, + [ + 288, + 160, + 66, + 16, + 9, + 7 + ] + ], + [ + "add", + 652, + 280, + 1, + 1, + [ + 288, + 160, + 72, + 25, + 4, + 3 + ] + ], + [ + "add", + 653, + 38, + 1, + 1, + [ + 265, + 137, + 75, + 41, + 25, + 7 + ] + ], + [ + "add", + 542, + 300, + 1, + 1, + [ + 264, + 136, + 75, + 40, + 25, + 7 + ] + ], + [ + "add", + 442, + 302, + 1, + 1, + [ + 288, + 160, + 73, + 25, + 5, + 2 + ] + ], + [ + "add", + 656, + 333, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 333, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 333, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 317, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 317, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 317, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 257, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 257, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 257, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 657, + 245, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 658, + 245, + 1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 660, + 245, + -1, + 1, + [ + 427, + 96, + 24, + 6 + ] + ], + [ + "add", + 656, + 252, + 1, + 1, + [ + 296, + 130, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 657, + 254, + 1, + 1, + [ + 258, + 168, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 658, + 264, + 1, + 1, + [ + 418, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 333, + 79, + 1, + 1, + [ + 392, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 660, + 296, + 1, + 1, + [ + 290, + 136, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 317, + 19, + 1, + 1, + [ + 264, + 162, + 96, + 24, + 6, + 1 + ] + ], + [ + "add", + 257, + 284, + 1, + 1, + [ + 424, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 245, + 286, + 1, + 1, + [ + 386, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 664, + 460, + 1, + 1, + [ + 264, + 136, + 65, + 32, + 19, + 7 + ] + ], + [ + "add", + 665, + 461, + 1, + 1, + [ + 258, + 130, + 82, + 51, + 10, + 7 + ] + ], + [ + "add", + 666, + 468, + 1, + 1, + [ + 257, + 129, + 82, + 51, + 9, + 7 + ] + ], + [ + "add", + 667, + 469, + 1, + 1, + [ + 264, + 136, + 66, + 35, + 16, + 7 + ] + ], + [ + "add", + 668, + 312, + 1, + 1, + [ + 264, + 136, + 74, + 44, + 31 + ] + ], + [ + "add", + 669, + 24, + 1, + 1, + [ + 264, + 136, + 84, + 50, + 1 + ] + ], + [ + "add", + 670, + 332, + 1, + 1, + [ + 264, + 136, + 85, + 49, + 2 + ] + ], + [ + "add", + 671, + 334, + 1, + 1, + [ + 264, + 136, + 73, + 47, + 28 + ] + ], + [ + "add", + 672, + 241, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 241, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 241, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 234, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 234, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 234, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 229, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 229, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 229, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 673, + 227, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 674, + 227, + 1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 676, + 227, + -1, + 1, + [ + 413, + 72, + 48, + 3 + ] + ], + [ + "add", + 672, + 462, + 1, + 1, + [ + 280, + 129, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 673, + 463, + 1, + 1, + [ + 257, + 152, + 72, + 48, + 4, + 3 + ] + ], + [ + "add", + 674, + 470, + 1, + 1, + [ + 393, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 241, + 471, + 1, + 1, + [ + 400, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 676, + 328, + 1, + 1, + [ + 276, + 137, + 72, + 48, + 3 + ] + ], + [ + "add", + 234, + 109, + 1, + 1, + [ + 265, + 148, + 72, + 48, + 3 + ] + ], + [ + "add", + 229, + 316, + 1, + 1, + [ + 385, + 72, + 44, + 28, + 3 + ] + ], + [ + "add", + 227, + 318, + 1, + 1, + [ + 412, + 72, + 48, + 2, + 1 + ] + ], + [ + "add", + 49, + 285, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 285, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 285, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 225, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 225, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 225, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 281, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 281, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 281, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 83, + 393, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 98, + 393, + 1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 101, + 393, + -1, + 1, + [ + 407, + 66, + 36, + 9 + ] + ], + [ + "add", + 49, + 478, + 1, + 1, + [ + 388, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 83, + 479, + 1, + 1, + [ + 387, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 98, + 490, + 1, + 1, + [ + 262, + 129, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 285, + 491, + 1, + 1, + [ + 257, + 134, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 101, + 502, + 1, + 1, + [ + 390, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 225, + 503, + 1, + 1, + [ + 385, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 281, + 514, + 1, + 1, + [ + 260, + 131, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 393, + 515, + 1, + 1, + [ + 259, + 132, + 66, + 36, + 16, + 9 + ] + ], + [ + "add", + 68, + 397, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 397, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 397, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 377, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 377, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 377, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 381, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 381, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 381, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 80, + 345, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 88, + 345, + 1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 31, + 345, + -1, + 1, + [ + 258, + 130, + 85, + 45 + ] + ], + [ + "add", + 68, + 480, + 1, + 1, + [ + 257, + 129, + 76, + 45, + 25, + 3 + ] + ], + [ + "add", + 80, + 481, + 1, + 1, + [ + 258, + 130, + 72, + 41, + 25, + 4 + ] + ], + [ + "add", + 88, + 492, + 1, + 1, + [ + 258, + 130, + 70, + 39, + 19, + 10 + ] + ], + [ + "add", + 397, + 493, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 20, + 13 + ] + ], + [ + "add", + 31, + 516, + 1, + 1, + [ + 258, + 130, + 68, + 37, + 17, + 8 + ] + ], + [ + "add", + 377, + 517, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 22, + 15 + ] + ], + [ + "add", + 381, + 504, + 1, + 1, + [ + 258, + 130, + 76, + 44, + 24, + 1 + ] + ], + [ + "add", + 345, + 505, + 1, + 1, + [ + 258, + 130, + 74, + 43, + 25, + 6 + ] + ], + [ + "add", + 696, + 301, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 301, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 301, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 329, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 329, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 329, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 297, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 297, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 297, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 697, + 313, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 698, + 313, + 1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 700, + 313, + -1, + 1, + [ + 455, + 33, + 18, + 12 + ] + ], + [ + "add", + 696, + 273, + 1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 697, + 275, + 1, + 1, + [ + 387, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 698, + 506, + 1, + 1, + [ + 385, + 70, + 33, + 18, + 12 + ] + ], + [ + "add", + 301, + 305, + 1, + 1, + [ + 390, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 700, + 518, + 1, + 1, + [ + 262, + 193, + 33, + 18, + 12 + ] + ], + [ + "add", + 329, + 321, + 1, + 1, + [ + 257, + 134, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 297, + 289, + 1, + 1, + [ + 259, + 132, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 313, + 291, + 1, + 1, + [ + 260, + 131, + 64, + 33, + 18, + 12 + ] + ], + [ + "add", + 215, + 484, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 129, + 448, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 124, + 485, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 212, + 449, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 168, + 584, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 150, + 3, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 143, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 189, + 383, + 1, + 1, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 130, + 472, + -1, + 2, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 152, + 231, + -1, + 2, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 213, + 473, + -1, + 2, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 166, + 226, + -1, + 2, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 214, + 590, + 1, + 1, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 131, + 69, + 1, + 1, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 167, + 591, + 1, + 1, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 151, + 399, + 1, + 1, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 157, + 508, + -1, + 2, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 219, + 450, + -1, + 2, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 210, + 509, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 160, + 451, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 144, + 438, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 136, + 75, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 197, + 587, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 147, + 351, + 1, + 1, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 220, + 496, + -1, + 2, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 134, + 230, + -1, + 2, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 161, + 497, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 146, + 228, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 162, + 440, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 221, + 84, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 145, + 589, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 135, + 367, + 1, + 1, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 205, + 532, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 170, + 452, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 118, + 533, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 194, + 453, + 1, + 1, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 187, + 586, + -1, + 2, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 140, + 32, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 113, + 436, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 198, + 319, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 171, + 520, + -1, + 2, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 142, + 232, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 521, + -1, + 2, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 185, + 7, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 196, + 588, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 172, + 50, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 186, + 46, + 1, + 1, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 141, + 335, + 1, + 1, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 120, + 556, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 207, + 454, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 192, + 557, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 179, + 455, + 1, + 1, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 115, + 439, + -1, + 2, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 178, + 56, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 200, + 434, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 138, + 287, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 208, + 544, + -1, + 2, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 176, + 236, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 180, + 545, + -1, + 2, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 117, + 238, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 181, + 444, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 209, + 102, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 116, + 446, + 1, + 1, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 177, + 303, + 1, + 1, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 169, + 119, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "add", + 119, + 169, + -1, + 2, + [ + 256, + 128, + 64, + 40, + 25, + 5, + 2 + ] + ], + [ + "scale", + 119, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 112, + 139, + 1, + 1, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "add", + 139, + 112, + -1, + 2, + [ + 256, + 128, + 64, + 35, + 16, + 9, + 7 + ] + ], + [ + "scale", + 139, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 204, + 193, + 1, + 1, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 193, + 204, + -1, + 2, + [ + 258, + 130, + 66, + 33, + 18, + 11, + 7 + ] + ], + [ + "scale", + 193, + -2, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 188, + 199, + 1, + 1, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 199, + 188, + -1, + 2, + [ + 320, + 192, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "scale", + 199, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 174, + 122, + 1, + 1, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 122, + 174, + -1, + 2, + [ + 256, + 137, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 122, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 182, + 203, + 1, + 1, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 203, + 182, + -1, + 2, + [ + 256, + 144, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 203, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 175, + 123, + 1, + 1, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 123, + 175, + -1, + 2, + [ + 265, + 128, + 64, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 123, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 183, + 202, + 1, + 1, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 202, + 183, + -1, + 2, + [ + 272, + 128, + 80, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 202, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 206, + 191, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "add", + 191, + 206, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 9, + 7 + ] + ], + [ + "scale", + 191, + -2, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 184, + 201, + 1, + 1, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "add", + 201, + 184, + -1, + 2, + [ + 272, + 144, + 64, + 33, + 9, + 5, + 2 + ] + ], + [ + "scale", + 201, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 173, + 121, + 1, + 1, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "add", + 121, + 173, + -1, + 2, + [ + 256, + 128, + 73, + 40, + 16, + 5, + 2 + ] + ], + [ + "scale", + 121, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 114, + 137, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "add", + 137, + 114, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 11, + 7 + ] + ], + [ + "scale", + 137, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 129, + 150, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 150, + 129, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 150, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 124, + 143, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "add", + 143, + 124, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 11, + 4 + ] + ], + [ + "scale", + 143, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 215, + 189, + 1, + 1, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "add", + 189, + 215, + -1, + 2, + [ + 260, + 132, + 68, + 37, + 21, + 12, + 3 + ] + ], + [ + "scale", + 189, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 212, + 168, + 1, + 1, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 168, + 212, + -1, + 2, + [ + 260, + 132, + 64, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 168, + -2, + 1, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 152, + 131, + 1, + 1, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 131, + 152, + -1, + 2, + [ + 259, + 128, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 131, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 213, + 167, + 1, + 1, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 167, + 213, + -1, + 2, + [ + 260, + 128, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 167, + -2, + 1, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 130, + 151, + 1, + 1, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "add", + 151, + 130, + -1, + 2, + [ + 256, + 131, + 64, + 34, + 17, + 8, + 4 + ] + ], + [ + "scale", + 151, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 166, + 214, + 1, + 1, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "add", + 214, + 166, + -1, + 2, + [ + 256, + 132, + 68, + 33, + 17, + 8, + 3 + ] + ], + [ + "scale", + 214, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 219, + 136, + 1, + 1, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 136, + 219, + -1, + 2, + [ + 257, + 129, + 64, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 136, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 210, + 197, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "add", + 197, + 210, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 11, + 6 + ] + ], + [ + "scale", + 197, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 157, + 147, + 1, + 1, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "add", + 147, + 157, + -1, + 2, + [ + 256, + 128, + 64, + 38, + 18, + 12, + 1 + ] + ], + [ + "scale", + 147, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 160, + 144, + 1, + 1, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 144, + 160, + -1, + 2, + [ + 256, + 128, + 70, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 144, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 134, + 221, + 1, + 1, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 221, + 134, + -1, + 2, + [ + 256, + 129, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 221, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 161, + 145, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 145, + 161, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 145, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 220, + 135, + 1, + 1, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "add", + 135, + 220, + -1, + 2, + [ + 257, + 128, + 65, + 32, + 18, + 10, + 6 + ] + ], + [ + "scale", + 135, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 146, + 162, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "add", + 162, + 146, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 20, + 10, + 1 + ] + ], + [ + "scale", + 162, + -2, + 1, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 170, + 140, + 1, + 1, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 140, + 170, + -1, + 2, + [ + 256, + 128, + 74, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 140, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 118, + 113, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "add", + 113, + 118, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 11, + 7 + ] + ], + [ + "scale", + 113, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 205, + 198, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "add", + 198, + 205, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 19, + 10, + 7 + ] + ], + [ + "scale", + 198, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 194, + 187, + 1, + 1, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 187, + 194, + -1, + 2, + [ + 288, + 160, + 64, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 187, + -2, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 142, + 172, + 1, + 1, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 172, + 142, + -1, + 2, + [ + 266, + 128, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 172, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 195, + 186, + 1, + 1, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 186, + 195, + -1, + 2, + [ + 288, + 128, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 186, + -2, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 171, + 141, + 1, + 1, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "add", + 141, + 171, + -1, + 2, + [ + 256, + 138, + 64, + 32, + 24, + 6, + 1 + ] + ], + [ + "scale", + 141, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 185, + 196, + 1, + 1, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 196, + 185, + -1, + 2, + [ + 256, + 160, + 96, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 196, + -2, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 207, + 178, + 1, + 1, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 178, + 207, + -1, + 2, + [ + 264, + 136, + 64, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 178, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 192, + 200, + 1, + 1, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "add", + 200, + 192, + -1, + 2, + [ + 259, + 131, + 67, + 34, + 17, + 11, + 7 + ] + ], + [ + "scale", + 200, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 120, + 138, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "add", + 138, + 120, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 18, + 8, + 7 + ] + ], + [ + "scale", + 138, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 179, + 115, + 1, + 1, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 115, + 179, + -1, + 2, + [ + 256, + 128, + 81, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 115, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 176, + 209, + 1, + 1, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 209, + 176, + -1, + 2, + [ + 256, + 136, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 209, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 180, + 116, + 1, + 1, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 116, + 180, + -1, + 2, + [ + 256, + 145, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 116, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 208, + 177, + 1, + 1, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "add", + 177, + 208, + -1, + 2, + [ + 264, + 128, + 72, + 33, + 17, + 4, + 3 + ] + ], + [ + "scale", + 177, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 117, + 181, + 1, + 1, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "add", + 181, + 117, + -1, + 2, + [ + 273, + 128, + 64, + 48, + 8, + 4, + 3 + ] + ], + [ + "scale", + 181, + -2, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 154, + 217, + 1, + 1, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 217, + 154, + -1, + 2, + [ + 258, + 128, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 217, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 127, + 165, + 1, + 1, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 165, + 127, + -1, + 2, + [ + 261, + 128, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 165, + -2, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 153, + 218, + 1, + 1, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 218, + 153, + -1, + 2, + [ + 256, + 130, + 66, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 218, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 126, + 164, + 1, + 1, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 164, + 126, + -1, + 2, + [ + 256, + 133, + 64, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 164, + -2, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 128, + 156, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "add", + 156, + 128, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 21, + 12, + 2 + ] + ], + [ + "scale", + 156, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 125, + 163, + 1, + 1, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "add", + 163, + 125, + -1, + 2, + [ + 256, + 128, + 69, + 36, + 16, + 9, + 2 + ] + ], + [ + "scale", + 163, + -2, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 155, + 216, + 1, + 1, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "add", + 216, + 155, + -1, + 2, + [ + 258, + 130, + 64, + 33, + 16, + 9, + 5 + ] + ], + [ + "scale", + 216, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 190, + 211, + 1, + 1, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "add", + 211, + 190, + -1, + 2, + [ + 258, + 130, + 66, + 35, + 18, + 11, + 5 + ] + ], + [ + "scale", + 211, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 132, + 158, + 1, + 1, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 158, + 132, + -1, + 2, + [ + 256, + 133, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "scale", + 158, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 148, + 223, + 1, + 1, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 223, + 148, + -1, + 2, + [ + 256, + 130, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "scale", + 223, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 149, + 222, + 1, + 1, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "add", + 222, + 149, + -1, + 2, + [ + 258, + 128, + 64, + 33, + 18, + 9, + 5 + ] + ], + [ + "scale", + 222, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 133, + 159, + 1, + 1, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "add", + 159, + 133, + -1, + 2, + [ + 261, + 128, + 64, + 33, + 16, + 12, + 2 + ] + ], + [ + "scale", + 159, + -2, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 283, + 379, + 1, + 1, + [ + 256, + 128, + 64, + 34, + 17, + 8, + 7 + ] + ], + [ + "add", + 379, + 283, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 17, + 8, + 7 + ] + ], + [ + "add", + 139, + 283, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 119, + 379, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 100, + 67, + 1, + 1, + [ + 256, + 128, + 64, + 41, + 25, + 4, + 3 + ] + ], + [ + "add", + 67, + 100, + -1, + 2, + [ + 256, + 128, + 64, + 41, + 25, + 4, + 3 + ] + ], + [ + "add", + 112, + 100, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 169, + 67, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 315, + 347, + 1, + 1, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ] + ], + [ + "add", + 347, + 315, + -1, + 2, + [ + 256, + 128, + 64, + 42, + 24, + 6, + 1 + ] + ], + [ + "add", + 139, + 315, + -1, + 2, + [ + 256, + 128, + 64, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 169, + 347, + 1, + 1, + [ + 256, + 128, + 64, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 48, + 82, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "add", + 82, + 48, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 19, + 10, + 7 + ] + ], + [ + "add", + 112, + 48, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 119, + 82, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 592, + 361, + 1, + 1, + [ + 259, + 131, + 67, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 361, + 592, + -1, + 2, + [ + 259, + 131, + 67, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 199, + 592, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 193, + 361, + 1, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 593, + 365, + 1, + 1, + [ + 320, + 192, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 365, + 593, + -1, + 2, + [ + 320, + 192, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 188, + 593, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 204, + 365, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 594, + 243, + 1, + 1, + [ + 320, + 192, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 243, + 594, + -1, + 2, + [ + 320, + 192, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 188, + 594, + -1, + 2, + [ + 320, + 192, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 193, + 243, + 1, + 1, + [ + 258, + 130, + 66, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 349, + 596, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 596, + 349, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 18, + 11, + 7 + ] + ], + [ + "add", + 199, + 349, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 204, + 596, + 1, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 279, + 359, + 1, + 1, + [ + 256, + 129, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 359, + 279, + -1, + 2, + [ + 256, + 129, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 203, + 279, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 122, + 359, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 274, + 354, + 1, + 1, + [ + 256, + 152, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 354, + 274, + -1, + 2, + [ + 256, + 152, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 182, + 274, + -1, + 2, + [ + 256, + 144, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 174, + 354, + 1, + 1, + [ + 256, + 136, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 295, + 343, + 1, + 1, + [ + 256, + 136, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 343, + 295, + -1, + 2, + [ + 256, + 136, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 203, + 295, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 174, + 343, + 1, + 1, + [ + 256, + 136, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 290, + 338, + 1, + 1, + [ + 256, + 145, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 338, + 290, + -1, + 2, + [ + 256, + 145, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 182, + 290, + -1, + 2, + [ + 256, + 144, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 122, + 338, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 600, + 405, + 1, + 1, + [ + 257, + 128, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 405, + 600, + -1, + 2, + [ + 257, + 128, + 72, + 40, + 24, + 5, + 2 + ] + ], + [ + "add", + 202, + 600, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 123, + 405, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 601, + 606, + 1, + 1, + [ + 280, + 128, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 606, + 601, + -1, + 2, + [ + 280, + 128, + 80, + 40, + 4, + 2, + 1 + ] + ], + [ + "add", + 183, + 601, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 175, + 606, + 1, + 1, + [ + 264, + 128, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 602, + 403, + 1, + 1, + [ + 273, + 128, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 403, + 602, + -1, + 2, + [ + 273, + 128, + 80, + 32, + 8, + 5, + 2 + ] + ], + [ + "add", + 183, + 602, + -1, + 2, + [ + 272, + 128, + 80, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 123, + 403, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 401, + 604, + 1, + 1, + [ + 264, + 128, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 604, + 401, + -1, + 2, + [ + 264, + 128, + 65, + 40, + 17, + 5, + 2 + ] + ], + [ + "add", + 202, + 401, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 175, + 604, + 1, + 1, + [ + 264, + 128, + 64, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 278, + 342, + 1, + 1, + [ + 259, + 131, + 66, + 35, + 19, + 9, + 7 + ] + ], + [ + "add", + 342, + 278, + -1, + 2, + [ + 259, + 131, + 66, + 35, + 19, + 9, + 7 + ] + ], + [ + "add", + 201, + 278, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 191, + 342, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 276, + 340, + 1, + 1, + [ + 272, + 144, + 65, + 32, + 9, + 4, + 3 + ] + ], + [ + "add", + 340, + 276, + -1, + 2, + [ + 272, + 144, + 65, + 32, + 9, + 4, + 3 + ] + ], + [ + "add", + 184, + 276, + -1, + 2, + [ + 272, + 144, + 64, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 206, + 340, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 294, + 358, + 1, + 1, + [ + 257, + 129, + 66, + 35, + 17, + 9, + 7 + ] + ], + [ + "add", + 358, + 294, + -1, + 2, + [ + 257, + 129, + 66, + 35, + 17, + 9, + 7 + ] + ], + [ + "add", + 201, + 294, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 206, + 358, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 292, + 356, + 1, + 1, + [ + 272, + 144, + 66, + 34, + 8, + 6, + 1 + ] + ], + [ + "add", + 356, + 292, + -1, + 2, + [ + 272, + 144, + 66, + 34, + 8, + 6, + 1 + ] + ], + [ + "add", + 184, + 292, + -1, + 2, + [ + 272, + 144, + 64, + 32, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 191, + 356, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 608, + 421, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 10, + 7 + ] + ], + [ + "add", + 421, + 608, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 16, + 10, + 7 + ] + ], + [ + "add", + 137, + 608, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 121, + 421, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 609, + 419, + 1, + 1, + [ + 256, + 128, + 72, + 41, + 16, + 4, + 3 + ] + ], + [ + "add", + 419, + 609, + -1, + 2, + [ + 256, + 128, + 72, + 41, + 16, + 4, + 3 + ] + ], + [ + "add", + 114, + 609, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 173, + 419, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 610, + 417, + 1, + 1, + [ + 256, + 128, + 67, + 34, + 16, + 8, + 7 + ] + ], + [ + "add", + 417, + 610, + -1, + 2, + [ + 256, + 128, + 67, + 34, + 16, + 8, + 7 + ] + ], + [ + "add", + 114, + 610, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 121, + 417, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 410, + 612, + 1, + 1, + [ + 256, + 128, + 74, + 42, + 16, + 6, + 1 + ] + ], + [ + "add", + 612, + 410, + -1, + 2, + [ + 256, + 128, + 74, + 42, + 16, + 6, + 1 + ] + ], + [ + "add", + 137, + 410, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 173, + 612, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 247, + 364, + -2, + 1, + [ + 256, + 128, + 74, + 42, + 24, + 4, + 1 + ] + ], + [ + "add", + 364, + 247, + 1, + 4, + [ + 256, + 128, + 74, + 42, + 24, + 4, + 1 + ] + ], + [ + "add", + 143, + 247, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 150, + 364, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 242, + 366, + -2, + 1, + [ + 256, + 128, + 73, + 40, + 25, + 4, + 2 + ] + ], + [ + "add", + 366, + 242, + 1, + 4, + [ + 256, + 128, + 73, + 40, + 25, + 4, + 2 + ] + ], + [ + "add", + 124, + 242, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 129, + 366, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 263, + 344, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 19, + 10, + 4 + ] + ], + [ + "add", + 344, + 263, + 1, + 4, + [ + 256, + 128, + 65, + 32, + 19, + 10, + 4 + ] + ], + [ + "add", + 143, + 263, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 129, + 344, + -2, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 258, + 28, + -2, + 1, + [ + 256, + 128, + 66, + 35, + 16, + 9, + 4 + ] + ], + [ + "add", + 28, + 258, + 1, + 4, + [ + 256, + 128, + 66, + 35, + 16, + 9, + 4 + ] + ], + [ + "add", + 124, + 258, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 150, + 28, + -2, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 616, + 12, + -2, + 1, + [ + 260, + 132, + 72, + 40, + 24, + 2, + 1 + ] + ], + [ + "add", + 12, + 616, + 1, + 4, + [ + 260, + 132, + 72, + 40, + 24, + 2, + 1 + ] + ], + [ + "add", + 168, + 616, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 189, + 12, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 617, + 6, + -2, + 1, + [ + 257, + 129, + 72, + 41, + 25, + 5, + 3 + ] + ], + [ + "add", + 6, + 617, + 1, + 4, + [ + 257, + 129, + 72, + 41, + 25, + 5, + 3 + ] + ], + [ + "add", + 212, + 617, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 215, + 6, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 618, + 4, + -2, + 1, + [ + 260, + 132, + 69, + 36, + 20, + 13, + 3 + ] + ], + [ + "add", + 4, + 618, + 1, + 4, + [ + 260, + 132, + 69, + 36, + 20, + 13, + 3 + ] + ], + [ + "add", + 212, + 618, + -1, + 2, + [ + 257, + 129, + 64, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 189, + 4, + -2, + 1, + [ + 260, + 132, + 68, + 36, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 1, + 620, + -2, + 1, + [ + 260, + 132, + 65, + 32, + 16, + 9, + 3 + ] + ], + [ + "add", + 620, + 1, + 1, + 4, + [ + 260, + 132, + 65, + 32, + 16, + 9, + 3 + ] + ], + [ + "add", + 168, + 1, + -1, + 2, + [ + 260, + 132, + 64, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 215, + 620, + -2, + 1, + [ + 257, + 129, + 65, + 32, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 246, + 348, + -2, + 1, + [ + 261, + 128, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 348, + 246, + 1, + 4, + [ + 261, + 128, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 167, + 246, + -1, + 2, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 131, + 348, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 244, + 350, + -2, + 1, + [ + 258, + 128, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 350, + 244, + 1, + 4, + [ + 258, + 128, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 213, + 244, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 152, + 350, + -2, + 1, + [ + 258, + 128, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 262, + 360, + -2, + 1, + [ + 262, + 128, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 360, + 262, + 1, + 4, + [ + 262, + 128, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 167, + 262, + -1, + 2, + [ + 260, + 128, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 152, + 360, + -2, + 1, + [ + 258, + 128, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 260, + 60, + -2, + 1, + [ + 257, + 128, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 60, + 260, + 1, + 4, + [ + 257, + 128, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 213, + 260, + -1, + 2, + [ + 257, + 128, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 131, + 60, + -2, + 1, + [ + 257, + 128, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 624, + 437, + -2, + 1, + [ + 256, + 130, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 437, + 624, + 1, + 4, + [ + 256, + 130, + 65, + 34, + 17, + 8, + 5 + ] + ], + [ + "add", + 214, + 624, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 151, + 437, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 625, + 435, + -2, + 1, + [ + 256, + 133, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 435, + 625, + 1, + 4, + [ + 256, + 133, + 68, + 32, + 17, + 8, + 2 + ] + ], + [ + "add", + 166, + 625, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 130, + 435, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 626, + 433, + -2, + 1, + [ + 256, + 134, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 433, + 626, + 1, + 4, + [ + 256, + 134, + 68, + 34, + 16, + 8, + 1 + ] + ], + [ + "add", + 166, + 626, + -1, + 2, + [ + 256, + 132, + 68, + 32, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 151, + 433, + -2, + 1, + [ + 256, + 130, + 64, + 34, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 426, + 628, + -2, + 1, + [ + 256, + 129, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 628, + 426, + 1, + 4, + [ + 256, + 129, + 66, + 34, + 17, + 8, + 6 + ] + ], + [ + "add", + 214, + 426, + -1, + 2, + [ + 256, + 129, + 65, + 33, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 130, + 628, + -2, + 1, + [ + 256, + 129, + 64, + 32, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 456, + 396, + -2, + 1, + [ + 257, + 129, + 72, + 40, + 24, + 4, + 2 + ] + ], + [ + "add", + 396, + 456, + 1, + 4, + [ + 257, + 129, + 72, + 40, + 24, + 4, + 2 + ] + ], + [ + "add", + 197, + 456, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 136, + 396, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 457, + 398, + -2, + 1, + [ + 257, + 129, + 73, + 41, + 24, + 5, + 3 + ] + ], + [ + "add", + 398, + 457, + 1, + 4, + [ + 257, + 129, + 73, + 41, + 24, + 5, + 3 + ] + ], + [ + "add", + 210, + 457, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 8, + 5, + 3 + ] + ], + [ + "add", + 219, + 398, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 466, + 376, + -2, + 1, + [ + 257, + 129, + 67, + 35, + 17, + 9, + 6 + ] + ], + [ + "add", + 376, + 466, + 1, + 4, + [ + 257, + 129, + 67, + 35, + 17, + 9, + 6 + ] + ], + [ + "add", + 197, + 466, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 17, + 9, + 4, + 2 + ] + ], + [ + "add", + 219, + 376, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 467, + 66, + -2, + 1, + [ + 257, + 129, + 66, + 34, + 16, + 8, + 6 + ] + ], + [ + "add", + 66, + 467, + 1, + 4, + [ + 257, + 129, + 66, + 34, + 16, + 8, + 6 + ] + ], + [ + "add", + 210, + 467, + -1, + 2, + [ + 257, + 129, + 65, + 33, + 16, + 8, + 5, + 3 + ] + ], + [ + "add", + 136, + 66, + -2, + 1, + [ + 257, + 129, + 64, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 632, + 639, + -2, + 1, + [ + 256, + 128, + 72, + 42, + 26, + 4, + 1 + ] + ], + [ + "add", + 639, + 632, + 1, + 4, + [ + 256, + 128, + 72, + 42, + 26, + 4, + 1 + ] + ], + [ + "add", + 144, + 632, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 147, + 639, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 633, + 638, + -2, + 1, + [ + 256, + 128, + 76, + 40, + 28, + 2, + 1 + ] + ], + [ + "add", + 638, + 633, + 1, + 4, + [ + 256, + 128, + 76, + 40, + 28, + 2, + 1 + ] + ], + [ + "add", + 160, + 633, + -1, + 2, + [ + 256, + 128, + 68, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 157, + 638, + -2, + 1, + [ + 256, + 128, + 64, + 36, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 634, + 637, + -2, + 1, + [ + 256, + 128, + 68, + 34, + 22, + 8, + 1 + ] + ], + [ + "add", + 637, + 634, + 1, + 4, + [ + 256, + 128, + 68, + 34, + 22, + 8, + 1 + ] + ], + [ + "add", + 160, + 634, + -1, + 2, + [ + 256, + 128, + 68, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 147, + 637, + -2, + 1, + [ + 256, + 128, + 64, + 34, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 635, + 636, + -2, + 1, + [ + 256, + 128, + 66, + 36, + 16, + 14, + 1 + ] + ], + [ + "add", + 636, + 635, + 1, + 4, + [ + 256, + 128, + 66, + 36, + 16, + 14, + 1 + ] + ], + [ + "add", + 144, + 635, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 157, + 636, + -2, + 1, + [ + 256, + 128, + 64, + 36, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 458, + 380, + -2, + 1, + [ + 256, + 130, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 380, + 458, + 1, + 4, + [ + 256, + 130, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 145, + 458, + -1, + 2, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 221, + 380, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 459, + 382, + -2, + 1, + [ + 256, + 133, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 382, + 459, + 1, + 4, + [ + 256, + 133, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 161, + 459, + -1, + 2, + [ + 256, + 132, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 134, + 382, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 464, + 392, + -2, + 1, + [ + 256, + 131, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 392, + 464, + 1, + 4, + [ + 256, + 131, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 145, + 464, + -1, + 2, + [ + 256, + 130, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 134, + 392, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 465, + 97, + -2, + 1, + [ + 256, + 132, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 97, + 465, + 1, + 4, + [ + 256, + 132, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 161, + 465, + -1, + 2, + [ + 256, + 132, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 221, + 97, + -2, + 1, + [ + 256, + 129, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 33, + 261, + -2, + 1, + [ + 261, + 128, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 261, + 33, + 1, + 4, + [ + 261, + 128, + 65, + 32, + 20, + 8, + 2 + ] + ], + [ + "add", + 162, + 33, + -1, + 2, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 135, + 261, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 55, + 259, + -2, + 1, + [ + 258, + 128, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 259, + 55, + 1, + 4, + [ + 258, + 128, + 65, + 32, + 17, + 10, + 5 + ] + ], + [ + "add", + 146, + 55, + -1, + 2, + [ + 258, + 128, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 220, + 259, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 74, + 266, + -2, + 1, + [ + 259, + 128, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 266, + 74, + 1, + 4, + [ + 259, + 128, + 65, + 32, + 16, + 10, + 4 + ] + ], + [ + "add", + 146, + 74, + -1, + 2, + [ + 258, + 128, + 64, + 32, + 16, + 10, + 4, + 1 + ] + ], + [ + "add", + 135, + 266, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 250, + 85, + -2, + 1, + [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 85, + 250, + 1, + 4, + [ + 260, + 128, + 65, + 32, + 20, + 9, + 3 + ] + ], + [ + "add", + 162, + 250, + -1, + 2, + [ + 260, + 128, + 64, + 32, + 20, + 8, + 2, + 1 + ] + ], + [ + "add", + 220, + 85, + -2, + 1, + [ + 257, + 128, + 65, + 32, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 248, + 300, + 1, + 1, + [ + 256, + 128, + 67, + 32, + 17, + 8, + 7 + ] + ], + [ + "add", + 300, + 248, + -1, + 2, + [ + 256, + 128, + 67, + 32, + 17, + 8, + 7 + ] + ], + [ + "add", + 113, + 248, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 140, + 300, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 10, + 302, + 1, + 1, + [ + 256, + 128, + 73, + 32, + 25, + 5, + 2 + ] + ], + [ + "add", + 302, + 10, + -1, + 2, + [ + 256, + 128, + 73, + 32, + 25, + 5, + 2 + ] + ], + [ + "add", + 118, + 10, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 170, + 302, + -2, + 1, + [ + 256, + 128, + 72, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 268, + 280, + 1, + 1, + [ + 256, + 128, + 72, + 32, + 25, + 4, + 3 + ] + ], + [ + "add", + 280, + 268, + -1, + 2, + [ + 256, + 128, + 72, + 32, + 25, + 4, + 3 + ] + ], + [ + "add", + 113, + 268, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 170, + 280, + -2, + 1, + [ + 256, + 128, + 72, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 270, + 38, + 1, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 9, + 7 + ] + ], + [ + "add", + 38, + 270, + -1, + 2, + [ + 256, + 128, + 66, + 32, + 16, + 9, + 7 + ] + ], + [ + "add", + 118, + 270, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 9, + 5, + 2 + ] + ], + [ + "add", + 140, + 38, + -2, + 1, + [ + 256, + 128, + 66, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 648, + 442, + 1, + 1, + [ + 288, + 160, + 65, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 442, + 648, + -1, + 2, + [ + 288, + 160, + 65, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 187, + 648, + 1, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 198, + 442, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 649, + 542, + 1, + 1, + [ + 258, + 130, + 65, + 34, + 19, + 10, + 7 + ] + ], + [ + "add", + 542, + 649, + -1, + 2, + [ + 258, + 130, + 65, + 34, + 19, + 10, + 7 + ] + ], + [ + "add", + 194, + 649, + 1, + 1, + [ + 258, + 130, + 64, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 205, + 542, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 650, + 653, + 1, + 1, + [ + 259, + 131, + 65, + 35, + 19, + 10, + 7 + ] + ], + [ + "add", + 653, + 650, + -1, + 2, + [ + 259, + 131, + 65, + 35, + 19, + 10, + 7 + ] + ], + [ + "add", + 194, + 650, + 1, + 1, + [ + 258, + 130, + 64, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 198, + 653, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 530, + 652, + 1, + 1, + [ + 288, + 160, + 65, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 652, + 530, + -1, + 2, + [ + 288, + 160, + 65, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 187, + 530, + 1, + 1, + [ + 288, + 160, + 64, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 205, + 652, + -2, + 1, + [ + 257, + 129, + 65, + 33, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 252, + 284, + 1, + 1, + [ + 296, + 128, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 284, + 252, + -1, + 2, + [ + 296, + 128, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 186, + 252, + 1, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 172, + 284, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 254, + 286, + 1, + 1, + [ + 258, + 128, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 286, + 254, + -1, + 2, + [ + 258, + 128, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 254, + 1, + 1, + [ + 258, + 128, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 142, + 286, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 264, + 296, + 1, + 1, + [ + 290, + 128, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 296, + 264, + -1, + 2, + [ + 290, + 128, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 186, + 264, + 1, + 1, + [ + 288, + 128, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 142, + 296, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 79, + 19, + 1, + 1, + [ + 264, + 128, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 19, + 79, + -1, + 2, + [ + 264, + 128, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 195, + 79, + 1, + 1, + [ + 258, + 128, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 172, + 19, + -2, + 1, + [ + 264, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 656, + 245, + 1, + 1, + [ + 256, + 130, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 245, + 656, + -1, + 2, + [ + 256, + 130, + 72, + 40, + 24, + 6, + 1 + ] + ], + [ + "add", + 196, + 656, + 1, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 141, + 245, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 657, + 257, + 1, + 1, + [ + 256, + 168, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 257, + 657, + -1, + 2, + [ + 256, + 168, + 96, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 185, + 657, + 1, + 1, + [ + 256, + 160, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 171, + 257, + -2, + 1, + [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 658, + 317, + 1, + 1, + [ + 256, + 162, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 317, + 658, + -1, + 2, + [ + 256, + 162, + 96, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 185, + 658, + 1, + 1, + [ + 256, + 160, + 96, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 141, + 317, + -2, + 1, + [ + 256, + 130, + 64, + 32, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 333, + 660, + 1, + 1, + [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 660, + 333, + -1, + 2, + [ + 256, + 136, + 66, + 34, + 24, + 6, + 1 + ] + ], + [ + "add", + 196, + 333, + 1, + 1, + [ + 256, + 130, + 66, + 34, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 171, + 660, + -2, + 1, + [ + 256, + 136, + 64, + 32, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 460, + 332, + 1, + 1, + [ + 264, + 136, + 65, + 32, + 17, + 5, + 2 + ] + ], + [ + "add", + 332, + 460, + -1, + 2, + [ + 264, + 136, + 65, + 32, + 17, + 5, + 2 + ] + ], + [ + "add", + 200, + 460, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 178, + 332, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 461, + 334, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 17, + 10, + 7 + ] + ], + [ + "add", + 334, + 461, + -1, + 2, + [ + 258, + 130, + 67, + 34, + 17, + 10, + 7 + ] + ], + [ + "add", + 192, + 461, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 207, + 334, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 468, + 312, + 1, + 1, + [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ] + ], + [ + "add", + 312, + 468, + -1, + 2, + [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ] + ], + [ + "add", + 200, + 468, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 9, + 5, + 2 + ] + ], + [ + "add", + 207, + 312, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 469, + 24, + 1, + 1, + [ + 264, + 136, + 66, + 34, + 16, + 6, + 1 + ] + ], + [ + "add", + 24, + 469, + -1, + 2, + [ + 264, + 136, + 66, + 34, + 16, + 6, + 1 + ] + ], + [ + "add", + 192, + 469, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 16, + 10, + 6, + 1 + ] + ], + [ + "add", + 178, + 24, + -2, + 1, + [ + 264, + 136, + 64, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 664, + 671, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 19, + 8, + 7 + ] + ], + [ + "add", + 671, + 664, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 19, + 8, + 7 + ] + ], + [ + "add", + 115, + 664, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 138, + 671, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 665, + 670, + 1, + 1, + [ + 256, + 128, + 80, + 49, + 8, + 5, + 2 + ] + ], + [ + "add", + 670, + 665, + -1, + 2, + [ + 256, + 128, + 80, + 49, + 8, + 5, + 2 + ] + ], + [ + "add", + 179, + 665, + 1, + 1, + [ + 256, + 128, + 80, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 120, + 670, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 666, + 669, + 1, + 1, + [ + 256, + 128, + 82, + 50, + 8, + 6, + 1 + ] + ], + [ + "add", + 669, + 666, + -1, + 2, + [ + 256, + 128, + 82, + 50, + 8, + 6, + 1 + ] + ], + [ + "add", + 179, + 666, + 1, + 1, + [ + 256, + 128, + 80, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 138, + 669, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 8, + 6, + 1 + ] + ], + [ + "add", + 667, + 668, + 1, + 1, + [ + 256, + 128, + 66, + 35, + 16, + 8, + 7 + ] + ], + [ + "add", + 668, + 667, + -1, + 2, + [ + 256, + 128, + 66, + 35, + 16, + 8, + 7 + ] + ], + [ + "add", + 115, + 667, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 120, + 668, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 16, + 8, + 5, + 2 + ] + ], + [ + "add", + 462, + 316, + 1, + 1, + [ + 256, + 129, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 316, + 462, + -1, + 2, + [ + 256, + 129, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 116, + 462, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 209, + 316, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 463, + 318, + 1, + 1, + [ + 256, + 152, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 318, + 463, + -1, + 2, + [ + 256, + 152, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 180, + 463, + 1, + 1, + [ + 256, + 144, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 176, + 318, + -2, + 1, + [ + 256, + 136, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 470, + 328, + 1, + 1, + [ + 256, + 137, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 328, + 470, + -1, + 2, + [ + 256, + 137, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 116, + 470, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 176, + 328, + -2, + 1, + [ + 256, + 136, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 471, + 109, + 1, + 1, + [ + 256, + 144, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 109, + 471, + -1, + 2, + [ + 256, + 144, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 180, + 471, + 1, + 1, + [ + 256, + 144, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 209, + 109, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 672, + 227, + 1, + 1, + [ + 280, + 128, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 227, + 672, + -1, + 2, + [ + 280, + 128, + 72, + 48, + 4, + 2, + 1 + ] + ], + [ + "add", + 181, + 672, + 1, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 177, + 227, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 673, + 229, + 1, + 1, + [ + 257, + 128, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 229, + 673, + -1, + 2, + [ + 257, + 128, + 72, + 40, + 24, + 4, + 3 + ] + ], + [ + "add", + 117, + 673, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 208, + 229, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 674, + 234, + 1, + 1, + [ + 265, + 128, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 234, + 674, + -1, + 2, + [ + 265, + 128, + 72, + 32, + 16, + 4, + 3 + ] + ], + [ + "add", + 117, + 674, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 8, + 4, + 3 + ] + ], + [ + "add", + 177, + 234, + -2, + 1, + [ + 264, + 128, + 72, + 32, + 16, + 4, + 2, + 1 + ] + ], + [ + "add", + 241, + 676, + 1, + 1, + [ + 272, + 128, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 676, + 241, + -1, + 2, + [ + 272, + 128, + 65, + 48, + 9, + 4, + 3 + ] + ], + [ + "add", + 181, + 241, + 1, + 1, + [ + 272, + 128, + 64, + 48, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 208, + 676, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 17, + 9, + 4, + 3 + ] + ], + [ + "add", + 478, + 514, + 1, + 1, + [ + 260, + 128, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 514, + 478, + -1, + 2, + [ + 260, + 128, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 165, + 478, + 1, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 217, + 514, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 479, + 515, + 1, + 1, + [ + 259, + 128, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 515, + 479, + -1, + 2, + [ + 259, + 128, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 127, + 479, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 154, + 515, + -2, + 1, + [ + 258, + 128, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 490, + 502, + 1, + 1, + [ + 262, + 128, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 502, + 490, + -1, + 2, + [ + 262, + 128, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 165, + 490, + 1, + 1, + [ + 260, + 128, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 154, + 502, + -2, + 1, + [ + 258, + 128, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 491, + 503, + 1, + 1, + [ + 257, + 128, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 503, + 491, + -1, + 2, + [ + 257, + 128, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 127, + 491, + 1, + 1, + [ + 257, + 128, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 217, + 503, + -2, + 1, + [ + 257, + 128, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 49, + 393, + 1, + 1, + [ + 256, + 132, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 393, + 49, + -1, + 2, + [ + 256, + 132, + 65, + 36, + 16, + 9, + 3 + ] + ], + [ + "add", + 164, + 49, + 1, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 218, + 393, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 83, + 281, + 1, + 1, + [ + 256, + 131, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 281, + 83, + -1, + 2, + [ + 256, + 131, + 66, + 32, + 16, + 9, + 4 + ] + ], + [ + "add", + 126, + 83, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 153, + 281, + -2, + 1, + [ + 256, + 130, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 98, + 225, + 1, + 1, + [ + 256, + 129, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 225, + 98, + -1, + 2, + [ + 256, + 129, + 66, + 34, + 16, + 9, + 6 + ] + ], + [ + "add", + 126, + 98, + 1, + 1, + [ + 256, + 129, + 64, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 218, + 225, + -2, + 1, + [ + 256, + 129, + 65, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 285, + 101, + 1, + 1, + [ + 256, + 134, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 101, + 285, + -1, + 2, + [ + 256, + 134, + 66, + 36, + 16, + 8, + 1 + ] + ], + [ + "add", + 164, + 285, + 1, + 1, + [ + 256, + 132, + 64, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 153, + 101, + -2, + 1, + [ + 256, + 130, + 66, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 480, + 504, + 1, + 1, + [ + 256, + 128, + 76, + 44, + 24, + 2, + 1 + ] + ], + [ + "add", + 504, + 480, + -1, + 2, + [ + 256, + 128, + 76, + 44, + 24, + 2, + 1 + ] + ], + [ + "add", + 163, + 480, + 1, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 156, + 504, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 481, + 505, + 1, + 1, + [ + 256, + 128, + 72, + 41, + 25, + 4, + 2 + ] + ], + [ + "add", + 505, + 481, + -1, + 2, + [ + 256, + 128, + 72, + 41, + 25, + 4, + 2 + ] + ], + [ + "add", + 125, + 481, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 128, + 505, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 492, + 516, + 1, + 1, + [ + 256, + 128, + 68, + 37, + 17, + 8, + 2 + ] + ], + [ + "add", + 516, + 492, + -1, + 2, + [ + 256, + 128, + 68, + 37, + 17, + 8, + 2 + ] + ], + [ + "add", + 163, + 492, + 1, + 1, + [ + 256, + 128, + 68, + 36, + 16, + 8, + 2, + 1 + ] + ], + [ + "add", + 128, + 516, + -2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 2 + ] + ], + [ + "add", + 493, + 517, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 20, + 13, + 2 + ] + ], + [ + "add", + 517, + 493, + -1, + 2, + [ + 256, + 128, + 65, + 32, + 20, + 13, + 2 + ] + ], + [ + "add", + 125, + 493, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 2 + ] + ], + [ + "add", + 156, + 517, + -2, + 1, + [ + 256, + 128, + 64, + 32, + 20, + 12, + 2, + 1 + ] + ], + [ + "add", + 68, + 345, + 1, + 1, + [ + 257, + 129, + 73, + 40, + 25, + 5, + 3 + ] + ], + [ + "add", + 345, + 68, + -1, + 2, + [ + 257, + 129, + 73, + 40, + 25, + 5, + 3 + ] + ], + [ + "add", + 211, + 68, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 216, + 345, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 80, + 381, + 1, + 1, + [ + 258, + 130, + 72, + 40, + 24, + 4, + 1 + ] + ], + [ + "add", + 381, + 80, + -1, + 2, + [ + 258, + 130, + 72, + 40, + 24, + 4, + 1 + ] + ], + [ + "add", + 190, + 80, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 155, + 381, + -2, + 1, + [ + 258, + 130, + 64, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 88, + 377, + 1, + 1, + [ + 258, + 130, + 67, + 34, + 19, + 10, + 5 + ] + ], + [ + "add", + 377, + 88, + -1, + 2, + [ + 258, + 130, + 67, + 34, + 19, + 10, + 5 + ] + ], + [ + "add", + 190, + 88, + 1, + 1, + [ + 258, + 130, + 66, + 34, + 18, + 10, + 4, + 1 + ] + ], + [ + "add", + 216, + 377, + -2, + 1, + [ + 257, + 129, + 64, + 33, + 16, + 9, + 5, + 3 + ] + ], + [ + "add", + 397, + 31, + 1, + 1, + [ + 258, + 130, + 65, + 32, + 17, + 8, + 5 + ] + ], + [ + "add", + 31, + 397, + -1, + 2, + [ + 258, + 130, + 65, + 32, + 17, + 8, + 5 + ] + ], + [ + "add", + 211, + 397, + 1, + 1, + [ + 257, + 129, + 65, + 32, + 17, + 8, + 5, + 3 + ] + ], + [ + "add", + 155, + 31, + -2, + 1, + [ + 258, + 130, + 64, + 32, + 16, + 8, + 4, + 1 + ] + ], + [ + "add", + 273, + 289, + 1, + 1, + [ + 256, + 132, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 289, + 273, + -1, + 2, + [ + 256, + 132, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 223, + 273, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 158, + 289, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 275, + 291, + 1, + 1, + [ + 256, + 131, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 291, + 275, + -1, + 2, + [ + 256, + 131, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 148, + 275, + 1, + 1, + [ + 256, + 130, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 132, + 291, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 506, + 518, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 518, + 506, + -1, + 2, + [ + 256, + 129, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 223, + 506, + 1, + 1, + [ + 256, + 129, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 132, + 518, + -2, + 1, + [ + 256, + 129, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 305, + 321, + 1, + 1, + [ + 256, + 134, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 321, + 305, + -1, + 2, + [ + 256, + 134, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 148, + 305, + 1, + 1, + [ + 256, + 130, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 158, + 321, + -2, + 1, + [ + 256, + 132, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 696, + 313, + 1, + 1, + [ + 260, + 128, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 313, + 696, + -1, + 2, + [ + 260, + 128, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 159, + 696, + 1, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 222, + 313, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 697, + 297, + 1, + 1, + [ + 259, + 128, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 297, + 697, + -1, + 2, + [ + 259, + 128, + 64, + 33, + 18, + 8, + 4 + ] + ], + [ + "add", + 133, + 697, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 149, + 297, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ], + [ + "add", + 698, + 329, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 329, + 698, + -1, + 2, + [ + 257, + 128, + 64, + 33, + 18, + 10, + 6 + ] + ], + [ + "add", + 133, + 698, + 1, + 1, + [ + 257, + 128, + 64, + 33, + 16, + 8, + 4, + 2 + ] + ], + [ + "add", + 222, + 329, + -2, + 1, + [ + 257, + 128, + 64, + 33, + 17, + 9, + 5, + 3 + ] + ], + [ + "add", + 301, + 700, + 1, + 1, + [ + 262, + 128, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 700, + 301, + -1, + 2, + [ + 262, + 128, + 64, + 32, + 18, + 12, + 1 + ] + ], + [ + "add", + 159, + 301, + 1, + 1, + [ + 260, + 128, + 64, + 32, + 16, + 12, + 2, + 1 + ] + ], + [ + "add", + 149, + 700, + -2, + 1, + [ + 258, + 128, + 64, + 32, + 18, + 8, + 4, + 1 + ] + ] + ], + "compensation": [ + [ + "add", + 118, + 224, + -1, + 1, + [] + ], + [ + "add", + 118, + 225, + 1, + 1, + [] + ], + [ + "add", + 118, + 241, + 1, + 2, + [] + ], + [ + "add", + 118, + 243, + 1, + 4, + [] + ], + [ + "add", + 118, + 244, + 1, + 4, + [] + ], + [ + "add", + 118, + 245, + -1, + 4, + [] + ], + [ + "add", + 118, + 248, + -1, + 4, + [] + ], + [ + "add", + 118, + 249, + 1, + 4, + [] + ], + [ + "add", + 118, + 254, + -1, + 4, + [] + ], + [ + "add", + 118, + 255, + 1, + 4, + [] + ], + [ + "add", + 118, + 257, + 1, + 4, + [] + ], + [ + "add", + 118, + 262, + -1, + 4, + [] + ], + [ + "add", + 118, + 263, + 1, + 4, + [] + ], + [ + "add", + 118, + 266, + 1, + 4, + [] + ], + [ + "add", + 118, + 267, + -1, + 4, + [] + ], + [ + "add", + 118, + 268, + -1, + 4, + [] + ], + [ + "add", + 118, + 269, + 1, + 4, + [] + ], + [ + "add", + 118, + 270, + -1, + 2, + [] + ], + [ + "add", + 118, + 271, + 1, + 2, + [] + ], + [ + "add", + 118, + 274, + 1, + 4, + [] + ], + [ + "add", + 118, + 276, + -1, + 4, + [] + ], + [ + "add", + 118, + 279, + -1, + 4, + [] + ], + [ + "add", + 118, + 283, + 1, + 2, + [] + ], + [ + "add", + 118, + 285, + -1, + 2, + [] + ], + [ + "add", + 118, + 286, + -1, + 4, + [] + ], + [ + "add", + 118, + 294, + 1, + 4, + [] + ], + [ + "add", + 118, + 299, + 1, + 4, + [] + ], + [ + "add", + 118, + 300, + -1, + 4, + [] + ], + [ + "add", + 118, + 302, + -1, + 2, + [] + ], + [ + "add", + 118, + 303, + 1, + 2, + [] + ], + [ + "add", + 118, + 336, + -1, + 2, + [] + ], + [ + "add", + 118, + 340, + -1, + 2, + [] + ], + [ + "add", + 118, + 350, + -1, + 2, + [] + ], + [ + "add", + 118, + 351, + 1, + 2, + [] + ], + [ + "add", + 118, + 352, + -1, + 2, + [] + ], + [ + "add", + 118, + 356, + -1, + 2, + [] + ], + [ + "add", + 118, + 366, + -1, + 2, + [] + ], + [ + "add", + 118, + 367, + 1, + 2, + [] + ], + [ + "add", + 118, + 374, + 1, + 4, + [] + ], + [ + "add", + 118, + 376, + 1, + 2, + [] + ], + [ + "add", + 118, + 379, + -1, + 4, + [] + ], + [ + "add", + 118, + 380, + 1, + 4, + [] + ], + [ + "add", + 118, + 383, + 1, + 2, + [] + ], + [ + "add", + 118, + 386, + 1, + 4, + [] + ], + [ + "add", + 118, + 388, + -1, + 4, + [] + ], + [ + "add", + 118, + 391, + 1, + 4, + [] + ], + [ + "add", + 118, + 393, + 1, + 2, + [] + ], + [ + "add", + 118, + 395, + -1, + 2, + [] + ], + [ + "add", + 118, + 398, + -1, + 4, + [] + ], + [ + "add", + 118, + 399, + 1, + 2, + [] + ], + [ + "add", + 118, + 401, + -1, + 4, + [] + ], + [ + "add", + 118, + 402, + 1, + 2, + [] + ], + [ + "add", + 118, + 403, + -1, + 2, + [] + ], + [ + "add", + 118, + 406, + -1, + 4, + [] + ], + [ + "add", + 118, + 407, + 1, + 4, + [] + ], + [ + "add", + 118, + 410, + 1, + 4, + [] + ], + [ + "add", + 118, + 411, + -1, + 4, + [] + ], + [ + "add", + 118, + 412, + 1, + 4, + [] + ], + [ + "add", + 118, + 413, + -1, + 4, + [] + ], + [ + "add", + 118, + 418, + 1, + 4, + [] + ], + [ + "add", + 118, + 419, + -1, + 4, + [] + ], + [ + "add", + 118, + 420, + 1, + 4, + [] + ], + [ + "add", + 118, + 421, + -1, + 4, + [] + ], + [ + "add", + 118, + 424, + 1, + 4, + [] + ], + [ + "add", + 118, + 425, + -1, + 4, + [] + ], + [ + "add", + 118, + 426, + 1, + 2, + [] + ], + [ + "add", + 118, + 427, + -1, + 2, + [] + ], + [ + "add", + 118, + 430, + -1, + 4, + [] + ], + [ + "add", + 118, + 431, + 1, + 4, + [] + ], + [ + "add", + 118, + 546, + 1, + 4, + [] + ], + [ + "add", + 118, + 547, + 1, + 4, + [] + ], + [ + "add", + 118, + 560, + 1, + 4, + [] + ], + [ + "add", + 118, + 568, + 1, + 4, + [] + ], + [ + "add", + 194, + 224, + -1, + 1, + [] + ], + [ + "add", + 194, + 225, + 1, + 1, + [] + ], + [ + "add", + 194, + 241, + 1, + 2, + [] + ], + [ + "add", + 194, + 243, + 1, + 4, + [] + ], + [ + "add", + 194, + 244, + 1, + 4, + [] + ], + [ + "add", + 194, + 245, + -1, + 4, + [] + ], + [ + "add", + 194, + 248, + -1, + 4, + [] + ], + [ + "add", + 194, + 249, + 1, + 4, + [] + ], + [ + "add", + 194, + 254, + -1, + 4, + [] + ], + [ + "add", + 194, + 255, + 1, + 4, + [] + ], + [ + "add", + 194, + 257, + 1, + 4, + [] + ], + [ + "add", + 194, + 262, + -1, + 4, + [] + ], + [ + "add", + 194, + 263, + 1, + 4, + [] + ], + [ + "add", + 194, + 266, + 1, + 4, + [] + ], + [ + "add", + 194, + 267, + -1, + 4, + [] + ], + [ + "add", + 194, + 268, + -1, + 4, + [] + ], + [ + "add", + 194, + 269, + 1, + 4, + [] + ], + [ + "add", + 194, + 270, + -1, + 2, + [] + ], + [ + "add", + 194, + 271, + 1, + 2, + [] + ], + [ + "add", + 194, + 274, + 1, + 4, + [] + ], + [ + "add", + 194, + 276, + -1, + 4, + [] + ], + [ + "add", + 194, + 279, + -1, + 4, + [] + ], + [ + "add", + 194, + 283, + 1, + 2, + [] + ], + [ + "add", + 194, + 285, + -1, + 2, + [] + ], + [ + "add", + 194, + 286, + -1, + 4, + [] + ], + [ + "add", + 194, + 294, + 1, + 4, + [] + ], + [ + "add", + 194, + 299, + 1, + 4, + [] + ], + [ + "add", + 194, + 300, + -1, + 4, + [] + ], + [ + "add", + 194, + 302, + -1, + 2, + [] + ], + [ + "add", + 194, + 303, + 1, + 2, + [] + ], + [ + "add", + 194, + 336, + -1, + 2, + [] + ], + [ + "add", + 194, + 340, + -1, + 2, + [] + ], + [ + "add", + 194, + 350, + -1, + 2, + [] + ], + [ + "add", + 194, + 351, + 1, + 2, + [] + ], + [ + "add", + 194, + 352, + -1, + 2, + [] + ], + [ + "add", + 194, + 356, + -1, + 2, + [] + ], + [ + "add", + 194, + 366, + -1, + 2, + [] + ], + [ + "add", + 194, + 367, + 1, + 2, + [] + ], + [ + "add", + 194, + 374, + 1, + 4, + [] + ], + [ + "add", + 194, + 376, + 1, + 2, + [] + ], + [ + "add", + 194, + 379, + -1, + 4, + [] + ], + [ + "add", + 194, + 380, + 1, + 4, + [] + ], + [ + "add", + 194, + 383, + 1, + 2, + [] + ], + [ + "add", + 194, + 386, + 1, + 4, + [] + ], + [ + "add", + 194, + 388, + -1, + 4, + [] + ], + [ + "add", + 194, + 391, + 1, + 4, + [] + ], + [ + "add", + 194, + 393, + 1, + 2, + [] + ], + [ + "add", + 194, + 395, + -1, + 2, + [] + ], + [ + "add", + 194, + 398, + -1, + 4, + [] + ], + [ + "add", + 194, + 399, + 1, + 2, + [] + ], + [ + "add", + 194, + 401, + -1, + 4, + [] + ], + [ + "add", + 194, + 402, + 1, + 2, + [] + ], + [ + "add", + 194, + 403, + -1, + 2, + [] + ], + [ + "add", + 194, + 406, + -1, + 4, + [] + ], + [ + "add", + 194, + 407, + 1, + 4, + [] + ], + [ + "add", + 194, + 410, + 1, + 4, + [] + ], + [ + "add", + 194, + 411, + -1, + 4, + [] + ], + [ + "add", + 194, + 412, + 1, + 4, + [] + ], + [ + "add", + 194, + 413, + -1, + 4, + [] + ], + [ + "add", + 194, + 418, + 1, + 4, + [] + ], + [ + "add", + 194, + 419, + -1, + 4, + [] + ], + [ + "add", + 194, + 420, + 1, + 4, + [] + ], + [ + "add", + 194, + 421, + -1, + 4, + [] + ], + [ + "add", + 194, + 424, + 1, + 4, + [] + ], + [ + "add", + 194, + 425, + -1, + 4, + [] + ], + [ + "add", + 194, + 426, + 1, + 2, + [] + ], + [ + "add", + 194, + 427, + -1, + 2, + [] + ], + [ + "add", + 194, + 430, + -1, + 4, + [] + ], + [ + "add", + 194, + 431, + 1, + 4, + [] + ], + [ + "add", + 194, + 546, + 1, + 4, + [] + ], + [ + "add", + 194, + 547, + 1, + 4, + [] + ], + [ + "add", + 194, + 560, + 1, + 4, + [] + ], + [ + "add", + 194, + 568, + 1, + 4, + [] + ], + [ + "add", + 187, + 241, + 1, + 2, + [] + ], + [ + "add", + 187, + 243, + -1, + 4, + [] + ], + [ + "add", + 187, + 244, + -1, + 4, + [] + ], + [ + "add", + 187, + 245, + 1, + 4, + [] + ], + [ + "add", + 187, + 248, + 1, + 4, + [] + ], + [ + "add", + 187, + 249, + -1, + 4, + [] + ], + [ + "add", + 187, + 254, + 1, + 4, + [] + ], + [ + "add", + 187, + 255, + -1, + 4, + [] + ], + [ + "add", + 187, + 257, + 1, + 4, + [] + ], + [ + "add", + 187, + 262, + -1, + 4, + [] + ], + [ + "add", + 187, + 263, + 1, + 4, + [] + ], + [ + "add", + 187, + 266, + 1, + 4, + [] + ], + [ + "add", + 187, + 267, + -1, + 4, + [] + ], + [ + "add", + 187, + 268, + -1, + 4, + [] + ], + [ + "add", + 187, + 269, + 1, + 4, + [] + ], + [ + "add", + 187, + 270, + 1, + 2, + [] + ], + [ + "add", + 187, + 271, + -1, + 2, + [] + ], + [ + "add", + 187, + 274, + -1, + 4, + [] + ], + [ + "add", + 187, + 276, + 1, + 4, + [] + ], + [ + "add", + 187, + 279, + 1, + 4, + [] + ], + [ + "add", + 187, + 283, + 1, + 2, + [] + ], + [ + "add", + 187, + 285, + -1, + 2, + [] + ], + [ + "add", + 187, + 286, + 1, + 4, + [] + ], + [ + "add", + 187, + 294, + 1, + 4, + [] + ], + [ + "add", + 187, + 299, + 1, + 4, + [] + ], + [ + "add", + 187, + 300, + -1, + 4, + [] + ], + [ + "add", + 187, + 302, + 1, + 2, + [] + ], + [ + "add", + 187, + 303, + -1, + 2, + [] + ], + [ + "add", + 187, + 304, + -1, + 2, + [] + ], + [ + "add", + 187, + 308, + 1, + 2, + [] + ], + [ + "add", + 187, + 312, + 1, + 2, + [] + ], + [ + "add", + 187, + 318, + 1, + 2, + [] + ], + [ + "add", + 187, + 336, + -1, + 2, + [] + ], + [ + "add", + 187, + 340, + 1, + 2, + [] + ], + [ + "add", + 187, + 350, + 1, + 2, + [] + ], + [ + "add", + 187, + 351, + -1, + 2, + [] + ], + [ + "add", + 187, + 374, + -1, + 4, + [] + ], + [ + "add", + 187, + 376, + 1, + 2, + [] + ], + [ + "add", + 187, + 379, + 1, + 4, + [] + ], + [ + "add", + 187, + 380, + -1, + 4, + [] + ], + [ + "add", + 187, + 383, + 1, + 2, + [] + ], + [ + "add", + 187, + 386, + -1, + 4, + [] + ], + [ + "add", + 187, + 388, + 1, + 4, + [] + ], + [ + "add", + 187, + 391, + -1, + 4, + [] + ], + [ + "add", + 187, + 393, + 1, + 2, + [] + ], + [ + "add", + 187, + 395, + -1, + 2, + [] + ], + [ + "add", + 187, + 398, + 1, + 4, + [] + ], + [ + "add", + 187, + 399, + -1, + 2, + [] + ], + [ + "add", + 187, + 401, + 1, + 4, + [] + ], + [ + "add", + 187, + 402, + 1, + 2, + [] + ], + [ + "add", + 187, + 403, + -1, + 2, + [] + ], + [ + "add", + 187, + 406, + 1, + 4, + [] + ], + [ + "add", + 187, + 407, + -1, + 4, + [] + ], + [ + "add", + 187, + 410, + -1, + 4, + [] + ], + [ + "add", + 187, + 411, + 1, + 4, + [] + ], + [ + "add", + 187, + 412, + -1, + 4, + [] + ], + [ + "add", + 187, + 413, + 1, + 4, + [] + ], + [ + "add", + 187, + 418, + -1, + 4, + [] + ], + [ + "add", + 187, + 419, + 1, + 4, + [] + ], + [ + "add", + 187, + 420, + -1, + 4, + [] + ], + [ + "add", + 187, + 421, + 1, + 4, + [] + ], + [ + "add", + 187, + 424, + -1, + 4, + [] + ], + [ + "add", + 187, + 425, + 1, + 4, + [] + ], + [ + "add", + 187, + 426, + 1, + 2, + [] + ], + [ + "add", + 187, + 427, + -1, + 2, + [] + ], + [ + "add", + 187, + 430, + 1, + 4, + [] + ], + [ + "add", + 187, + 431, + -1, + 4, + [] + ], + [ + "add", + 187, + 442, + 1, + 1, + [] + ], + [ + "add", + 187, + 443, + -1, + 1, + [] + ], + [ + "add", + 187, + 546, + -1, + 4, + [] + ], + [ + "add", + 187, + 547, + 1, + 4, + [] + ], + [ + "add", + 187, + 560, + 1, + 4, + [] + ], + [ + "add", + 187, + 568, + -1, + 4, + [] + ], + [ + "add", + 113, + 241, + 1, + 2, + [] + ], + [ + "add", + 113, + 243, + -1, + 4, + [] + ], + [ + "add", + 113, + 244, + -1, + 4, + [] + ], + [ + "add", + 113, + 245, + 1, + 4, + [] + ], + [ + "add", + 113, + 248, + 1, + 4, + [] + ], + [ + "add", + 113, + 249, + -1, + 4, + [] + ], + [ + "add", + 113, + 254, + 1, + 4, + [] + ], + [ + "add", + 113, + 255, + -1, + 4, + [] + ], + [ + "add", + 113, + 257, + -1, + 4, + [] + ], + [ + "add", + 113, + 262, + 1, + 4, + [] + ], + [ + "add", + 113, + 263, + -1, + 4, + [] + ], + [ + "add", + 113, + 266, + -1, + 4, + [] + ], + [ + "add", + 113, + 267, + 1, + 4, + [] + ], + [ + "add", + 113, + 268, + 1, + 4, + [] + ], + [ + "add", + 113, + 269, + -1, + 4, + [] + ], + [ + "add", + 113, + 270, + -1, + 2, + [] + ], + [ + "add", + 113, + 271, + 1, + 2, + [] + ], + [ + "add", + 113, + 274, + -1, + 4, + [] + ], + [ + "add", + 113, + 276, + 1, + 4, + [] + ], + [ + "add", + 113, + 279, + 1, + 4, + [] + ], + [ + "add", + 113, + 283, + 1, + 2, + [] + ], + [ + "add", + 113, + 285, + -1, + 2, + [] + ], + [ + "add", + 113, + 286, + 1, + 4, + [] + ], + [ + "add", + 113, + 294, + -1, + 4, + [] + ], + [ + "add", + 113, + 299, + -1, + 4, + [] + ], + [ + "add", + 113, + 300, + 1, + 4, + [] + ], + [ + "add", + 113, + 302, + -1, + 2, + [] + ], + [ + "add", + 113, + 303, + 1, + 2, + [] + ], + [ + "add", + 113, + 319, + 1, + 1, + [] + ], + [ + "add", + 113, + 351, + 1, + 1, + [] + ], + [ + "add", + 113, + 374, + -1, + 4, + [] + ], + [ + "add", + 113, + 376, + 1, + 2, + [] + ], + [ + "add", + 113, + 379, + 1, + 4, + [] + ], + [ + "add", + 113, + 380, + -1, + 4, + [] + ], + [ + "add", + 113, + 383, + 1, + 2, + [] + ], + [ + "add", + 113, + 386, + 1, + 4, + [] + ], + [ + "add", + 113, + 388, + -1, + 4, + [] + ], + [ + "add", + 113, + 391, + 1, + 4, + [] + ], + [ + "add", + 113, + 393, + -1, + 2, + [] + ], + [ + "add", + 113, + 395, + 1, + 2, + [] + ], + [ + "add", + 113, + 398, + -1, + 4, + [] + ], + [ + "add", + 113, + 399, + 1, + 2, + [] + ], + [ + "add", + 113, + 401, + 1, + 4, + [] + ], + [ + "add", + 113, + 402, + 1, + 2, + [] + ], + [ + "add", + 113, + 403, + -1, + 2, + [] + ], + [ + "add", + 113, + 406, + 1, + 4, + [] + ], + [ + "add", + 113, + 407, + -1, + 4, + [] + ], + [ + "add", + 113, + 410, + -1, + 4, + [] + ], + [ + "add", + 113, + 411, + 1, + 4, + [] + ], + [ + "add", + 113, + 412, + -1, + 4, + [] + ], + [ + "add", + 113, + 413, + 1, + 4, + [] + ], + [ + "add", + 113, + 418, + 1, + 4, + [] + ], + [ + "add", + 113, + 419, + -1, + 4, + [] + ], + [ + "add", + 113, + 420, + 1, + 4, + [] + ], + [ + "add", + 113, + 421, + -1, + 4, + [] + ], + [ + "add", + 113, + 424, + 1, + 4, + [] + ], + [ + "add", + 113, + 425, + -1, + 4, + [] + ], + [ + "add", + 113, + 426, + -1, + 2, + [] + ], + [ + "add", + 113, + 427, + 1, + 2, + [] + ], + [ + "add", + 113, + 430, + -1, + 4, + [] + ], + [ + "add", + 113, + 431, + 1, + 4, + [] + ], + [ + "add", + 113, + 434, + 1, + 2, + [] + ], + [ + "add", + 113, + 435, + -1, + 2, + [] + ], + [ + "add", + 113, + 436, + 1, + 2, + [] + ], + [ + "add", + 113, + 437, + -1, + 2, + [] + ], + [ + "add", + 113, + 440, + 1, + 2, + [] + ], + [ + "add", + 113, + 441, + -1, + 2, + [] + ], + [ + "add", + 113, + 446, + -1, + 2, + [] + ], + [ + "add", + 113, + 447, + 1, + 2, + [] + ], + [ + "add", + 113, + 546, + -1, + 4, + [] + ], + [ + "add", + 113, + 547, + 1, + 4, + [] + ], + [ + "add", + 113, + 560, + -1, + 4, + [] + ], + [ + "add", + 113, + 568, + -1, + 4, + [] + ], + [ + "add", + 205, + 226, + -1, + 2, + [] + ], + [ + "add", + 205, + 227, + 1, + 2, + [] + ], + [ + "add", + 205, + 228, + 1, + 2, + [] + ], + [ + "add", + 205, + 229, + -1, + 2, + [] + ], + [ + "add", + 205, + 232, + -1, + 2, + [] + ], + [ + "add", + 205, + 233, + 1, + 2, + [] + ], + [ + "add", + 205, + 238, + -1, + 2, + [] + ], + [ + "add", + 205, + 239, + 1, + 2, + [] + ], + [ + "add", + 205, + 241, + 1, + 2, + [] + ], + [ + "add", + 205, + 243, + 1, + 4, + [] + ], + [ + "add", + 205, + 244, + 1, + 4, + [] + ], + [ + "add", + 205, + 245, + -1, + 4, + [] + ], + [ + "add", + 205, + 248, + -1, + 4, + [] + ], + [ + "add", + 205, + 249, + 1, + 4, + [] + ], + [ + "add", + 205, + 254, + -1, + 4, + [] + ], + [ + "add", + 205, + 255, + 1, + 4, + [] + ], + [ + "add", + 205, + 257, + 1, + 4, + [] + ], + [ + "add", + 205, + 262, + -1, + 4, + [] + ], + [ + "add", + 205, + 263, + 1, + 4, + [] + ], + [ + "add", + 205, + 266, + 1, + 4, + [] + ], + [ + "add", + 205, + 267, + -1, + 4, + [] + ], + [ + "add", + 205, + 268, + -1, + 4, + [] + ], + [ + "add", + 205, + 269, + 1, + 4, + [] + ], + [ + "add", + 205, + 270, + -1, + 2, + [] + ], + [ + "add", + 205, + 271, + 1, + 2, + [] + ], + [ + "add", + 205, + 274, + -1, + 4, + [] + ], + [ + "add", + 205, + 276, + 1, + 4, + [] + ], + [ + "add", + 205, + 279, + 1, + 4, + [] + ], + [ + "add", + 205, + 283, + -1, + 2, + [] + ], + [ + "add", + 205, + 285, + 1, + 2, + [] + ], + [ + "add", + 205, + 286, + 1, + 4, + [] + ], + [ + "add", + 205, + 294, + -1, + 4, + [] + ], + [ + "add", + 205, + 299, + -1, + 4, + [] + ], + [ + "add", + 205, + 300, + 1, + 4, + [] + ], + [ + "add", + 205, + 302, + 1, + 2, + [] + ], + [ + "add", + 205, + 303, + -1, + 2, + [] + ], + [ + "add", + 205, + 347, + -1, + 1, + [] + ], + [ + "add", + 205, + 363, + -1, + 1, + [] + ], + [ + "add", + 205, + 374, + 1, + 4, + [] + ], + [ + "add", + 205, + 376, + 1, + 2, + [] + ], + [ + "add", + 205, + 379, + -1, + 4, + [] + ], + [ + "add", + 205, + 380, + 1, + 4, + [] + ], + [ + "add", + 205, + 383, + 1, + 2, + [] + ], + [ + "add", + 205, + 386, + 1, + 4, + [] + ], + [ + "add", + 205, + 388, + -1, + 4, + [] + ], + [ + "add", + 205, + 391, + 1, + 4, + [] + ], + [ + "add", + 205, + 393, + 1, + 2, + [] + ], + [ + "add", + 205, + 395, + -1, + 2, + [] + ], + [ + "add", + 205, + 398, + -1, + 4, + [] + ], + [ + "add", + 205, + 399, + 1, + 2, + [] + ], + [ + "add", + 205, + 401, + 1, + 4, + [] + ], + [ + "add", + 205, + 402, + -1, + 2, + [] + ], + [ + "add", + 205, + 403, + 1, + 2, + [] + ], + [ + "add", + 205, + 406, + 1, + 4, + [] + ], + [ + "add", + 205, + 407, + -1, + 4, + [] + ], + [ + "add", + 205, + 410, + -1, + 4, + [] + ], + [ + "add", + 205, + 411, + 1, + 4, + [] + ], + [ + "add", + 205, + 412, + -1, + 4, + [] + ], + [ + "add", + 205, + 413, + 1, + 4, + [] + ], + [ + "add", + 205, + 418, + -1, + 4, + [] + ], + [ + "add", + 205, + 419, + 1, + 4, + [] + ], + [ + "add", + 205, + 420, + -1, + 4, + [] + ], + [ + "add", + 205, + 421, + 1, + 4, + [] + ], + [ + "add", + 205, + 424, + -1, + 4, + [] + ], + [ + "add", + 205, + 425, + 1, + 4, + [] + ], + [ + "add", + 205, + 426, + -1, + 2, + [] + ], + [ + "add", + 205, + 427, + 1, + 2, + [] + ], + [ + "add", + 205, + 430, + 1, + 4, + [] + ], + [ + "add", + 205, + 431, + -1, + 4, + [] + ], + [ + "add", + 205, + 546, + 1, + 4, + [] + ], + [ + "add", + 205, + 547, + 1, + 4, + [] + ], + [ + "add", + 205, + 560, + 1, + 4, + [] + ], + [ + "add", + 205, + 568, + -1, + 4, + [] + ], + [ + "add", + 170, + 226, + -1, + 2, + [] + ], + [ + "add", + 170, + 227, + 1, + 2, + [] + ], + [ + "add", + 170, + 228, + 1, + 2, + [] + ], + [ + "add", + 170, + 229, + -1, + 2, + [] + ], + [ + "add", + 170, + 232, + -1, + 2, + [] + ], + [ + "add", + 170, + 233, + 1, + 2, + [] + ], + [ + "add", + 170, + 238, + -1, + 2, + [] + ], + [ + "add", + 170, + 239, + 1, + 2, + [] + ], + [ + "add", + 170, + 241, + 1, + 2, + [] + ], + [ + "add", + 170, + 243, + 1, + 4, + [] + ], + [ + "add", + 170, + 244, + 1, + 4, + [] + ], + [ + "add", + 170, + 245, + -1, + 4, + [] + ], + [ + "add", + 170, + 248, + -1, + 4, + [] + ], + [ + "add", + 170, + 249, + 1, + 4, + [] + ], + [ + "add", + 170, + 254, + -1, + 4, + [] + ], + [ + "add", + 170, + 255, + 1, + 4, + [] + ], + [ + "add", + 170, + 257, + 1, + 4, + [] + ], + [ + "add", + 170, + 262, + -1, + 4, + [] + ], + [ + "add", + 170, + 263, + 1, + 4, + [] + ], + [ + "add", + 170, + 266, + 1, + 4, + [] + ], + [ + "add", + 170, + 267, + -1, + 4, + [] + ], + [ + "add", + 170, + 268, + -1, + 4, + [] + ], + [ + "add", + 170, + 269, + 1, + 4, + [] + ], + [ + "add", + 170, + 270, + -1, + 2, + [] + ], + [ + "add", + 170, + 271, + 1, + 2, + [] + ], + [ + "add", + 170, + 274, + -1, + 4, + [] + ], + [ + "add", + 170, + 276, + 1, + 4, + [] + ], + [ + "add", + 170, + 279, + 1, + 4, + [] + ], + [ + "add", + 170, + 283, + -1, + 2, + [] + ], + [ + "add", + 170, + 285, + 1, + 2, + [] + ], + [ + "add", + 170, + 286, + 1, + 4, + [] + ], + [ + "add", + 170, + 294, + -1, + 4, + [] + ], + [ + "add", + 170, + 299, + -1, + 4, + [] + ], + [ + "add", + 170, + 300, + 1, + 4, + [] + ], + [ + "add", + 170, + 302, + 1, + 2, + [] + ], + [ + "add", + 170, + 303, + -1, + 2, + [] + ], + [ + "add", + 170, + 347, + -1, + 1, + [] + ], + [ + "add", + 170, + 363, + -1, + 1, + [] + ], + [ + "add", + 170, + 374, + 1, + 4, + [] + ], + [ + "add", + 170, + 376, + 1, + 2, + [] + ], + [ + "add", + 170, + 379, + -1, + 4, + [] + ], + [ + "add", + 170, + 380, + 1, + 4, + [] + ], + [ + "add", + 170, + 383, + 1, + 2, + [] + ], + [ + "add", + 170, + 386, + 1, + 4, + [] + ], + [ + "add", + 170, + 388, + -1, + 4, + [] + ], + [ + "add", + 170, + 391, + 1, + 4, + [] + ], + [ + "add", + 170, + 393, + 1, + 2, + [] + ], + [ + "add", + 170, + 395, + -1, + 2, + [] + ], + [ + "add", + 170, + 398, + -1, + 4, + [] + ], + [ + "add", + 170, + 399, + 1, + 2, + [] + ], + [ + "add", + 170, + 401, + 1, + 4, + [] + ], + [ + "add", + 170, + 402, + -1, + 2, + [] + ], + [ + "add", + 170, + 403, + 1, + 2, + [] + ], + [ + "add", + 170, + 406, + 1, + 4, + [] + ], + [ + "add", + 170, + 407, + -1, + 4, + [] + ], + [ + "add", + 170, + 410, + -1, + 4, + [] + ], + [ + "add", + 170, + 411, + 1, + 4, + [] + ], + [ + "add", + 170, + 412, + -1, + 4, + [] + ], + [ + "add", + 170, + 413, + 1, + 4, + [] + ], + [ + "add", + 170, + 418, + -1, + 4, + [] + ], + [ + "add", + 170, + 419, + 1, + 4, + [] + ], + [ + "add", + 170, + 420, + -1, + 4, + [] + ], + [ + "add", + 170, + 421, + 1, + 4, + [] + ], + [ + "add", + 170, + 424, + -1, + 4, + [] + ], + [ + "add", + 170, + 425, + 1, + 4, + [] + ], + [ + "add", + 170, + 426, + -1, + 2, + [] + ], + [ + "add", + 170, + 427, + 1, + 2, + [] + ], + [ + "add", + 170, + 430, + 1, + 4, + [] + ], + [ + "add", + 170, + 431, + -1, + 4, + [] + ], + [ + "add", + 170, + 546, + 1, + 4, + [] + ], + [ + "add", + 170, + 547, + 1, + 4, + [] + ], + [ + "add", + 170, + 560, + 1, + 4, + [] + ], + [ + "add", + 170, + 568, + -1, + 4, + [] + ], + [ + "add", + 140, + 241, + 1, + 2, + [] + ], + [ + "add", + 140, + 243, + -1, + 4, + [] + ], + [ + "add", + 140, + 244, + -1, + 4, + [] + ], + [ + "add", + 140, + 245, + 1, + 4, + [] + ], + [ + "add", + 140, + 248, + 1, + 4, + [] + ], + [ + "add", + 140, + 249, + -1, + 4, + [] + ], + [ + "add", + 140, + 254, + 1, + 4, + [] + ], + [ + "add", + 140, + 255, + -1, + 4, + [] + ], + [ + "add", + 140, + 257, + 1, + 4, + [] + ], + [ + "add", + 140, + 262, + -1, + 4, + [] + ], + [ + "add", + 140, + 263, + 1, + 4, + [] + ], + [ + "add", + 140, + 266, + 1, + 4, + [] + ], + [ + "add", + 140, + 267, + -1, + 4, + [] + ], + [ + "add", + 140, + 268, + -1, + 4, + [] + ], + [ + "add", + 140, + 269, + 1, + 4, + [] + ], + [ + "add", + 140, + 270, + 1, + 2, + [] + ], + [ + "add", + 140, + 271, + -1, + 2, + [] + ], + [ + "add", + 140, + 274, + -1, + 4, + [] + ], + [ + "add", + 140, + 276, + 1, + 4, + [] + ], + [ + "add", + 140, + 279, + 1, + 4, + [] + ], + [ + "add", + 140, + 283, + 1, + 2, + [] + ], + [ + "add", + 140, + 285, + -1, + 2, + [] + ], + [ + "add", + 140, + 286, + 1, + 4, + [] + ], + [ + "add", + 140, + 294, + 1, + 4, + [] + ], + [ + "add", + 140, + 299, + 1, + 4, + [] + ], + [ + "add", + 140, + 300, + -1, + 4, + [] + ], + [ + "add", + 140, + 302, + 1, + 2, + [] + ], + [ + "add", + 140, + 303, + -1, + 2, + [] + ], + [ + "add", + 140, + 304, + -1, + 2, + [] + ], + [ + "add", + 140, + 308, + 1, + 2, + [] + ], + [ + "add", + 140, + 312, + 1, + 2, + [] + ], + [ + "add", + 140, + 318, + 1, + 2, + [] + ], + [ + "add", + 140, + 336, + -1, + 2, + [] + ], + [ + "add", + 140, + 340, + 1, + 2, + [] + ], + [ + "add", + 140, + 350, + 1, + 2, + [] + ], + [ + "add", + 140, + 351, + -1, + 2, + [] + ], + [ + "add", + 140, + 374, + -1, + 4, + [] + ], + [ + "add", + 140, + 376, + 1, + 2, + [] + ], + [ + "add", + 140, + 379, + 1, + 4, + [] + ], + [ + "add", + 140, + 380, + -1, + 4, + [] + ], + [ + "add", + 140, + 383, + 1, + 2, + [] + ], + [ + "add", + 140, + 386, + -1, + 4, + [] + ], + [ + "add", + 140, + 388, + 1, + 4, + [] + ], + [ + "add", + 140, + 391, + -1, + 4, + [] + ], + [ + "add", + 140, + 393, + 1, + 2, + [] + ], + [ + "add", + 140, + 395, + -1, + 2, + [] + ], + [ + "add", + 140, + 398, + 1, + 4, + [] + ], + [ + "add", + 140, + 399, + -1, + 2, + [] + ], + [ + "add", + 140, + 401, + 1, + 4, + [] + ], + [ + "add", + 140, + 402, + 1, + 2, + [] + ], + [ + "add", + 140, + 403, + -1, + 2, + [] + ], + [ + "add", + 140, + 406, + 1, + 4, + [] + ], + [ + "add", + 140, + 407, + -1, + 4, + [] + ], + [ + "add", + 140, + 410, + -1, + 4, + [] + ], + [ + "add", + 140, + 411, + 1, + 4, + [] + ], + [ + "add", + 140, + 412, + -1, + 4, + [] + ], + [ + "add", + 140, + 413, + 1, + 4, + [] + ], + [ + "add", + 140, + 418, + -1, + 4, + [] + ], + [ + "add", + 140, + 419, + 1, + 4, + [] + ], + [ + "add", + 140, + 420, + -1, + 4, + [] + ], + [ + "add", + 140, + 421, + 1, + 4, + [] + ], + [ + "add", + 140, + 424, + -1, + 4, + [] + ], + [ + "add", + 140, + 425, + 1, + 4, + [] + ], + [ + "add", + 140, + 426, + 1, + 2, + [] + ], + [ + "add", + 140, + 427, + -1, + 2, + [] + ], + [ + "add", + 140, + 430, + 1, + 4, + [] + ], + [ + "add", + 140, + 431, + -1, + 4, + [] + ], + [ + "add", + 140, + 442, + 1, + 1, + [] + ], + [ + "add", + 140, + 443, + -1, + 1, + [] + ], + [ + "add", + 140, + 546, + -1, + 4, + [] + ], + [ + "add", + 140, + 547, + 1, + 4, + [] + ], + [ + "add", + 140, + 560, + 1, + 4, + [] + ], + [ + "add", + 140, + 568, + -1, + 4, + [] + ], + [ + "add", + 198, + 241, + 1, + 2, + [] + ], + [ + "add", + 198, + 243, + -1, + 4, + [] + ], + [ + "add", + 198, + 244, + -1, + 4, + [] + ], + [ + "add", + 198, + 245, + 1, + 4, + [] + ], + [ + "add", + 198, + 248, + 1, + 4, + [] + ], + [ + "add", + 198, + 249, + -1, + 4, + [] + ], + [ + "add", + 198, + 254, + 1, + 4, + [] + ], + [ + "add", + 198, + 255, + -1, + 4, + [] + ], + [ + "add", + 198, + 257, + -1, + 4, + [] + ], + [ + "add", + 198, + 262, + 1, + 4, + [] + ], + [ + "add", + 198, + 263, + -1, + 4, + [] + ], + [ + "add", + 198, + 266, + -1, + 4, + [] + ], + [ + "add", + 198, + 267, + 1, + 4, + [] + ], + [ + "add", + 198, + 268, + 1, + 4, + [] + ], + [ + "add", + 198, + 269, + -1, + 4, + [] + ], + [ + "add", + 198, + 270, + -1, + 2, + [] + ], + [ + "add", + 198, + 271, + 1, + 2, + [] + ], + [ + "add", + 198, + 274, + -1, + 4, + [] + ], + [ + "add", + 198, + 276, + 1, + 4, + [] + ], + [ + "add", + 198, + 279, + 1, + 4, + [] + ], + [ + "add", + 198, + 283, + 1, + 2, + [] + ], + [ + "add", + 198, + 285, + -1, + 2, + [] + ], + [ + "add", + 198, + 286, + 1, + 4, + [] + ], + [ + "add", + 198, + 294, + -1, + 4, + [] + ], + [ + "add", + 198, + 299, + -1, + 4, + [] + ], + [ + "add", + 198, + 300, + 1, + 4, + [] + ], + [ + "add", + 198, + 302, + -1, + 2, + [] + ], + [ + "add", + 198, + 303, + 1, + 2, + [] + ], + [ + "add", + 198, + 319, + 1, + 1, + [] + ], + [ + "add", + 198, + 351, + 1, + 1, + [] + ], + [ + "add", + 198, + 374, + -1, + 4, + [] + ], + [ + "add", + 198, + 376, + 1, + 2, + [] + ], + [ + "add", + 198, + 379, + 1, + 4, + [] + ], + [ + "add", + 198, + 380, + -1, + 4, + [] + ], + [ + "add", + 198, + 383, + 1, + 2, + [] + ], + [ + "add", + 198, + 386, + 1, + 4, + [] + ], + [ + "add", + 198, + 388, + -1, + 4, + [] + ], + [ + "add", + 198, + 391, + 1, + 4, + [] + ], + [ + "add", + 198, + 393, + -1, + 2, + [] + ], + [ + "add", + 198, + 395, + 1, + 2, + [] + ], + [ + "add", + 198, + 398, + -1, + 4, + [] + ], + [ + "add", + 198, + 399, + 1, + 2, + [] + ], + [ + "add", + 198, + 401, + 1, + 4, + [] + ], + [ + "add", + 198, + 402, + 1, + 2, + [] + ], + [ + "add", + 198, + 403, + -1, + 2, + [] + ], + [ + "add", + 198, + 406, + 1, + 4, + [] + ], + [ + "add", + 198, + 407, + -1, + 4, + [] + ], + [ + "add", + 198, + 410, + -1, + 4, + [] + ], + [ + "add", + 198, + 411, + 1, + 4, + [] + ], + [ + "add", + 198, + 412, + -1, + 4, + [] + ], + [ + "add", + 198, + 413, + 1, + 4, + [] + ], + [ + "add", + 198, + 418, + 1, + 4, + [] + ], + [ + "add", + 198, + 419, + -1, + 4, + [] + ], + [ + "add", + 198, + 420, + 1, + 4, + [] + ], + [ + "add", + 198, + 421, + -1, + 4, + [] + ], + [ + "add", + 198, + 424, + 1, + 4, + [] + ], + [ + "add", + 198, + 425, + -1, + 4, + [] + ], + [ + "add", + 198, + 426, + -1, + 2, + [] + ], + [ + "add", + 198, + 427, + 1, + 2, + [] + ], + [ + "add", + 198, + 430, + -1, + 4, + [] + ], + [ + "add", + 198, + 431, + 1, + 4, + [] + ], + [ + "add", + 198, + 434, + 1, + 2, + [] + ], + [ + "add", + 198, + 435, + -1, + 2, + [] + ], + [ + "add", + 198, + 436, + 1, + 2, + [] + ], + [ + "add", + 198, + 437, + -1, + 2, + [] + ], + [ + "add", + 198, + 440, + 1, + 2, + [] + ], + [ + "add", + 198, + 441, + -1, + 2, + [] + ], + [ + "add", + 198, + 446, + -1, + 2, + [] + ], + [ + "add", + 198, + 447, + 1, + 2, + [] + ], + [ + "add", + 198, + 546, + -1, + 4, + [] + ], + [ + "add", + 198, + 547, + 1, + 4, + [] + ], + [ + "add", + 198, + 560, + -1, + 4, + [] + ], + [ + "add", + 198, + 568, + -1, + 4, + [] + ], + [ + "add", + 124, + 226, + 1, + 1, + [] + ], + [ + "add", + 124, + 227, + -1, + 1, + [] + ], + [ + "add", + 124, + 241, + -1, + 4, + [] + ], + [ + "add", + 124, + 243, + -1, + 2, + [] + ], + [ + "add", + 124, + 246, + -1, + 4, + [] + ], + [ + "add", + 124, + 247, + 1, + 4, + [] + ], + [ + "add", + 124, + 250, + 1, + 4, + [] + ], + [ + "add", + 124, + 251, + -1, + 4, + [] + ], + [ + "add", + 124, + 252, + 1, + 4, + [] + ], + [ + "add", + 124, + 253, + -1, + 4, + [] + ], + [ + "add", + 124, + 257, + -1, + 4, + [] + ], + [ + "add", + 124, + 259, + -1, + 2, + [] + ], + [ + "add", + 124, + 262, + -1, + 4, + [] + ], + [ + "add", + 124, + 263, + 1, + 4, + [] + ], + [ + "add", + 124, + 266, + 1, + 4, + [] + ], + [ + "add", + 124, + 267, + -1, + 4, + [] + ], + [ + "add", + 124, + 268, + 1, + 4, + [] + ], + [ + "add", + 124, + 269, + -1, + 4, + [] + ], + [ + "add", + 124, + 272, + -1, + 2, + [] + ], + [ + "add", + 124, + 276, + -1, + 2, + [] + ], + [ + "add", + 124, + 280, + 1, + 2, + [] + ], + [ + "add", + 124, + 286, + -1, + 2, + [] + ], + [ + "add", + 124, + 287, + 1, + 1, + [] + ], + [ + "add", + 124, + 288, + -1, + 2, + [] + ], + [ + "add", + 124, + 292, + -1, + 2, + [] + ], + [ + "add", + 124, + 296, + 1, + 2, + [] + ], + [ + "add", + 124, + 302, + -1, + 2, + [] + ], + [ + "add", + 124, + 303, + 1, + 1, + [] + ], + [ + "add", + 124, + 310, + 1, + 4, + [] + ], + [ + "add", + 124, + 312, + 1, + 2, + [] + ], + [ + "add", + 124, + 315, + -1, + 4, + [] + ], + [ + "add", + 124, + 316, + 1, + 4, + [] + ], + [ + "add", + 124, + 319, + 1, + 2, + [] + ], + [ + "add", + 124, + 322, + 1, + 4, + [] + ], + [ + "add", + 124, + 324, + -1, + 4, + [] + ], + [ + "add", + 124, + 329, + 1, + 2, + [] + ], + [ + "add", + 124, + 331, + -1, + 2, + [] + ], + [ + "add", + 124, + 334, + -1, + 4, + [] + ], + [ + "add", + 124, + 335, + 1, + 2, + [] + ], + [ + "add", + 124, + 338, + 1, + 4, + [] + ], + [ + "add", + 124, + 340, + -1, + 4, + [] + ], + [ + "add", + 124, + 343, + -1, + 4, + [] + ], + [ + "add", + 124, + 347, + 1, + 2, + [] + ], + [ + "add", + 124, + 349, + -1, + 2, + [] + ], + [ + "add", + 124, + 350, + -1, + 4, + [] + ], + [ + "add", + 124, + 358, + 1, + 4, + [] + ], + [ + "add", + 124, + 363, + 1, + 4, + [] + ], + [ + "add", + 124, + 364, + -1, + 4, + [] + ], + [ + "add", + 124, + 366, + -1, + 2, + [] + ], + [ + "add", + 124, + 367, + 1, + 2, + [] + ], + [ + "add", + 124, + 401, + -1, + 4, + [] + ], + [ + "add", + 124, + 402, + 1, + 2, + [] + ], + [ + "add", + 124, + 403, + -1, + 2, + [] + ], + [ + "add", + 124, + 406, + -1, + 4, + [] + ], + [ + "add", + 124, + 407, + 1, + 4, + [] + ], + [ + "add", + 124, + 410, + 1, + 4, + [] + ], + [ + "add", + 124, + 411, + -1, + 4, + [] + ], + [ + "add", + 124, + 412, + 1, + 4, + [] + ], + [ + "add", + 124, + 413, + -1, + 4, + [] + ], + [ + "add", + 124, + 417, + -1, + 4, + [] + ], + [ + "add", + 124, + 418, + 1, + 2, + [] + ], + [ + "add", + 124, + 419, + -1, + 2, + [] + ], + [ + "add", + 124, + 422, + -1, + 4, + [] + ], + [ + "add", + 124, + 423, + 1, + 4, + [] + ], + [ + "add", + 124, + 426, + 1, + 4, + [] + ], + [ + "add", + 124, + 427, + -1, + 4, + [] + ], + [ + "add", + 124, + 428, + 1, + 4, + [] + ], + [ + "add", + 124, + 429, + -1, + 4, + [] + ], + [ + "add", + 124, + 511, + 1, + 4, + [] + ], + [ + "add", + 212, + 226, + 1, + 1, + [] + ], + [ + "add", + 212, + 227, + -1, + 1, + [] + ], + [ + "add", + 212, + 241, + -1, + 4, + [] + ], + [ + "add", + 212, + 243, + -1, + 2, + [] + ], + [ + "add", + 212, + 246, + -1, + 4, + [] + ], + [ + "add", + 212, + 247, + 1, + 4, + [] + ], + [ + "add", + 212, + 250, + 1, + 4, + [] + ], + [ + "add", + 212, + 251, + -1, + 4, + [] + ], + [ + "add", + 212, + 252, + 1, + 4, + [] + ], + [ + "add", + 212, + 253, + -1, + 4, + [] + ], + [ + "add", + 212, + 257, + -1, + 4, + [] + ], + [ + "add", + 212, + 259, + -1, + 2, + [] + ], + [ + "add", + 212, + 262, + -1, + 4, + [] + ], + [ + "add", + 212, + 263, + 1, + 4, + [] + ], + [ + "add", + 212, + 266, + 1, + 4, + [] + ], + [ + "add", + 212, + 267, + -1, + 4, + [] + ], + [ + "add", + 212, + 268, + 1, + 4, + [] + ], + [ + "add", + 212, + 269, + -1, + 4, + [] + ], + [ + "add", + 212, + 272, + -1, + 2, + [] + ], + [ + "add", + 212, + 276, + -1, + 2, + [] + ], + [ + "add", + 212, + 280, + 1, + 2, + [] + ], + [ + "add", + 212, + 286, + -1, + 2, + [] + ], + [ + "add", + 212, + 287, + 1, + 1, + [] + ], + [ + "add", + 212, + 288, + -1, + 2, + [] + ], + [ + "add", + 212, + 292, + -1, + 2, + [] + ], + [ + "add", + 212, + 296, + 1, + 2, + [] + ], + [ + "add", + 212, + 302, + -1, + 2, + [] + ], + [ + "add", + 212, + 303, + 1, + 1, + [] + ], + [ + "add", + 212, + 310, + 1, + 4, + [] + ], + [ + "add", + 212, + 312, + 1, + 2, + [] + ], + [ + "add", + 212, + 315, + -1, + 4, + [] + ], + [ + "add", + 212, + 316, + 1, + 4, + [] + ], + [ + "add", + 212, + 319, + 1, + 2, + [] + ], + [ + "add", + 212, + 322, + 1, + 4, + [] + ], + [ + "add", + 212, + 324, + -1, + 4, + [] + ], + [ + "add", + 212, + 329, + 1, + 2, + [] + ], + [ + "add", + 212, + 331, + -1, + 2, + [] + ], + [ + "add", + 212, + 334, + -1, + 4, + [] + ], + [ + "add", + 212, + 335, + 1, + 2, + [] + ], + [ + "add", + 212, + 338, + 1, + 4, + [] + ], + [ + "add", + 212, + 340, + -1, + 4, + [] + ], + [ + "add", + 212, + 343, + -1, + 4, + [] + ], + [ + "add", + 212, + 347, + 1, + 2, + [] + ], + [ + "add", + 212, + 349, + -1, + 2, + [] + ], + [ + "add", + 212, + 350, + -1, + 4, + [] + ], + [ + "add", + 212, + 358, + 1, + 4, + [] + ], + [ + "add", + 212, + 363, + 1, + 4, + [] + ], + [ + "add", + 212, + 364, + -1, + 4, + [] + ], + [ + "add", + 212, + 366, + -1, + 2, + [] + ], + [ + "add", + 212, + 367, + 1, + 2, + [] + ], + [ + "add", + 212, + 401, + -1, + 4, + [] + ], + [ + "add", + 212, + 402, + 1, + 2, + [] + ], + [ + "add", + 212, + 403, + -1, + 2, + [] + ], + [ + "add", + 212, + 406, + -1, + 4, + [] + ], + [ + "add", + 212, + 407, + 1, + 4, + [] + ], + [ + "add", + 212, + 410, + 1, + 4, + [] + ], + [ + "add", + 212, + 411, + -1, + 4, + [] + ], + [ + "add", + 212, + 412, + 1, + 4, + [] + ], + [ + "add", + 212, + 413, + -1, + 4, + [] + ], + [ + "add", + 212, + 417, + -1, + 4, + [] + ], + [ + "add", + 212, + 418, + 1, + 2, + [] + ], + [ + "add", + 212, + 419, + -1, + 2, + [] + ], + [ + "add", + 212, + 422, + -1, + 4, + [] + ], + [ + "add", + 212, + 423, + 1, + 4, + [] + ], + [ + "add", + 212, + 426, + 1, + 4, + [] + ], + [ + "add", + 212, + 427, + -1, + 4, + [] + ], + [ + "add", + 212, + 428, + 1, + 4, + [] + ], + [ + "add", + 212, + 429, + -1, + 4, + [] + ], + [ + "add", + 212, + 511, + 1, + 4, + [] + ], + [ + "add", + 168, + 241, + 1, + 4, + [] + ], + [ + "add", + 168, + 243, + -1, + 2, + [] + ], + [ + "add", + 168, + 246, + 1, + 4, + [] + ], + [ + "add", + 168, + 247, + -1, + 4, + [] + ], + [ + "add", + 168, + 250, + -1, + 4, + [] + ], + [ + "add", + 168, + 251, + 1, + 4, + [] + ], + [ + "add", + 168, + 252, + -1, + 4, + [] + ], + [ + "add", + 168, + 253, + 1, + 4, + [] + ], + [ + "add", + 168, + 257, + -1, + 4, + [] + ], + [ + "add", + 168, + 259, + 1, + 2, + [] + ], + [ + "add", + 168, + 262, + -1, + 4, + [] + ], + [ + "add", + 168, + 263, + 1, + 4, + [] + ], + [ + "add", + 168, + 266, + 1, + 4, + [] + ], + [ + "add", + 168, + 267, + -1, + 4, + [] + ], + [ + "add", + 168, + 268, + 1, + 4, + [] + ], + [ + "add", + 168, + 269, + -1, + 4, + [] + ], + [ + "add", + 168, + 272, + -1, + 2, + [] + ], + [ + "add", + 168, + 276, + 1, + 2, + [] + ], + [ + "add", + 168, + 280, + 1, + 2, + [] + ], + [ + "add", + 168, + 286, + 1, + 2, + [] + ], + [ + "add", + 168, + 310, + -1, + 4, + [] + ], + [ + "add", + 168, + 312, + 1, + 2, + [] + ], + [ + "add", + 168, + 315, + 1, + 4, + [] + ], + [ + "add", + 168, + 316, + -1, + 4, + [] + ], + [ + "add", + 168, + 319, + 1, + 2, + [] + ], + [ + "add", + 168, + 322, + -1, + 4, + [] + ], + [ + "add", + 168, + 324, + 1, + 4, + [] + ], + [ + "add", + 168, + 329, + 1, + 2, + [] + ], + [ + "add", + 168, + 331, + -1, + 2, + [] + ], + [ + "add", + 168, + 334, + 1, + 4, + [] + ], + [ + "add", + 168, + 335, + -1, + 2, + [] + ], + [ + "add", + 168, + 338, + -1, + 4, + [] + ], + [ + "add", + 168, + 340, + 1, + 4, + [] + ], + [ + "add", + 168, + 343, + 1, + 4, + [] + ], + [ + "add", + 168, + 347, + 1, + 2, + [] + ], + [ + "add", + 168, + 349, + -1, + 2, + [] + ], + [ + "add", + 168, + 350, + 1, + 4, + [] + ], + [ + "add", + 168, + 358, + 1, + 4, + [] + ], + [ + "add", + 168, + 363, + 1, + 4, + [] + ], + [ + "add", + 168, + 364, + -1, + 4, + [] + ], + [ + "add", + 168, + 366, + 1, + 2, + [] + ], + [ + "add", + 168, + 367, + -1, + 2, + [] + ], + [ + "add", + 168, + 368, + -1, + 2, + [] + ], + [ + "add", + 168, + 372, + 1, + 2, + [] + ], + [ + "add", + 168, + 382, + 1, + 2, + [] + ], + [ + "add", + 168, + 383, + -1, + 2, + [] + ], + [ + "add", + 168, + 401, + 1, + 4, + [] + ], + [ + "add", + 168, + 402, + 1, + 2, + [] + ], + [ + "add", + 168, + 403, + -1, + 2, + [] + ], + [ + "add", + 168, + 406, + 1, + 4, + [] + ], + [ + "add", + 168, + 407, + -1, + 4, + [] + ], + [ + "add", + 168, + 410, + -1, + 4, + [] + ], + [ + "add", + 168, + 411, + 1, + 4, + [] + ], + [ + "add", + 168, + 412, + -1, + 4, + [] + ], + [ + "add", + 168, + 413, + 1, + 4, + [] + ], + [ + "add", + 168, + 417, + -1, + 4, + [] + ], + [ + "add", + 168, + 418, + -1, + 2, + [] + ], + [ + "add", + 168, + 419, + 1, + 2, + [] + ], + [ + "add", + 168, + 422, + -1, + 4, + [] + ], + [ + "add", + 168, + 423, + 1, + 4, + [] + ], + [ + "add", + 168, + 426, + 1, + 4, + [] + ], + [ + "add", + 168, + 427, + -1, + 4, + [] + ], + [ + "add", + 168, + 428, + 1, + 4, + [] + ], + [ + "add", + 168, + 429, + -1, + 4, + [] + ], + [ + "add", + 168, + 432, + 1, + 2, + [] + ], + [ + "add", + 168, + 433, + -1, + 2, + [] + ], + [ + "add", + 168, + 438, + -1, + 2, + [] + ], + [ + "add", + 168, + 439, + 1, + 2, + [] + ], + [ + "add", + 168, + 442, + 1, + 2, + [] + ], + [ + "add", + 168, + 443, + -1, + 2, + [] + ], + [ + "add", + 168, + 444, + 1, + 2, + [] + ], + [ + "add", + 168, + 445, + -1, + 2, + [] + ], + [ + "add", + 168, + 511, + -1, + 4, + [] + ], + [ + "add", + 143, + 241, + 1, + 4, + [] + ], + [ + "add", + 143, + 243, + -1, + 2, + [] + ], + [ + "add", + 143, + 246, + 1, + 4, + [] + ], + [ + "add", + 143, + 247, + -1, + 4, + [] + ], + [ + "add", + 143, + 250, + -1, + 4, + [] + ], + [ + "add", + 143, + 251, + 1, + 4, + [] + ], + [ + "add", + 143, + 252, + -1, + 4, + [] + ], + [ + "add", + 143, + 253, + 1, + 4, + [] + ], + [ + "add", + 143, + 257, + 1, + 4, + [] + ], + [ + "add", + 143, + 259, + -1, + 2, + [] + ], + [ + "add", + 143, + 262, + 1, + 4, + [] + ], + [ + "add", + 143, + 263, + -1, + 4, + [] + ], + [ + "add", + 143, + 266, + -1, + 4, + [] + ], + [ + "add", + 143, + 267, + 1, + 4, + [] + ], + [ + "add", + 143, + 268, + -1, + 4, + [] + ], + [ + "add", + 143, + 269, + 1, + 4, + [] + ], + [ + "add", + 143, + 287, + 1, + 1, + [] + ], + [ + "add", + 143, + 310, + -1, + 4, + [] + ], + [ + "add", + 143, + 312, + 1, + 2, + [] + ], + [ + "add", + 143, + 315, + 1, + 4, + [] + ], + [ + "add", + 143, + 316, + -1, + 4, + [] + ], + [ + "add", + 143, + 319, + 1, + 2, + [] + ], + [ + "add", + 143, + 322, + 1, + 4, + [] + ], + [ + "add", + 143, + 324, + -1, + 4, + [] + ], + [ + "add", + 143, + 329, + -1, + 2, + [] + ], + [ + "add", + 143, + 331, + 1, + 2, + [] + ], + [ + "add", + 143, + 334, + -1, + 4, + [] + ], + [ + "add", + 143, + 335, + 1, + 2, + [] + ], + [ + "add", + 143, + 338, + -1, + 4, + [] + ], + [ + "add", + 143, + 340, + 1, + 4, + [] + ], + [ + "add", + 143, + 343, + 1, + 4, + [] + ], + [ + "add", + 143, + 347, + 1, + 2, + [] + ], + [ + "add", + 143, + 349, + -1, + 2, + [] + ], + [ + "add", + 143, + 350, + 1, + 4, + [] + ], + [ + "add", + 143, + 358, + -1, + 4, + [] + ], + [ + "add", + 143, + 363, + -1, + 4, + [] + ], + [ + "add", + 143, + 364, + 1, + 4, + [] + ], + [ + "add", + 143, + 366, + -1, + 2, + [] + ], + [ + "add", + 143, + 367, + 1, + 2, + [] + ], + [ + "add", + 143, + 383, + 1, + 1, + [] + ], + [ + "add", + 143, + 401, + 1, + 4, + [] + ], + [ + "add", + 143, + 402, + 1, + 2, + [] + ], + [ + "add", + 143, + 403, + -1, + 2, + [] + ], + [ + "add", + 143, + 406, + 1, + 4, + [] + ], + [ + "add", + 143, + 407, + -1, + 4, + [] + ], + [ + "add", + 143, + 410, + -1, + 4, + [] + ], + [ + "add", + 143, + 411, + 1, + 4, + [] + ], + [ + "add", + 143, + 412, + -1, + 4, + [] + ], + [ + "add", + 143, + 413, + 1, + 4, + [] + ], + [ + "add", + 143, + 417, + 1, + 4, + [] + ], + [ + "add", + 143, + 418, + 1, + 2, + [] + ], + [ + "add", + 143, + 419, + -1, + 2, + [] + ], + [ + "add", + 143, + 422, + 1, + 4, + [] + ], + [ + "add", + 143, + 423, + -1, + 4, + [] + ], + [ + "add", + 143, + 426, + -1, + 4, + [] + ], + [ + "add", + 143, + 427, + 1, + 4, + [] + ], + [ + "add", + 143, + 428, + -1, + 4, + [] + ], + [ + "add", + 143, + 429, + 1, + 4, + [] + ], + [ + "add", + 143, + 434, + 1, + 1, + [] + ], + [ + "add", + 143, + 435, + -1, + 1, + [] + ], + [ + "add", + 143, + 511, + 1, + 4, + [] + ], + [ + "add", + 215, + 224, + 1, + 2, + [] + ], + [ + "add", + 215, + 225, + -1, + 2, + [] + ], + [ + "add", + 215, + 230, + -1, + 2, + [] + ], + [ + "add", + 215, + 231, + 1, + 2, + [] + ], + [ + "add", + 215, + 234, + 1, + 2, + [] + ], + [ + "add", + 215, + 235, + -1, + 2, + [] + ], + [ + "add", + 215, + 236, + 1, + 2, + [] + ], + [ + "add", + 215, + 237, + -1, + 2, + [] + ], + [ + "add", + 215, + 241, + -1, + 4, + [] + ], + [ + "add", + 215, + 243, + -1, + 2, + [] + ], + [ + "add", + 215, + 246, + -1, + 4, + [] + ], + [ + "add", + 215, + 247, + 1, + 4, + [] + ], + [ + "add", + 215, + 250, + 1, + 4, + [] + ], + [ + "add", + 215, + 251, + -1, + 4, + [] + ], + [ + "add", + 215, + 252, + 1, + 4, + [] + ], + [ + "add", + 215, + 253, + -1, + 4, + [] + ], + [ + "add", + 215, + 257, + -1, + 4, + [] + ], + [ + "add", + 215, + 259, + -1, + 2, + [] + ], + [ + "add", + 215, + 262, + -1, + 4, + [] + ], + [ + "add", + 215, + 263, + 1, + 4, + [] + ], + [ + "add", + 215, + 266, + 1, + 4, + [] + ], + [ + "add", + 215, + 267, + -1, + 4, + [] + ], + [ + "add", + 215, + 268, + 1, + 4, + [] + ], + [ + "add", + 215, + 269, + -1, + 4, + [] + ], + [ + "add", + 215, + 283, + -1, + 1, + [] + ], + [ + "add", + 215, + 299, + -1, + 1, + [] + ], + [ + "add", + 215, + 310, + 1, + 4, + [] + ], + [ + "add", + 215, + 312, + 1, + 2, + [] + ], + [ + "add", + 215, + 315, + -1, + 4, + [] + ], + [ + "add", + 215, + 316, + 1, + 4, + [] + ], + [ + "add", + 215, + 319, + 1, + 2, + [] + ], + [ + "add", + 215, + 322, + 1, + 4, + [] + ], + [ + "add", + 215, + 324, + -1, + 4, + [] + ], + [ + "add", + 215, + 329, + 1, + 2, + [] + ], + [ + "add", + 215, + 331, + -1, + 2, + [] + ], + [ + "add", + 215, + 334, + -1, + 4, + [] + ], + [ + "add", + 215, + 335, + 1, + 2, + [] + ], + [ + "add", + 215, + 338, + -1, + 4, + [] + ], + [ + "add", + 215, + 340, + 1, + 4, + [] + ], + [ + "add", + 215, + 343, + 1, + 4, + [] + ], + [ + "add", + 215, + 347, + -1, + 2, + [] + ], + [ + "add", + 215, + 349, + 1, + 2, + [] + ], + [ + "add", + 215, + 350, + 1, + 4, + [] + ], + [ + "add", + 215, + 358, + -1, + 4, + [] + ], + [ + "add", + 215, + 363, + -1, + 4, + [] + ], + [ + "add", + 215, + 364, + 1, + 4, + [] + ], + [ + "add", + 215, + 366, + 1, + 2, + [] + ], + [ + "add", + 215, + 367, + -1, + 2, + [] + ], + [ + "add", + 215, + 401, + 1, + 4, + [] + ], + [ + "add", + 215, + 402, + -1, + 2, + [] + ], + [ + "add", + 215, + 403, + 1, + 2, + [] + ], + [ + "add", + 215, + 406, + 1, + 4, + [] + ], + [ + "add", + 215, + 407, + -1, + 4, + [] + ], + [ + "add", + 215, + 410, + -1, + 4, + [] + ], + [ + "add", + 215, + 411, + 1, + 4, + [] + ], + [ + "add", + 215, + 412, + -1, + 4, + [] + ], + [ + "add", + 215, + 413, + 1, + 4, + [] + ], + [ + "add", + 215, + 417, + 1, + 4, + [] + ], + [ + "add", + 215, + 418, + -1, + 2, + [] + ], + [ + "add", + 215, + 419, + 1, + 2, + [] + ], + [ + "add", + 215, + 422, + 1, + 4, + [] + ], + [ + "add", + 215, + 423, + -1, + 4, + [] + ], + [ + "add", + 215, + 426, + -1, + 4, + [] + ], + [ + "add", + 215, + 427, + 1, + 4, + [] + ], + [ + "add", + 215, + 428, + -1, + 4, + [] + ], + [ + "add", + 215, + 429, + 1, + 4, + [] + ], + [ + "add", + 215, + 511, + 1, + 4, + [] + ], + [ + "add", + 129, + 224, + 1, + 2, + [] + ], + [ + "add", + 129, + 225, + -1, + 2, + [] + ], + [ + "add", + 129, + 230, + -1, + 2, + [] + ], + [ + "add", + 129, + 231, + 1, + 2, + [] + ], + [ + "add", + 129, + 234, + 1, + 2, + [] + ], + [ + "add", + 129, + 235, + -1, + 2, + [] + ], + [ + "add", + 129, + 236, + 1, + 2, + [] + ], + [ + "add", + 129, + 237, + -1, + 2, + [] + ], + [ + "add", + 129, + 241, + -1, + 4, + [] + ], + [ + "add", + 129, + 243, + -1, + 2, + [] + ], + [ + "add", + 129, + 246, + -1, + 4, + [] + ], + [ + "add", + 129, + 247, + 1, + 4, + [] + ], + [ + "add", + 129, + 250, + 1, + 4, + [] + ], + [ + "add", + 129, + 251, + -1, + 4, + [] + ], + [ + "add", + 129, + 252, + 1, + 4, + [] + ], + [ + "add", + 129, + 253, + -1, + 4, + [] + ], + [ + "add", + 129, + 257, + -1, + 4, + [] + ], + [ + "add", + 129, + 259, + -1, + 2, + [] + ], + [ + "add", + 129, + 262, + -1, + 4, + [] + ], + [ + "add", + 129, + 263, + 1, + 4, + [] + ], + [ + "add", + 129, + 266, + 1, + 4, + [] + ], + [ + "add", + 129, + 267, + -1, + 4, + [] + ], + [ + "add", + 129, + 268, + 1, + 4, + [] + ], + [ + "add", + 129, + 269, + -1, + 4, + [] + ], + [ + "add", + 129, + 283, + -1, + 1, + [] + ], + [ + "add", + 129, + 299, + -1, + 1, + [] + ], + [ + "add", + 129, + 310, + 1, + 4, + [] + ], + [ + "add", + 129, + 312, + 1, + 2, + [] + ], + [ + "add", + 129, + 315, + -1, + 4, + [] + ], + [ + "add", + 129, + 316, + 1, + 4, + [] + ], + [ + "add", + 129, + 319, + 1, + 2, + [] + ], + [ + "add", + 129, + 322, + 1, + 4, + [] + ], + [ + "add", + 129, + 324, + -1, + 4, + [] + ], + [ + "add", + 129, + 329, + 1, + 2, + [] + ], + [ + "add", + 129, + 331, + -1, + 2, + [] + ], + [ + "add", + 129, + 334, + -1, + 4, + [] + ], + [ + "add", + 129, + 335, + 1, + 2, + [] + ], + [ + "add", + 129, + 338, + -1, + 4, + [] + ], + [ + "add", + 129, + 340, + 1, + 4, + [] + ], + [ + "add", + 129, + 343, + 1, + 4, + [] + ], + [ + "add", + 129, + 347, + -1, + 2, + [] + ], + [ + "add", + 129, + 349, + 1, + 2, + [] + ], + [ + "add", + 129, + 350, + 1, + 4, + [] + ], + [ + "add", + 129, + 358, + -1, + 4, + [] + ], + [ + "add", + 129, + 363, + -1, + 4, + [] + ], + [ + "add", + 129, + 364, + 1, + 4, + [] + ], + [ + "add", + 129, + 366, + 1, + 2, + [] + ], + [ + "add", + 129, + 367, + -1, + 2, + [] + ], + [ + "add", + 129, + 401, + 1, + 4, + [] + ], + [ + "add", + 129, + 402, + -1, + 2, + [] + ], + [ + "add", + 129, + 403, + 1, + 2, + [] + ], + [ + "add", + 129, + 406, + 1, + 4, + [] + ], + [ + "add", + 129, + 407, + -1, + 4, + [] + ], + [ + "add", + 129, + 410, + -1, + 4, + [] + ], + [ + "add", + 129, + 411, + 1, + 4, + [] + ], + [ + "add", + 129, + 412, + -1, + 4, + [] + ], + [ + "add", + 129, + 413, + 1, + 4, + [] + ], + [ + "add", + 129, + 417, + 1, + 4, + [] + ], + [ + "add", + 129, + 418, + -1, + 2, + [] + ], + [ + "add", + 129, + 419, + 1, + 2, + [] + ], + [ + "add", + 129, + 422, + 1, + 4, + [] + ], + [ + "add", + 129, + 423, + -1, + 4, + [] + ], + [ + "add", + 129, + 426, + -1, + 4, + [] + ], + [ + "add", + 129, + 427, + 1, + 4, + [] + ], + [ + "add", + 129, + 428, + -1, + 4, + [] + ], + [ + "add", + 129, + 429, + 1, + 4, + [] + ], + [ + "add", + 129, + 511, + 1, + 4, + [] + ], + [ + "add", + 150, + 241, + 1, + 4, + [] + ], + [ + "add", + 150, + 243, + -1, + 2, + [] + ], + [ + "add", + 150, + 246, + 1, + 4, + [] + ], + [ + "add", + 150, + 247, + -1, + 4, + [] + ], + [ + "add", + 150, + 250, + -1, + 4, + [] + ], + [ + "add", + 150, + 251, + 1, + 4, + [] + ], + [ + "add", + 150, + 252, + -1, + 4, + [] + ], + [ + "add", + 150, + 253, + 1, + 4, + [] + ], + [ + "add", + 150, + 257, + -1, + 4, + [] + ], + [ + "add", + 150, + 259, + 1, + 2, + [] + ], + [ + "add", + 150, + 262, + -1, + 4, + [] + ], + [ + "add", + 150, + 263, + 1, + 4, + [] + ], + [ + "add", + 150, + 266, + 1, + 4, + [] + ], + [ + "add", + 150, + 267, + -1, + 4, + [] + ], + [ + "add", + 150, + 268, + 1, + 4, + [] + ], + [ + "add", + 150, + 269, + -1, + 4, + [] + ], + [ + "add", + 150, + 272, + -1, + 2, + [] + ], + [ + "add", + 150, + 276, + 1, + 2, + [] + ], + [ + "add", + 150, + 280, + 1, + 2, + [] + ], + [ + "add", + 150, + 286, + 1, + 2, + [] + ], + [ + "add", + 150, + 310, + -1, + 4, + [] + ], + [ + "add", + 150, + 312, + 1, + 2, + [] + ], + [ + "add", + 150, + 315, + 1, + 4, + [] + ], + [ + "add", + 150, + 316, + -1, + 4, + [] + ], + [ + "add", + 150, + 319, + 1, + 2, + [] + ], + [ + "add", + 150, + 322, + -1, + 4, + [] + ], + [ + "add", + 150, + 324, + 1, + 4, + [] + ], + [ + "add", + 150, + 329, + 1, + 2, + [] + ], + [ + "add", + 150, + 331, + -1, + 2, + [] + ], + [ + "add", + 150, + 334, + 1, + 4, + [] + ], + [ + "add", + 150, + 335, + -1, + 2, + [] + ], + [ + "add", + 150, + 338, + -1, + 4, + [] + ], + [ + "add", + 150, + 340, + 1, + 4, + [] + ], + [ + "add", + 150, + 343, + 1, + 4, + [] + ], + [ + "add", + 150, + 347, + 1, + 2, + [] + ], + [ + "add", + 150, + 349, + -1, + 2, + [] + ], + [ + "add", + 150, + 350, + 1, + 4, + [] + ], + [ + "add", + 150, + 358, + 1, + 4, + [] + ], + [ + "add", + 150, + 363, + 1, + 4, + [] + ], + [ + "add", + 150, + 364, + -1, + 4, + [] + ], + [ + "add", + 150, + 366, + 1, + 2, + [] + ], + [ + "add", + 150, + 367, + -1, + 2, + [] + ], + [ + "add", + 150, + 368, + -1, + 2, + [] + ], + [ + "add", + 150, + 372, + 1, + 2, + [] + ], + [ + "add", + 150, + 382, + 1, + 2, + [] + ], + [ + "add", + 150, + 383, + -1, + 2, + [] + ], + [ + "add", + 150, + 401, + 1, + 4, + [] + ], + [ + "add", + 150, + 402, + 1, + 2, + [] + ], + [ + "add", + 150, + 403, + -1, + 2, + [] + ], + [ + "add", + 150, + 406, + 1, + 4, + [] + ], + [ + "add", + 150, + 407, + -1, + 4, + [] + ], + [ + "add", + 150, + 410, + -1, + 4, + [] + ], + [ + "add", + 150, + 411, + 1, + 4, + [] + ], + [ + "add", + 150, + 412, + -1, + 4, + [] + ], + [ + "add", + 150, + 413, + 1, + 4, + [] + ], + [ + "add", + 150, + 417, + -1, + 4, + [] + ], + [ + "add", + 150, + 418, + -1, + 2, + [] + ], + [ + "add", + 150, + 419, + 1, + 2, + [] + ], + [ + "add", + 150, + 422, + -1, + 4, + [] + ], + [ + "add", + 150, + 423, + 1, + 4, + [] + ], + [ + "add", + 150, + 426, + 1, + 4, + [] + ], + [ + "add", + 150, + 427, + -1, + 4, + [] + ], + [ + "add", + 150, + 428, + 1, + 4, + [] + ], + [ + "add", + 150, + 429, + -1, + 4, + [] + ], + [ + "add", + 150, + 432, + 1, + 2, + [] + ], + [ + "add", + 150, + 433, + -1, + 2, + [] + ], + [ + "add", + 150, + 438, + -1, + 2, + [] + ], + [ + "add", + 150, + 439, + 1, + 2, + [] + ], + [ + "add", + 150, + 442, + 1, + 2, + [] + ], + [ + "add", + 150, + 443, + -1, + 2, + [] + ], + [ + "add", + 150, + 444, + 1, + 2, + [] + ], + [ + "add", + 150, + 445, + -1, + 2, + [] + ], + [ + "add", + 150, + 511, + -1, + 4, + [] + ], + [ + "add", + 189, + 241, + 1, + 4, + [] + ], + [ + "add", + 189, + 243, + -1, + 2, + [] + ], + [ + "add", + 189, + 246, + 1, + 4, + [] + ], + [ + "add", + 189, + 247, + -1, + 4, + [] + ], + [ + "add", + 189, + 250, + -1, + 4, + [] + ], + [ + "add", + 189, + 251, + 1, + 4, + [] + ], + [ + "add", + 189, + 252, + -1, + 4, + [] + ], + [ + "add", + 189, + 253, + 1, + 4, + [] + ], + [ + "add", + 189, + 257, + 1, + 4, + [] + ], + [ + "add", + 189, + 259, + -1, + 2, + [] + ], + [ + "add", + 189, + 262, + 1, + 4, + [] + ], + [ + "add", + 189, + 263, + -1, + 4, + [] + ], + [ + "add", + 189, + 266, + -1, + 4, + [] + ], + [ + "add", + 189, + 267, + 1, + 4, + [] + ], + [ + "add", + 189, + 268, + -1, + 4, + [] + ], + [ + "add", + 189, + 269, + 1, + 4, + [] + ], + [ + "add", + 189, + 287, + 1, + 1, + [] + ], + [ + "add", + 189, + 310, + -1, + 4, + [] + ], + [ + "add", + 189, + 312, + 1, + 2, + [] + ], + [ + "add", + 189, + 315, + 1, + 4, + [] + ], + [ + "add", + 189, + 316, + -1, + 4, + [] + ], + [ + "add", + 189, + 319, + 1, + 2, + [] + ], + [ + "add", + 189, + 322, + 1, + 4, + [] + ], + [ + "add", + 189, + 324, + -1, + 4, + [] + ], + [ + "add", + 189, + 329, + -1, + 2, + [] + ], + [ + "add", + 189, + 331, + 1, + 2, + [] + ], + [ + "add", + 189, + 334, + -1, + 4, + [] + ], + [ + "add", + 189, + 335, + 1, + 2, + [] + ], + [ + "add", + 189, + 338, + -1, + 4, + [] + ], + [ + "add", + 189, + 340, + 1, + 4, + [] + ], + [ + "add", + 189, + 343, + 1, + 4, + [] + ], + [ + "add", + 189, + 347, + 1, + 2, + [] + ], + [ + "add", + 189, + 349, + -1, + 2, + [] + ], + [ + "add", + 189, + 350, + 1, + 4, + [] + ], + [ + "add", + 189, + 358, + -1, + 4, + [] + ], + [ + "add", + 189, + 363, + -1, + 4, + [] + ], + [ + "add", + 189, + 364, + 1, + 4, + [] + ], + [ + "add", + 189, + 366, + -1, + 2, + [] + ], + [ + "add", + 189, + 367, + 1, + 2, + [] + ], + [ + "add", + 189, + 383, + 1, + 1, + [] + ], + [ + "add", + 189, + 401, + 1, + 4, + [] + ], + [ + "add", + 189, + 402, + 1, + 2, + [] + ], + [ + "add", + 189, + 403, + -1, + 2, + [] + ], + [ + "add", + 189, + 406, + 1, + 4, + [] + ], + [ + "add", + 189, + 407, + -1, + 4, + [] + ], + [ + "add", + 189, + 410, + -1, + 4, + [] + ], + [ + "add", + 189, + 411, + 1, + 4, + [] + ], + [ + "add", + 189, + 412, + -1, + 4, + [] + ], + [ + "add", + 189, + 413, + 1, + 4, + [] + ], + [ + "add", + 189, + 417, + 1, + 4, + [] + ], + [ + "add", + 189, + 418, + 1, + 2, + [] + ], + [ + "add", + 189, + 419, + -1, + 2, + [] + ], + [ + "add", + 189, + 422, + 1, + 4, + [] + ], + [ + "add", + 189, + 423, + -1, + 4, + [] + ], + [ + "add", + 189, + 426, + -1, + 4, + [] + ], + [ + "add", + 189, + 427, + 1, + 4, + [] + ], + [ + "add", + 189, + 428, + -1, + 4, + [] + ], + [ + "add", + 189, + 429, + 1, + 4, + [] + ], + [ + "add", + 189, + 434, + 1, + 1, + [] + ], + [ + "add", + 189, + 435, + -1, + 1, + [] + ], + [ + "add", + 189, + 511, + 1, + 4, + [] + ], + [ + "add", + 184, + 224, + -1, + 2, + [] + ], + [ + "add", + 184, + 227, + -1, + 2, + [] + ], + [ + "add", + 184, + 229, + -1, + 2, + [] + ], + [ + "add", + 184, + 230, + -1, + 2, + [] + ], + [ + "add", + 184, + 234, + 1, + 2, + [] + ], + [ + "add", + 184, + 235, + -1, + 2, + [] + ], + [ + "add", + 184, + 238, + -1, + 2, + [] + ], + [ + "add", + 184, + 239, + 1, + 2, + [] + ], + [ + "add", + 184, + 240, + -1, + 2, + [] + ], + [ + "add", + 184, + 242, + -1, + 2, + [] + ], + [ + "add", + 184, + 243, + -1, + 2, + [] + ], + [ + "add", + 184, + 245, + -1, + 2, + [] + ], + [ + "add", + 184, + 246, + -1, + 2, + [] + ], + [ + "add", + 184, + 250, + 1, + 2, + [] + ], + [ + "add", + 184, + 251, + -1, + 2, + [] + ], + [ + "add", + 184, + 254, + -1, + 2, + [] + ], + [ + "add", + 184, + 255, + 1, + 2, + [] + ], + [ + "add", + 184, + 256, + -1, + 2, + [] + ], + [ + "add", + 184, + 258, + -1, + 2, + [] + ], + [ + "add", + 184, + 259, + -1, + 2, + [] + ], + [ + "add", + 184, + 261, + -1, + 2, + [] + ], + [ + "add", + 184, + 262, + -1, + 2, + [] + ], + [ + "add", + 184, + 266, + 1, + 2, + [] + ], + [ + "add", + 184, + 267, + -1, + 2, + [] + ], + [ + "add", + 184, + 270, + -1, + 2, + [] + ], + [ + "add", + 184, + 271, + 1, + 2, + [] + ], + [ + "add", + 184, + 274, + 1, + 4, + [] + ], + [ + "add", + 184, + 276, + -1, + 4, + [] + ], + [ + "add", + 184, + 279, + 1, + 4, + [] + ], + [ + "add", + 184, + 281, + 1, + 2, + [] + ], + [ + "add", + 184, + 283, + -1, + 2, + [] + ], + [ + "add", + 184, + 286, + -1, + 4, + [] + ], + [ + "add", + 184, + 287, + 1, + 2, + [] + ], + [ + "add", + 184, + 290, + 1, + 4, + [] + ], + [ + "add", + 184, + 292, + -1, + 4, + [] + ], + [ + "add", + 184, + 295, + 1, + 4, + [] + ], + [ + "add", + 184, + 297, + 1, + 2, + [] + ], + [ + "add", + 184, + 299, + -1, + 2, + [] + ], + [ + "add", + 184, + 302, + -1, + 4, + [] + ], + [ + "add", + 184, + 303, + 1, + 2, + [] + ], + [ + "add", + 184, + 306, + 1, + 4, + [] + ], + [ + "add", + 184, + 308, + -1, + 4, + [] + ], + [ + "add", + 184, + 313, + 1, + 2, + [] + ], + [ + "add", + 184, + 315, + -1, + 2, + [] + ], + [ + "add", + 184, + 318, + -1, + 4, + [] + ], + [ + "add", + 184, + 319, + 1, + 2, + [] + ], + [ + "add", + 184, + 322, + 1, + 4, + [] + ], + [ + "add", + 184, + 324, + -1, + 4, + [] + ], + [ + "add", + 184, + 329, + 1, + 2, + [] + ], + [ + "add", + 184, + 331, + -1, + 2, + [] + ], + [ + "add", + 184, + 334, + -1, + 4, + [] + ], + [ + "add", + 184, + 335, + 1, + 2, + [] + ], + [ + "add", + 184, + 338, + 1, + 4, + [] + ], + [ + "add", + 184, + 340, + -1, + 4, + [] + ], + [ + "add", + 184, + 343, + 1, + 4, + [] + ], + [ + "add", + 184, + 345, + 1, + 2, + [] + ], + [ + "add", + 184, + 347, + -1, + 2, + [] + ], + [ + "add", + 184, + 350, + -1, + 4, + [] + ], + [ + "add", + 184, + 351, + 1, + 2, + [] + ], + [ + "add", + 184, + 354, + 1, + 4, + [] + ], + [ + "add", + 184, + 356, + -1, + 4, + [] + ], + [ + "add", + 184, + 359, + 1, + 4, + [] + ], + [ + "add", + 184, + 361, + 1, + 2, + [] + ], + [ + "add", + 184, + 363, + -1, + 2, + [] + ], + [ + "add", + 184, + 366, + -1, + 4, + [] + ], + [ + "add", + 184, + 367, + 1, + 2, + [] + ], + [ + "add", + 184, + 370, + 1, + 4, + [] + ], + [ + "add", + 184, + 372, + -1, + 4, + [] + ], + [ + "add", + 184, + 375, + 1, + 4, + [] + ], + [ + "add", + 184, + 377, + 1, + 2, + [] + ], + [ + "add", + 184, + 379, + -1, + 2, + [] + ], + [ + "add", + 184, + 382, + -1, + 4, + [] + ], + [ + "add", + 184, + 383, + 1, + 2, + [] + ], + [ + "add", + 184, + 386, + 1, + 4, + [] + ], + [ + "add", + 184, + 388, + -1, + 4, + [] + ], + [ + "add", + 184, + 391, + 1, + 4, + [] + ], + [ + "add", + 184, + 393, + 1, + 2, + [] + ], + [ + "add", + 184, + 395, + -1, + 2, + [] + ], + [ + "add", + 184, + 398, + -1, + 4, + [] + ], + [ + "add", + 184, + 399, + 1, + 2, + [] + ], + [ + "add", + 184, + 499, + 1, + 4, + [] + ], + [ + "add", + 184, + 511, + 1, + 4, + [] + ], + [ + "add", + 114, + 272, + 1, + 4, + [] + ], + [ + "add", + 114, + 274, + 1, + 4, + [] + ], + [ + "add", + 114, + 279, + 1, + 4, + [] + ], + [ + "add", + 114, + 280, + -1, + 4, + [] + ], + [ + "add", + 114, + 281, + 1, + 2, + [] + ], + [ + "add", + 114, + 288, + 1, + 4, + [] + ], + [ + "add", + 114, + 290, + 1, + 4, + [] + ], + [ + "add", + 114, + 295, + 1, + 4, + [] + ], + [ + "add", + 114, + 296, + -1, + 4, + [] + ], + [ + "add", + 114, + 297, + 1, + 2, + [] + ], + [ + "add", + 114, + 304, + 1, + 4, + [] + ], + [ + "add", + 114, + 306, + 1, + 4, + [] + ], + [ + "add", + 114, + 312, + -1, + 4, + [] + ], + [ + "add", + 114, + 313, + 1, + 2, + [] + ], + [ + "add", + 114, + 320, + 1, + 4, + [] + ], + [ + "add", + 114, + 322, + 1, + 4, + [] + ], + [ + "add", + 114, + 329, + 1, + 2, + [] + ], + [ + "add", + 114, + 335, + 1, + 4, + [] + ], + [ + "add", + 114, + 336, + 1, + 4, + [] + ], + [ + "add", + 114, + 338, + 1, + 4, + [] + ], + [ + "add", + 114, + 343, + 1, + 4, + [] + ], + [ + "add", + 114, + 345, + 1, + 2, + [] + ], + [ + "add", + 114, + 351, + 1, + 4, + [] + ], + [ + "add", + 114, + 352, + 1, + 4, + [] + ], + [ + "add", + 114, + 354, + 1, + 4, + [] + ], + [ + "add", + 114, + 359, + 1, + 4, + [] + ], + [ + "add", + 114, + 361, + 1, + 2, + [] + ], + [ + "add", + 114, + 367, + 1, + 4, + [] + ], + [ + "add", + 114, + 368, + 1, + 4, + [] + ], + [ + "add", + 114, + 370, + 1, + 4, + [] + ], + [ + "add", + 114, + 375, + 1, + 4, + [] + ], + [ + "add", + 114, + 377, + 1, + 2, + [] + ], + [ + "add", + 114, + 383, + 1, + 4, + [] + ], + [ + "add", + 114, + 384, + 1, + 4, + [] + ], + [ + "add", + 114, + 386, + 1, + 4, + [] + ], + [ + "add", + 114, + 391, + 1, + 4, + [] + ], + [ + "add", + 114, + 393, + 1, + 2, + [] + ], + [ + "add", + 114, + 399, + 1, + 4, + [] + ], + [ + "add", + 114, + 499, + 1, + 4, + [] + ], + [ + "add", + 114, + 511, + 1, + 4, + [] + ], + [ + "add", + 137, + 272, + -1, + 4, + [] + ], + [ + "add", + 137, + 274, + 1, + 4, + [] + ], + [ + "add", + 137, + 279, + 1, + 4, + [] + ], + [ + "add", + 137, + 280, + 1, + 4, + [] + ], + [ + "add", + 137, + 281, + -1, + 2, + [] + ], + [ + "add", + 137, + 283, + 1, + 2, + [] + ], + [ + "add", + 137, + 288, + 1, + 4, + [] + ], + [ + "add", + 137, + 290, + -1, + 4, + [] + ], + [ + "add", + 137, + 295, + -1, + 4, + [] + ], + [ + "add", + 137, + 296, + -1, + 4, + [] + ], + [ + "add", + 137, + 297, + 1, + 2, + [] + ], + [ + "add", + 137, + 299, + -1, + 2, + [] + ], + [ + "add", + 137, + 304, + 1, + 4, + [] + ], + [ + "add", + 137, + 306, + -1, + 4, + [] + ], + [ + "add", + 137, + 312, + -1, + 4, + [] + ], + [ + "add", + 137, + 313, + 1, + 2, + [] + ], + [ + "add", + 137, + 315, + -1, + 2, + [] + ], + [ + "add", + 137, + 320, + -1, + 4, + [] + ], + [ + "add", + 137, + 322, + 1, + 4, + [] + ], + [ + "add", + 137, + 329, + -1, + 2, + [] + ], + [ + "add", + 137, + 331, + 1, + 2, + [] + ], + [ + "add", + 137, + 335, + -1, + 4, + [] + ], + [ + "add", + 137, + 336, + 1, + 4, + [] + ], + [ + "add", + 137, + 338, + -1, + 4, + [] + ], + [ + "add", + 137, + 343, + -1, + 4, + [] + ], + [ + "add", + 137, + 345, + 1, + 2, + [] + ], + [ + "add", + 137, + 347, + -1, + 2, + [] + ], + [ + "add", + 137, + 351, + 1, + 4, + [] + ], + [ + "add", + 137, + 352, + -1, + 4, + [] + ], + [ + "add", + 137, + 354, + 1, + 4, + [] + ], + [ + "add", + 137, + 359, + 1, + 4, + [] + ], + [ + "add", + 137, + 361, + -1, + 2, + [] + ], + [ + "add", + 137, + 363, + 1, + 2, + [] + ], + [ + "add", + 137, + 367, + -1, + 4, + [] + ], + [ + "add", + 137, + 368, + -1, + 4, + [] + ], + [ + "add", + 137, + 370, + 1, + 4, + [] + ], + [ + "add", + 137, + 375, + 1, + 4, + [] + ], + [ + "add", + 137, + 377, + -1, + 2, + [] + ], + [ + "add", + 137, + 379, + 1, + 2, + [] + ], + [ + "add", + 137, + 383, + -1, + 4, + [] + ], + [ + "add", + 137, + 384, + 1, + 4, + [] + ], + [ + "add", + 137, + 386, + -1, + 4, + [] + ], + [ + "add", + 137, + 391, + -1, + 4, + [] + ], + [ + "add", + 137, + 393, + 1, + 2, + [] + ], + [ + "add", + 137, + 395, + -1, + 2, + [] + ], + [ + "add", + 137, + 399, + 1, + 4, + [] + ], + [ + "add", + 137, + 499, + -1, + 4, + [] + ], + [ + "add", + 137, + 511, + 1, + 4, + [] + ], + [ + "add", + 137, + 530, + 1, + 2, + [] + ], + [ + "add", + 137, + 542, + -1, + 2, + [] + ], + [ + "add", + 201, + 256, + -1, + 2, + [] + ], + [ + "add", + 201, + 259, + -1, + 2, + [] + ], + [ + "add", + 201, + 262, + 1, + 2, + [] + ], + [ + "add", + 201, + 265, + -1, + 2, + [] + ], + [ + "add", + 201, + 266, + -1, + 2, + [] + ], + [ + "add", + 201, + 267, + 1, + 2, + [] + ], + [ + "add", + 201, + 271, + 1, + 2, + [] + ], + [ + "add", + 201, + 274, + 1, + 4, + [] + ], + [ + "add", + 201, + 276, + -1, + 4, + [] + ], + [ + "add", + 201, + 279, + 1, + 4, + [] + ], + [ + "add", + 201, + 281, + -1, + 2, + [] + ], + [ + "add", + 201, + 283, + 1, + 2, + [] + ], + [ + "add", + 201, + 286, + -1, + 4, + [] + ], + [ + "add", + 201, + 287, + 1, + 2, + [] + ], + [ + "add", + 201, + 290, + 1, + 4, + [] + ], + [ + "add", + 201, + 292, + -1, + 4, + [] + ], + [ + "add", + 201, + 295, + 1, + 4, + [] + ], + [ + "add", + 201, + 297, + -1, + 2, + [] + ], + [ + "add", + 201, + 299, + 1, + 2, + [] + ], + [ + "add", + 201, + 302, + -1, + 4, + [] + ], + [ + "add", + 201, + 303, + 1, + 2, + [] + ], + [ + "add", + 201, + 306, + 1, + 4, + [] + ], + [ + "add", + 201, + 308, + -1, + 4, + [] + ], + [ + "add", + 201, + 313, + -1, + 2, + [] + ], + [ + "add", + 201, + 315, + 1, + 2, + [] + ], + [ + "add", + 201, + 318, + -1, + 4, + [] + ], + [ + "add", + 201, + 319, + 1, + 2, + [] + ], + [ + "add", + 201, + 322, + 1, + 4, + [] + ], + [ + "add", + 201, + 324, + -1, + 4, + [] + ], + [ + "add", + 201, + 329, + -1, + 2, + [] + ], + [ + "add", + 201, + 331, + 1, + 2, + [] + ], + [ + "add", + 201, + 334, + -1, + 4, + [] + ], + [ + "add", + 201, + 335, + 1, + 2, + [] + ], + [ + "add", + 201, + 338, + 1, + 4, + [] + ], + [ + "add", + 201, + 340, + -1, + 4, + [] + ], + [ + "add", + 201, + 343, + 1, + 4, + [] + ], + [ + "add", + 201, + 345, + -1, + 2, + [] + ], + [ + "add", + 201, + 347, + 1, + 2, + [] + ], + [ + "add", + 201, + 350, + -1, + 4, + [] + ], + [ + "add", + 201, + 351, + 1, + 2, + [] + ], + [ + "add", + 201, + 354, + 1, + 4, + [] + ], + [ + "add", + 201, + 356, + -1, + 4, + [] + ], + [ + "add", + 201, + 359, + 1, + 4, + [] + ], + [ + "add", + 201, + 361, + -1, + 2, + [] + ], + [ + "add", + 201, + 363, + 1, + 2, + [] + ], + [ + "add", + 201, + 366, + -1, + 4, + [] + ], + [ + "add", + 201, + 367, + 1, + 2, + [] + ], + [ + "add", + 201, + 370, + 1, + 4, + [] + ], + [ + "add", + 201, + 372, + -1, + 4, + [] + ], + [ + "add", + 201, + 375, + 1, + 4, + [] + ], + [ + "add", + 201, + 377, + -1, + 2, + [] + ], + [ + "add", + 201, + 379, + 1, + 2, + [] + ], + [ + "add", + 201, + 382, + -1, + 4, + [] + ], + [ + "add", + 201, + 383, + 1, + 2, + [] + ], + [ + "add", + 201, + 386, + 1, + 4, + [] + ], + [ + "add", + 201, + 388, + -1, + 4, + [] + ], + [ + "add", + 201, + 391, + 1, + 4, + [] + ], + [ + "add", + 201, + 393, + -1, + 2, + [] + ], + [ + "add", + 201, + 395, + 1, + 2, + [] + ], + [ + "add", + 201, + 398, + -1, + 4, + [] + ], + [ + "add", + 201, + 399, + 1, + 2, + [] + ], + [ + "add", + 201, + 416, + -1, + 2, + [] + ], + [ + "add", + 201, + 418, + 1, + 2, + [] + ], + [ + "add", + 201, + 419, + -1, + 2, + [] + ], + [ + "add", + 201, + 422, + 1, + 2, + [] + ], + [ + "add", + 201, + 425, + -1, + 2, + [] + ], + [ + "add", + 201, + 426, + -1, + 2, + [] + ], + [ + "add", + 201, + 427, + 1, + 2, + [] + ], + [ + "add", + 201, + 431, + 1, + 2, + [] + ], + [ + "add", + 201, + 432, + -1, + 2, + [] + ], + [ + "add", + 201, + 434, + 1, + 2, + [] + ], + [ + "add", + 201, + 435, + -1, + 2, + [] + ], + [ + "add", + 201, + 438, + 1, + 2, + [] + ], + [ + "add", + 201, + 441, + -1, + 2, + [] + ], + [ + "add", + 201, + 442, + -1, + 2, + [] + ], + [ + "add", + 201, + 443, + 1, + 2, + [] + ], + [ + "add", + 201, + 447, + 1, + 2, + [] + ], + [ + "add", + 201, + 499, + 1, + 4, + [] + ], + [ + "add", + 201, + 511, + 1, + 4, + [] + ], + [ + "add", + 173, + 272, + 1, + 4, + [] + ], + [ + "add", + 173, + 274, + 1, + 4, + [] + ], + [ + "add", + 173, + 279, + 1, + 4, + [] + ], + [ + "add", + 173, + 280, + -1, + 4, + [] + ], + [ + "add", + 173, + 281, + 1, + 2, + [] + ], + [ + "add", + 173, + 288, + 1, + 4, + [] + ], + [ + "add", + 173, + 290, + 1, + 4, + [] + ], + [ + "add", + 173, + 295, + 1, + 4, + [] + ], + [ + "add", + 173, + 296, + -1, + 4, + [] + ], + [ + "add", + 173, + 297, + 1, + 2, + [] + ], + [ + "add", + 173, + 304, + 1, + 4, + [] + ], + [ + "add", + 173, + 306, + 1, + 4, + [] + ], + [ + "add", + 173, + 312, + -1, + 4, + [] + ], + [ + "add", + 173, + 313, + 1, + 2, + [] + ], + [ + "add", + 173, + 320, + 1, + 4, + [] + ], + [ + "add", + 173, + 322, + 1, + 4, + [] + ], + [ + "add", + 173, + 329, + 1, + 2, + [] + ], + [ + "add", + 173, + 335, + 1, + 4, + [] + ], + [ + "add", + 173, + 336, + -1, + 4, + [] + ], + [ + "add", + 173, + 338, + -1, + 4, + [] + ], + [ + "add", + 173, + 343, + -1, + 4, + [] + ], + [ + "add", + 173, + 345, + -1, + 2, + [] + ], + [ + "add", + 173, + 351, + -1, + 4, + [] + ], + [ + "add", + 173, + 352, + -1, + 4, + [] + ], + [ + "add", + 173, + 354, + -1, + 4, + [] + ], + [ + "add", + 173, + 359, + -1, + 4, + [] + ], + [ + "add", + 173, + 361, + -1, + 2, + [] + ], + [ + "add", + 173, + 367, + -1, + 4, + [] + ], + [ + "add", + 173, + 368, + -1, + 4, + [] + ], + [ + "add", + 173, + 370, + -1, + 4, + [] + ], + [ + "add", + 173, + 375, + -1, + 4, + [] + ], + [ + "add", + 173, + 377, + -1, + 2, + [] + ], + [ + "add", + 173, + 383, + -1, + 4, + [] + ], + [ + "add", + 173, + 384, + -1, + 4, + [] + ], + [ + "add", + 173, + 386, + -1, + 4, + [] + ], + [ + "add", + 173, + 391, + -1, + 4, + [] + ], + [ + "add", + 173, + 393, + -1, + 2, + [] + ], + [ + "add", + 173, + 399, + -1, + 4, + [] + ], + [ + "add", + 173, + 499, + 1, + 4, + [] + ], + [ + "add", + 173, + 511, + 1, + 4, + [] + ], + [ + "add", + 206, + 224, + 1, + 2, + [] + ], + [ + "add", + 206, + 225, + -1, + 2, + [] + ], + [ + "add", + 206, + 226, + 1, + 2, + [] + ], + [ + "add", + 206, + 227, + -1, + 2, + [] + ], + [ + "add", + 206, + 233, + -1, + 2, + [] + ], + [ + "add", + 206, + 235, + -1, + 2, + [] + ], + [ + "add", + 206, + 237, + -1, + 2, + [] + ], + [ + "add", + 206, + 239, + -1, + 2, + [] + ], + [ + "add", + 206, + 241, + -1, + 2, + [] + ], + [ + "add", + 206, + 243, + -1, + 2, + [] + ], + [ + "add", + 206, + 249, + -1, + 2, + [] + ], + [ + "add", + 206, + 251, + -1, + 2, + [] + ], + [ + "add", + 206, + 253, + -1, + 2, + [] + ], + [ + "add", + 206, + 255, + -1, + 2, + [] + ], + [ + "add", + 206, + 257, + -1, + 2, + [] + ], + [ + "add", + 206, + 259, + -1, + 2, + [] + ], + [ + "add", + 206, + 265, + -1, + 2, + [] + ], + [ + "add", + 206, + 267, + -1, + 2, + [] + ], + [ + "add", + 206, + 269, + -1, + 2, + [] + ], + [ + "add", + 206, + 271, + -1, + 2, + [] + ], + [ + "add", + 206, + 274, + 1, + 4, + [] + ], + [ + "add", + 206, + 276, + -1, + 4, + [] + ], + [ + "add", + 206, + 279, + 1, + 4, + [] + ], + [ + "add", + 206, + 281, + 1, + 2, + [] + ], + [ + "add", + 206, + 283, + -1, + 2, + [] + ], + [ + "add", + 206, + 286, + -1, + 4, + [] + ], + [ + "add", + 206, + 287, + 1, + 2, + [] + ], + [ + "add", + 206, + 290, + 1, + 4, + [] + ], + [ + "add", + 206, + 292, + -1, + 4, + [] + ], + [ + "add", + 206, + 295, + 1, + 4, + [] + ], + [ + "add", + 206, + 297, + 1, + 2, + [] + ], + [ + "add", + 206, + 299, + -1, + 2, + [] + ], + [ + "add", + 206, + 302, + -1, + 4, + [] + ], + [ + "add", + 206, + 303, + 1, + 2, + [] + ], + [ + "add", + 206, + 306, + 1, + 4, + [] + ], + [ + "add", + 206, + 308, + -1, + 4, + [] + ], + [ + "add", + 206, + 313, + 1, + 2, + [] + ], + [ + "add", + 206, + 315, + -1, + 2, + [] + ], + [ + "add", + 206, + 318, + -1, + 4, + [] + ], + [ + "add", + 206, + 319, + 1, + 2, + [] + ], + [ + "add", + 206, + 322, + 1, + 4, + [] + ], + [ + "add", + 206, + 324, + -1, + 4, + [] + ], + [ + "add", + 206, + 329, + 1, + 2, + [] + ], + [ + "add", + 206, + 331, + -1, + 2, + [] + ], + [ + "add", + 206, + 334, + -1, + 4, + [] + ], + [ + "add", + 206, + 335, + 1, + 2, + [] + ], + [ + "add", + 206, + 338, + -1, + 4, + [] + ], + [ + "add", + 206, + 340, + 1, + 4, + [] + ], + [ + "add", + 206, + 343, + -1, + 4, + [] + ], + [ + "add", + 206, + 345, + -1, + 2, + [] + ], + [ + "add", + 206, + 347, + 1, + 2, + [] + ], + [ + "add", + 206, + 350, + 1, + 4, + [] + ], + [ + "add", + 206, + 351, + -1, + 2, + [] + ], + [ + "add", + 206, + 354, + -1, + 4, + [] + ], + [ + "add", + 206, + 356, + 1, + 4, + [] + ], + [ + "add", + 206, + 359, + -1, + 4, + [] + ], + [ + "add", + 206, + 361, + -1, + 2, + [] + ], + [ + "add", + 206, + 363, + 1, + 2, + [] + ], + [ + "add", + 206, + 366, + 1, + 4, + [] + ], + [ + "add", + 206, + 367, + -1, + 2, + [] + ], + [ + "add", + 206, + 370, + -1, + 4, + [] + ], + [ + "add", + 206, + 372, + 1, + 4, + [] + ], + [ + "add", + 206, + 375, + -1, + 4, + [] + ], + [ + "add", + 206, + 377, + -1, + 2, + [] + ], + [ + "add", + 206, + 379, + 1, + 2, + [] + ], + [ + "add", + 206, + 382, + 1, + 4, + [] + ], + [ + "add", + 206, + 383, + -1, + 2, + [] + ], + [ + "add", + 206, + 386, + -1, + 4, + [] + ], + [ + "add", + 206, + 388, + 1, + 4, + [] + ], + [ + "add", + 206, + 391, + -1, + 4, + [] + ], + [ + "add", + 206, + 393, + -1, + 2, + [] + ], + [ + "add", + 206, + 395, + 1, + 2, + [] + ], + [ + "add", + 206, + 398, + 1, + 4, + [] + ], + [ + "add", + 206, + 399, + -1, + 2, + [] + ], + [ + "add", + 206, + 499, + 1, + 4, + [] + ], + [ + "add", + 206, + 511, + 1, + 4, + [] + ], + [ + "add", + 191, + 257, + 1, + 2, + [] + ], + [ + "add", + 191, + 258, + -1, + 2, + [] + ], + [ + "add", + 191, + 259, + -1, + 2, + [] + ], + [ + "add", + 191, + 261, + 1, + 2, + [] + ], + [ + "add", + 191, + 267, + -1, + 2, + [] + ], + [ + "add", + 191, + 269, + 1, + 2, + [] + ], + [ + "add", + 191, + 270, + 1, + 2, + [] + ], + [ + "add", + 191, + 271, + -1, + 2, + [] + ], + [ + "add", + 191, + 274, + 1, + 4, + [] + ], + [ + "add", + 191, + 276, + -1, + 4, + [] + ], + [ + "add", + 191, + 279, + 1, + 4, + [] + ], + [ + "add", + 191, + 281, + -1, + 2, + [] + ], + [ + "add", + 191, + 283, + 1, + 2, + [] + ], + [ + "add", + 191, + 286, + -1, + 4, + [] + ], + [ + "add", + 191, + 287, + 1, + 2, + [] + ], + [ + "add", + 191, + 290, + -1, + 4, + [] + ], + [ + "add", + 191, + 292, + 1, + 4, + [] + ], + [ + "add", + 191, + 295, + -1, + 4, + [] + ], + [ + "add", + 191, + 297, + 1, + 2, + [] + ], + [ + "add", + 191, + 299, + -1, + 2, + [] + ], + [ + "add", + 191, + 302, + 1, + 4, + [] + ], + [ + "add", + 191, + 303, + -1, + 2, + [] + ], + [ + "add", + 191, + 306, + -1, + 4, + [] + ], + [ + "add", + 191, + 308, + 1, + 4, + [] + ], + [ + "add", + 191, + 313, + 1, + 2, + [] + ], + [ + "add", + 191, + 315, + -1, + 2, + [] + ], + [ + "add", + 191, + 318, + 1, + 4, + [] + ], + [ + "add", + 191, + 319, + -1, + 2, + [] + ], + [ + "add", + 191, + 322, + 1, + 4, + [] + ], + [ + "add", + 191, + 324, + -1, + 4, + [] + ], + [ + "add", + 191, + 329, + -1, + 2, + [] + ], + [ + "add", + 191, + 331, + 1, + 2, + [] + ], + [ + "add", + 191, + 334, + -1, + 4, + [] + ], + [ + "add", + 191, + 335, + 1, + 2, + [] + ], + [ + "add", + 191, + 338, + -1, + 4, + [] + ], + [ + "add", + 191, + 340, + 1, + 4, + [] + ], + [ + "add", + 191, + 343, + -1, + 4, + [] + ], + [ + "add", + 191, + 345, + 1, + 2, + [] + ], + [ + "add", + 191, + 347, + -1, + 2, + [] + ], + [ + "add", + 191, + 350, + 1, + 4, + [] + ], + [ + "add", + 191, + 351, + -1, + 2, + [] + ], + [ + "add", + 191, + 354, + 1, + 4, + [] + ], + [ + "add", + 191, + 356, + -1, + 4, + [] + ], + [ + "add", + 191, + 359, + 1, + 4, + [] + ], + [ + "add", + 191, + 361, + -1, + 2, + [] + ], + [ + "add", + 191, + 363, + 1, + 2, + [] + ], + [ + "add", + 191, + 366, + -1, + 4, + [] + ], + [ + "add", + 191, + 367, + 1, + 2, + [] + ], + [ + "add", + 191, + 370, + 1, + 4, + [] + ], + [ + "add", + 191, + 372, + -1, + 4, + [] + ], + [ + "add", + 191, + 375, + 1, + 4, + [] + ], + [ + "add", + 191, + 377, + -1, + 2, + [] + ], + [ + "add", + 191, + 379, + 1, + 2, + [] + ], + [ + "add", + 191, + 382, + -1, + 4, + [] + ], + [ + "add", + 191, + 383, + 1, + 2, + [] + ], + [ + "add", + 191, + 386, + -1, + 4, + [] + ], + [ + "add", + 191, + 388, + 1, + 4, + [] + ], + [ + "add", + 191, + 391, + -1, + 4, + [] + ], + [ + "add", + 191, + 393, + 1, + 2, + [] + ], + [ + "add", + 191, + 395, + -1, + 2, + [] + ], + [ + "add", + 191, + 398, + 1, + 4, + [] + ], + [ + "add", + 191, + 399, + -1, + 2, + [] + ], + [ + "add", + 191, + 417, + 1, + 2, + [] + ], + [ + "add", + 191, + 419, + -1, + 2, + [] + ], + [ + "add", + 191, + 421, + 1, + 2, + [] + ], + [ + "add", + 191, + 427, + -1, + 2, + [] + ], + [ + "add", + 191, + 429, + 1, + 2, + [] + ], + [ + "add", + 191, + 430, + 1, + 2, + [] + ], + [ + "add", + 191, + 431, + -1, + 2, + [] + ], + [ + "add", + 191, + 432, + -1, + 2, + [] + ], + [ + "add", + 191, + 433, + 1, + 2, + [] + ], + [ + "add", + 191, + 435, + -1, + 2, + [] + ], + [ + "add", + 191, + 437, + 1, + 2, + [] + ], + [ + "add", + 191, + 443, + -1, + 2, + [] + ], + [ + "add", + 191, + 445, + 1, + 2, + [] + ], + [ + "add", + 191, + 446, + 1, + 2, + [] + ], + [ + "add", + 191, + 447, + -1, + 2, + [] + ], + [ + "add", + 191, + 499, + -1, + 4, + [] + ], + [ + "add", + 191, + 511, + 1, + 4, + [] + ], + [ + "add", + 121, + 272, + -1, + 4, + [] + ], + [ + "add", + 121, + 274, + 1, + 4, + [] + ], + [ + "add", + 121, + 279, + 1, + 4, + [] + ], + [ + "add", + 121, + 280, + 1, + 4, + [] + ], + [ + "add", + 121, + 281, + -1, + 2, + [] + ], + [ + "add", + 121, + 283, + 1, + 2, + [] + ], + [ + "add", + 121, + 288, + -1, + 4, + [] + ], + [ + "add", + 121, + 290, + 1, + 4, + [] + ], + [ + "add", + 121, + 295, + 1, + 4, + [] + ], + [ + "add", + 121, + 296, + 1, + 4, + [] + ], + [ + "add", + 121, + 297, + -1, + 2, + [] + ], + [ + "add", + 121, + 299, + 1, + 2, + [] + ], + [ + "add", + 121, + 304, + -1, + 4, + [] + ], + [ + "add", + 121, + 306, + 1, + 4, + [] + ], + [ + "add", + 121, + 312, + 1, + 4, + [] + ], + [ + "add", + 121, + 313, + -1, + 2, + [] + ], + [ + "add", + 121, + 315, + 1, + 2, + [] + ], + [ + "add", + 121, + 320, + -1, + 4, + [] + ], + [ + "add", + 121, + 322, + 1, + 4, + [] + ], + [ + "add", + 121, + 329, + -1, + 2, + [] + ], + [ + "add", + 121, + 331, + 1, + 2, + [] + ], + [ + "add", + 121, + 335, + -1, + 4, + [] + ], + [ + "add", + 121, + 336, + -1, + 4, + [] + ], + [ + "add", + 121, + 338, + 1, + 4, + [] + ], + [ + "add", + 121, + 343, + 1, + 4, + [] + ], + [ + "add", + 121, + 345, + -1, + 2, + [] + ], + [ + "add", + 121, + 347, + 1, + 2, + [] + ], + [ + "add", + 121, + 351, + -1, + 4, + [] + ], + [ + "add", + 121, + 352, + -1, + 4, + [] + ], + [ + "add", + 121, + 354, + 1, + 4, + [] + ], + [ + "add", + 121, + 359, + 1, + 4, + [] + ], + [ + "add", + 121, + 361, + -1, + 2, + [] + ], + [ + "add", + 121, + 363, + 1, + 2, + [] + ], + [ + "add", + 121, + 367, + -1, + 4, + [] + ], + [ + "add", + 121, + 368, + -1, + 4, + [] + ], + [ + "add", + 121, + 370, + 1, + 4, + [] + ], + [ + "add", + 121, + 375, + 1, + 4, + [] + ], + [ + "add", + 121, + 377, + -1, + 2, + [] + ], + [ + "add", + 121, + 379, + 1, + 2, + [] + ], + [ + "add", + 121, + 383, + -1, + 4, + [] + ], + [ + "add", + 121, + 384, + -1, + 4, + [] + ], + [ + "add", + 121, + 386, + 1, + 4, + [] + ], + [ + "add", + 121, + 391, + 1, + 4, + [] + ], + [ + "add", + 121, + 393, + -1, + 2, + [] + ], + [ + "add", + 121, + 395, + 1, + 2, + [] + ], + [ + "add", + 121, + 399, + -1, + 4, + [] + ], + [ + "add", + 121, + 499, + 1, + 4, + [] + ], + [ + "add", + 121, + 511, + 1, + 4, + [] + ], + [ + "add", + 121, + 530, + -1, + 2, + [] + ], + [ + "add", + 121, + 542, + -1, + 2, + [] + ], + [ + "add", + 182, + 224, + -1, + 2, + [] + ], + [ + "add", + 182, + 227, + -1, + 2, + [] + ], + [ + "add", + 182, + 229, + -1, + 2, + [] + ], + [ + "add", + 182, + 230, + -1, + 2, + [] + ], + [ + "add", + 182, + 234, + 1, + 2, + [] + ], + [ + "add", + 182, + 235, + -1, + 2, + [] + ], + [ + "add", + 182, + 238, + -1, + 2, + [] + ], + [ + "add", + 182, + 239, + 1, + 2, + [] + ], + [ + "add", + 182, + 240, + -1, + 2, + [] + ], + [ + "add", + 182, + 242, + -1, + 2, + [] + ], + [ + "add", + 182, + 243, + -1, + 2, + [] + ], + [ + "add", + 182, + 245, + -1, + 2, + [] + ], + [ + "add", + 182, + 246, + -1, + 2, + [] + ], + [ + "add", + 182, + 250, + 1, + 2, + [] + ], + [ + "add", + 182, + 251, + -1, + 2, + [] + ], + [ + "add", + 182, + 254, + -1, + 2, + [] + ], + [ + "add", + 182, + 255, + 1, + 2, + [] + ], + [ + "add", + 182, + 256, + -1, + 2, + [] + ], + [ + "add", + 182, + 258, + -1, + 2, + [] + ], + [ + "add", + 182, + 259, + -1, + 2, + [] + ], + [ + "add", + 182, + 261, + -1, + 2, + [] + ], + [ + "add", + 182, + 262, + -1, + 2, + [] + ], + [ + "add", + 182, + 266, + 1, + 2, + [] + ], + [ + "add", + 182, + 267, + -1, + 2, + [] + ], + [ + "add", + 182, + 270, + -1, + 2, + [] + ], + [ + "add", + 182, + 271, + 1, + 2, + [] + ], + [ + "add", + 182, + 278, + 1, + 4, + [] + ], + [ + "add", + 182, + 280, + 1, + 2, + [] + ], + [ + "add", + 182, + 283, + -1, + 4, + [] + ], + [ + "add", + 182, + 284, + 1, + 4, + [] + ], + [ + "add", + 182, + 287, + 1, + 2, + [] + ], + [ + "add", + 182, + 294, + 1, + 4, + [] + ], + [ + "add", + 182, + 296, + 1, + 2, + [] + ], + [ + "add", + 182, + 299, + -1, + 4, + [] + ], + [ + "add", + 182, + 300, + 1, + 4, + [] + ], + [ + "add", + 182, + 303, + 1, + 2, + [] + ], + [ + "add", + 182, + 310, + 1, + 4, + [] + ], + [ + "add", + 182, + 312, + 1, + 2, + [] + ], + [ + "add", + 182, + 315, + -1, + 4, + [] + ], + [ + "add", + 182, + 316, + 1, + 4, + [] + ], + [ + "add", + 182, + 319, + 1, + 2, + [] + ], + [ + "add", + 182, + 326, + 1, + 4, + [] + ], + [ + "add", + 182, + 328, + 1, + 2, + [] + ], + [ + "add", + 182, + 331, + -1, + 4, + [] + ], + [ + "add", + 182, + 332, + 1, + 4, + [] + ], + [ + "add", + 182, + 335, + 1, + 2, + [] + ], + [ + "add", + 182, + 342, + 1, + 4, + [] + ], + [ + "add", + 182, + 344, + 1, + 2, + [] + ], + [ + "add", + 182, + 347, + -1, + 4, + [] + ], + [ + "add", + 182, + 348, + 1, + 4, + [] + ], + [ + "add", + 182, + 351, + 1, + 2, + [] + ], + [ + "add", + 182, + 358, + 1, + 4, + [] + ], + [ + "add", + 182, + 360, + 1, + 2, + [] + ], + [ + "add", + 182, + 363, + -1, + 4, + [] + ], + [ + "add", + 182, + 364, + 1, + 4, + [] + ], + [ + "add", + 182, + 367, + 1, + 2, + [] + ], + [ + "add", + 182, + 374, + 1, + 4, + [] + ], + [ + "add", + 182, + 376, + 1, + 2, + [] + ], + [ + "add", + 182, + 379, + -1, + 4, + [] + ], + [ + "add", + 182, + 380, + 1, + 4, + [] + ], + [ + "add", + 182, + 383, + 1, + 2, + [] + ], + [ + "add", + 182, + 390, + 1, + 4, + [] + ], + [ + "add", + 182, + 392, + 1, + 2, + [] + ], + [ + "add", + 182, + 395, + -1, + 4, + [] + ], + [ + "add", + 182, + 396, + 1, + 4, + [] + ], + [ + "add", + 182, + 399, + 1, + 2, + [] + ], + [ + "add", + 202, + 272, + 1, + 4, + [] + ], + [ + "add", + 202, + 276, + -1, + 4, + [] + ], + [ + "add", + 202, + 278, + -1, + 4, + [] + ], + [ + "add", + 202, + 280, + 1, + 4, + [] + ], + [ + "add", + 202, + 283, + 1, + 4, + [] + ], + [ + "add", + 202, + 284, + -1, + 4, + [] + ], + [ + "add", + 202, + 286, + -1, + 4, + [] + ], + [ + "add", + 202, + 288, + -1, + 4, + [] + ], + [ + "add", + 202, + 292, + 1, + 4, + [] + ], + [ + "add", + 202, + 294, + 1, + 4, + [] + ], + [ + "add", + 202, + 296, + -1, + 4, + [] + ], + [ + "add", + 202, + 299, + -1, + 4, + [] + ], + [ + "add", + 202, + 300, + 1, + 4, + [] + ], + [ + "add", + 202, + 302, + 1, + 4, + [] + ], + [ + "add", + 202, + 304, + 1, + 4, + [] + ], + [ + "add", + 202, + 308, + -1, + 4, + [] + ], + [ + "add", + 202, + 310, + -1, + 4, + [] + ], + [ + "add", + 202, + 312, + 1, + 4, + [] + ], + [ + "add", + 202, + 315, + 1, + 4, + [] + ], + [ + "add", + 202, + 316, + -1, + 4, + [] + ], + [ + "add", + 202, + 318, + -1, + 4, + [] + ], + [ + "add", + 202, + 320, + -1, + 4, + [] + ], + [ + "add", + 202, + 324, + 1, + 4, + [] + ], + [ + "add", + 202, + 326, + 1, + 4, + [] + ], + [ + "add", + 202, + 328, + -1, + 2, + [] + ], + [ + "add", + 202, + 331, + -1, + 4, + [] + ], + [ + "add", + 202, + 332, + 1, + 4, + [] + ], + [ + "add", + 202, + 334, + 1, + 4, + [] + ], + [ + "add", + 202, + 335, + -1, + 4, + [] + ], + [ + "add", + 202, + 336, + 1, + 4, + [] + ], + [ + "add", + 202, + 340, + -1, + 4, + [] + ], + [ + "add", + 202, + 342, + -1, + 4, + [] + ], + [ + "add", + 202, + 344, + 1, + 2, + [] + ], + [ + "add", + 202, + 347, + 1, + 4, + [] + ], + [ + "add", + 202, + 348, + -1, + 4, + [] + ], + [ + "add", + 202, + 350, + -1, + 4, + [] + ], + [ + "add", + 202, + 351, + 1, + 4, + [] + ], + [ + "add", + 202, + 352, + -1, + 4, + [] + ], + [ + "add", + 202, + 356, + 1, + 4, + [] + ], + [ + "add", + 202, + 358, + 1, + 4, + [] + ], + [ + "add", + 202, + 360, + -1, + 2, + [] + ], + [ + "add", + 202, + 363, + -1, + 4, + [] + ], + [ + "add", + 202, + 364, + 1, + 4, + [] + ], + [ + "add", + 202, + 366, + 1, + 4, + [] + ], + [ + "add", + 202, + 367, + -1, + 4, + [] + ], + [ + "add", + 202, + 368, + 1, + 4, + [] + ], + [ + "add", + 202, + 372, + -1, + 4, + [] + ], + [ + "add", + 202, + 374, + -1, + 4, + [] + ], + [ + "add", + 202, + 376, + 1, + 2, + [] + ], + [ + "add", + 202, + 379, + 1, + 4, + [] + ], + [ + "add", + 202, + 380, + -1, + 4, + [] + ], + [ + "add", + 202, + 382, + -1, + 4, + [] + ], + [ + "add", + 202, + 383, + 1, + 4, + [] + ], + [ + "add", + 202, + 384, + -1, + 4, + [] + ], + [ + "add", + 202, + 388, + 1, + 4, + [] + ], + [ + "add", + 202, + 390, + 1, + 4, + [] + ], + [ + "add", + 202, + 392, + -1, + 2, + [] + ], + [ + "add", + 202, + 395, + -1, + 4, + [] + ], + [ + "add", + 202, + 396, + 1, + 4, + [] + ], + [ + "add", + 202, + 398, + 1, + 4, + [] + ], + [ + "add", + 202, + 399, + -1, + 4, + [] + ], + [ + "add", + 202, + 530, + 1, + 2, + [] + ], + [ + "add", + 202, + 542, + -1, + 2, + [] + ], + [ + "add", + 203, + 240, + -1, + 2, + [] + ], + [ + "add", + 203, + 243, + -1, + 2, + [] + ], + [ + "add", + 203, + 246, + 1, + 2, + [] + ], + [ + "add", + 203, + 249, + -1, + 2, + [] + ], + [ + "add", + 203, + 250, + -1, + 2, + [] + ], + [ + "add", + 203, + 251, + 1, + 2, + [] + ], + [ + "add", + 203, + 255, + 1, + 2, + [] + ], + [ + "add", + 203, + 278, + -1, + 4, + [] + ], + [ + "add", + 203, + 280, + 1, + 2, + [] + ], + [ + "add", + 203, + 283, + 1, + 4, + [] + ], + [ + "add", + 203, + 284, + -1, + 4, + [] + ], + [ + "add", + 203, + 287, + 1, + 2, + [] + ], + [ + "add", + 203, + 294, + -1, + 4, + [] + ], + [ + "add", + 203, + 296, + 1, + 2, + [] + ], + [ + "add", + 203, + 299, + 1, + 4, + [] + ], + [ + "add", + 203, + 300, + -1, + 4, + [] + ], + [ + "add", + 203, + 303, + 1, + 2, + [] + ], + [ + "add", + 203, + 310, + -1, + 4, + [] + ], + [ + "add", + 203, + 312, + 1, + 2, + [] + ], + [ + "add", + 203, + 315, + 1, + 4, + [] + ], + [ + "add", + 203, + 316, + -1, + 4, + [] + ], + [ + "add", + 203, + 319, + 1, + 2, + [] + ], + [ + "add", + 203, + 326, + -1, + 4, + [] + ], + [ + "add", + 203, + 328, + 1, + 2, + [] + ], + [ + "add", + 203, + 331, + 1, + 4, + [] + ], + [ + "add", + 203, + 332, + -1, + 4, + [] + ], + [ + "add", + 203, + 335, + 1, + 2, + [] + ], + [ + "add", + 203, + 342, + -1, + 4, + [] + ], + [ + "add", + 203, + 344, + 1, + 2, + [] + ], + [ + "add", + 203, + 347, + 1, + 4, + [] + ], + [ + "add", + 203, + 348, + -1, + 4, + [] + ], + [ + "add", + 203, + 351, + 1, + 2, + [] + ], + [ + "add", + 203, + 358, + -1, + 4, + [] + ], + [ + "add", + 203, + 360, + 1, + 2, + [] + ], + [ + "add", + 203, + 363, + 1, + 4, + [] + ], + [ + "add", + 203, + 364, + -1, + 4, + [] + ], + [ + "add", + 203, + 367, + 1, + 2, + [] + ], + [ + "add", + 203, + 374, + -1, + 4, + [] + ], + [ + "add", + 203, + 376, + 1, + 2, + [] + ], + [ + "add", + 203, + 379, + 1, + 4, + [] + ], + [ + "add", + 203, + 380, + -1, + 4, + [] + ], + [ + "add", + 203, + 383, + 1, + 2, + [] + ], + [ + "add", + 203, + 390, + -1, + 4, + [] + ], + [ + "add", + 203, + 392, + 1, + 2, + [] + ], + [ + "add", + 203, + 395, + 1, + 4, + [] + ], + [ + "add", + 203, + 396, + -1, + 4, + [] + ], + [ + "add", + 203, + 399, + 1, + 2, + [] + ], + [ + "add", + 203, + 400, + -1, + 2, + [] + ], + [ + "add", + 203, + 402, + 1, + 2, + [] + ], + [ + "add", + 203, + 403, + -1, + 2, + [] + ], + [ + "add", + 203, + 406, + 1, + 2, + [] + ], + [ + "add", + 203, + 409, + -1, + 2, + [] + ], + [ + "add", + 203, + 410, + -1, + 2, + [] + ], + [ + "add", + 203, + 411, + 1, + 2, + [] + ], + [ + "add", + 203, + 415, + 1, + 2, + [] + ], + [ + "add", + 203, + 432, + -1, + 2, + [] + ], + [ + "add", + 203, + 435, + -1, + 2, + [] + ], + [ + "add", + 203, + 437, + -1, + 2, + [] + ], + [ + "add", + 203, + 438, + -1, + 2, + [] + ], + [ + "add", + 203, + 442, + 1, + 2, + [] + ], + [ + "add", + 203, + 443, + -1, + 2, + [] + ], + [ + "add", + 203, + 446, + -1, + 2, + [] + ], + [ + "add", + 203, + 447, + 1, + 2, + [] + ], + [ + "add", + 174, + 224, + 1, + 2, + [] + ], + [ + "add", + 174, + 225, + -1, + 2, + [] + ], + [ + "add", + 174, + 226, + 1, + 2, + [] + ], + [ + "add", + 174, + 227, + -1, + 2, + [] + ], + [ + "add", + 174, + 233, + -1, + 2, + [] + ], + [ + "add", + 174, + 235, + -1, + 2, + [] + ], + [ + "add", + 174, + 237, + -1, + 2, + [] + ], + [ + "add", + 174, + 239, + -1, + 2, + [] + ], + [ + "add", + 174, + 241, + -1, + 2, + [] + ], + [ + "add", + 174, + 243, + -1, + 2, + [] + ], + [ + "add", + 174, + 249, + -1, + 2, + [] + ], + [ + "add", + 174, + 251, + -1, + 2, + [] + ], + [ + "add", + 174, + 253, + -1, + 2, + [] + ], + [ + "add", + 174, + 255, + -1, + 2, + [] + ], + [ + "add", + 174, + 257, + -1, + 2, + [] + ], + [ + "add", + 174, + 259, + -1, + 2, + [] + ], + [ + "add", + 174, + 265, + -1, + 2, + [] + ], + [ + "add", + 174, + 267, + -1, + 2, + [] + ], + [ + "add", + 174, + 269, + -1, + 2, + [] + ], + [ + "add", + 174, + 271, + -1, + 2, + [] + ], + [ + "add", + 174, + 278, + 1, + 4, + [] + ], + [ + "add", + 174, + 280, + 1, + 2, + [] + ], + [ + "add", + 174, + 283, + -1, + 4, + [] + ], + [ + "add", + 174, + 284, + 1, + 4, + [] + ], + [ + "add", + 174, + 287, + 1, + 2, + [] + ], + [ + "add", + 174, + 294, + 1, + 4, + [] + ], + [ + "add", + 174, + 296, + 1, + 2, + [] + ], + [ + "add", + 174, + 299, + -1, + 4, + [] + ], + [ + "add", + 174, + 300, + 1, + 4, + [] + ], + [ + "add", + 174, + 303, + 1, + 2, + [] + ], + [ + "add", + 174, + 310, + 1, + 4, + [] + ], + [ + "add", + 174, + 312, + 1, + 2, + [] + ], + [ + "add", + 174, + 315, + -1, + 4, + [] + ], + [ + "add", + 174, + 316, + 1, + 4, + [] + ], + [ + "add", + 174, + 319, + 1, + 2, + [] + ], + [ + "add", + 174, + 326, + 1, + 4, + [] + ], + [ + "add", + 174, + 328, + 1, + 2, + [] + ], + [ + "add", + 174, + 331, + -1, + 4, + [] + ], + [ + "add", + 174, + 332, + 1, + 4, + [] + ], + [ + "add", + 174, + 335, + 1, + 2, + [] + ], + [ + "add", + 174, + 342, + -1, + 4, + [] + ], + [ + "add", + 174, + 344, + -1, + 2, + [] + ], + [ + "add", + 174, + 347, + 1, + 4, + [] + ], + [ + "add", + 174, + 348, + -1, + 4, + [] + ], + [ + "add", + 174, + 351, + -1, + 2, + [] + ], + [ + "add", + 174, + 358, + -1, + 4, + [] + ], + [ + "add", + 174, + 360, + -1, + 2, + [] + ], + [ + "add", + 174, + 363, + 1, + 4, + [] + ], + [ + "add", + 174, + 364, + -1, + 4, + [] + ], + [ + "add", + 174, + 367, + -1, + 2, + [] + ], + [ + "add", + 174, + 374, + -1, + 4, + [] + ], + [ + "add", + 174, + 376, + -1, + 2, + [] + ], + [ + "add", + 174, + 379, + 1, + 4, + [] + ], + [ + "add", + 174, + 380, + -1, + 4, + [] + ], + [ + "add", + 174, + 383, + -1, + 2, + [] + ], + [ + "add", + 174, + 390, + -1, + 4, + [] + ], + [ + "add", + 174, + 392, + -1, + 2, + [] + ], + [ + "add", + 174, + 395, + 1, + 4, + [] + ], + [ + "add", + 174, + 396, + -1, + 4, + [] + ], + [ + "add", + 174, + 399, + -1, + 2, + [] + ], + [ + "add", + 122, + 241, + 1, + 2, + [] + ], + [ + "add", + 122, + 242, + -1, + 2, + [] + ], + [ + "add", + 122, + 243, + -1, + 2, + [] + ], + [ + "add", + 122, + 245, + 1, + 2, + [] + ], + [ + "add", + 122, + 251, + -1, + 2, + [] + ], + [ + "add", + 122, + 253, + 1, + 2, + [] + ], + [ + "add", + 122, + 254, + 1, + 2, + [] + ], + [ + "add", + 122, + 255, + -1, + 2, + [] + ], + [ + "add", + 122, + 278, + -1, + 4, + [] + ], + [ + "add", + 122, + 280, + 1, + 2, + [] + ], + [ + "add", + 122, + 283, + 1, + 4, + [] + ], + [ + "add", + 122, + 284, + -1, + 4, + [] + ], + [ + "add", + 122, + 287, + 1, + 2, + [] + ], + [ + "add", + 122, + 294, + 1, + 4, + [] + ], + [ + "add", + 122, + 296, + -1, + 2, + [] + ], + [ + "add", + 122, + 299, + -1, + 4, + [] + ], + [ + "add", + 122, + 300, + 1, + 4, + [] + ], + [ + "add", + 122, + 303, + -1, + 2, + [] + ], + [ + "add", + 122, + 310, + -1, + 4, + [] + ], + [ + "add", + 122, + 312, + 1, + 2, + [] + ], + [ + "add", + 122, + 315, + 1, + 4, + [] + ], + [ + "add", + 122, + 316, + -1, + 4, + [] + ], + [ + "add", + 122, + 319, + 1, + 2, + [] + ], + [ + "add", + 122, + 326, + 1, + 4, + [] + ], + [ + "add", + 122, + 328, + -1, + 2, + [] + ], + [ + "add", + 122, + 331, + -1, + 4, + [] + ], + [ + "add", + 122, + 332, + 1, + 4, + [] + ], + [ + "add", + 122, + 335, + -1, + 2, + [] + ], + [ + "add", + 122, + 342, + -1, + 4, + [] + ], + [ + "add", + 122, + 344, + 1, + 2, + [] + ], + [ + "add", + 122, + 347, + 1, + 4, + [] + ], + [ + "add", + 122, + 348, + -1, + 4, + [] + ], + [ + "add", + 122, + 351, + 1, + 2, + [] + ], + [ + "add", + 122, + 358, + 1, + 4, + [] + ], + [ + "add", + 122, + 360, + -1, + 2, + [] + ], + [ + "add", + 122, + 363, + -1, + 4, + [] + ], + [ + "add", + 122, + 364, + 1, + 4, + [] + ], + [ + "add", + 122, + 367, + -1, + 2, + [] + ], + [ + "add", + 122, + 374, + -1, + 4, + [] + ], + [ + "add", + 122, + 376, + 1, + 2, + [] + ], + [ + "add", + 122, + 379, + 1, + 4, + [] + ], + [ + "add", + 122, + 380, + -1, + 4, + [] + ], + [ + "add", + 122, + 383, + 1, + 2, + [] + ], + [ + "add", + 122, + 390, + 1, + 4, + [] + ], + [ + "add", + 122, + 392, + -1, + 2, + [] + ], + [ + "add", + 122, + 395, + -1, + 4, + [] + ], + [ + "add", + 122, + 396, + 1, + 4, + [] + ], + [ + "add", + 122, + 399, + -1, + 2, + [] + ], + [ + "add", + 122, + 401, + 1, + 2, + [] + ], + [ + "add", + 122, + 403, + -1, + 2, + [] + ], + [ + "add", + 122, + 405, + 1, + 2, + [] + ], + [ + "add", + 122, + 411, + -1, + 2, + [] + ], + [ + "add", + 122, + 413, + 1, + 2, + [] + ], + [ + "add", + 122, + 414, + 1, + 2, + [] + ], + [ + "add", + 122, + 415, + -1, + 2, + [] + ], + [ + "add", + 122, + 432, + 1, + 2, + [] + ], + [ + "add", + 122, + 433, + -1, + 2, + [] + ], + [ + "add", + 122, + 434, + 1, + 2, + [] + ], + [ + "add", + 122, + 435, + -1, + 2, + [] + ], + [ + "add", + 122, + 441, + -1, + 2, + [] + ], + [ + "add", + 122, + 443, + -1, + 2, + [] + ], + [ + "add", + 122, + 445, + -1, + 2, + [] + ], + [ + "add", + 122, + 447, + -1, + 2, + [] + ], + [ + "add", + 123, + 272, + 1, + 4, + [] + ], + [ + "add", + 123, + 276, + -1, + 4, + [] + ], + [ + "add", + 123, + 278, + -1, + 4, + [] + ], + [ + "add", + 123, + 280, + 1, + 4, + [] + ], + [ + "add", + 123, + 283, + 1, + 4, + [] + ], + [ + "add", + 123, + 284, + -1, + 4, + [] + ], + [ + "add", + 123, + 286, + -1, + 4, + [] + ], + [ + "add", + 123, + 288, + 1, + 4, + [] + ], + [ + "add", + 123, + 292, + -1, + 4, + [] + ], + [ + "add", + 123, + 294, + -1, + 4, + [] + ], + [ + "add", + 123, + 296, + 1, + 4, + [] + ], + [ + "add", + 123, + 299, + 1, + 4, + [] + ], + [ + "add", + 123, + 300, + -1, + 4, + [] + ], + [ + "add", + 123, + 302, + -1, + 4, + [] + ], + [ + "add", + 123, + 304, + 1, + 4, + [] + ], + [ + "add", + 123, + 308, + -1, + 4, + [] + ], + [ + "add", + 123, + 310, + -1, + 4, + [] + ], + [ + "add", + 123, + 312, + 1, + 4, + [] + ], + [ + "add", + 123, + 315, + 1, + 4, + [] + ], + [ + "add", + 123, + 316, + -1, + 4, + [] + ], + [ + "add", + 123, + 318, + -1, + 4, + [] + ], + [ + "add", + 123, + 320, + 1, + 4, + [] + ], + [ + "add", + 123, + 324, + -1, + 4, + [] + ], + [ + "add", + 123, + 326, + -1, + 4, + [] + ], + [ + "add", + 123, + 328, + 1, + 2, + [] + ], + [ + "add", + 123, + 331, + 1, + 4, + [] + ], + [ + "add", + 123, + 332, + -1, + 4, + [] + ], + [ + "add", + 123, + 334, + -1, + 4, + [] + ], + [ + "add", + 123, + 335, + 1, + 4, + [] + ], + [ + "add", + 123, + 336, + 1, + 4, + [] + ], + [ + "add", + 123, + 340, + -1, + 4, + [] + ], + [ + "add", + 123, + 342, + -1, + 4, + [] + ], + [ + "add", + 123, + 344, + 1, + 2, + [] + ], + [ + "add", + 123, + 347, + 1, + 4, + [] + ], + [ + "add", + 123, + 348, + -1, + 4, + [] + ], + [ + "add", + 123, + 350, + -1, + 4, + [] + ], + [ + "add", + 123, + 351, + 1, + 4, + [] + ], + [ + "add", + 123, + 352, + 1, + 4, + [] + ], + [ + "add", + 123, + 356, + -1, + 4, + [] + ], + [ + "add", + 123, + 358, + -1, + 4, + [] + ], + [ + "add", + 123, + 360, + 1, + 2, + [] + ], + [ + "add", + 123, + 363, + 1, + 4, + [] + ], + [ + "add", + 123, + 364, + -1, + 4, + [] + ], + [ + "add", + 123, + 366, + -1, + 4, + [] + ], + [ + "add", + 123, + 367, + 1, + 4, + [] + ], + [ + "add", + 123, + 368, + 1, + 4, + [] + ], + [ + "add", + 123, + 372, + -1, + 4, + [] + ], + [ + "add", + 123, + 374, + -1, + 4, + [] + ], + [ + "add", + 123, + 376, + 1, + 2, + [] + ], + [ + "add", + 123, + 379, + 1, + 4, + [] + ], + [ + "add", + 123, + 380, + -1, + 4, + [] + ], + [ + "add", + 123, + 382, + -1, + 4, + [] + ], + [ + "add", + 123, + 383, + 1, + 4, + [] + ], + [ + "add", + 123, + 384, + 1, + 4, + [] + ], + [ + "add", + 123, + 388, + -1, + 4, + [] + ], + [ + "add", + 123, + 390, + -1, + 4, + [] + ], + [ + "add", + 123, + 392, + 1, + 2, + [] + ], + [ + "add", + 123, + 395, + 1, + 4, + [] + ], + [ + "add", + 123, + 396, + -1, + 4, + [] + ], + [ + "add", + 123, + 398, + -1, + 4, + [] + ], + [ + "add", + 123, + 399, + 1, + 4, + [] + ], + [ + "add", + 123, + 530, + 1, + 2, + [] + ], + [ + "add", + 123, + 542, + 1, + 2, + [] + ], + [ + "add", + 213, + 226, + 1, + 1, + [] + ], + [ + "add", + 213, + 227, + -1, + 1, + [] + ], + [ + "add", + 213, + 243, + -1, + 4, + [] + ], + [ + "add", + 213, + 244, + 1, + 4, + [] + ], + [ + "add", + 213, + 245, + -1, + 4, + [] + ], + [ + "add", + 213, + 248, + 1, + 4, + [] + ], + [ + "add", + 213, + 249, + -1, + 4, + [] + ], + [ + "add", + 213, + 250, + 1, + 2, + [] + ], + [ + "add", + 213, + 251, + -1, + 2, + [] + ], + [ + "add", + 213, + 254, + -1, + 4, + [] + ], + [ + "add", + 213, + 255, + 1, + 4, + [] + ], + [ + "add", + 213, + 259, + -1, + 4, + [] + ], + [ + "add", + 213, + 260, + 1, + 4, + [] + ], + [ + "add", + 213, + 261, + -1, + 4, + [] + ], + [ + "add", + 213, + 264, + 1, + 4, + [] + ], + [ + "add", + 213, + 265, + -1, + 4, + [] + ], + [ + "add", + 213, + 266, + 1, + 2, + [] + ], + [ + "add", + 213, + 267, + -1, + 2, + [] + ], + [ + "add", + 213, + 270, + -1, + 4, + [] + ], + [ + "add", + 213, + 271, + 1, + 4, + [] + ], + [ + "add", + 213, + 272, + -1, + 2, + [] + ], + [ + "add", + 213, + 276, + -1, + 2, + [] + ], + [ + "add", + 213, + 280, + 1, + 2, + [] + ], + [ + "add", + 213, + 286, + -1, + 2, + [] + ], + [ + "add", + 213, + 287, + 1, + 1, + [] + ], + [ + "add", + 213, + 288, + -1, + 2, + [] + ], + [ + "add", + 213, + 292, + -1, + 2, + [] + ], + [ + "add", + 213, + 296, + 1, + 2, + [] + ], + [ + "add", + 213, + 302, + -1, + 2, + [] + ], + [ + "add", + 213, + 303, + 1, + 1, + [] + ], + [ + "add", + 213, + 306, + 1, + 4, + [] + ], + [ + "add", + 213, + 308, + -1, + 4, + [] + ], + [ + "add", + 213, + 313, + 1, + 2, + [] + ], + [ + "add", + 213, + 315, + -1, + 2, + [] + ], + [ + "add", + 213, + 318, + -1, + 4, + [] + ], + [ + "add", + 213, + 319, + 1, + 2, + [] + ], + [ + "add", + 213, + 326, + 1, + 4, + [] + ], + [ + "add", + 213, + 328, + 1, + 2, + [] + ], + [ + "add", + 213, + 331, + -1, + 4, + [] + ], + [ + "add", + 213, + 332, + 1, + 4, + [] + ], + [ + "add", + 213, + 335, + 1, + 2, + [] + ], + [ + "add", + 213, + 342, + 1, + 4, + [] + ], + [ + "add", + 213, + 347, + 1, + 4, + [] + ], + [ + "add", + 213, + 348, + -1, + 4, + [] + ], + [ + "add", + 213, + 350, + -1, + 2, + [] + ], + [ + "add", + 213, + 351, + 1, + 2, + [] + ], + [ + "add", + 213, + 354, + 1, + 4, + [] + ], + [ + "add", + 213, + 356, + -1, + 4, + [] + ], + [ + "add", + 213, + 359, + -1, + 4, + [] + ], + [ + "add", + 213, + 363, + 1, + 2, + [] + ], + [ + "add", + 213, + 365, + -1, + 2, + [] + ], + [ + "add", + 213, + 366, + -1, + 4, + [] + ], + [ + "add", + 213, + 402, + 1, + 4, + [] + ], + [ + "add", + 213, + 403, + -1, + 4, + [] + ], + [ + "add", + 213, + 404, + 1, + 4, + [] + ], + [ + "add", + 213, + 405, + -1, + 4, + [] + ], + [ + "add", + 213, + 408, + 1, + 4, + [] + ], + [ + "add", + 213, + 409, + -1, + 4, + [] + ], + [ + "add", + 213, + 410, + 1, + 2, + [] + ], + [ + "add", + 213, + 411, + -1, + 2, + [] + ], + [ + "add", + 213, + 414, + -1, + 4, + [] + ], + [ + "add", + 213, + 415, + 1, + 4, + [] + ], + [ + "add", + 213, + 418, + 1, + 4, + [] + ], + [ + "add", + 213, + 419, + -1, + 4, + [] + ], + [ + "add", + 213, + 420, + 1, + 4, + [] + ], + [ + "add", + 213, + 421, + -1, + 4, + [] + ], + [ + "add", + 213, + 424, + 1, + 4, + [] + ], + [ + "add", + 213, + 425, + -1, + 4, + [] + ], + [ + "add", + 213, + 426, + 1, + 2, + [] + ], + [ + "add", + 213, + 427, + -1, + 2, + [] + ], + [ + "add", + 213, + 430, + -1, + 4, + [] + ], + [ + "add", + 213, + 431, + 1, + 4, + [] + ], + [ + "add", + 213, + 499, + 1, + 4, + [] + ], + [ + "add", + 166, + 226, + 1, + 1, + [] + ], + [ + "add", + 166, + 227, + -1, + 1, + [] + ], + [ + "add", + 166, + 243, + -1, + 4, + [] + ], + [ + "add", + 166, + 244, + 1, + 4, + [] + ], + [ + "add", + 166, + 245, + -1, + 4, + [] + ], + [ + "add", + 166, + 248, + 1, + 4, + [] + ], + [ + "add", + 166, + 249, + -1, + 4, + [] + ], + [ + "add", + 166, + 250, + 1, + 2, + [] + ], + [ + "add", + 166, + 251, + -1, + 2, + [] + ], + [ + "add", + 166, + 254, + -1, + 4, + [] + ], + [ + "add", + 166, + 255, + 1, + 4, + [] + ], + [ + "add", + 166, + 259, + -1, + 4, + [] + ], + [ + "add", + 166, + 260, + 1, + 4, + [] + ], + [ + "add", + 166, + 261, + -1, + 4, + [] + ], + [ + "add", + 166, + 264, + 1, + 4, + [] + ], + [ + "add", + 166, + 265, + -1, + 4, + [] + ], + [ + "add", + 166, + 266, + 1, + 2, + [] + ], + [ + "add", + 166, + 267, + -1, + 2, + [] + ], + [ + "add", + 166, + 270, + -1, + 4, + [] + ], + [ + "add", + 166, + 271, + 1, + 4, + [] + ], + [ + "add", + 166, + 272, + -1, + 2, + [] + ], + [ + "add", + 166, + 276, + -1, + 2, + [] + ], + [ + "add", + 166, + 280, + 1, + 2, + [] + ], + [ + "add", + 166, + 286, + -1, + 2, + [] + ], + [ + "add", + 166, + 287, + 1, + 1, + [] + ], + [ + "add", + 166, + 288, + -1, + 2, + [] + ], + [ + "add", + 166, + 292, + -1, + 2, + [] + ], + [ + "add", + 166, + 296, + 1, + 2, + [] + ], + [ + "add", + 166, + 302, + -1, + 2, + [] + ], + [ + "add", + 166, + 303, + 1, + 1, + [] + ], + [ + "add", + 166, + 306, + 1, + 4, + [] + ], + [ + "add", + 166, + 308, + -1, + 4, + [] + ], + [ + "add", + 166, + 313, + 1, + 2, + [] + ], + [ + "add", + 166, + 315, + -1, + 2, + [] + ], + [ + "add", + 166, + 318, + -1, + 4, + [] + ], + [ + "add", + 166, + 319, + 1, + 2, + [] + ], + [ + "add", + 166, + 326, + 1, + 4, + [] + ], + [ + "add", + 166, + 328, + 1, + 2, + [] + ], + [ + "add", + 166, + 331, + -1, + 4, + [] + ], + [ + "add", + 166, + 332, + 1, + 4, + [] + ], + [ + "add", + 166, + 335, + 1, + 2, + [] + ], + [ + "add", + 166, + 342, + 1, + 4, + [] + ], + [ + "add", + 166, + 347, + 1, + 4, + [] + ], + [ + "add", + 166, + 348, + -1, + 4, + [] + ], + [ + "add", + 166, + 350, + -1, + 2, + [] + ], + [ + "add", + 166, + 351, + 1, + 2, + [] + ], + [ + "add", + 166, + 354, + 1, + 4, + [] + ], + [ + "add", + 166, + 356, + -1, + 4, + [] + ], + [ + "add", + 166, + 359, + -1, + 4, + [] + ], + [ + "add", + 166, + 363, + 1, + 2, + [] + ], + [ + "add", + 166, + 365, + -1, + 2, + [] + ], + [ + "add", + 166, + 366, + -1, + 4, + [] + ], + [ + "add", + 166, + 402, + 1, + 4, + [] + ], + [ + "add", + 166, + 403, + -1, + 4, + [] + ], + [ + "add", + 166, + 404, + 1, + 4, + [] + ], + [ + "add", + 166, + 405, + -1, + 4, + [] + ], + [ + "add", + 166, + 408, + 1, + 4, + [] + ], + [ + "add", + 166, + 409, + -1, + 4, + [] + ], + [ + "add", + 166, + 410, + 1, + 2, + [] + ], + [ + "add", + 166, + 411, + -1, + 2, + [] + ], + [ + "add", + 166, + 414, + -1, + 4, + [] + ], + [ + "add", + 166, + 415, + 1, + 4, + [] + ], + [ + "add", + 166, + 418, + 1, + 4, + [] + ], + [ + "add", + 166, + 419, + -1, + 4, + [] + ], + [ + "add", + 166, + 420, + 1, + 4, + [] + ], + [ + "add", + 166, + 421, + -1, + 4, + [] + ], + [ + "add", + 166, + 424, + 1, + 4, + [] + ], + [ + "add", + 166, + 425, + -1, + 4, + [] + ], + [ + "add", + 166, + 426, + 1, + 2, + [] + ], + [ + "add", + 166, + 427, + -1, + 2, + [] + ], + [ + "add", + 166, + 430, + -1, + 4, + [] + ], + [ + "add", + 166, + 431, + 1, + 4, + [] + ], + [ + "add", + 166, + 499, + 1, + 4, + [] + ], + [ + "add", + 214, + 243, + -1, + 4, + [] + ], + [ + "add", + 214, + 244, + 1, + 4, + [] + ], + [ + "add", + 214, + 245, + -1, + 4, + [] + ], + [ + "add", + 214, + 248, + 1, + 4, + [] + ], + [ + "add", + 214, + 249, + -1, + 4, + [] + ], + [ + "add", + 214, + 250, + -1, + 2, + [] + ], + [ + "add", + 214, + 251, + 1, + 2, + [] + ], + [ + "add", + 214, + 254, + -1, + 4, + [] + ], + [ + "add", + 214, + 255, + 1, + 4, + [] + ], + [ + "add", + 214, + 259, + 1, + 4, + [] + ], + [ + "add", + 214, + 260, + -1, + 4, + [] + ], + [ + "add", + 214, + 261, + 1, + 4, + [] + ], + [ + "add", + 214, + 264, + -1, + 4, + [] + ], + [ + "add", + 214, + 265, + 1, + 4, + [] + ], + [ + "add", + 214, + 266, + 1, + 2, + [] + ], + [ + "add", + 214, + 267, + -1, + 2, + [] + ], + [ + "add", + 214, + 270, + 1, + 4, + [] + ], + [ + "add", + 214, + 271, + -1, + 4, + [] + ], + [ + "add", + 214, + 288, + -1, + 2, + [] + ], + [ + "add", + 214, + 292, + 1, + 2, + [] + ], + [ + "add", + 214, + 296, + 1, + 2, + [] + ], + [ + "add", + 214, + 302, + 1, + 2, + [] + ], + [ + "add", + 214, + 306, + -1, + 4, + [] + ], + [ + "add", + 214, + 308, + 1, + 4, + [] + ], + [ + "add", + 214, + 313, + 1, + 2, + [] + ], + [ + "add", + 214, + 315, + -1, + 2, + [] + ], + [ + "add", + 214, + 318, + 1, + 4, + [] + ], + [ + "add", + 214, + 319, + -1, + 2, + [] + ], + [ + "add", + 214, + 326, + -1, + 4, + [] + ], + [ + "add", + 214, + 328, + 1, + 2, + [] + ], + [ + "add", + 214, + 331, + 1, + 4, + [] + ], + [ + "add", + 214, + 332, + -1, + 4, + [] + ], + [ + "add", + 214, + 335, + 1, + 2, + [] + ], + [ + "add", + 214, + 342, + 1, + 4, + [] + ], + [ + "add", + 214, + 347, + 1, + 4, + [] + ], + [ + "add", + 214, + 348, + -1, + 4, + [] + ], + [ + "add", + 214, + 350, + 1, + 2, + [] + ], + [ + "add", + 214, + 351, + -1, + 2, + [] + ], + [ + "add", + 214, + 354, + -1, + 4, + [] + ], + [ + "add", + 214, + 356, + 1, + 4, + [] + ], + [ + "add", + 214, + 359, + 1, + 4, + [] + ], + [ + "add", + 214, + 363, + 1, + 2, + [] + ], + [ + "add", + 214, + 365, + -1, + 2, + [] + ], + [ + "add", + 214, + 366, + 1, + 4, + [] + ], + [ + "add", + 214, + 384, + -1, + 2, + [] + ], + [ + "add", + 214, + 388, + 1, + 2, + [] + ], + [ + "add", + 214, + 398, + 1, + 2, + [] + ], + [ + "add", + 214, + 399, + -1, + 2, + [] + ], + [ + "add", + 214, + 402, + 1, + 4, + [] + ], + [ + "add", + 214, + 403, + -1, + 4, + [] + ], + [ + "add", + 214, + 404, + 1, + 4, + [] + ], + [ + "add", + 214, + 405, + -1, + 4, + [] + ], + [ + "add", + 214, + 408, + 1, + 4, + [] + ], + [ + "add", + 214, + 409, + -1, + 4, + [] + ], + [ + "add", + 214, + 410, + -1, + 2, + [] + ], + [ + "add", + 214, + 411, + 1, + 2, + [] + ], + [ + "add", + 214, + 414, + -1, + 4, + [] + ], + [ + "add", + 214, + 415, + 1, + 4, + [] + ], + [ + "add", + 214, + 418, + -1, + 4, + [] + ], + [ + "add", + 214, + 419, + 1, + 4, + [] + ], + [ + "add", + 214, + 420, + -1, + 4, + [] + ], + [ + "add", + 214, + 421, + 1, + 4, + [] + ], + [ + "add", + 214, + 424, + -1, + 4, + [] + ], + [ + "add", + 214, + 425, + 1, + 4, + [] + ], + [ + "add", + 214, + 426, + 1, + 2, + [] + ], + [ + "add", + 214, + 427, + -1, + 2, + [] + ], + [ + "add", + 214, + 430, + 1, + 4, + [] + ], + [ + "add", + 214, + 431, + -1, + 4, + [] + ], + [ + "add", + 214, + 432, + -1, + 2, + [] + ], + [ + "add", + 214, + 433, + 1, + 2, + [] + ], + [ + "add", + 214, + 438, + -1, + 2, + [] + ], + [ + "add", + 214, + 439, + 1, + 2, + [] + ], + [ + "add", + 214, + 442, + 1, + 2, + [] + ], + [ + "add", + 214, + 443, + -1, + 2, + [] + ], + [ + "add", + 214, + 444, + -1, + 2, + [] + ], + [ + "add", + 214, + 445, + 1, + 2, + [] + ], + [ + "add", + 214, + 499, + -1, + 4, + [] + ], + [ + "add", + 167, + 243, + -1, + 4, + [] + ], + [ + "add", + 167, + 244, + 1, + 4, + [] + ], + [ + "add", + 167, + 245, + -1, + 4, + [] + ], + [ + "add", + 167, + 248, + 1, + 4, + [] + ], + [ + "add", + 167, + 249, + -1, + 4, + [] + ], + [ + "add", + 167, + 250, + -1, + 2, + [] + ], + [ + "add", + 167, + 251, + 1, + 2, + [] + ], + [ + "add", + 167, + 254, + -1, + 4, + [] + ], + [ + "add", + 167, + 255, + 1, + 4, + [] + ], + [ + "add", + 167, + 259, + -1, + 4, + [] + ], + [ + "add", + 167, + 260, + 1, + 4, + [] + ], + [ + "add", + 167, + 261, + -1, + 4, + [] + ], + [ + "add", + 167, + 264, + 1, + 4, + [] + ], + [ + "add", + 167, + 265, + -1, + 4, + [] + ], + [ + "add", + 167, + 266, + -1, + 2, + [] + ], + [ + "add", + 167, + 267, + 1, + 2, + [] + ], + [ + "add", + 167, + 270, + -1, + 4, + [] + ], + [ + "add", + 167, + 271, + 1, + 4, + [] + ], + [ + "add", + 167, + 303, + 1, + 1, + [] + ], + [ + "add", + 167, + 306, + 1, + 4, + [] + ], + [ + "add", + 167, + 308, + -1, + 4, + [] + ], + [ + "add", + 167, + 313, + -1, + 2, + [] + ], + [ + "add", + 167, + 315, + 1, + 2, + [] + ], + [ + "add", + 167, + 318, + -1, + 4, + [] + ], + [ + "add", + 167, + 319, + 1, + 2, + [] + ], + [ + "add", + 167, + 326, + -1, + 4, + [] + ], + [ + "add", + 167, + 328, + 1, + 2, + [] + ], + [ + "add", + 167, + 331, + 1, + 4, + [] + ], + [ + "add", + 167, + 332, + -1, + 4, + [] + ], + [ + "add", + 167, + 335, + 1, + 2, + [] + ], + [ + "add", + 167, + 342, + -1, + 4, + [] + ], + [ + "add", + 167, + 347, + -1, + 4, + [] + ], + [ + "add", + 167, + 348, + 1, + 4, + [] + ], + [ + "add", + 167, + 350, + -1, + 2, + [] + ], + [ + "add", + 167, + 351, + 1, + 2, + [] + ], + [ + "add", + 167, + 354, + -1, + 4, + [] + ], + [ + "add", + 167, + 356, + 1, + 4, + [] + ], + [ + "add", + 167, + 359, + 1, + 4, + [] + ], + [ + "add", + 167, + 363, + 1, + 2, + [] + ], + [ + "add", + 167, + 365, + -1, + 2, + [] + ], + [ + "add", + 167, + 366, + 1, + 4, + [] + ], + [ + "add", + 167, + 399, + 1, + 1, + [] + ], + [ + "add", + 167, + 402, + 1, + 4, + [] + ], + [ + "add", + 167, + 403, + -1, + 4, + [] + ], + [ + "add", + 167, + 404, + 1, + 4, + [] + ], + [ + "add", + 167, + 405, + -1, + 4, + [] + ], + [ + "add", + 167, + 408, + 1, + 4, + [] + ], + [ + "add", + 167, + 409, + -1, + 4, + [] + ], + [ + "add", + 167, + 410, + -1, + 2, + [] + ], + [ + "add", + 167, + 411, + 1, + 2, + [] + ], + [ + "add", + 167, + 414, + -1, + 4, + [] + ], + [ + "add", + 167, + 415, + 1, + 4, + [] + ], + [ + "add", + 167, + 418, + 1, + 4, + [] + ], + [ + "add", + 167, + 419, + -1, + 4, + [] + ], + [ + "add", + 167, + 420, + 1, + 4, + [] + ], + [ + "add", + 167, + 421, + -1, + 4, + [] + ], + [ + "add", + 167, + 424, + 1, + 4, + [] + ], + [ + "add", + 167, + 425, + -1, + 4, + [] + ], + [ + "add", + 167, + 426, + -1, + 2, + [] + ], + [ + "add", + 167, + 427, + 1, + 2, + [] + ], + [ + "add", + 167, + 430, + -1, + 4, + [] + ], + [ + "add", + 167, + 431, + 1, + 4, + [] + ], + [ + "add", + 167, + 446, + -1, + 1, + [] + ], + [ + "add", + 167, + 447, + 1, + 1, + [] + ], + [ + "add", + 167, + 499, + 1, + 4, + [] + ], + [ + "add", + 130, + 224, + 1, + 2, + [] + ], + [ + "add", + 130, + 225, + -1, + 2, + [] + ], + [ + "add", + 130, + 230, + -1, + 2, + [] + ], + [ + "add", + 130, + 231, + 1, + 2, + [] + ], + [ + "add", + 130, + 234, + 1, + 2, + [] + ], + [ + "add", + 130, + 235, + -1, + 2, + [] + ], + [ + "add", + 130, + 236, + 1, + 2, + [] + ], + [ + "add", + 130, + 237, + -1, + 2, + [] + ], + [ + "add", + 130, + 243, + -1, + 4, + [] + ], + [ + "add", + 130, + 244, + 1, + 4, + [] + ], + [ + "add", + 130, + 245, + -1, + 4, + [] + ], + [ + "add", + 130, + 248, + 1, + 4, + [] + ], + [ + "add", + 130, + 249, + -1, + 4, + [] + ], + [ + "add", + 130, + 250, + 1, + 2, + [] + ], + [ + "add", + 130, + 251, + -1, + 2, + [] + ], + [ + "add", + 130, + 254, + -1, + 4, + [] + ], + [ + "add", + 130, + 255, + 1, + 4, + [] + ], + [ + "add", + 130, + 259, + -1, + 4, + [] + ], + [ + "add", + 130, + 260, + 1, + 4, + [] + ], + [ + "add", + 130, + 261, + -1, + 4, + [] + ], + [ + "add", + 130, + 264, + 1, + 4, + [] + ], + [ + "add", + 130, + 265, + -1, + 4, + [] + ], + [ + "add", + 130, + 266, + 1, + 2, + [] + ], + [ + "add", + 130, + 267, + -1, + 2, + [] + ], + [ + "add", + 130, + 270, + -1, + 4, + [] + ], + [ + "add", + 130, + 271, + 1, + 4, + [] + ], + [ + "add", + 130, + 283, + -1, + 1, + [] + ], + [ + "add", + 130, + 299, + -1, + 1, + [] + ], + [ + "add", + 130, + 306, + 1, + 4, + [] + ], + [ + "add", + 130, + 308, + -1, + 4, + [] + ], + [ + "add", + 130, + 313, + 1, + 2, + [] + ], + [ + "add", + 130, + 315, + -1, + 2, + [] + ], + [ + "add", + 130, + 318, + -1, + 4, + [] + ], + [ + "add", + 130, + 319, + 1, + 2, + [] + ], + [ + "add", + 130, + 326, + 1, + 4, + [] + ], + [ + "add", + 130, + 328, + 1, + 2, + [] + ], + [ + "add", + 130, + 331, + -1, + 4, + [] + ], + [ + "add", + 130, + 332, + 1, + 4, + [] + ], + [ + "add", + 130, + 335, + 1, + 2, + [] + ], + [ + "add", + 130, + 342, + -1, + 4, + [] + ], + [ + "add", + 130, + 347, + -1, + 4, + [] + ], + [ + "add", + 130, + 348, + 1, + 4, + [] + ], + [ + "add", + 130, + 350, + 1, + 2, + [] + ], + [ + "add", + 130, + 351, + -1, + 2, + [] + ], + [ + "add", + 130, + 354, + -1, + 4, + [] + ], + [ + "add", + 130, + 356, + 1, + 4, + [] + ], + [ + "add", + 130, + 359, + 1, + 4, + [] + ], + [ + "add", + 130, + 363, + -1, + 2, + [] + ], + [ + "add", + 130, + 365, + 1, + 2, + [] + ], + [ + "add", + 130, + 366, + 1, + 4, + [] + ], + [ + "add", + 130, + 402, + -1, + 4, + [] + ], + [ + "add", + 130, + 403, + 1, + 4, + [] + ], + [ + "add", + 130, + 404, + -1, + 4, + [] + ], + [ + "add", + 130, + 405, + 1, + 4, + [] + ], + [ + "add", + 130, + 408, + -1, + 4, + [] + ], + [ + "add", + 130, + 409, + 1, + 4, + [] + ], + [ + "add", + 130, + 410, + -1, + 2, + [] + ], + [ + "add", + 130, + 411, + 1, + 2, + [] + ], + [ + "add", + 130, + 414, + 1, + 4, + [] + ], + [ + "add", + 130, + 415, + -1, + 4, + [] + ], + [ + "add", + 130, + 418, + -1, + 4, + [] + ], + [ + "add", + 130, + 419, + 1, + 4, + [] + ], + [ + "add", + 130, + 420, + -1, + 4, + [] + ], + [ + "add", + 130, + 421, + 1, + 4, + [] + ], + [ + "add", + 130, + 424, + -1, + 4, + [] + ], + [ + "add", + 130, + 425, + 1, + 4, + [] + ], + [ + "add", + 130, + 426, + -1, + 2, + [] + ], + [ + "add", + 130, + 427, + 1, + 2, + [] + ], + [ + "add", + 130, + 430, + 1, + 4, + [] + ], + [ + "add", + 130, + 431, + -1, + 4, + [] + ], + [ + "add", + 130, + 499, + 1, + 4, + [] + ], + [ + "add", + 152, + 224, + 1, + 2, + [] + ], + [ + "add", + 152, + 225, + -1, + 2, + [] + ], + [ + "add", + 152, + 230, + -1, + 2, + [] + ], + [ + "add", + 152, + 231, + 1, + 2, + [] + ], + [ + "add", + 152, + 234, + 1, + 2, + [] + ], + [ + "add", + 152, + 235, + -1, + 2, + [] + ], + [ + "add", + 152, + 236, + 1, + 2, + [] + ], + [ + "add", + 152, + 237, + -1, + 2, + [] + ], + [ + "add", + 152, + 243, + -1, + 4, + [] + ], + [ + "add", + 152, + 244, + 1, + 4, + [] + ], + [ + "add", + 152, + 245, + -1, + 4, + [] + ], + [ + "add", + 152, + 248, + 1, + 4, + [] + ], + [ + "add", + 152, + 249, + -1, + 4, + [] + ], + [ + "add", + 152, + 250, + 1, + 2, + [] + ], + [ + "add", + 152, + 251, + -1, + 2, + [] + ], + [ + "add", + 152, + 254, + -1, + 4, + [] + ], + [ + "add", + 152, + 255, + 1, + 4, + [] + ], + [ + "add", + 152, + 259, + -1, + 4, + [] + ], + [ + "add", + 152, + 260, + 1, + 4, + [] + ], + [ + "add", + 152, + 261, + -1, + 4, + [] + ], + [ + "add", + 152, + 264, + 1, + 4, + [] + ], + [ + "add", + 152, + 265, + -1, + 4, + [] + ], + [ + "add", + 152, + 266, + 1, + 2, + [] + ], + [ + "add", + 152, + 267, + -1, + 2, + [] + ], + [ + "add", + 152, + 270, + -1, + 4, + [] + ], + [ + "add", + 152, + 271, + 1, + 4, + [] + ], + [ + "add", + 152, + 283, + -1, + 1, + [] + ], + [ + "add", + 152, + 299, + -1, + 1, + [] + ], + [ + "add", + 152, + 306, + 1, + 4, + [] + ], + [ + "add", + 152, + 308, + -1, + 4, + [] + ], + [ + "add", + 152, + 313, + 1, + 2, + [] + ], + [ + "add", + 152, + 315, + -1, + 2, + [] + ], + [ + "add", + 152, + 318, + -1, + 4, + [] + ], + [ + "add", + 152, + 319, + 1, + 2, + [] + ], + [ + "add", + 152, + 326, + 1, + 4, + [] + ], + [ + "add", + 152, + 328, + 1, + 2, + [] + ], + [ + "add", + 152, + 331, + -1, + 4, + [] + ], + [ + "add", + 152, + 332, + 1, + 4, + [] + ], + [ + "add", + 152, + 335, + 1, + 2, + [] + ], + [ + "add", + 152, + 342, + -1, + 4, + [] + ], + [ + "add", + 152, + 347, + -1, + 4, + [] + ], + [ + "add", + 152, + 348, + 1, + 4, + [] + ], + [ + "add", + 152, + 350, + 1, + 2, + [] + ], + [ + "add", + 152, + 351, + -1, + 2, + [] + ], + [ + "add", + 152, + 354, + -1, + 4, + [] + ], + [ + "add", + 152, + 356, + 1, + 4, + [] + ], + [ + "add", + 152, + 359, + 1, + 4, + [] + ], + [ + "add", + 152, + 363, + -1, + 2, + [] + ], + [ + "add", + 152, + 365, + 1, + 2, + [] + ], + [ + "add", + 152, + 366, + 1, + 4, + [] + ], + [ + "add", + 152, + 402, + -1, + 4, + [] + ], + [ + "add", + 152, + 403, + 1, + 4, + [] + ], + [ + "add", + 152, + 404, + -1, + 4, + [] + ], + [ + "add", + 152, + 405, + 1, + 4, + [] + ], + [ + "add", + 152, + 408, + -1, + 4, + [] + ], + [ + "add", + 152, + 409, + 1, + 4, + [] + ], + [ + "add", + 152, + 410, + -1, + 2, + [] + ], + [ + "add", + 152, + 411, + 1, + 2, + [] + ], + [ + "add", + 152, + 414, + 1, + 4, + [] + ], + [ + "add", + 152, + 415, + -1, + 4, + [] + ], + [ + "add", + 152, + 418, + -1, + 4, + [] + ], + [ + "add", + 152, + 419, + 1, + 4, + [] + ], + [ + "add", + 152, + 420, + -1, + 4, + [] + ], + [ + "add", + 152, + 421, + 1, + 4, + [] + ], + [ + "add", + 152, + 424, + -1, + 4, + [] + ], + [ + "add", + 152, + 425, + 1, + 4, + [] + ], + [ + "add", + 152, + 426, + -1, + 2, + [] + ], + [ + "add", + 152, + 427, + 1, + 2, + [] + ], + [ + "add", + 152, + 430, + 1, + 4, + [] + ], + [ + "add", + 152, + 431, + -1, + 4, + [] + ], + [ + "add", + 152, + 499, + 1, + 4, + [] + ], + [ + "add", + 131, + 243, + -1, + 4, + [] + ], + [ + "add", + 131, + 244, + 1, + 4, + [] + ], + [ + "add", + 131, + 245, + -1, + 4, + [] + ], + [ + "add", + 131, + 248, + 1, + 4, + [] + ], + [ + "add", + 131, + 249, + -1, + 4, + [] + ], + [ + "add", + 131, + 250, + -1, + 2, + [] + ], + [ + "add", + 131, + 251, + 1, + 2, + [] + ], + [ + "add", + 131, + 254, + -1, + 4, + [] + ], + [ + "add", + 131, + 255, + 1, + 4, + [] + ], + [ + "add", + 131, + 259, + 1, + 4, + [] + ], + [ + "add", + 131, + 260, + -1, + 4, + [] + ], + [ + "add", + 131, + 261, + 1, + 4, + [] + ], + [ + "add", + 131, + 264, + -1, + 4, + [] + ], + [ + "add", + 131, + 265, + 1, + 4, + [] + ], + [ + "add", + 131, + 266, + 1, + 2, + [] + ], + [ + "add", + 131, + 267, + -1, + 2, + [] + ], + [ + "add", + 131, + 270, + 1, + 4, + [] + ], + [ + "add", + 131, + 271, + -1, + 4, + [] + ], + [ + "add", + 131, + 288, + -1, + 2, + [] + ], + [ + "add", + 131, + 292, + 1, + 2, + [] + ], + [ + "add", + 131, + 296, + 1, + 2, + [] + ], + [ + "add", + 131, + 302, + 1, + 2, + [] + ], + [ + "add", + 131, + 306, + -1, + 4, + [] + ], + [ + "add", + 131, + 308, + 1, + 4, + [] + ], + [ + "add", + 131, + 313, + 1, + 2, + [] + ], + [ + "add", + 131, + 315, + -1, + 2, + [] + ], + [ + "add", + 131, + 318, + 1, + 4, + [] + ], + [ + "add", + 131, + 319, + -1, + 2, + [] + ], + [ + "add", + 131, + 326, + -1, + 4, + [] + ], + [ + "add", + 131, + 328, + 1, + 2, + [] + ], + [ + "add", + 131, + 331, + 1, + 4, + [] + ], + [ + "add", + 131, + 332, + -1, + 4, + [] + ], + [ + "add", + 131, + 335, + 1, + 2, + [] + ], + [ + "add", + 131, + 342, + 1, + 4, + [] + ], + [ + "add", + 131, + 347, + 1, + 4, + [] + ], + [ + "add", + 131, + 348, + -1, + 4, + [] + ], + [ + "add", + 131, + 350, + 1, + 2, + [] + ], + [ + "add", + 131, + 351, + -1, + 2, + [] + ], + [ + "add", + 131, + 354, + -1, + 4, + [] + ], + [ + "add", + 131, + 356, + 1, + 4, + [] + ], + [ + "add", + 131, + 359, + 1, + 4, + [] + ], + [ + "add", + 131, + 363, + 1, + 2, + [] + ], + [ + "add", + 131, + 365, + -1, + 2, + [] + ], + [ + "add", + 131, + 366, + 1, + 4, + [] + ], + [ + "add", + 131, + 384, + -1, + 2, + [] + ], + [ + "add", + 131, + 388, + 1, + 2, + [] + ], + [ + "add", + 131, + 398, + 1, + 2, + [] + ], + [ + "add", + 131, + 399, + -1, + 2, + [] + ], + [ + "add", + 131, + 402, + 1, + 4, + [] + ], + [ + "add", + 131, + 403, + -1, + 4, + [] + ], + [ + "add", + 131, + 404, + 1, + 4, + [] + ], + [ + "add", + 131, + 405, + -1, + 4, + [] + ], + [ + "add", + 131, + 408, + 1, + 4, + [] + ], + [ + "add", + 131, + 409, + -1, + 4, + [] + ], + [ + "add", + 131, + 410, + -1, + 2, + [] + ], + [ + "add", + 131, + 411, + 1, + 2, + [] + ], + [ + "add", + 131, + 414, + -1, + 4, + [] + ], + [ + "add", + 131, + 415, + 1, + 4, + [] + ], + [ + "add", + 131, + 418, + -1, + 4, + [] + ], + [ + "add", + 131, + 419, + 1, + 4, + [] + ], + [ + "add", + 131, + 420, + -1, + 4, + [] + ], + [ + "add", + 131, + 421, + 1, + 4, + [] + ], + [ + "add", + 131, + 424, + -1, + 4, + [] + ], + [ + "add", + 131, + 425, + 1, + 4, + [] + ], + [ + "add", + 131, + 426, + 1, + 2, + [] + ], + [ + "add", + 131, + 427, + -1, + 2, + [] + ], + [ + "add", + 131, + 430, + 1, + 4, + [] + ], + [ + "add", + 131, + 431, + -1, + 4, + [] + ], + [ + "add", + 131, + 432, + -1, + 2, + [] + ], + [ + "add", + 131, + 433, + 1, + 2, + [] + ], + [ + "add", + 131, + 438, + -1, + 2, + [] + ], + [ + "add", + 131, + 439, + 1, + 2, + [] + ], + [ + "add", + 131, + 442, + 1, + 2, + [] + ], + [ + "add", + 131, + 443, + -1, + 2, + [] + ], + [ + "add", + 131, + 444, + -1, + 2, + [] + ], + [ + "add", + 131, + 445, + 1, + 2, + [] + ], + [ + "add", + 131, + 499, + -1, + 4, + [] + ], + [ + "add", + 151, + 243, + -1, + 4, + [] + ], + [ + "add", + 151, + 244, + 1, + 4, + [] + ], + [ + "add", + 151, + 245, + -1, + 4, + [] + ], + [ + "add", + 151, + 248, + 1, + 4, + [] + ], + [ + "add", + 151, + 249, + -1, + 4, + [] + ], + [ + "add", + 151, + 250, + -1, + 2, + [] + ], + [ + "add", + 151, + 251, + 1, + 2, + [] + ], + [ + "add", + 151, + 254, + -1, + 4, + [] + ], + [ + "add", + 151, + 255, + 1, + 4, + [] + ], + [ + "add", + 151, + 259, + -1, + 4, + [] + ], + [ + "add", + 151, + 260, + 1, + 4, + [] + ], + [ + "add", + 151, + 261, + -1, + 4, + [] + ], + [ + "add", + 151, + 264, + 1, + 4, + [] + ], + [ + "add", + 151, + 265, + -1, + 4, + [] + ], + [ + "add", + 151, + 266, + -1, + 2, + [] + ], + [ + "add", + 151, + 267, + 1, + 2, + [] + ], + [ + "add", + 151, + 270, + -1, + 4, + [] + ], + [ + "add", + 151, + 271, + 1, + 4, + [] + ], + [ + "add", + 151, + 303, + 1, + 1, + [] + ], + [ + "add", + 151, + 306, + 1, + 4, + [] + ], + [ + "add", + 151, + 308, + -1, + 4, + [] + ], + [ + "add", + 151, + 313, + -1, + 2, + [] + ], + [ + "add", + 151, + 315, + 1, + 2, + [] + ], + [ + "add", + 151, + 318, + -1, + 4, + [] + ], + [ + "add", + 151, + 319, + 1, + 2, + [] + ], + [ + "add", + 151, + 326, + -1, + 4, + [] + ], + [ + "add", + 151, + 328, + 1, + 2, + [] + ], + [ + "add", + 151, + 331, + 1, + 4, + [] + ], + [ + "add", + 151, + 332, + -1, + 4, + [] + ], + [ + "add", + 151, + 335, + 1, + 2, + [] + ], + [ + "add", + 151, + 342, + -1, + 4, + [] + ], + [ + "add", + 151, + 347, + -1, + 4, + [] + ], + [ + "add", + 151, + 348, + 1, + 4, + [] + ], + [ + "add", + 151, + 350, + -1, + 2, + [] + ], + [ + "add", + 151, + 351, + 1, + 2, + [] + ], + [ + "add", + 151, + 354, + -1, + 4, + [] + ], + [ + "add", + 151, + 356, + 1, + 4, + [] + ], + [ + "add", + 151, + 359, + 1, + 4, + [] + ], + [ + "add", + 151, + 363, + 1, + 2, + [] + ], + [ + "add", + 151, + 365, + -1, + 2, + [] + ], + [ + "add", + 151, + 366, + 1, + 4, + [] + ], + [ + "add", + 151, + 399, + 1, + 1, + [] + ], + [ + "add", + 151, + 402, + 1, + 4, + [] + ], + [ + "add", + 151, + 403, + -1, + 4, + [] + ], + [ + "add", + 151, + 404, + 1, + 4, + [] + ], + [ + "add", + 151, + 405, + -1, + 4, + [] + ], + [ + "add", + 151, + 408, + 1, + 4, + [] + ], + [ + "add", + 151, + 409, + -1, + 4, + [] + ], + [ + "add", + 151, + 410, + -1, + 2, + [] + ], + [ + "add", + 151, + 411, + 1, + 2, + [] + ], + [ + "add", + 151, + 414, + -1, + 4, + [] + ], + [ + "add", + 151, + 415, + 1, + 4, + [] + ], + [ + "add", + 151, + 418, + 1, + 4, + [] + ], + [ + "add", + 151, + 419, + -1, + 4, + [] + ], + [ + "add", + 151, + 420, + 1, + 4, + [] + ], + [ + "add", + 151, + 421, + -1, + 4, + [] + ], + [ + "add", + 151, + 424, + 1, + 4, + [] + ], + [ + "add", + 151, + 425, + -1, + 4, + [] + ], + [ + "add", + 151, + 426, + -1, + 2, + [] + ], + [ + "add", + 151, + 427, + 1, + 2, + [] + ], + [ + "add", + 151, + 430, + -1, + 4, + [] + ], + [ + "add", + 151, + 431, + 1, + 4, + [] + ], + [ + "add", + 151, + 446, + -1, + 1, + [] + ], + [ + "add", + 151, + 447, + 1, + 1, + [] + ], + [ + "add", + 151, + 499, + 1, + 4, + [] + ], + [ + "add", + 195, + 224, + -1, + 1, + [] + ], + [ + "add", + 195, + 225, + 1, + 1, + [] + ], + [ + "add", + 195, + 241, + 1, + 4, + [] + ], + [ + "add", + 195, + 246, + -1, + 4, + [] + ], + [ + "add", + 195, + 247, + 1, + 4, + [] + ], + [ + "add", + 195, + 250, + 1, + 4, + [] + ], + [ + "add", + 195, + 251, + -1, + 4, + [] + ], + [ + "add", + 195, + 252, + -1, + 4, + [] + ], + [ + "add", + 195, + 253, + 1, + 4, + [] + ], + [ + "add", + 195, + 254, + -1, + 2, + [] + ], + [ + "add", + 195, + 255, + 1, + 2, + [] + ], + [ + "add", + 195, + 257, + 1, + 2, + [] + ], + [ + "add", + 195, + 259, + 1, + 4, + [] + ], + [ + "add", + 195, + 260, + 1, + 4, + [] + ], + [ + "add", + 195, + 261, + -1, + 4, + [] + ], + [ + "add", + 195, + 264, + -1, + 4, + [] + ], + [ + "add", + 195, + 265, + 1, + 4, + [] + ], + [ + "add", + 195, + 270, + -1, + 4, + [] + ], + [ + "add", + 195, + 271, + 1, + 4, + [] + ], + [ + "add", + 195, + 278, + 1, + 4, + [] + ], + [ + "add", + 195, + 283, + 1, + 4, + [] + ], + [ + "add", + 195, + 284, + -1, + 4, + [] + ], + [ + "add", + 195, + 286, + -1, + 2, + [] + ], + [ + "add", + 195, + 287, + 1, + 2, + [] + ], + [ + "add", + 195, + 290, + 1, + 4, + [] + ], + [ + "add", + 195, + 292, + -1, + 4, + [] + ], + [ + "add", + 195, + 295, + -1, + 4, + [] + ], + [ + "add", + 195, + 299, + 1, + 2, + [] + ], + [ + "add", + 195, + 301, + -1, + 2, + [] + ], + [ + "add", + 195, + 302, + -1, + 4, + [] + ], + [ + "add", + 195, + 336, + -1, + 2, + [] + ], + [ + "add", + 195, + 340, + -1, + 2, + [] + ], + [ + "add", + 195, + 350, + -1, + 2, + [] + ], + [ + "add", + 195, + 351, + 1, + 2, + [] + ], + [ + "add", + 195, + 352, + -1, + 2, + [] + ], + [ + "add", + 195, + 356, + -1, + 2, + [] + ], + [ + "add", + 195, + 366, + -1, + 2, + [] + ], + [ + "add", + 195, + 367, + 1, + 2, + [] + ], + [ + "add", + 195, + 370, + 1, + 4, + [] + ], + [ + "add", + 195, + 372, + -1, + 4, + [] + ], + [ + "add", + 195, + 375, + 1, + 4, + [] + ], + [ + "add", + 195, + 377, + 1, + 2, + [] + ], + [ + "add", + 195, + 379, + -1, + 2, + [] + ], + [ + "add", + 195, + 382, + -1, + 4, + [] + ], + [ + "add", + 195, + 383, + 1, + 2, + [] + ], + [ + "add", + 195, + 390, + 1, + 4, + [] + ], + [ + "add", + 195, + 392, + 1, + 2, + [] + ], + [ + "add", + 195, + 395, + -1, + 4, + [] + ], + [ + "add", + 195, + 396, + 1, + 4, + [] + ], + [ + "add", + 195, + 399, + 1, + 2, + [] + ], + [ + "add", + 195, + 402, + 1, + 4, + [] + ], + [ + "add", + 195, + 403, + -1, + 4, + [] + ], + [ + "add", + 195, + 404, + 1, + 4, + [] + ], + [ + "add", + 195, + 405, + -1, + 4, + [] + ], + [ + "add", + 195, + 408, + 1, + 4, + [] + ], + [ + "add", + 195, + 409, + -1, + 4, + [] + ], + [ + "add", + 195, + 410, + 1, + 2, + [] + ], + [ + "add", + 195, + 411, + -1, + 2, + [] + ], + [ + "add", + 195, + 414, + -1, + 4, + [] + ], + [ + "add", + 195, + 415, + 1, + 4, + [] + ], + [ + "add", + 195, + 417, + -1, + 4, + [] + ], + [ + "add", + 195, + 418, + 1, + 2, + [] + ], + [ + "add", + 195, + 419, + -1, + 2, + [] + ], + [ + "add", + 195, + 422, + -1, + 4, + [] + ], + [ + "add", + 195, + 423, + 1, + 4, + [] + ], + [ + "add", + 195, + 426, + 1, + 4, + [] + ], + [ + "add", + 195, + 427, + -1, + 4, + [] + ], + [ + "add", + 195, + 428, + 1, + 4, + [] + ], + [ + "add", + 195, + 429, + -1, + 4, + [] + ], + [ + "add", + 195, + 548, + 1, + 4, + [] + ], + [ + "add", + 195, + 549, + 1, + 4, + [] + ], + [ + "add", + 195, + 558, + 1, + 4, + [] + ], + [ + "add", + 195, + 570, + 1, + 4, + [] + ], + [ + "add", + 185, + 224, + -1, + 1, + [] + ], + [ + "add", + 185, + 225, + 1, + 1, + [] + ], + [ + "add", + 185, + 241, + 1, + 4, + [] + ], + [ + "add", + 185, + 246, + -1, + 4, + [] + ], + [ + "add", + 185, + 247, + 1, + 4, + [] + ], + [ + "add", + 185, + 250, + 1, + 4, + [] + ], + [ + "add", + 185, + 251, + -1, + 4, + [] + ], + [ + "add", + 185, + 252, + -1, + 4, + [] + ], + [ + "add", + 185, + 253, + 1, + 4, + [] + ], + [ + "add", + 185, + 254, + -1, + 2, + [] + ], + [ + "add", + 185, + 255, + 1, + 2, + [] + ], + [ + "add", + 185, + 257, + 1, + 2, + [] + ], + [ + "add", + 185, + 259, + 1, + 4, + [] + ], + [ + "add", + 185, + 260, + 1, + 4, + [] + ], + [ + "add", + 185, + 261, + -1, + 4, + [] + ], + [ + "add", + 185, + 264, + -1, + 4, + [] + ], + [ + "add", + 185, + 265, + 1, + 4, + [] + ], + [ + "add", + 185, + 270, + -1, + 4, + [] + ], + [ + "add", + 185, + 271, + 1, + 4, + [] + ], + [ + "add", + 185, + 278, + 1, + 4, + [] + ], + [ + "add", + 185, + 283, + 1, + 4, + [] + ], + [ + "add", + 185, + 284, + -1, + 4, + [] + ], + [ + "add", + 185, + 286, + -1, + 2, + [] + ], + [ + "add", + 185, + 287, + 1, + 2, + [] + ], + [ + "add", + 185, + 290, + 1, + 4, + [] + ], + [ + "add", + 185, + 292, + -1, + 4, + [] + ], + [ + "add", + 185, + 295, + -1, + 4, + [] + ], + [ + "add", + 185, + 299, + 1, + 2, + [] + ], + [ + "add", + 185, + 301, + -1, + 2, + [] + ], + [ + "add", + 185, + 302, + -1, + 4, + [] + ], + [ + "add", + 185, + 336, + -1, + 2, + [] + ], + [ + "add", + 185, + 340, + -1, + 2, + [] + ], + [ + "add", + 185, + 350, + -1, + 2, + [] + ], + [ + "add", + 185, + 351, + 1, + 2, + [] + ], + [ + "add", + 185, + 352, + -1, + 2, + [] + ], + [ + "add", + 185, + 356, + -1, + 2, + [] + ], + [ + "add", + 185, + 366, + -1, + 2, + [] + ], + [ + "add", + 185, + 367, + 1, + 2, + [] + ], + [ + "add", + 185, + 370, + 1, + 4, + [] + ], + [ + "add", + 185, + 372, + -1, + 4, + [] + ], + [ + "add", + 185, + 375, + 1, + 4, + [] + ], + [ + "add", + 185, + 377, + 1, + 2, + [] + ], + [ + "add", + 185, + 379, + -1, + 2, + [] + ], + [ + "add", + 185, + 382, + -1, + 4, + [] + ], + [ + "add", + 185, + 383, + 1, + 2, + [] + ], + [ + "add", + 185, + 390, + 1, + 4, + [] + ], + [ + "add", + 185, + 392, + 1, + 2, + [] + ], + [ + "add", + 185, + 395, + -1, + 4, + [] + ], + [ + "add", + 185, + 396, + 1, + 4, + [] + ], + [ + "add", + 185, + 399, + 1, + 2, + [] + ], + [ + "add", + 185, + 402, + 1, + 4, + [] + ], + [ + "add", + 185, + 403, + -1, + 4, + [] + ], + [ + "add", + 185, + 404, + 1, + 4, + [] + ], + [ + "add", + 185, + 405, + -1, + 4, + [] + ], + [ + "add", + 185, + 408, + 1, + 4, + [] + ], + [ + "add", + 185, + 409, + -1, + 4, + [] + ], + [ + "add", + 185, + 410, + 1, + 2, + [] + ], + [ + "add", + 185, + 411, + -1, + 2, + [] + ], + [ + "add", + 185, + 414, + -1, + 4, + [] + ], + [ + "add", + 185, + 415, + 1, + 4, + [] + ], + [ + "add", + 185, + 417, + -1, + 4, + [] + ], + [ + "add", + 185, + 418, + 1, + 2, + [] + ], + [ + "add", + 185, + 419, + -1, + 2, + [] + ], + [ + "add", + 185, + 422, + -1, + 4, + [] + ], + [ + "add", + 185, + 423, + 1, + 4, + [] + ], + [ + "add", + 185, + 426, + 1, + 4, + [] + ], + [ + "add", + 185, + 427, + -1, + 4, + [] + ], + [ + "add", + 185, + 428, + 1, + 4, + [] + ], + [ + "add", + 185, + 429, + -1, + 4, + [] + ], + [ + "add", + 185, + 548, + 1, + 4, + [] + ], + [ + "add", + 185, + 549, + 1, + 4, + [] + ], + [ + "add", + 185, + 558, + 1, + 4, + [] + ], + [ + "add", + 185, + 570, + 1, + 4, + [] + ], + [ + "add", + 196, + 241, + -1, + 4, + [] + ], + [ + "add", + 196, + 246, + 1, + 4, + [] + ], + [ + "add", + 196, + 247, + -1, + 4, + [] + ], + [ + "add", + 196, + 250, + -1, + 4, + [] + ], + [ + "add", + 196, + 251, + 1, + 4, + [] + ], + [ + "add", + 196, + 252, + 1, + 4, + [] + ], + [ + "add", + 196, + 253, + -1, + 4, + [] + ], + [ + "add", + 196, + 254, + -1, + 2, + [] + ], + [ + "add", + 196, + 255, + 1, + 2, + [] + ], + [ + "add", + 196, + 257, + -1, + 2, + [] + ], + [ + "add", + 196, + 259, + 1, + 4, + [] + ], + [ + "add", + 196, + 260, + 1, + 4, + [] + ], + [ + "add", + 196, + 261, + -1, + 4, + [] + ], + [ + "add", + 196, + 264, + -1, + 4, + [] + ], + [ + "add", + 196, + 265, + 1, + 4, + [] + ], + [ + "add", + 196, + 270, + -1, + 4, + [] + ], + [ + "add", + 196, + 271, + 1, + 4, + [] + ], + [ + "add", + 196, + 278, + 1, + 4, + [] + ], + [ + "add", + 196, + 283, + 1, + 4, + [] + ], + [ + "add", + 196, + 284, + -1, + 4, + [] + ], + [ + "add", + 196, + 286, + 1, + 2, + [] + ], + [ + "add", + 196, + 287, + -1, + 2, + [] + ], + [ + "add", + 196, + 290, + -1, + 4, + [] + ], + [ + "add", + 196, + 292, + 1, + 4, + [] + ], + [ + "add", + 196, + 295, + 1, + 4, + [] + ], + [ + "add", + 196, + 299, + 1, + 2, + [] + ], + [ + "add", + 196, + 301, + -1, + 2, + [] + ], + [ + "add", + 196, + 302, + 1, + 4, + [] + ], + [ + "add", + 196, + 320, + -1, + 2, + [] + ], + [ + "add", + 196, + 324, + 1, + 2, + [] + ], + [ + "add", + 196, + 334, + 1, + 2, + [] + ], + [ + "add", + 196, + 335, + -1, + 2, + [] + ], + [ + "add", + 196, + 352, + -1, + 2, + [] + ], + [ + "add", + 196, + 356, + 1, + 2, + [] + ], + [ + "add", + 196, + 366, + 1, + 2, + [] + ], + [ + "add", + 196, + 367, + -1, + 2, + [] + ], + [ + "add", + 196, + 370, + -1, + 4, + [] + ], + [ + "add", + 196, + 372, + 1, + 4, + [] + ], + [ + "add", + 196, + 375, + -1, + 4, + [] + ], + [ + "add", + 196, + 377, + 1, + 2, + [] + ], + [ + "add", + 196, + 379, + -1, + 2, + [] + ], + [ + "add", + 196, + 382, + 1, + 4, + [] + ], + [ + "add", + 196, + 383, + -1, + 2, + [] + ], + [ + "add", + 196, + 390, + -1, + 4, + [] + ], + [ + "add", + 196, + 392, + 1, + 2, + [] + ], + [ + "add", + 196, + 395, + 1, + 4, + [] + ], + [ + "add", + 196, + 396, + -1, + 4, + [] + ], + [ + "add", + 196, + 399, + 1, + 2, + [] + ], + [ + "add", + 196, + 402, + 1, + 4, + [] + ], + [ + "add", + 196, + 403, + -1, + 4, + [] + ], + [ + "add", + 196, + 404, + 1, + 4, + [] + ], + [ + "add", + 196, + 405, + -1, + 4, + [] + ], + [ + "add", + 196, + 408, + 1, + 4, + [] + ], + [ + "add", + 196, + 409, + -1, + 4, + [] + ], + [ + "add", + 196, + 410, + -1, + 2, + [] + ], + [ + "add", + 196, + 411, + 1, + 2, + [] + ], + [ + "add", + 196, + 414, + -1, + 4, + [] + ], + [ + "add", + 196, + 415, + 1, + 4, + [] + ], + [ + "add", + 196, + 417, + -1, + 4, + [] + ], + [ + "add", + 196, + 418, + -1, + 2, + [] + ], + [ + "add", + 196, + 419, + 1, + 2, + [] + ], + [ + "add", + 196, + 422, + -1, + 4, + [] + ], + [ + "add", + 196, + 423, + 1, + 4, + [] + ], + [ + "add", + 196, + 426, + 1, + 4, + [] + ], + [ + "add", + 196, + 427, + -1, + 4, + [] + ], + [ + "add", + 196, + 428, + 1, + 4, + [] + ], + [ + "add", + 196, + 429, + -1, + 4, + [] + ], + [ + "add", + 196, + 434, + -1, + 2, + [] + ], + [ + "add", + 196, + 435, + 1, + 2, + [] + ], + [ + "add", + 196, + 436, + 1, + 2, + [] + ], + [ + "add", + 196, + 437, + -1, + 2, + [] + ], + [ + "add", + 196, + 440, + -1, + 2, + [] + ], + [ + "add", + 196, + 441, + 1, + 2, + [] + ], + [ + "add", + 196, + 446, + -1, + 2, + [] + ], + [ + "add", + 196, + 447, + 1, + 2, + [] + ], + [ + "add", + 196, + 548, + 1, + 4, + [] + ], + [ + "add", + 196, + 549, + -1, + 4, + [] + ], + [ + "add", + 196, + 558, + -1, + 4, + [] + ], + [ + "add", + 196, + 570, + -1, + 4, + [] + ], + [ + "add", + 186, + 241, + -1, + 4, + [] + ], + [ + "add", + 186, + 246, + 1, + 4, + [] + ], + [ + "add", + 186, + 247, + -1, + 4, + [] + ], + [ + "add", + 186, + 250, + -1, + 4, + [] + ], + [ + "add", + 186, + 251, + 1, + 4, + [] + ], + [ + "add", + 186, + 252, + 1, + 4, + [] + ], + [ + "add", + 186, + 253, + -1, + 4, + [] + ], + [ + "add", + 186, + 254, + -1, + 2, + [] + ], + [ + "add", + 186, + 255, + 1, + 2, + [] + ], + [ + "add", + 186, + 257, + 1, + 2, + [] + ], + [ + "add", + 186, + 259, + -1, + 4, + [] + ], + [ + "add", + 186, + 260, + -1, + 4, + [] + ], + [ + "add", + 186, + 261, + 1, + 4, + [] + ], + [ + "add", + 186, + 264, + 1, + 4, + [] + ], + [ + "add", + 186, + 265, + -1, + 4, + [] + ], + [ + "add", + 186, + 270, + 1, + 4, + [] + ], + [ + "add", + 186, + 271, + -1, + 4, + [] + ], + [ + "add", + 186, + 278, + -1, + 4, + [] + ], + [ + "add", + 186, + 283, + -1, + 4, + [] + ], + [ + "add", + 186, + 284, + 1, + 4, + [] + ], + [ + "add", + 186, + 286, + -1, + 2, + [] + ], + [ + "add", + 186, + 287, + 1, + 2, + [] + ], + [ + "add", + 186, + 290, + -1, + 4, + [] + ], + [ + "add", + 186, + 292, + 1, + 4, + [] + ], + [ + "add", + 186, + 295, + 1, + 4, + [] + ], + [ + "add", + 186, + 299, + 1, + 2, + [] + ], + [ + "add", + 186, + 301, + -1, + 2, + [] + ], + [ + "add", + 186, + 302, + 1, + 4, + [] + ], + [ + "add", + 186, + 335, + 1, + 1, + [] + ], + [ + "add", + 186, + 367, + 1, + 1, + [] + ], + [ + "add", + 186, + 370, + 1, + 4, + [] + ], + [ + "add", + 186, + 372, + -1, + 4, + [] + ], + [ + "add", + 186, + 375, + 1, + 4, + [] + ], + [ + "add", + 186, + 377, + -1, + 2, + [] + ], + [ + "add", + 186, + 379, + 1, + 2, + [] + ], + [ + "add", + 186, + 382, + -1, + 4, + [] + ], + [ + "add", + 186, + 383, + 1, + 2, + [] + ], + [ + "add", + 186, + 390, + -1, + 4, + [] + ], + [ + "add", + 186, + 392, + 1, + 2, + [] + ], + [ + "add", + 186, + 395, + 1, + 4, + [] + ], + [ + "add", + 186, + 396, + -1, + 4, + [] + ], + [ + "add", + 186, + 399, + 1, + 2, + [] + ], + [ + "add", + 186, + 402, + 1, + 4, + [] + ], + [ + "add", + 186, + 403, + -1, + 4, + [] + ], + [ + "add", + 186, + 404, + 1, + 4, + [] + ], + [ + "add", + 186, + 405, + -1, + 4, + [] + ], + [ + "add", + 186, + 408, + 1, + 4, + [] + ], + [ + "add", + 186, + 409, + -1, + 4, + [] + ], + [ + "add", + 186, + 410, + -1, + 2, + [] + ], + [ + "add", + 186, + 411, + 1, + 2, + [] + ], + [ + "add", + 186, + 414, + -1, + 4, + [] + ], + [ + "add", + 186, + 415, + 1, + 4, + [] + ], + [ + "add", + 186, + 417, + 1, + 4, + [] + ], + [ + "add", + 186, + 418, + 1, + 2, + [] + ], + [ + "add", + 186, + 419, + -1, + 2, + [] + ], + [ + "add", + 186, + 422, + 1, + 4, + [] + ], + [ + "add", + 186, + 423, + -1, + 4, + [] + ], + [ + "add", + 186, + 426, + -1, + 4, + [] + ], + [ + "add", + 186, + 427, + 1, + 4, + [] + ], + [ + "add", + 186, + 428, + -1, + 4, + [] + ], + [ + "add", + 186, + 429, + 1, + 4, + [] + ], + [ + "add", + 186, + 432, + -1, + 1, + [] + ], + [ + "add", + 186, + 433, + 1, + 1, + [] + ], + [ + "add", + 186, + 548, + -1, + 4, + [] + ], + [ + "add", + 186, + 549, + 1, + 4, + [] + ], + [ + "add", + 186, + 558, + -1, + 4, + [] + ], + [ + "add", + 186, + 570, + -1, + 4, + [] + ], + [ + "add", + 171, + 226, + -1, + 2, + [] + ], + [ + "add", + 171, + 227, + 1, + 2, + [] + ], + [ + "add", + 171, + 228, + 1, + 2, + [] + ], + [ + "add", + 171, + 229, + -1, + 2, + [] + ], + [ + "add", + 171, + 232, + -1, + 2, + [] + ], + [ + "add", + 171, + 233, + 1, + 2, + [] + ], + [ + "add", + 171, + 238, + -1, + 2, + [] + ], + [ + "add", + 171, + 239, + 1, + 2, + [] + ], + [ + "add", + 171, + 241, + 1, + 4, + [] + ], + [ + "add", + 171, + 246, + -1, + 4, + [] + ], + [ + "add", + 171, + 247, + 1, + 4, + [] + ], + [ + "add", + 171, + 250, + 1, + 4, + [] + ], + [ + "add", + 171, + 251, + -1, + 4, + [] + ], + [ + "add", + 171, + 252, + -1, + 4, + [] + ], + [ + "add", + 171, + 253, + 1, + 4, + [] + ], + [ + "add", + 171, + 254, + -1, + 2, + [] + ], + [ + "add", + 171, + 255, + 1, + 2, + [] + ], + [ + "add", + 171, + 257, + 1, + 2, + [] + ], + [ + "add", + 171, + 259, + 1, + 4, + [] + ], + [ + "add", + 171, + 260, + 1, + 4, + [] + ], + [ + "add", + 171, + 261, + -1, + 4, + [] + ], + [ + "add", + 171, + 264, + -1, + 4, + [] + ], + [ + "add", + 171, + 265, + 1, + 4, + [] + ], + [ + "add", + 171, + 270, + -1, + 4, + [] + ], + [ + "add", + 171, + 271, + 1, + 4, + [] + ], + [ + "add", + 171, + 278, + -1, + 4, + [] + ], + [ + "add", + 171, + 283, + -1, + 4, + [] + ], + [ + "add", + 171, + 284, + 1, + 4, + [] + ], + [ + "add", + 171, + 286, + 1, + 2, + [] + ], + [ + "add", + 171, + 287, + -1, + 2, + [] + ], + [ + "add", + 171, + 290, + -1, + 4, + [] + ], + [ + "add", + 171, + 292, + 1, + 4, + [] + ], + [ + "add", + 171, + 295, + 1, + 4, + [] + ], + [ + "add", + 171, + 299, + -1, + 2, + [] + ], + [ + "add", + 171, + 301, + 1, + 2, + [] + ], + [ + "add", + 171, + 302, + 1, + 4, + [] + ], + [ + "add", + 171, + 347, + -1, + 1, + [] + ], + [ + "add", + 171, + 363, + -1, + 1, + [] + ], + [ + "add", + 171, + 370, + 1, + 4, + [] + ], + [ + "add", + 171, + 372, + -1, + 4, + [] + ], + [ + "add", + 171, + 375, + 1, + 4, + [] + ], + [ + "add", + 171, + 377, + 1, + 2, + [] + ], + [ + "add", + 171, + 379, + -1, + 2, + [] + ], + [ + "add", + 171, + 382, + -1, + 4, + [] + ], + [ + "add", + 171, + 383, + 1, + 2, + [] + ], + [ + "add", + 171, + 390, + 1, + 4, + [] + ], + [ + "add", + 171, + 392, + 1, + 2, + [] + ], + [ + "add", + 171, + 395, + -1, + 4, + [] + ], + [ + "add", + 171, + 396, + 1, + 4, + [] + ], + [ + "add", + 171, + 399, + 1, + 2, + [] + ], + [ + "add", + 171, + 402, + -1, + 4, + [] + ], + [ + "add", + 171, + 403, + 1, + 4, + [] + ], + [ + "add", + 171, + 404, + -1, + 4, + [] + ], + [ + "add", + 171, + 405, + 1, + 4, + [] + ], + [ + "add", + 171, + 408, + -1, + 4, + [] + ], + [ + "add", + 171, + 409, + 1, + 4, + [] + ], + [ + "add", + 171, + 410, + -1, + 2, + [] + ], + [ + "add", + 171, + 411, + 1, + 2, + [] + ], + [ + "add", + 171, + 414, + 1, + 4, + [] + ], + [ + "add", + 171, + 415, + -1, + 4, + [] + ], + [ + "add", + 171, + 417, + 1, + 4, + [] + ], + [ + "add", + 171, + 418, + -1, + 2, + [] + ], + [ + "add", + 171, + 419, + 1, + 2, + [] + ], + [ + "add", + 171, + 422, + 1, + 4, + [] + ], + [ + "add", + 171, + 423, + -1, + 4, + [] + ], + [ + "add", + 171, + 426, + -1, + 4, + [] + ], + [ + "add", + 171, + 427, + 1, + 4, + [] + ], + [ + "add", + 171, + 428, + -1, + 4, + [] + ], + [ + "add", + 171, + 429, + 1, + 4, + [] + ], + [ + "add", + 171, + 548, + 1, + 4, + [] + ], + [ + "add", + 171, + 549, + 1, + 4, + [] + ], + [ + "add", + 171, + 558, + 1, + 4, + [] + ], + [ + "add", + 171, + 570, + -1, + 4, + [] + ], + [ + "add", + 142, + 226, + -1, + 2, + [] + ], + [ + "add", + 142, + 227, + 1, + 2, + [] + ], + [ + "add", + 142, + 228, + 1, + 2, + [] + ], + [ + "add", + 142, + 229, + -1, + 2, + [] + ], + [ + "add", + 142, + 232, + -1, + 2, + [] + ], + [ + "add", + 142, + 233, + 1, + 2, + [] + ], + [ + "add", + 142, + 238, + -1, + 2, + [] + ], + [ + "add", + 142, + 239, + 1, + 2, + [] + ], + [ + "add", + 142, + 241, + 1, + 4, + [] + ], + [ + "add", + 142, + 246, + -1, + 4, + [] + ], + [ + "add", + 142, + 247, + 1, + 4, + [] + ], + [ + "add", + 142, + 250, + 1, + 4, + [] + ], + [ + "add", + 142, + 251, + -1, + 4, + [] + ], + [ + "add", + 142, + 252, + -1, + 4, + [] + ], + [ + "add", + 142, + 253, + 1, + 4, + [] + ], + [ + "add", + 142, + 254, + -1, + 2, + [] + ], + [ + "add", + 142, + 255, + 1, + 2, + [] + ], + [ + "add", + 142, + 257, + 1, + 2, + [] + ], + [ + "add", + 142, + 259, + 1, + 4, + [] + ], + [ + "add", + 142, + 260, + 1, + 4, + [] + ], + [ + "add", + 142, + 261, + -1, + 4, + [] + ], + [ + "add", + 142, + 264, + -1, + 4, + [] + ], + [ + "add", + 142, + 265, + 1, + 4, + [] + ], + [ + "add", + 142, + 270, + -1, + 4, + [] + ], + [ + "add", + 142, + 271, + 1, + 4, + [] + ], + [ + "add", + 142, + 278, + -1, + 4, + [] + ], + [ + "add", + 142, + 283, + -1, + 4, + [] + ], + [ + "add", + 142, + 284, + 1, + 4, + [] + ], + [ + "add", + 142, + 286, + 1, + 2, + [] + ], + [ + "add", + 142, + 287, + -1, + 2, + [] + ], + [ + "add", + 142, + 290, + -1, + 4, + [] + ], + [ + "add", + 142, + 292, + 1, + 4, + [] + ], + [ + "add", + 142, + 295, + 1, + 4, + [] + ], + [ + "add", + 142, + 299, + -1, + 2, + [] + ], + [ + "add", + 142, + 301, + 1, + 2, + [] + ], + [ + "add", + 142, + 302, + 1, + 4, + [] + ], + [ + "add", + 142, + 347, + -1, + 1, + [] + ], + [ + "add", + 142, + 363, + -1, + 1, + [] + ], + [ + "add", + 142, + 370, + 1, + 4, + [] + ], + [ + "add", + 142, + 372, + -1, + 4, + [] + ], + [ + "add", + 142, + 375, + 1, + 4, + [] + ], + [ + "add", + 142, + 377, + 1, + 2, + [] + ], + [ + "add", + 142, + 379, + -1, + 2, + [] + ], + [ + "add", + 142, + 382, + -1, + 4, + [] + ], + [ + "add", + 142, + 383, + 1, + 2, + [] + ], + [ + "add", + 142, + 390, + 1, + 4, + [] + ], + [ + "add", + 142, + 392, + 1, + 2, + [] + ], + [ + "add", + 142, + 395, + -1, + 4, + [] + ], + [ + "add", + 142, + 396, + 1, + 4, + [] + ], + [ + "add", + 142, + 399, + 1, + 2, + [] + ], + [ + "add", + 142, + 402, + -1, + 4, + [] + ], + [ + "add", + 142, + 403, + 1, + 4, + [] + ], + [ + "add", + 142, + 404, + -1, + 4, + [] + ], + [ + "add", + 142, + 405, + 1, + 4, + [] + ], + [ + "add", + 142, + 408, + -1, + 4, + [] + ], + [ + "add", + 142, + 409, + 1, + 4, + [] + ], + [ + "add", + 142, + 410, + -1, + 2, + [] + ], + [ + "add", + 142, + 411, + 1, + 2, + [] + ], + [ + "add", + 142, + 414, + 1, + 4, + [] + ], + [ + "add", + 142, + 415, + -1, + 4, + [] + ], + [ + "add", + 142, + 417, + 1, + 4, + [] + ], + [ + "add", + 142, + 418, + -1, + 2, + [] + ], + [ + "add", + 142, + 419, + 1, + 2, + [] + ], + [ + "add", + 142, + 422, + 1, + 4, + [] + ], + [ + "add", + 142, + 423, + -1, + 4, + [] + ], + [ + "add", + 142, + 426, + -1, + 4, + [] + ], + [ + "add", + 142, + 427, + 1, + 4, + [] + ], + [ + "add", + 142, + 428, + -1, + 4, + [] + ], + [ + "add", + 142, + 429, + 1, + 4, + [] + ], + [ + "add", + 142, + 548, + 1, + 4, + [] + ], + [ + "add", + 142, + 549, + 1, + 4, + [] + ], + [ + "add", + 142, + 558, + 1, + 4, + [] + ], + [ + "add", + 142, + 570, + -1, + 4, + [] + ], + [ + "add", + 172, + 241, + -1, + 4, + [] + ], + [ + "add", + 172, + 246, + 1, + 4, + [] + ], + [ + "add", + 172, + 247, + -1, + 4, + [] + ], + [ + "add", + 172, + 250, + -1, + 4, + [] + ], + [ + "add", + 172, + 251, + 1, + 4, + [] + ], + [ + "add", + 172, + 252, + 1, + 4, + [] + ], + [ + "add", + 172, + 253, + -1, + 4, + [] + ], + [ + "add", + 172, + 254, + -1, + 2, + [] + ], + [ + "add", + 172, + 255, + 1, + 2, + [] + ], + [ + "add", + 172, + 257, + -1, + 2, + [] + ], + [ + "add", + 172, + 259, + 1, + 4, + [] + ], + [ + "add", + 172, + 260, + 1, + 4, + [] + ], + [ + "add", + 172, + 261, + -1, + 4, + [] + ], + [ + "add", + 172, + 264, + -1, + 4, + [] + ], + [ + "add", + 172, + 265, + 1, + 4, + [] + ], + [ + "add", + 172, + 270, + -1, + 4, + [] + ], + [ + "add", + 172, + 271, + 1, + 4, + [] + ], + [ + "add", + 172, + 278, + 1, + 4, + [] + ], + [ + "add", + 172, + 283, + 1, + 4, + [] + ], + [ + "add", + 172, + 284, + -1, + 4, + [] + ], + [ + "add", + 172, + 286, + 1, + 2, + [] + ], + [ + "add", + 172, + 287, + -1, + 2, + [] + ], + [ + "add", + 172, + 290, + -1, + 4, + [] + ], + [ + "add", + 172, + 292, + 1, + 4, + [] + ], + [ + "add", + 172, + 295, + 1, + 4, + [] + ], + [ + "add", + 172, + 299, + 1, + 2, + [] + ], + [ + "add", + 172, + 301, + -1, + 2, + [] + ], + [ + "add", + 172, + 302, + 1, + 4, + [] + ], + [ + "add", + 172, + 320, + -1, + 2, + [] + ], + [ + "add", + 172, + 324, + 1, + 2, + [] + ], + [ + "add", + 172, + 334, + 1, + 2, + [] + ], + [ + "add", + 172, + 335, + -1, + 2, + [] + ], + [ + "add", + 172, + 352, + -1, + 2, + [] + ], + [ + "add", + 172, + 356, + 1, + 2, + [] + ], + [ + "add", + 172, + 366, + 1, + 2, + [] + ], + [ + "add", + 172, + 367, + -1, + 2, + [] + ], + [ + "add", + 172, + 370, + -1, + 4, + [] + ], + [ + "add", + 172, + 372, + 1, + 4, + [] + ], + [ + "add", + 172, + 375, + -1, + 4, + [] + ], + [ + "add", + 172, + 377, + 1, + 2, + [] + ], + [ + "add", + 172, + 379, + -1, + 2, + [] + ], + [ + "add", + 172, + 382, + 1, + 4, + [] + ], + [ + "add", + 172, + 383, + -1, + 2, + [] + ], + [ + "add", + 172, + 390, + -1, + 4, + [] + ], + [ + "add", + 172, + 392, + 1, + 2, + [] + ], + [ + "add", + 172, + 395, + 1, + 4, + [] + ], + [ + "add", + 172, + 396, + -1, + 4, + [] + ], + [ + "add", + 172, + 399, + 1, + 2, + [] + ], + [ + "add", + 172, + 402, + 1, + 4, + [] + ], + [ + "add", + 172, + 403, + -1, + 4, + [] + ], + [ + "add", + 172, + 404, + 1, + 4, + [] + ], + [ + "add", + 172, + 405, + -1, + 4, + [] + ], + [ + "add", + 172, + 408, + 1, + 4, + [] + ], + [ + "add", + 172, + 409, + -1, + 4, + [] + ], + [ + "add", + 172, + 410, + -1, + 2, + [] + ], + [ + "add", + 172, + 411, + 1, + 2, + [] + ], + [ + "add", + 172, + 414, + -1, + 4, + [] + ], + [ + "add", + 172, + 415, + 1, + 4, + [] + ], + [ + "add", + 172, + 417, + -1, + 4, + [] + ], + [ + "add", + 172, + 418, + -1, + 2, + [] + ], + [ + "add", + 172, + 419, + 1, + 2, + [] + ], + [ + "add", + 172, + 422, + -1, + 4, + [] + ], + [ + "add", + 172, + 423, + 1, + 4, + [] + ], + [ + "add", + 172, + 426, + 1, + 4, + [] + ], + [ + "add", + 172, + 427, + -1, + 4, + [] + ], + [ + "add", + 172, + 428, + 1, + 4, + [] + ], + [ + "add", + 172, + 429, + -1, + 4, + [] + ], + [ + "add", + 172, + 434, + -1, + 2, + [] + ], + [ + "add", + 172, + 435, + 1, + 2, + [] + ], + [ + "add", + 172, + 436, + 1, + 2, + [] + ], + [ + "add", + 172, + 437, + -1, + 2, + [] + ], + [ + "add", + 172, + 440, + -1, + 2, + [] + ], + [ + "add", + 172, + 441, + 1, + 2, + [] + ], + [ + "add", + 172, + 446, + -1, + 2, + [] + ], + [ + "add", + 172, + 447, + 1, + 2, + [] + ], + [ + "add", + 172, + 548, + 1, + 4, + [] + ], + [ + "add", + 172, + 549, + -1, + 4, + [] + ], + [ + "add", + 172, + 558, + -1, + 4, + [] + ], + [ + "add", + 172, + 570, + -1, + 4, + [] + ], + [ + "add", + 141, + 241, + -1, + 4, + [] + ], + [ + "add", + 141, + 246, + 1, + 4, + [] + ], + [ + "add", + 141, + 247, + -1, + 4, + [] + ], + [ + "add", + 141, + 250, + -1, + 4, + [] + ], + [ + "add", + 141, + 251, + 1, + 4, + [] + ], + [ + "add", + 141, + 252, + 1, + 4, + [] + ], + [ + "add", + 141, + 253, + -1, + 4, + [] + ], + [ + "add", + 141, + 254, + -1, + 2, + [] + ], + [ + "add", + 141, + 255, + 1, + 2, + [] + ], + [ + "add", + 141, + 257, + 1, + 2, + [] + ], + [ + "add", + 141, + 259, + -1, + 4, + [] + ], + [ + "add", + 141, + 260, + -1, + 4, + [] + ], + [ + "add", + 141, + 261, + 1, + 4, + [] + ], + [ + "add", + 141, + 264, + 1, + 4, + [] + ], + [ + "add", + 141, + 265, + -1, + 4, + [] + ], + [ + "add", + 141, + 270, + 1, + 4, + [] + ], + [ + "add", + 141, + 271, + -1, + 4, + [] + ], + [ + "add", + 141, + 278, + -1, + 4, + [] + ], + [ + "add", + 141, + 283, + -1, + 4, + [] + ], + [ + "add", + 141, + 284, + 1, + 4, + [] + ], + [ + "add", + 141, + 286, + -1, + 2, + [] + ], + [ + "add", + 141, + 287, + 1, + 2, + [] + ], + [ + "add", + 141, + 290, + -1, + 4, + [] + ], + [ + "add", + 141, + 292, + 1, + 4, + [] + ], + [ + "add", + 141, + 295, + 1, + 4, + [] + ], + [ + "add", + 141, + 299, + 1, + 2, + [] + ], + [ + "add", + 141, + 301, + -1, + 2, + [] + ], + [ + "add", + 141, + 302, + 1, + 4, + [] + ], + [ + "add", + 141, + 335, + 1, + 1, + [] + ], + [ + "add", + 141, + 367, + 1, + 1, + [] + ], + [ + "add", + 141, + 370, + 1, + 4, + [] + ], + [ + "add", + 141, + 372, + -1, + 4, + [] + ], + [ + "add", + 141, + 375, + 1, + 4, + [] + ], + [ + "add", + 141, + 377, + -1, + 2, + [] + ], + [ + "add", + 141, + 379, + 1, + 2, + [] + ], + [ + "add", + 141, + 382, + -1, + 4, + [] + ], + [ + "add", + 141, + 383, + 1, + 2, + [] + ], + [ + "add", + 141, + 390, + -1, + 4, + [] + ], + [ + "add", + 141, + 392, + 1, + 2, + [] + ], + [ + "add", + 141, + 395, + 1, + 4, + [] + ], + [ + "add", + 141, + 396, + -1, + 4, + [] + ], + [ + "add", + 141, + 399, + 1, + 2, + [] + ], + [ + "add", + 141, + 402, + 1, + 4, + [] + ], + [ + "add", + 141, + 403, + -1, + 4, + [] + ], + [ + "add", + 141, + 404, + 1, + 4, + [] + ], + [ + "add", + 141, + 405, + -1, + 4, + [] + ], + [ + "add", + 141, + 408, + 1, + 4, + [] + ], + [ + "add", + 141, + 409, + -1, + 4, + [] + ], + [ + "add", + 141, + 410, + -1, + 2, + [] + ], + [ + "add", + 141, + 411, + 1, + 2, + [] + ], + [ + "add", + 141, + 414, + -1, + 4, + [] + ], + [ + "add", + 141, + 415, + 1, + 4, + [] + ], + [ + "add", + 141, + 417, + 1, + 4, + [] + ], + [ + "add", + 141, + 418, + 1, + 2, + [] + ], + [ + "add", + 141, + 419, + -1, + 2, + [] + ], + [ + "add", + 141, + 422, + 1, + 4, + [] + ], + [ + "add", + 141, + 423, + -1, + 4, + [] + ], + [ + "add", + 141, + 426, + -1, + 4, + [] + ], + [ + "add", + 141, + 427, + 1, + 4, + [] + ], + [ + "add", + 141, + 428, + -1, + 4, + [] + ], + [ + "add", + 141, + 429, + 1, + 4, + [] + ], + [ + "add", + 141, + 432, + -1, + 1, + [] + ], + [ + "add", + 141, + 433, + 1, + 1, + [] + ], + [ + "add", + 141, + 548, + -1, + 4, + [] + ], + [ + "add", + 141, + 549, + 1, + 4, + [] + ], + [ + "add", + 141, + 558, + -1, + 4, + [] + ], + [ + "add", + 141, + 570, + -1, + 4, + [] + ], + [ + "add", + 148, + 240, + -1, + 2, + [] + ], + [ + "add", + 148, + 243, + -1, + 2, + [] + ], + [ + "add", + 148, + 246, + 1, + 2, + [] + ], + [ + "add", + 148, + 249, + -1, + 2, + [] + ], + [ + "add", + 148, + 250, + -1, + 2, + [] + ], + [ + "add", + 148, + 251, + 1, + 2, + [] + ], + [ + "add", + 148, + 255, + 1, + 2, + [] + ], + [ + "add", + 148, + 272, + -1, + 4, + [] + ], + [ + "add", + 148, + 276, + 1, + 4, + [] + ], + [ + "add", + 148, + 280, + 1, + 4, + [] + ], + [ + "add", + 148, + 286, + 1, + 4, + [] + ], + [ + "add", + 148, + 287, + 1, + 2, + [] + ], + [ + "add", + 148, + 288, + -1, + 4, + [] + ], + [ + "add", + 148, + 292, + 1, + 4, + [] + ], + [ + "add", + 148, + 296, + 1, + 4, + [] + ], + [ + "add", + 148, + 302, + 1, + 4, + [] + ], + [ + "add", + 148, + 303, + 1, + 2, + [] + ], + [ + "add", + 148, + 304, + -1, + 4, + [] + ], + [ + "add", + 148, + 308, + 1, + 4, + [] + ], + [ + "add", + 148, + 312, + 1, + 4, + [] + ], + [ + "add", + 148, + 318, + 1, + 4, + [] + ], + [ + "add", + 148, + 319, + 1, + 2, + [] + ], + [ + "add", + 148, + 320, + -1, + 4, + [] + ], + [ + "add", + 148, + 324, + 1, + 4, + [] + ], + [ + "add", + 148, + 334, + 1, + 4, + [] + ], + [ + "add", + 148, + 335, + 1, + 4, + [] + ], + [ + "add", + 148, + 336, + -1, + 4, + [] + ], + [ + "add", + 148, + 340, + 1, + 4, + [] + ], + [ + "add", + 148, + 350, + 1, + 4, + [] + ], + [ + "add", + 148, + 351, + 1, + 4, + [] + ], + [ + "add", + 148, + 352, + -1, + 4, + [] + ], + [ + "add", + 148, + 356, + 1, + 4, + [] + ], + [ + "add", + 148, + 366, + 1, + 4, + [] + ], + [ + "add", + 148, + 367, + 1, + 4, + [] + ], + [ + "add", + 148, + 368, + -1, + 4, + [] + ], + [ + "add", + 148, + 372, + 1, + 4, + [] + ], + [ + "add", + 148, + 382, + 1, + 4, + [] + ], + [ + "add", + 148, + 383, + 1, + 4, + [] + ], + [ + "add", + 148, + 384, + -1, + 4, + [] + ], + [ + "add", + 148, + 388, + 1, + 4, + [] + ], + [ + "add", + 148, + 398, + 1, + 4, + [] + ], + [ + "add", + 148, + 399, + 1, + 4, + [] + ], + [ + "add", + 148, + 400, + -1, + 2, + [] + ], + [ + "add", + 148, + 402, + 1, + 2, + [] + ], + [ + "add", + 148, + 403, + -1, + 2, + [] + ], + [ + "add", + 148, + 406, + 1, + 2, + [] + ], + [ + "add", + 148, + 409, + -1, + 2, + [] + ], + [ + "add", + 148, + 410, + -1, + 2, + [] + ], + [ + "add", + 148, + 411, + 1, + 2, + [] + ], + [ + "add", + 148, + 415, + 1, + 2, + [] + ], + [ + "add", + 148, + 432, + -1, + 2, + [] + ], + [ + "add", + 148, + 435, + -1, + 2, + [] + ], + [ + "add", + 148, + 437, + -1, + 2, + [] + ], + [ + "add", + 148, + 438, + -1, + 2, + [] + ], + [ + "add", + 148, + 442, + 1, + 2, + [] + ], + [ + "add", + 148, + 443, + -1, + 2, + [] + ], + [ + "add", + 148, + 446, + -1, + 2, + [] + ], + [ + "add", + 148, + 447, + 1, + 2, + [] + ], + [ + "add", + 148, + 530, + -1, + 2, + [] + ], + [ + "add", + 148, + 542, + -1, + 2, + [] + ], + [ + "add", + 133, + 272, + -1, + 4, + [] + ], + [ + "add", + 133, + 276, + 1, + 4, + [] + ], + [ + "add", + 133, + 278, + 1, + 4, + [] + ], + [ + "add", + 133, + 280, + -1, + 4, + [] + ], + [ + "add", + 133, + 283, + -1, + 4, + [] + ], + [ + "add", + 133, + 284, + 1, + 4, + [] + ], + [ + "add", + 133, + 286, + 1, + 4, + [] + ], + [ + "add", + 133, + 288, + -1, + 4, + [] + ], + [ + "add", + 133, + 292, + 1, + 4, + [] + ], + [ + "add", + 133, + 294, + 1, + 4, + [] + ], + [ + "add", + 133, + 296, + -1, + 4, + [] + ], + [ + "add", + 133, + 299, + -1, + 4, + [] + ], + [ + "add", + 133, + 300, + 1, + 4, + [] + ], + [ + "add", + 133, + 302, + 1, + 4, + [] + ], + [ + "add", + 133, + 304, + -1, + 4, + [] + ], + [ + "add", + 133, + 308, + 1, + 4, + [] + ], + [ + "add", + 133, + 310, + 1, + 4, + [] + ], + [ + "add", + 133, + 312, + -1, + 4, + [] + ], + [ + "add", + 133, + 315, + -1, + 4, + [] + ], + [ + "add", + 133, + 316, + 1, + 4, + [] + ], + [ + "add", + 133, + 318, + 1, + 4, + [] + ], + [ + "add", + 133, + 320, + -1, + 4, + [] + ], + [ + "add", + 133, + 324, + 1, + 4, + [] + ], + [ + "add", + 133, + 326, + 1, + 4, + [] + ], + [ + "add", + 133, + 328, + -1, + 2, + [] + ], + [ + "add", + 133, + 331, + -1, + 4, + [] + ], + [ + "add", + 133, + 332, + 1, + 4, + [] + ], + [ + "add", + 133, + 334, + 1, + 4, + [] + ], + [ + "add", + 133, + 335, + -1, + 4, + [] + ], + [ + "add", + 133, + 336, + -1, + 4, + [] + ], + [ + "add", + 133, + 340, + 1, + 4, + [] + ], + [ + "add", + 133, + 342, + 1, + 4, + [] + ], + [ + "add", + 133, + 344, + -1, + 2, + [] + ], + [ + "add", + 133, + 347, + -1, + 4, + [] + ], + [ + "add", + 133, + 348, + 1, + 4, + [] + ], + [ + "add", + 133, + 350, + 1, + 4, + [] + ], + [ + "add", + 133, + 351, + -1, + 4, + [] + ], + [ + "add", + 133, + 352, + -1, + 4, + [] + ], + [ + "add", + 133, + 356, + 1, + 4, + [] + ], + [ + "add", + 133, + 358, + 1, + 4, + [] + ], + [ + "add", + 133, + 360, + -1, + 2, + [] + ], + [ + "add", + 133, + 363, + -1, + 4, + [] + ], + [ + "add", + 133, + 364, + 1, + 4, + [] + ], + [ + "add", + 133, + 366, + 1, + 4, + [] + ], + [ + "add", + 133, + 367, + -1, + 4, + [] + ], + [ + "add", + 133, + 368, + -1, + 4, + [] + ], + [ + "add", + 133, + 372, + 1, + 4, + [] + ], + [ + "add", + 133, + 374, + 1, + 4, + [] + ], + [ + "add", + 133, + 376, + -1, + 2, + [] + ], + [ + "add", + 133, + 379, + -1, + 4, + [] + ], + [ + "add", + 133, + 380, + 1, + 4, + [] + ], + [ + "add", + 133, + 382, + 1, + 4, + [] + ], + [ + "add", + 133, + 383, + -1, + 4, + [] + ], + [ + "add", + 133, + 384, + -1, + 4, + [] + ], + [ + "add", + 133, + 388, + 1, + 4, + [] + ], + [ + "add", + 133, + 390, + 1, + 4, + [] + ], + [ + "add", + 133, + 392, + -1, + 2, + [] + ], + [ + "add", + 133, + 395, + -1, + 4, + [] + ], + [ + "add", + 133, + 396, + 1, + 4, + [] + ], + [ + "add", + 133, + 398, + 1, + 4, + [] + ], + [ + "add", + 133, + 399, + -1, + 4, + [] + ], + [ + "add", + 133, + 530, + -1, + 2, + [] + ], + [ + "add", + 133, + 542, + -1, + 2, + [] + ], + [ + "add", + 159, + 272, + 1, + 4, + [] + ], + [ + "add", + 159, + 274, + -1, + 4, + [] + ], + [ + "add", + 159, + 279, + -1, + 4, + [] + ], + [ + "add", + 159, + 280, + -1, + 4, + [] + ], + [ + "add", + 159, + 281, + 1, + 2, + [] + ], + [ + "add", + 159, + 283, + -1, + 2, + [] + ], + [ + "add", + 159, + 288, + -1, + 4, + [] + ], + [ + "add", + 159, + 290, + 1, + 4, + [] + ], + [ + "add", + 159, + 295, + 1, + 4, + [] + ], + [ + "add", + 159, + 296, + 1, + 4, + [] + ], + [ + "add", + 159, + 297, + -1, + 2, + [] + ], + [ + "add", + 159, + 299, + 1, + 2, + [] + ], + [ + "add", + 159, + 304, + -1, + 4, + [] + ], + [ + "add", + 159, + 306, + 1, + 4, + [] + ], + [ + "add", + 159, + 312, + 1, + 4, + [] + ], + [ + "add", + 159, + 313, + -1, + 2, + [] + ], + [ + "add", + 159, + 315, + 1, + 2, + [] + ], + [ + "add", + 159, + 320, + 1, + 4, + [] + ], + [ + "add", + 159, + 322, + -1, + 4, + [] + ], + [ + "add", + 159, + 329, + 1, + 2, + [] + ], + [ + "add", + 159, + 331, + -1, + 2, + [] + ], + [ + "add", + 159, + 335, + 1, + 4, + [] + ], + [ + "add", + 159, + 336, + -1, + 4, + [] + ], + [ + "add", + 159, + 338, + 1, + 4, + [] + ], + [ + "add", + 159, + 343, + 1, + 4, + [] + ], + [ + "add", + 159, + 345, + -1, + 2, + [] + ], + [ + "add", + 159, + 347, + 1, + 2, + [] + ], + [ + "add", + 159, + 351, + -1, + 4, + [] + ], + [ + "add", + 159, + 352, + 1, + 4, + [] + ], + [ + "add", + 159, + 354, + -1, + 4, + [] + ], + [ + "add", + 159, + 359, + -1, + 4, + [] + ], + [ + "add", + 159, + 361, + 1, + 2, + [] + ], + [ + "add", + 159, + 363, + -1, + 2, + [] + ], + [ + "add", + 159, + 367, + 1, + 4, + [] + ], + [ + "add", + 159, + 368, + 1, + 4, + [] + ], + [ + "add", + 159, + 370, + -1, + 4, + [] + ], + [ + "add", + 159, + 375, + -1, + 4, + [] + ], + [ + "add", + 159, + 377, + 1, + 2, + [] + ], + [ + "add", + 159, + 379, + -1, + 2, + [] + ], + [ + "add", + 159, + 383, + 1, + 4, + [] + ], + [ + "add", + 159, + 384, + -1, + 4, + [] + ], + [ + "add", + 159, + 386, + 1, + 4, + [] + ], + [ + "add", + 159, + 391, + 1, + 4, + [] + ], + [ + "add", + 159, + 393, + -1, + 2, + [] + ], + [ + "add", + 159, + 395, + 1, + 2, + [] + ], + [ + "add", + 159, + 399, + -1, + 4, + [] + ], + [ + "add", + 159, + 499, + 1, + 4, + [] + ], + [ + "add", + 159, + 511, + -1, + 4, + [] + ], + [ + "add", + 159, + 530, + -1, + 2, + [] + ], + [ + "add", + 159, + 542, + 1, + 2, + [] + ], + [ + "add", + 223, + 256, + -1, + 2, + [] + ], + [ + "add", + 223, + 259, + -1, + 2, + [] + ], + [ + "add", + 223, + 262, + 1, + 2, + [] + ], + [ + "add", + 223, + 265, + -1, + 2, + [] + ], + [ + "add", + 223, + 266, + -1, + 2, + [] + ], + [ + "add", + 223, + 267, + 1, + 2, + [] + ], + [ + "add", + 223, + 271, + 1, + 2, + [] + ], + [ + "add", + 223, + 272, + 1, + 4, + [] + ], + [ + "add", + 223, + 276, + -1, + 4, + [] + ], + [ + "add", + 223, + 280, + -1, + 4, + [] + ], + [ + "add", + 223, + 286, + -1, + 4, + [] + ], + [ + "add", + 223, + 287, + 1, + 2, + [] + ], + [ + "add", + 223, + 288, + 1, + 4, + [] + ], + [ + "add", + 223, + 292, + -1, + 4, + [] + ], + [ + "add", + 223, + 296, + -1, + 4, + [] + ], + [ + "add", + 223, + 302, + -1, + 4, + [] + ], + [ + "add", + 223, + 303, + 1, + 2, + [] + ], + [ + "add", + 223, + 304, + 1, + 4, + [] + ], + [ + "add", + 223, + 308, + -1, + 4, + [] + ], + [ + "add", + 223, + 312, + -1, + 4, + [] + ], + [ + "add", + 223, + 318, + -1, + 4, + [] + ], + [ + "add", + 223, + 319, + 1, + 2, + [] + ], + [ + "add", + 223, + 320, + 1, + 4, + [] + ], + [ + "add", + 223, + 324, + -1, + 4, + [] + ], + [ + "add", + 223, + 334, + -1, + 4, + [] + ], + [ + "add", + 223, + 335, + 3, + 4, + [] + ], + [ + "add", + 223, + 336, + 1, + 4, + [] + ], + [ + "add", + 223, + 340, + -1, + 4, + [] + ], + [ + "add", + 223, + 350, + -1, + 4, + [] + ], + [ + "add", + 223, + 351, + 3, + 4, + [] + ], + [ + "add", + 223, + 352, + 1, + 4, + [] + ], + [ + "add", + 223, + 356, + -1, + 4, + [] + ], + [ + "add", + 223, + 366, + -1, + 4, + [] + ], + [ + "add", + 223, + 367, + 3, + 4, + [] + ], + [ + "add", + 223, + 368, + 1, + 4, + [] + ], + [ + "add", + 223, + 372, + -1, + 4, + [] + ], + [ + "add", + 223, + 382, + -1, + 4, + [] + ], + [ + "add", + 223, + 383, + 3, + 4, + [] + ], + [ + "add", + 223, + 384, + 1, + 4, + [] + ], + [ + "add", + 223, + 388, + -1, + 4, + [] + ], + [ + "add", + 223, + 398, + -1, + 4, + [] + ], + [ + "add", + 223, + 399, + 3, + 4, + [] + ], + [ + "add", + 223, + 416, + -1, + 2, + [] + ], + [ + "add", + 223, + 418, + 1, + 2, + [] + ], + [ + "add", + 223, + 419, + -1, + 2, + [] + ], + [ + "add", + 223, + 422, + 1, + 2, + [] + ], + [ + "add", + 223, + 425, + -1, + 2, + [] + ], + [ + "add", + 223, + 426, + -1, + 2, + [] + ], + [ + "add", + 223, + 427, + 1, + 2, + [] + ], + [ + "add", + 223, + 431, + 1, + 2, + [] + ], + [ + "add", + 223, + 432, + -1, + 2, + [] + ], + [ + "add", + 223, + 434, + 1, + 2, + [] + ], + [ + "add", + 223, + 435, + -1, + 2, + [] + ], + [ + "add", + 223, + 438, + 1, + 2, + [] + ], + [ + "add", + 223, + 441, + -1, + 2, + [] + ], + [ + "add", + 223, + 442, + -1, + 2, + [] + ], + [ + "add", + 223, + 443, + 1, + 2, + [] + ], + [ + "add", + 223, + 447, + 1, + 2, + [] + ], + [ + "add", + 223, + 530, + 1, + 2, + [] + ], + [ + "add", + 223, + 542, + 1, + 2, + [] + ], + [ + "add", + 149, + 272, + -1, + 4, + [] + ], + [ + "add", + 149, + 276, + 1, + 4, + [] + ], + [ + "add", + 149, + 278, + 1, + 4, + [] + ], + [ + "add", + 149, + 280, + -1, + 4, + [] + ], + [ + "add", + 149, + 283, + -1, + 4, + [] + ], + [ + "add", + 149, + 284, + 1, + 4, + [] + ], + [ + "add", + 149, + 286, + 1, + 4, + [] + ], + [ + "add", + 149, + 288, + 1, + 4, + [] + ], + [ + "add", + 149, + 292, + -1, + 4, + [] + ], + [ + "add", + 149, + 294, + -1, + 4, + [] + ], + [ + "add", + 149, + 296, + 1, + 4, + [] + ], + [ + "add", + 149, + 299, + 1, + 4, + [] + ], + [ + "add", + 149, + 300, + -1, + 4, + [] + ], + [ + "add", + 149, + 302, + -1, + 4, + [] + ], + [ + "add", + 149, + 304, + -1, + 4, + [] + ], + [ + "add", + 149, + 308, + 1, + 4, + [] + ], + [ + "add", + 149, + 310, + 1, + 4, + [] + ], + [ + "add", + 149, + 312, + -1, + 4, + [] + ], + [ + "add", + 149, + 315, + -1, + 4, + [] + ], + [ + "add", + 149, + 316, + 1, + 4, + [] + ], + [ + "add", + 149, + 318, + 1, + 4, + [] + ], + [ + "add", + 149, + 320, + 1, + 4, + [] + ], + [ + "add", + 149, + 324, + -1, + 4, + [] + ], + [ + "add", + 149, + 326, + -1, + 4, + [] + ], + [ + "add", + 149, + 328, + 1, + 2, + [] + ], + [ + "add", + 149, + 331, + 1, + 4, + [] + ], + [ + "add", + 149, + 332, + -1, + 4, + [] + ], + [ + "add", + 149, + 334, + -1, + 4, + [] + ], + [ + "add", + 149, + 335, + 1, + 4, + [] + ], + [ + "add", + 149, + 336, + -1, + 4, + [] + ], + [ + "add", + 149, + 340, + 1, + 4, + [] + ], + [ + "add", + 149, + 342, + 1, + 4, + [] + ], + [ + "add", + 149, + 344, + -1, + 2, + [] + ], + [ + "add", + 149, + 347, + -1, + 4, + [] + ], + [ + "add", + 149, + 348, + 1, + 4, + [] + ], + [ + "add", + 149, + 350, + 1, + 4, + [] + ], + [ + "add", + 149, + 351, + -1, + 4, + [] + ], + [ + "add", + 149, + 352, + 1, + 4, + [] + ], + [ + "add", + 149, + 356, + -1, + 4, + [] + ], + [ + "add", + 149, + 358, + -1, + 4, + [] + ], + [ + "add", + 149, + 360, + 1, + 2, + [] + ], + [ + "add", + 149, + 363, + 1, + 4, + [] + ], + [ + "add", + 149, + 364, + -1, + 4, + [] + ], + [ + "add", + 149, + 366, + -1, + 4, + [] + ], + [ + "add", + 149, + 367, + 1, + 4, + [] + ], + [ + "add", + 149, + 368, + -1, + 4, + [] + ], + [ + "add", + 149, + 372, + 1, + 4, + [] + ], + [ + "add", + 149, + 374, + 1, + 4, + [] + ], + [ + "add", + 149, + 376, + -1, + 2, + [] + ], + [ + "add", + 149, + 379, + -1, + 4, + [] + ], + [ + "add", + 149, + 380, + 1, + 4, + [] + ], + [ + "add", + 149, + 382, + 1, + 4, + [] + ], + [ + "add", + 149, + 383, + -1, + 4, + [] + ], + [ + "add", + 149, + 384, + 1, + 4, + [] + ], + [ + "add", + 149, + 388, + -1, + 4, + [] + ], + [ + "add", + 149, + 390, + -1, + 4, + [] + ], + [ + "add", + 149, + 392, + 1, + 2, + [] + ], + [ + "add", + 149, + 395, + 1, + 4, + [] + ], + [ + "add", + 149, + 396, + -1, + 4, + [] + ], + [ + "add", + 149, + 398, + -1, + 4, + [] + ], + [ + "add", + 149, + 399, + 1, + 4, + [] + ], + [ + "add", + 149, + 530, + -1, + 2, + [] + ], + [ + "add", + 149, + 542, + 1, + 2, + [] + ], + [ + "add", + 132, + 241, + 1, + 2, + [] + ], + [ + "add", + 132, + 242, + -1, + 2, + [] + ], + [ + "add", + 132, + 243, + -1, + 2, + [] + ], + [ + "add", + 132, + 245, + 1, + 2, + [] + ], + [ + "add", + 132, + 251, + -1, + 2, + [] + ], + [ + "add", + 132, + 253, + 1, + 2, + [] + ], + [ + "add", + 132, + 254, + 1, + 2, + [] + ], + [ + "add", + 132, + 255, + -1, + 2, + [] + ], + [ + "add", + 132, + 272, + -1, + 4, + [] + ], + [ + "add", + 132, + 276, + 1, + 4, + [] + ], + [ + "add", + 132, + 280, + 1, + 4, + [] + ], + [ + "add", + 132, + 286, + 1, + 4, + [] + ], + [ + "add", + 132, + 287, + 1, + 2, + [] + ], + [ + "add", + 132, + 288, + 1, + 4, + [] + ], + [ + "add", + 132, + 292, + -1, + 4, + [] + ], + [ + "add", + 132, + 296, + -1, + 4, + [] + ], + [ + "add", + 132, + 302, + -1, + 4, + [] + ], + [ + "add", + 132, + 303, + -1, + 2, + [] + ], + [ + "add", + 132, + 304, + -1, + 4, + [] + ], + [ + "add", + 132, + 308, + 1, + 4, + [] + ], + [ + "add", + 132, + 312, + 1, + 4, + [] + ], + [ + "add", + 132, + 318, + 1, + 4, + [] + ], + [ + "add", + 132, + 319, + 1, + 2, + [] + ], + [ + "add", + 132, + 320, + 1, + 4, + [] + ], + [ + "add", + 132, + 324, + -1, + 4, + [] + ], + [ + "add", + 132, + 334, + -1, + 4, + [] + ], + [ + "add", + 132, + 335, + -1, + 4, + [] + ], + [ + "add", + 132, + 336, + -1, + 4, + [] + ], + [ + "add", + 132, + 340, + 1, + 4, + [] + ], + [ + "add", + 132, + 350, + 1, + 4, + [] + ], + [ + "add", + 132, + 351, + 1, + 4, + [] + ], + [ + "add", + 132, + 352, + 1, + 4, + [] + ], + [ + "add", + 132, + 356, + -1, + 4, + [] + ], + [ + "add", + 132, + 366, + -1, + 4, + [] + ], + [ + "add", + 132, + 367, + -1, + 4, + [] + ], + [ + "add", + 132, + 368, + -1, + 4, + [] + ], + [ + "add", + 132, + 372, + 1, + 4, + [] + ], + [ + "add", + 132, + 382, + 1, + 4, + [] + ], + [ + "add", + 132, + 383, + 1, + 4, + [] + ], + [ + "add", + 132, + 384, + 1, + 4, + [] + ], + [ + "add", + 132, + 388, + -1, + 4, + [] + ], + [ + "add", + 132, + 398, + -1, + 4, + [] + ], + [ + "add", + 132, + 399, + -1, + 4, + [] + ], + [ + "add", + 132, + 401, + 1, + 2, + [] + ], + [ + "add", + 132, + 403, + -1, + 2, + [] + ], + [ + "add", + 132, + 405, + 1, + 2, + [] + ], + [ + "add", + 132, + 411, + -1, + 2, + [] + ], + [ + "add", + 132, + 413, + 1, + 2, + [] + ], + [ + "add", + 132, + 414, + 1, + 2, + [] + ], + [ + "add", + 132, + 415, + -1, + 2, + [] + ], + [ + "add", + 132, + 432, + 1, + 2, + [] + ], + [ + "add", + 132, + 433, + -1, + 2, + [] + ], + [ + "add", + 132, + 434, + 1, + 2, + [] + ], + [ + "add", + 132, + 435, + -1, + 2, + [] + ], + [ + "add", + 132, + 441, + -1, + 2, + [] + ], + [ + "add", + 132, + 443, + -1, + 2, + [] + ], + [ + "add", + 132, + 445, + -1, + 2, + [] + ], + [ + "add", + 132, + 447, + -1, + 2, + [] + ], + [ + "add", + 132, + 530, + -1, + 2, + [] + ], + [ + "add", + 132, + 542, + 1, + 2, + [] + ], + [ + "add", + 158, + 257, + 1, + 2, + [] + ], + [ + "add", + 158, + 258, + -1, + 2, + [] + ], + [ + "add", + 158, + 259, + -1, + 2, + [] + ], + [ + "add", + 158, + 261, + 1, + 2, + [] + ], + [ + "add", + 158, + 267, + -1, + 2, + [] + ], + [ + "add", + 158, + 269, + 1, + 2, + [] + ], + [ + "add", + 158, + 270, + 1, + 2, + [] + ], + [ + "add", + 158, + 271, + -1, + 2, + [] + ], + [ + "add", + 158, + 272, + 1, + 4, + [] + ], + [ + "add", + 158, + 276, + -1, + 4, + [] + ], + [ + "add", + 158, + 280, + -1, + 4, + [] + ], + [ + "add", + 158, + 286, + -1, + 4, + [] + ], + [ + "add", + 158, + 287, + 1, + 2, + [] + ], + [ + "add", + 158, + 288, + -1, + 4, + [] + ], + [ + "add", + 158, + 292, + 1, + 4, + [] + ], + [ + "add", + 158, + 296, + 1, + 4, + [] + ], + [ + "add", + 158, + 302, + 1, + 4, + [] + ], + [ + "add", + 158, + 303, + -1, + 2, + [] + ], + [ + "add", + 158, + 304, + -1, + 4, + [] + ], + [ + "add", + 158, + 308, + 1, + 4, + [] + ], + [ + "add", + 158, + 312, + 1, + 4, + [] + ], + [ + "add", + 158, + 318, + 1, + 4, + [] + ], + [ + "add", + 158, + 319, + -1, + 2, + [] + ], + [ + "add", + 158, + 320, + 1, + 4, + [] + ], + [ + "add", + 158, + 324, + -1, + 4, + [] + ], + [ + "add", + 158, + 334, + -1, + 4, + [] + ], + [ + "add", + 158, + 335, + 3, + 4, + [] + ], + [ + "add", + 158, + 336, + -1, + 4, + [] + ], + [ + "add", + 158, + 340, + 1, + 4, + [] + ], + [ + "add", + 158, + 350, + 1, + 4, + [] + ], + [ + "add", + 158, + 351, + -3, + 4, + [] + ], + [ + "add", + 158, + 352, + 1, + 4, + [] + ], + [ + "add", + 158, + 356, + -1, + 4, + [] + ], + [ + "add", + 158, + 366, + -1, + 4, + [] + ], + [ + "add", + 158, + 367, + 3, + 4, + [] + ], + [ + "add", + 158, + 368, + 1, + 4, + [] + ], + [ + "add", + 158, + 372, + -1, + 4, + [] + ], + [ + "add", + 158, + 382, + -1, + 4, + [] + ], + [ + "add", + 158, + 383, + 3, + 4, + [] + ], + [ + "add", + 158, + 384, + -1, + 4, + [] + ], + [ + "add", + 158, + 388, + 1, + 4, + [] + ], + [ + "add", + 158, + 398, + 1, + 4, + [] + ], + [ + "add", + 158, + 399, + -3, + 4, + [] + ], + [ + "add", + 158, + 417, + 1, + 2, + [] + ], + [ + "add", + 158, + 419, + -1, + 2, + [] + ], + [ + "add", + 158, + 421, + 1, + 2, + [] + ], + [ + "add", + 158, + 427, + -1, + 2, + [] + ], + [ + "add", + 158, + 429, + 1, + 2, + [] + ], + [ + "add", + 158, + 430, + 1, + 2, + [] + ], + [ + "add", + 158, + 431, + -1, + 2, + [] + ], + [ + "add", + 158, + 432, + -1, + 2, + [] + ], + [ + "add", + 158, + 433, + 1, + 2, + [] + ], + [ + "add", + 158, + 435, + -1, + 2, + [] + ], + [ + "add", + 158, + 437, + 1, + 2, + [] + ], + [ + "add", + 158, + 443, + -1, + 2, + [] + ], + [ + "add", + 158, + 445, + 1, + 2, + [] + ], + [ + "add", + 158, + 446, + 1, + 2, + [] + ], + [ + "add", + 158, + 447, + -1, + 2, + [] + ], + [ + "add", + 158, + 530, + -1, + 2, + [] + ], + [ + "add", + 158, + 542, + 1, + 2, + [] + ], + [ + "add", + 222, + 272, + 1, + 4, + [] + ], + [ + "add", + 222, + 274, + -1, + 4, + [] + ], + [ + "add", + 222, + 279, + -1, + 4, + [] + ], + [ + "add", + 222, + 280, + -1, + 4, + [] + ], + [ + "add", + 222, + 281, + 1, + 2, + [] + ], + [ + "add", + 222, + 283, + -1, + 2, + [] + ], + [ + "add", + 222, + 288, + 1, + 4, + [] + ], + [ + "add", + 222, + 290, + -1, + 4, + [] + ], + [ + "add", + 222, + 295, + -1, + 4, + [] + ], + [ + "add", + 222, + 296, + -1, + 4, + [] + ], + [ + "add", + 222, + 297, + 1, + 2, + [] + ], + [ + "add", + 222, + 299, + -1, + 2, + [] + ], + [ + "add", + 222, + 304, + 1, + 4, + [] + ], + [ + "add", + 222, + 306, + -1, + 4, + [] + ], + [ + "add", + 222, + 312, + -1, + 4, + [] + ], + [ + "add", + 222, + 313, + 1, + 2, + [] + ], + [ + "add", + 222, + 315, + -1, + 2, + [] + ], + [ + "add", + 222, + 320, + 1, + 4, + [] + ], + [ + "add", + 222, + 322, + -1, + 4, + [] + ], + [ + "add", + 222, + 329, + 1, + 2, + [] + ], + [ + "add", + 222, + 331, + -1, + 2, + [] + ], + [ + "add", + 222, + 335, + 1, + 4, + [] + ], + [ + "add", + 222, + 336, + 1, + 4, + [] + ], + [ + "add", + 222, + 338, + -1, + 4, + [] + ], + [ + "add", + 222, + 343, + -1, + 4, + [] + ], + [ + "add", + 222, + 345, + 1, + 2, + [] + ], + [ + "add", + 222, + 347, + -1, + 2, + [] + ], + [ + "add", + 222, + 351, + 1, + 4, + [] + ], + [ + "add", + 222, + 352, + 1, + 4, + [] + ], + [ + "add", + 222, + 354, + -1, + 4, + [] + ], + [ + "add", + 222, + 359, + -1, + 4, + [] + ], + [ + "add", + 222, + 361, + 1, + 2, + [] + ], + [ + "add", + 222, + 363, + -1, + 2, + [] + ], + [ + "add", + 222, + 367, + 1, + 4, + [] + ], + [ + "add", + 222, + 368, + 1, + 4, + [] + ], + [ + "add", + 222, + 370, + -1, + 4, + [] + ], + [ + "add", + 222, + 375, + -1, + 4, + [] + ], + [ + "add", + 222, + 377, + 1, + 2, + [] + ], + [ + "add", + 222, + 379, + -1, + 2, + [] + ], + [ + "add", + 222, + 383, + 1, + 4, + [] + ], + [ + "add", + 222, + 384, + 1, + 4, + [] + ], + [ + "add", + 222, + 386, + -1, + 4, + [] + ], + [ + "add", + 222, + 391, + -1, + 4, + [] + ], + [ + "add", + 222, + 393, + 1, + 2, + [] + ], + [ + "add", + 222, + 395, + -1, + 2, + [] + ], + [ + "add", + 222, + 399, + 1, + 4, + [] + ], + [ + "add", + 222, + 499, + -1, + 4, + [] + ], + [ + "add", + 222, + 511, + -1, + 4, + [] + ], + [ + "add", + 222, + 530, + 1, + 2, + [] + ], + [ + "add", + 222, + 542, + 1, + 2, + [] + ], + [ + "add", + 112, + 224, + -1, + 2, + [] + ], + [ + "add", + 112, + 227, + -1, + 2, + [] + ], + [ + "add", + 112, + 229, + -1, + 2, + [] + ], + [ + "add", + 112, + 230, + -1, + 2, + [] + ], + [ + "add", + 112, + 234, + 1, + 2, + [] + ], + [ + "add", + 112, + 235, + -1, + 2, + [] + ], + [ + "add", + 112, + 238, + -1, + 2, + [] + ], + [ + "add", + 112, + 239, + 1, + 2, + [] + ], + [ + "add", + 112, + 240, + -1, + 2, + [] + ], + [ + "add", + 112, + 242, + -1, + 2, + [] + ], + [ + "add", + 112, + 243, + -1, + 2, + [] + ], + [ + "add", + 112, + 245, + -1, + 2, + [] + ], + [ + "add", + 112, + 246, + -1, + 2, + [] + ], + [ + "add", + 112, + 250, + 1, + 2, + [] + ], + [ + "add", + 112, + 251, + -1, + 2, + [] + ], + [ + "add", + 112, + 254, + -1, + 2, + [] + ], + [ + "add", + 112, + 255, + 1, + 2, + [] + ], + [ + "add", + 112, + 256, + -1, + 2, + [] + ], + [ + "add", + 112, + 258, + -1, + 2, + [] + ], + [ + "add", + 112, + 259, + -1, + 2, + [] + ], + [ + "add", + 112, + 261, + -1, + 2, + [] + ], + [ + "add", + 112, + 262, + -1, + 2, + [] + ], + [ + "add", + 112, + 266, + 1, + 2, + [] + ], + [ + "add", + 112, + 267, + -1, + 2, + [] + ], + [ + "add", + 112, + 270, + -1, + 2, + [] + ], + [ + "add", + 112, + 271, + 1, + 2, + [] + ], + [ + "add", + 112, + 272, + -1, + 4, + [] + ], + [ + "add", + 112, + 276, + -1, + 4, + [] + ], + [ + "add", + 112, + 280, + 1, + 4, + [] + ], + [ + "add", + 112, + 283, + -1, + 2, + [] + ], + [ + "add", + 112, + 286, + -1, + 4, + [] + ], + [ + "add", + 112, + 287, + 1, + 2, + [] + ], + [ + "add", + 112, + 288, + -1, + 4, + [] + ], + [ + "add", + 112, + 292, + -1, + 4, + [] + ], + [ + "add", + 112, + 296, + 1, + 4, + [] + ], + [ + "add", + 112, + 299, + -1, + 2, + [] + ], + [ + "add", + 112, + 302, + -1, + 4, + [] + ], + [ + "add", + 112, + 303, + 1, + 2, + [] + ], + [ + "add", + 112, + 304, + -1, + 4, + [] + ], + [ + "add", + 112, + 308, + -1, + 4, + [] + ], + [ + "add", + 112, + 312, + 1, + 4, + [] + ], + [ + "add", + 112, + 315, + -1, + 2, + [] + ], + [ + "add", + 112, + 318, + -1, + 4, + [] + ], + [ + "add", + 112, + 319, + 1, + 2, + [] + ], + [ + "add", + 112, + 320, + -1, + 4, + [] + ], + [ + "add", + 112, + 324, + -1, + 4, + [] + ], + [ + "add", + 112, + 331, + -1, + 2, + [] + ], + [ + "add", + 112, + 334, + -1, + 4, + [] + ], + [ + "add", + 112, + 335, + 1, + 4, + [] + ], + [ + "add", + 112, + 336, + -1, + 4, + [] + ], + [ + "add", + 112, + 340, + -1, + 4, + [] + ], + [ + "add", + 112, + 347, + -1, + 2, + [] + ], + [ + "add", + 112, + 350, + -1, + 4, + [] + ], + [ + "add", + 112, + 351, + 1, + 4, + [] + ], + [ + "add", + 112, + 352, + -1, + 4, + [] + ], + [ + "add", + 112, + 356, + -1, + 4, + [] + ], + [ + "add", + 112, + 363, + -1, + 2, + [] + ], + [ + "add", + 112, + 366, + -1, + 4, + [] + ], + [ + "add", + 112, + 367, + 1, + 4, + [] + ], + [ + "add", + 112, + 368, + -1, + 4, + [] + ], + [ + "add", + 112, + 372, + -1, + 4, + [] + ], + [ + "add", + 112, + 379, + -1, + 2, + [] + ], + [ + "add", + 112, + 382, + -1, + 4, + [] + ], + [ + "add", + 112, + 383, + 1, + 4, + [] + ], + [ + "add", + 112, + 384, + -1, + 4, + [] + ], + [ + "add", + 112, + 388, + -1, + 4, + [] + ], + [ + "add", + 112, + 395, + -1, + 2, + [] + ], + [ + "add", + 112, + 398, + -1, + 4, + [] + ], + [ + "add", + 112, + 399, + 1, + 4, + [] + ], + [ + "add", + 188, + 272, + -1, + 4, + [] + ], + [ + "add", + 188, + 274, + -1, + 4, + [] + ], + [ + "add", + 188, + 279, + -1, + 4, + [] + ], + [ + "add", + 188, + 280, + 1, + 4, + [] + ], + [ + "add", + 188, + 281, + -1, + 2, + [] + ], + [ + "add", + 188, + 288, + -1, + 4, + [] + ], + [ + "add", + 188, + 290, + -1, + 4, + [] + ], + [ + "add", + 188, + 295, + -1, + 4, + [] + ], + [ + "add", + 188, + 296, + 1, + 4, + [] + ], + [ + "add", + 188, + 297, + -1, + 2, + [] + ], + [ + "add", + 188, + 304, + -1, + 4, + [] + ], + [ + "add", + 188, + 306, + -1, + 4, + [] + ], + [ + "add", + 188, + 312, + 1, + 4, + [] + ], + [ + "add", + 188, + 313, + -1, + 2, + [] + ], + [ + "add", + 188, + 320, + -1, + 4, + [] + ], + [ + "add", + 188, + 322, + -1, + 4, + [] + ], + [ + "add", + 188, + 329, + -1, + 2, + [] + ], + [ + "add", + 188, + 335, + -1, + 4, + [] + ], + [ + "add", + 188, + 336, + -1, + 4, + [] + ], + [ + "add", + 188, + 338, + -1, + 4, + [] + ], + [ + "add", + 188, + 343, + -1, + 4, + [] + ], + [ + "add", + 188, + 345, + -1, + 2, + [] + ], + [ + "add", + 188, + 351, + -1, + 4, + [] + ], + [ + "add", + 188, + 352, + -1, + 4, + [] + ], + [ + "add", + 188, + 354, + -1, + 4, + [] + ], + [ + "add", + 188, + 359, + -1, + 4, + [] + ], + [ + "add", + 188, + 361, + -1, + 2, + [] + ], + [ + "add", + 188, + 367, + -1, + 4, + [] + ], + [ + "add", + 188, + 368, + -1, + 4, + [] + ], + [ + "add", + 188, + 370, + -1, + 4, + [] + ], + [ + "add", + 188, + 375, + -1, + 4, + [] + ], + [ + "add", + 188, + 377, + -1, + 2, + [] + ], + [ + "add", + 188, + 383, + -1, + 4, + [] + ], + [ + "add", + 188, + 384, + -1, + 4, + [] + ], + [ + "add", + 188, + 386, + -1, + 4, + [] + ], + [ + "add", + 188, + 391, + -1, + 4, + [] + ], + [ + "add", + 188, + 393, + -1, + 2, + [] + ], + [ + "add", + 188, + 399, + -1, + 4, + [] + ], + [ + "add", + 188, + 499, + -1, + 4, + [] + ], + [ + "add", + 188, + 511, + -1, + 4, + [] + ], + [ + "add", + 199, + 272, + -1, + 4, + [] + ], + [ + "add", + 199, + 276, + -1, + 4, + [] + ], + [ + "add", + 199, + 278, + -1, + 4, + [] + ], + [ + "add", + 199, + 280, + 1, + 4, + [] + ], + [ + "add", + 199, + 283, + 1, + 4, + [] + ], + [ + "add", + 199, + 284, + 1, + 4, + [] + ], + [ + "add", + 199, + 286, + 1, + 4, + [] + ], + [ + "add", + 199, + 288, + -1, + 4, + [] + ], + [ + "add", + 199, + 292, + -1, + 4, + [] + ], + [ + "add", + 199, + 294, + -1, + 4, + [] + ], + [ + "add", + 199, + 296, + 1, + 4, + [] + ], + [ + "add", + 199, + 299, + 1, + 4, + [] + ], + [ + "add", + 199, + 300, + 1, + 4, + [] + ], + [ + "add", + 199, + 302, + 1, + 4, + [] + ], + [ + "add", + 199, + 304, + 1, + 4, + [] + ], + [ + "add", + 199, + 308, + 1, + 4, + [] + ], + [ + "add", + 199, + 310, + 1, + 4, + [] + ], + [ + "add", + 199, + 312, + -1, + 4, + [] + ], + [ + "add", + 199, + 315, + -1, + 4, + [] + ], + [ + "add", + 199, + 316, + -1, + 4, + [] + ], + [ + "add", + 199, + 318, + -1, + 4, + [] + ], + [ + "add", + 199, + 320, + 1, + 4, + [] + ], + [ + "add", + 199, + 324, + 1, + 4, + [] + ], + [ + "add", + 199, + 326, + 1, + 4, + [] + ], + [ + "add", + 199, + 331, + -1, + 4, + [] + ], + [ + "add", + 199, + 332, + -1, + 4, + [] + ], + [ + "add", + 199, + 334, + -1, + 4, + [] + ], + [ + "add", + 199, + 335, + 1, + 4, + [] + ], + [ + "add", + 199, + 336, + -1, + 4, + [] + ], + [ + "add", + 199, + 340, + -1, + 4, + [] + ], + [ + "add", + 199, + 342, + -1, + 4, + [] + ], + [ + "add", + 199, + 347, + 1, + 4, + [] + ], + [ + "add", + 199, + 348, + 1, + 4, + [] + ], + [ + "add", + 199, + 350, + 1, + 4, + [] + ], + [ + "add", + 199, + 351, + -1, + 4, + [] + ], + [ + "add", + 199, + 352, + -1, + 4, + [] + ], + [ + "add", + 199, + 356, + -1, + 4, + [] + ], + [ + "add", + 199, + 358, + -1, + 4, + [] + ], + [ + "add", + 199, + 363, + 1, + 4, + [] + ], + [ + "add", + 199, + 364, + 1, + 4, + [] + ], + [ + "add", + 199, + 366, + 1, + 4, + [] + ], + [ + "add", + 199, + 367, + -1, + 4, + [] + ], + [ + "add", + 199, + 368, + 1, + 4, + [] + ], + [ + "add", + 199, + 372, + 1, + 4, + [] + ], + [ + "add", + 199, + 374, + 1, + 4, + [] + ], + [ + "add", + 199, + 379, + -1, + 4, + [] + ], + [ + "add", + 199, + 380, + -1, + 4, + [] + ], + [ + "add", + 199, + 382, + -1, + 4, + [] + ], + [ + "add", + 199, + 383, + 1, + 4, + [] + ], + [ + "add", + 199, + 384, + 1, + 4, + [] + ], + [ + "add", + 199, + 388, + 1, + 4, + [] + ], + [ + "add", + 199, + 390, + 1, + 4, + [] + ], + [ + "add", + 199, + 395, + -1, + 4, + [] + ], + [ + "add", + 199, + 396, + -1, + 4, + [] + ], + [ + "add", + 199, + 398, + -1, + 4, + [] + ], + [ + "add", + 199, + 399, + 1, + 4, + [] + ], + [ + "add", + 199, + 480, + 1, + 2, + [] + ], + [ + "add", + 199, + 481, + 1, + 2, + [] + ], + [ + "add", + 199, + 492, + 1, + 2, + [] + ], + [ + "add", + 199, + 493, + 1, + 2, + [] + ], + [ + "add", + 199, + 504, + -1, + 2, + [] + ], + [ + "add", + 199, + 505, + -1, + 2, + [] + ], + [ + "add", + 199, + 516, + -1, + 2, + [] + ], + [ + "add", + 199, + 517, + -1, + 2, + [] + ], + [ + "add", + 139, + 224, + -1, + 2, + [] + ], + [ + "add", + 139, + 226, + 1, + 2, + [] + ], + [ + "add", + 139, + 227, + -1, + 2, + [] + ], + [ + "add", + 139, + 230, + 1, + 2, + [] + ], + [ + "add", + 139, + 233, + -1, + 2, + [] + ], + [ + "add", + 139, + 234, + -1, + 2, + [] + ], + [ + "add", + 139, + 235, + 1, + 2, + [] + ], + [ + "add", + 139, + 239, + 1, + 2, + [] + ], + [ + "add", + 139, + 272, + -1, + 4, + [] + ], + [ + "add", + 139, + 276, + -1, + 4, + [] + ], + [ + "add", + 139, + 280, + 1, + 4, + [] + ], + [ + "add", + 139, + 283, + 1, + 2, + [] + ], + [ + "add", + 139, + 286, + -1, + 4, + [] + ], + [ + "add", + 139, + 287, + 1, + 2, + [] + ], + [ + "add", + 139, + 288, + -1, + 4, + [] + ], + [ + "add", + 139, + 292, + -1, + 4, + [] + ], + [ + "add", + 139, + 296, + 1, + 4, + [] + ], + [ + "add", + 139, + 299, + 1, + 2, + [] + ], + [ + "add", + 139, + 302, + -1, + 4, + [] + ], + [ + "add", + 139, + 303, + 1, + 2, + [] + ], + [ + "add", + 139, + 304, + -1, + 4, + [] + ], + [ + "add", + 139, + 308, + -1, + 4, + [] + ], + [ + "add", + 139, + 312, + 1, + 4, + [] + ], + [ + "add", + 139, + 315, + 1, + 2, + [] + ], + [ + "add", + 139, + 318, + -1, + 4, + [] + ], + [ + "add", + 139, + 319, + 1, + 2, + [] + ], + [ + "add", + 139, + 320, + -1, + 4, + [] + ], + [ + "add", + 139, + 324, + -1, + 4, + [] + ], + [ + "add", + 139, + 331, + 1, + 2, + [] + ], + [ + "add", + 139, + 334, + -1, + 4, + [] + ], + [ + "add", + 139, + 335, + 1, + 4, + [] + ], + [ + "add", + 139, + 336, + -1, + 4, + [] + ], + [ + "add", + 139, + 340, + -1, + 4, + [] + ], + [ + "add", + 139, + 347, + 1, + 2, + [] + ], + [ + "add", + 139, + 350, + -1, + 4, + [] + ], + [ + "add", + 139, + 351, + 1, + 4, + [] + ], + [ + "add", + 139, + 352, + -1, + 4, + [] + ], + [ + "add", + 139, + 356, + -1, + 4, + [] + ], + [ + "add", + 139, + 363, + 1, + 2, + [] + ], + [ + "add", + 139, + 366, + -1, + 4, + [] + ], + [ + "add", + 139, + 367, + 1, + 4, + [] + ], + [ + "add", + 139, + 368, + -1, + 4, + [] + ], + [ + "add", + 139, + 372, + -1, + 4, + [] + ], + [ + "add", + 139, + 379, + 1, + 2, + [] + ], + [ + "add", + 139, + 382, + -1, + 4, + [] + ], + [ + "add", + 139, + 383, + 1, + 4, + [] + ], + [ + "add", + 139, + 384, + -1, + 4, + [] + ], + [ + "add", + 139, + 388, + -1, + 4, + [] + ], + [ + "add", + 139, + 395, + 1, + 2, + [] + ], + [ + "add", + 139, + 398, + -1, + 4, + [] + ], + [ + "add", + 139, + 399, + 1, + 4, + [] + ], + [ + "add", + 139, + 400, + -1, + 2, + [] + ], + [ + "add", + 139, + 403, + -1, + 2, + [] + ], + [ + "add", + 139, + 405, + -1, + 2, + [] + ], + [ + "add", + 139, + 406, + -1, + 2, + [] + ], + [ + "add", + 139, + 410, + 1, + 2, + [] + ], + [ + "add", + 139, + 411, + -1, + 2, + [] + ], + [ + "add", + 139, + 414, + -1, + 2, + [] + ], + [ + "add", + 139, + 415, + 1, + 2, + [] + ], + [ + "add", + 139, + 416, + -1, + 2, + [] + ], + [ + "add", + 139, + 419, + -1, + 2, + [] + ], + [ + "add", + 139, + 421, + -1, + 2, + [] + ], + [ + "add", + 139, + 422, + -1, + 2, + [] + ], + [ + "add", + 139, + 426, + 1, + 2, + [] + ], + [ + "add", + 139, + 427, + -1, + 2, + [] + ], + [ + "add", + 139, + 430, + -1, + 2, + [] + ], + [ + "add", + 139, + 431, + 1, + 2, + [] + ], + [ + "add", + 204, + 272, + -1, + 4, + [] + ], + [ + "add", + 204, + 274, + -1, + 4, + [] + ], + [ + "add", + 204, + 279, + -1, + 4, + [] + ], + [ + "add", + 204, + 280, + 1, + 4, + [] + ], + [ + "add", + 204, + 281, + -1, + 2, + [] + ], + [ + "add", + 204, + 288, + -1, + 4, + [] + ], + [ + "add", + 204, + 290, + -1, + 4, + [] + ], + [ + "add", + 204, + 295, + -1, + 4, + [] + ], + [ + "add", + 204, + 296, + 1, + 4, + [] + ], + [ + "add", + 204, + 297, + -1, + 2, + [] + ], + [ + "add", + 204, + 304, + -1, + 4, + [] + ], + [ + "add", + 204, + 306, + -1, + 4, + [] + ], + [ + "add", + 204, + 312, + 1, + 4, + [] + ], + [ + "add", + 204, + 313, + -1, + 2, + [] + ], + [ + "add", + 204, + 320, + -1, + 4, + [] + ], + [ + "add", + 204, + 322, + -1, + 4, + [] + ], + [ + "add", + 204, + 329, + -1, + 2, + [] + ], + [ + "add", + 204, + 335, + -1, + 4, + [] + ], + [ + "add", + 204, + 336, + 1, + 4, + [] + ], + [ + "add", + 204, + 338, + 1, + 4, + [] + ], + [ + "add", + 204, + 343, + 1, + 4, + [] + ], + [ + "add", + 204, + 345, + 1, + 2, + [] + ], + [ + "add", + 204, + 351, + 1, + 4, + [] + ], + [ + "add", + 204, + 352, + 1, + 4, + [] + ], + [ + "add", + 204, + 354, + 1, + 4, + [] + ], + [ + "add", + 204, + 359, + 1, + 4, + [] + ], + [ + "add", + 204, + 361, + 1, + 2, + [] + ], + [ + "add", + 204, + 367, + 1, + 4, + [] + ], + [ + "add", + 204, + 368, + 1, + 4, + [] + ], + [ + "add", + 204, + 370, + 1, + 4, + [] + ], + [ + "add", + 204, + 375, + 1, + 4, + [] + ], + [ + "add", + 204, + 377, + 1, + 2, + [] + ], + [ + "add", + 204, + 383, + 1, + 4, + [] + ], + [ + "add", + 204, + 384, + 1, + 4, + [] + ], + [ + "add", + 204, + 386, + 1, + 4, + [] + ], + [ + "add", + 204, + 391, + 1, + 4, + [] + ], + [ + "add", + 204, + 393, + 1, + 2, + [] + ], + [ + "add", + 204, + 399, + 1, + 4, + [] + ], + [ + "add", + 204, + 499, + -1, + 4, + [] + ], + [ + "add", + 204, + 511, + -1, + 4, + [] + ], + [ + "add", + 169, + 224, + 1, + 2, + [] + ], + [ + "add", + 169, + 225, + -1, + 2, + [] + ], + [ + "add", + 169, + 226, + 1, + 2, + [] + ], + [ + "add", + 169, + 227, + -1, + 2, + [] + ], + [ + "add", + 169, + 233, + -1, + 2, + [] + ], + [ + "add", + 169, + 235, + -1, + 2, + [] + ], + [ + "add", + 169, + 237, + -1, + 2, + [] + ], + [ + "add", + 169, + 239, + -1, + 2, + [] + ], + [ + "add", + 169, + 241, + -1, + 2, + [] + ], + [ + "add", + 169, + 243, + -1, + 2, + [] + ], + [ + "add", + 169, + 249, + -1, + 2, + [] + ], + [ + "add", + 169, + 251, + -1, + 2, + [] + ], + [ + "add", + 169, + 253, + -1, + 2, + [] + ], + [ + "add", + 169, + 255, + -1, + 2, + [] + ], + [ + "add", + 169, + 257, + -1, + 2, + [] + ], + [ + "add", + 169, + 259, + -1, + 2, + [] + ], + [ + "add", + 169, + 265, + -1, + 2, + [] + ], + [ + "add", + 169, + 267, + -1, + 2, + [] + ], + [ + "add", + 169, + 269, + -1, + 2, + [] + ], + [ + "add", + 169, + 271, + -1, + 2, + [] + ], + [ + "add", + 169, + 272, + -1, + 4, + [] + ], + [ + "add", + 169, + 276, + -1, + 4, + [] + ], + [ + "add", + 169, + 280, + 1, + 4, + [] + ], + [ + "add", + 169, + 283, + -1, + 2, + [] + ], + [ + "add", + 169, + 286, + -1, + 4, + [] + ], + [ + "add", + 169, + 287, + 1, + 2, + [] + ], + [ + "add", + 169, + 288, + -1, + 4, + [] + ], + [ + "add", + 169, + 292, + -1, + 4, + [] + ], + [ + "add", + 169, + 296, + 1, + 4, + [] + ], + [ + "add", + 169, + 299, + -1, + 2, + [] + ], + [ + "add", + 169, + 302, + -1, + 4, + [] + ], + [ + "add", + 169, + 303, + 1, + 2, + [] + ], + [ + "add", + 169, + 304, + -1, + 4, + [] + ], + [ + "add", + 169, + 308, + -1, + 4, + [] + ], + [ + "add", + 169, + 312, + 1, + 4, + [] + ], + [ + "add", + 169, + 315, + -1, + 2, + [] + ], + [ + "add", + 169, + 318, + -1, + 4, + [] + ], + [ + "add", + 169, + 319, + 1, + 2, + [] + ], + [ + "add", + 169, + 320, + -1, + 4, + [] + ], + [ + "add", + 169, + 324, + -1, + 4, + [] + ], + [ + "add", + 169, + 331, + -1, + 2, + [] + ], + [ + "add", + 169, + 334, + -1, + 4, + [] + ], + [ + "add", + 169, + 335, + 1, + 4, + [] + ], + [ + "add", + 169, + 336, + 1, + 4, + [] + ], + [ + "add", + 169, + 340, + 1, + 4, + [] + ], + [ + "add", + 169, + 347, + 1, + 2, + [] + ], + [ + "add", + 169, + 350, + 1, + 4, + [] + ], + [ + "add", + 169, + 351, + -1, + 4, + [] + ], + [ + "add", + 169, + 352, + 1, + 4, + [] + ], + [ + "add", + 169, + 356, + 1, + 4, + [] + ], + [ + "add", + 169, + 363, + 1, + 2, + [] + ], + [ + "add", + 169, + 366, + 1, + 4, + [] + ], + [ + "add", + 169, + 367, + -1, + 4, + [] + ], + [ + "add", + 169, + 368, + 1, + 4, + [] + ], + [ + "add", + 169, + 372, + 1, + 4, + [] + ], + [ + "add", + 169, + 379, + 1, + 2, + [] + ], + [ + "add", + 169, + 382, + 1, + 4, + [] + ], + [ + "add", + 169, + 383, + -1, + 4, + [] + ], + [ + "add", + 169, + 384, + 1, + 4, + [] + ], + [ + "add", + 169, + 388, + 1, + 4, + [] + ], + [ + "add", + 169, + 395, + 1, + 2, + [] + ], + [ + "add", + 169, + 398, + 1, + 4, + [] + ], + [ + "add", + 169, + 399, + -1, + 4, + [] + ], + [ + "add", + 119, + 224, + -1, + 2, + [] + ], + [ + "add", + 119, + 225, + 1, + 2, + [] + ], + [ + "add", + 119, + 227, + -1, + 2, + [] + ], + [ + "add", + 119, + 229, + 1, + 2, + [] + ], + [ + "add", + 119, + 235, + -1, + 2, + [] + ], + [ + "add", + 119, + 237, + 1, + 2, + [] + ], + [ + "add", + 119, + 238, + 1, + 2, + [] + ], + [ + "add", + 119, + 239, + -1, + 2, + [] + ], + [ + "add", + 119, + 272, + -1, + 4, + [] + ], + [ + "add", + 119, + 276, + -1, + 4, + [] + ], + [ + "add", + 119, + 280, + 1, + 4, + [] + ], + [ + "add", + 119, + 283, + 1, + 2, + [] + ], + [ + "add", + 119, + 286, + -1, + 4, + [] + ], + [ + "add", + 119, + 287, + 1, + 2, + [] + ], + [ + "add", + 119, + 288, + -1, + 4, + [] + ], + [ + "add", + 119, + 292, + -1, + 4, + [] + ], + [ + "add", + 119, + 296, + 1, + 4, + [] + ], + [ + "add", + 119, + 299, + 1, + 2, + [] + ], + [ + "add", + 119, + 302, + -1, + 4, + [] + ], + [ + "add", + 119, + 303, + 1, + 2, + [] + ], + [ + "add", + 119, + 304, + 1, + 4, + [] + ], + [ + "add", + 119, + 308, + 1, + 4, + [] + ], + [ + "add", + 119, + 312, + -1, + 4, + [] + ], + [ + "add", + 119, + 315, + -1, + 2, + [] + ], + [ + "add", + 119, + 318, + 1, + 4, + [] + ], + [ + "add", + 119, + 319, + -1, + 2, + [] + ], + [ + "add", + 119, + 320, + 1, + 4, + [] + ], + [ + "add", + 119, + 324, + 1, + 4, + [] + ], + [ + "add", + 119, + 331, + -1, + 2, + [] + ], + [ + "add", + 119, + 334, + 1, + 4, + [] + ], + [ + "add", + 119, + 335, + -1, + 4, + [] + ], + [ + "add", + 119, + 336, + -1, + 4, + [] + ], + [ + "add", + 119, + 340, + -1, + 4, + [] + ], + [ + "add", + 119, + 347, + 1, + 2, + [] + ], + [ + "add", + 119, + 350, + -1, + 4, + [] + ], + [ + "add", + 119, + 351, + 1, + 4, + [] + ], + [ + "add", + 119, + 352, + -1, + 4, + [] + ], + [ + "add", + 119, + 356, + -1, + 4, + [] + ], + [ + "add", + 119, + 363, + 1, + 2, + [] + ], + [ + "add", + 119, + 366, + -1, + 4, + [] + ], + [ + "add", + 119, + 367, + 1, + 4, + [] + ], + [ + "add", + 119, + 368, + 1, + 4, + [] + ], + [ + "add", + 119, + 372, + 1, + 4, + [] + ], + [ + "add", + 119, + 379, + -1, + 2, + [] + ], + [ + "add", + 119, + 382, + 1, + 4, + [] + ], + [ + "add", + 119, + 383, + -1, + 4, + [] + ], + [ + "add", + 119, + 384, + 1, + 4, + [] + ], + [ + "add", + 119, + 388, + 1, + 4, + [] + ], + [ + "add", + 119, + 395, + -1, + 2, + [] + ], + [ + "add", + 119, + 398, + 1, + 4, + [] + ], + [ + "add", + 119, + 399, + -1, + 4, + [] + ], + [ + "add", + 119, + 401, + -1, + 2, + [] + ], + [ + "add", + 119, + 402, + 1, + 2, + [] + ], + [ + "add", + 119, + 403, + -1, + 2, + [] + ], + [ + "add", + 119, + 409, + -1, + 2, + [] + ], + [ + "add", + 119, + 411, + -1, + 2, + [] + ], + [ + "add", + 119, + 413, + -1, + 2, + [] + ], + [ + "add", + 119, + 415, + -1, + 2, + [] + ], + [ + "add", + 119, + 417, + -1, + 2, + [] + ], + [ + "add", + 119, + 418, + 1, + 2, + [] + ], + [ + "add", + 119, + 419, + -1, + 2, + [] + ], + [ + "add", + 119, + 425, + -1, + 2, + [] + ], + [ + "add", + 119, + 427, + -1, + 2, + [] + ], + [ + "add", + 119, + 429, + -1, + 2, + [] + ], + [ + "add", + 119, + 431, + -1, + 2, + [] + ], + [ + "add", + 193, + 272, + -1, + 4, + [] + ], + [ + "add", + 193, + 276, + -1, + 4, + [] + ], + [ + "add", + 193, + 278, + -1, + 4, + [] + ], + [ + "add", + 193, + 280, + 1, + 4, + [] + ], + [ + "add", + 193, + 283, + 1, + 4, + [] + ], + [ + "add", + 193, + 284, + 1, + 4, + [] + ], + [ + "add", + 193, + 286, + 1, + 4, + [] + ], + [ + "add", + 193, + 288, + -1, + 4, + [] + ], + [ + "add", + 193, + 292, + -1, + 4, + [] + ], + [ + "add", + 193, + 294, + -1, + 4, + [] + ], + [ + "add", + 193, + 296, + 1, + 4, + [] + ], + [ + "add", + 193, + 299, + 1, + 4, + [] + ], + [ + "add", + 193, + 300, + 1, + 4, + [] + ], + [ + "add", + 193, + 302, + 1, + 4, + [] + ], + [ + "add", + 193, + 304, + -1, + 4, + [] + ], + [ + "add", + 193, + 308, + -1, + 4, + [] + ], + [ + "add", + 193, + 310, + -1, + 4, + [] + ], + [ + "add", + 193, + 312, + 1, + 4, + [] + ], + [ + "add", + 193, + 315, + 1, + 4, + [] + ], + [ + "add", + 193, + 316, + 1, + 4, + [] + ], + [ + "add", + 193, + 318, + 1, + 4, + [] + ], + [ + "add", + 193, + 320, + -1, + 4, + [] + ], + [ + "add", + 193, + 324, + -1, + 4, + [] + ], + [ + "add", + 193, + 326, + -1, + 4, + [] + ], + [ + "add", + 193, + 331, + 1, + 4, + [] + ], + [ + "add", + 193, + 332, + 1, + 4, + [] + ], + [ + "add", + 193, + 334, + 1, + 4, + [] + ], + [ + "add", + 193, + 335, + -1, + 4, + [] + ], + [ + "add", + 193, + 336, + -1, + 4, + [] + ], + [ + "add", + 193, + 340, + -1, + 4, + [] + ], + [ + "add", + 193, + 342, + -1, + 4, + [] + ], + [ + "add", + 193, + 347, + 1, + 4, + [] + ], + [ + "add", + 193, + 348, + 1, + 4, + [] + ], + [ + "add", + 193, + 350, + 1, + 4, + [] + ], + [ + "add", + 193, + 351, + -1, + 4, + [] + ], + [ + "add", + 193, + 352, + -1, + 4, + [] + ], + [ + "add", + 193, + 356, + -1, + 4, + [] + ], + [ + "add", + 193, + 358, + -1, + 4, + [] + ], + [ + "add", + 193, + 363, + 1, + 4, + [] + ], + [ + "add", + 193, + 364, + 1, + 4, + [] + ], + [ + "add", + 193, + 366, + 1, + 4, + [] + ], + [ + "add", + 193, + 367, + -1, + 4, + [] + ], + [ + "add", + 193, + 368, + -1, + 4, + [] + ], + [ + "add", + 193, + 372, + -1, + 4, + [] + ], + [ + "add", + 193, + 374, + -1, + 4, + [] + ], + [ + "add", + 193, + 379, + 1, + 4, + [] + ], + [ + "add", + 193, + 380, + 1, + 4, + [] + ], + [ + "add", + 193, + 382, + 1, + 4, + [] + ], + [ + "add", + 193, + 383, + -1, + 4, + [] + ], + [ + "add", + 193, + 384, + -1, + 4, + [] + ], + [ + "add", + 193, + 388, + -1, + 4, + [] + ], + [ + "add", + 193, + 390, + -1, + 4, + [] + ], + [ + "add", + 193, + 395, + 1, + 4, + [] + ], + [ + "add", + 193, + 396, + 1, + 4, + [] + ], + [ + "add", + 193, + 398, + 1, + 4, + [] + ], + [ + "add", + 193, + 399, + -1, + 4, + [] + ], + [ + "add", + 193, + 480, + 1, + 2, + [] + ], + [ + "add", + 193, + 481, + 1, + 2, + [] + ], + [ + "add", + 193, + 492, + 1, + 2, + [] + ], + [ + "add", + 193, + 493, + 1, + 2, + [] + ], + [ + "add", + 193, + 504, + 1, + 2, + [] + ], + [ + "add", + 193, + 505, + 1, + 2, + [] + ], + [ + "add", + 193, + 516, + 1, + 2, + [] + ], + [ + "add", + 193, + 517, + 1, + 2, + [] + ], + [ + "add", + 210, + 226, + 1, + 2, + [] + ], + [ + "add", + 210, + 227, + -1, + 2, + [] + ], + [ + "add", + 210, + 228, + 1, + 2, + [] + ], + [ + "add", + 210, + 229, + -1, + 2, + [] + ], + [ + "add", + 210, + 232, + 1, + 2, + [] + ], + [ + "add", + 210, + 233, + -1, + 2, + [] + ], + [ + "add", + 210, + 238, + -1, + 2, + [] + ], + [ + "add", + 210, + 239, + 1, + 2, + [] + ], + [ + "add", + 210, + 241, + -1, + 4, + [] + ], + [ + "add", + 210, + 243, + -1, + 2, + [] + ], + [ + "add", + 210, + 246, + -1, + 4, + [] + ], + [ + "add", + 210, + 247, + 1, + 4, + [] + ], + [ + "add", + 210, + 250, + 1, + 4, + [] + ], + [ + "add", + 210, + 251, + -1, + 4, + [] + ], + [ + "add", + 210, + 252, + 1, + 4, + [] + ], + [ + "add", + 210, + 253, + -1, + 4, + [] + ], + [ + "add", + 210, + 259, + -1, + 4, + [] + ], + [ + "add", + 210, + 260, + 1, + 4, + [] + ], + [ + "add", + 210, + 261, + -1, + 4, + [] + ], + [ + "add", + 210, + 264, + 1, + 4, + [] + ], + [ + "add", + 210, + 265, + -1, + 4, + [] + ], + [ + "add", + 210, + 266, + 1, + 2, + [] + ], + [ + "add", + 210, + 267, + -1, + 2, + [] + ], + [ + "add", + 210, + 270, + -1, + 4, + [] + ], + [ + "add", + 210, + 271, + 1, + 4, + [] + ], + [ + "add", + 210, + 278, + 1, + 4, + [] + ], + [ + "add", + 210, + 280, + 1, + 2, + [] + ], + [ + "add", + 210, + 283, + -1, + 4, + [] + ], + [ + "add", + 210, + 284, + 1, + 4, + [] + ], + [ + "add", + 210, + 287, + 1, + 2, + [] + ], + [ + "add", + 210, + 290, + 1, + 4, + [] + ], + [ + "add", + 210, + 292, + -1, + 4, + [] + ], + [ + "add", + 210, + 295, + 1, + 4, + [] + ], + [ + "add", + 210, + 297, + 1, + 2, + [] + ], + [ + "add", + 210, + 299, + -1, + 2, + [] + ], + [ + "add", + 210, + 302, + -1, + 4, + [] + ], + [ + "add", + 210, + 303, + 1, + 2, + [] + ], + [ + "add", + 210, + 304, + -1, + 2, + [] + ], + [ + "add", + 210, + 308, + -1, + 2, + [] + ], + [ + "add", + 210, + 312, + 1, + 2, + [] + ], + [ + "add", + 210, + 318, + -1, + 2, + [] + ], + [ + "add", + 210, + 319, + 1, + 1, + [] + ], + [ + "add", + 210, + 320, + -1, + 2, + [] + ], + [ + "add", + 210, + 324, + -1, + 2, + [] + ], + [ + "add", + 210, + 334, + -1, + 2, + [] + ], + [ + "add", + 210, + 335, + 1, + 2, + [] + ], + [ + "add", + 210, + 370, + 1, + 4, + [] + ], + [ + "add", + 210, + 372, + -1, + 4, + [] + ], + [ + "add", + 210, + 375, + -1, + 4, + [] + ], + [ + "add", + 210, + 379, + 1, + 2, + [] + ], + [ + "add", + 210, + 381, + -1, + 2, + [] + ], + [ + "add", + 210, + 382, + -1, + 4, + [] + ], + [ + "add", + 210, + 390, + 1, + 4, + [] + ], + [ + "add", + 210, + 395, + 1, + 4, + [] + ], + [ + "add", + 210, + 396, + -1, + 4, + [] + ], + [ + "add", + 210, + 398, + -1, + 2, + [] + ], + [ + "add", + 210, + 399, + 1, + 2, + [] + ], + [ + "add", + 210, + 401, + 1, + 2, + [] + ], + [ + "add", + 210, + 402, + -1, + 4, + [] + ], + [ + "add", + 210, + 403, + 1, + 4, + [] + ], + [ + "add", + 210, + 404, + 1, + 4, + [] + ], + [ + "add", + 210, + 405, + -1, + 4, + [] + ], + [ + "add", + 210, + 408, + -1, + 4, + [] + ], + [ + "add", + 210, + 409, + 1, + 4, + [] + ], + [ + "add", + 210, + 414, + -1, + 4, + [] + ], + [ + "add", + 210, + 415, + 1, + 4, + [] + ], + [ + "add", + 210, + 417, + 1, + 4, + [] + ], + [ + "add", + 210, + 422, + -1, + 4, + [] + ], + [ + "add", + 210, + 423, + 1, + 4, + [] + ], + [ + "add", + 210, + 426, + 1, + 4, + [] + ], + [ + "add", + 210, + 427, + -1, + 4, + [] + ], + [ + "add", + 210, + 428, + -1, + 4, + [] + ], + [ + "add", + 210, + 429, + 1, + 4, + [] + ], + [ + "add", + 210, + 430, + -1, + 2, + [] + ], + [ + "add", + 210, + 431, + 1, + 2, + [] + ], + [ + "add", + 210, + 456, + 1, + 4, + [] + ], + [ + "add", + 210, + 457, + 1, + 4, + [] + ], + [ + "add", + 210, + 466, + 1, + 4, + [] + ], + [ + "add", + 210, + 467, + 1, + 4, + [] + ], + [ + "add", + 160, + 226, + 1, + 2, + [] + ], + [ + "add", + 160, + 227, + -1, + 2, + [] + ], + [ + "add", + 160, + 228, + 1, + 2, + [] + ], + [ + "add", + 160, + 229, + -1, + 2, + [] + ], + [ + "add", + 160, + 232, + 1, + 2, + [] + ], + [ + "add", + 160, + 233, + -1, + 2, + [] + ], + [ + "add", + 160, + 238, + -1, + 2, + [] + ], + [ + "add", + 160, + 239, + 1, + 2, + [] + ], + [ + "add", + 160, + 241, + -1, + 4, + [] + ], + [ + "add", + 160, + 243, + -1, + 2, + [] + ], + [ + "add", + 160, + 246, + -1, + 4, + [] + ], + [ + "add", + 160, + 247, + 1, + 4, + [] + ], + [ + "add", + 160, + 250, + 1, + 4, + [] + ], + [ + "add", + 160, + 251, + -1, + 4, + [] + ], + [ + "add", + 160, + 252, + 1, + 4, + [] + ], + [ + "add", + 160, + 253, + -1, + 4, + [] + ], + [ + "add", + 160, + 259, + -1, + 4, + [] + ], + [ + "add", + 160, + 260, + 1, + 4, + [] + ], + [ + "add", + 160, + 261, + -1, + 4, + [] + ], + [ + "add", + 160, + 264, + 1, + 4, + [] + ], + [ + "add", + 160, + 265, + -1, + 4, + [] + ], + [ + "add", + 160, + 266, + 1, + 2, + [] + ], + [ + "add", + 160, + 267, + -1, + 2, + [] + ], + [ + "add", + 160, + 270, + -1, + 4, + [] + ], + [ + "add", + 160, + 271, + 1, + 4, + [] + ], + [ + "add", + 160, + 278, + 1, + 4, + [] + ], + [ + "add", + 160, + 280, + 1, + 2, + [] + ], + [ + "add", + 160, + 283, + -1, + 4, + [] + ], + [ + "add", + 160, + 284, + 1, + 4, + [] + ], + [ + "add", + 160, + 287, + 1, + 2, + [] + ], + [ + "add", + 160, + 290, + 1, + 4, + [] + ], + [ + "add", + 160, + 292, + -1, + 4, + [] + ], + [ + "add", + 160, + 295, + 1, + 4, + [] + ], + [ + "add", + 160, + 297, + 1, + 2, + [] + ], + [ + "add", + 160, + 299, + -1, + 2, + [] + ], + [ + "add", + 160, + 302, + -1, + 4, + [] + ], + [ + "add", + 160, + 303, + 1, + 2, + [] + ], + [ + "add", + 160, + 304, + -1, + 2, + [] + ], + [ + "add", + 160, + 308, + -1, + 2, + [] + ], + [ + "add", + 160, + 312, + 1, + 2, + [] + ], + [ + "add", + 160, + 318, + -1, + 2, + [] + ], + [ + "add", + 160, + 319, + 1, + 1, + [] + ], + [ + "add", + 160, + 320, + -1, + 2, + [] + ], + [ + "add", + 160, + 324, + -1, + 2, + [] + ], + [ + "add", + 160, + 334, + -1, + 2, + [] + ], + [ + "add", + 160, + 335, + 1, + 2, + [] + ], + [ + "add", + 160, + 370, + 1, + 4, + [] + ], + [ + "add", + 160, + 372, + -1, + 4, + [] + ], + [ + "add", + 160, + 375, + -1, + 4, + [] + ], + [ + "add", + 160, + 379, + 1, + 2, + [] + ], + [ + "add", + 160, + 381, + -1, + 2, + [] + ], + [ + "add", + 160, + 382, + -1, + 4, + [] + ], + [ + "add", + 160, + 390, + 1, + 4, + [] + ], + [ + "add", + 160, + 395, + 1, + 4, + [] + ], + [ + "add", + 160, + 396, + -1, + 4, + [] + ], + [ + "add", + 160, + 398, + -1, + 2, + [] + ], + [ + "add", + 160, + 399, + 1, + 2, + [] + ], + [ + "add", + 160, + 401, + 1, + 2, + [] + ], + [ + "add", + 160, + 402, + -1, + 4, + [] + ], + [ + "add", + 160, + 403, + 1, + 4, + [] + ], + [ + "add", + 160, + 404, + 1, + 4, + [] + ], + [ + "add", + 160, + 405, + -1, + 4, + [] + ], + [ + "add", + 160, + 408, + -1, + 4, + [] + ], + [ + "add", + 160, + 409, + 1, + 4, + [] + ], + [ + "add", + 160, + 414, + -1, + 4, + [] + ], + [ + "add", + 160, + 415, + 1, + 4, + [] + ], + [ + "add", + 160, + 417, + 1, + 4, + [] + ], + [ + "add", + 160, + 422, + -1, + 4, + [] + ], + [ + "add", + 160, + 423, + 1, + 4, + [] + ], + [ + "add", + 160, + 426, + 1, + 4, + [] + ], + [ + "add", + 160, + 427, + -1, + 4, + [] + ], + [ + "add", + 160, + 428, + -1, + 4, + [] + ], + [ + "add", + 160, + 429, + 1, + 4, + [] + ], + [ + "add", + 160, + 430, + -1, + 2, + [] + ], + [ + "add", + 160, + 431, + 1, + 2, + [] + ], + [ + "add", + 160, + 456, + 1, + 4, + [] + ], + [ + "add", + 160, + 457, + 1, + 4, + [] + ], + [ + "add", + 160, + 466, + 1, + 4, + [] + ], + [ + "add", + 160, + 467, + 1, + 4, + [] + ], + [ + "add", + 144, + 241, + 1, + 4, + [] + ], + [ + "add", + 144, + 243, + -1, + 2, + [] + ], + [ + "add", + 144, + 246, + 1, + 4, + [] + ], + [ + "add", + 144, + 247, + -1, + 4, + [] + ], + [ + "add", + 144, + 250, + -1, + 4, + [] + ], + [ + "add", + 144, + 251, + 1, + 4, + [] + ], + [ + "add", + 144, + 252, + -1, + 4, + [] + ], + [ + "add", + 144, + 253, + 1, + 4, + [] + ], + [ + "add", + 144, + 259, + 1, + 4, + [] + ], + [ + "add", + 144, + 260, + -1, + 4, + [] + ], + [ + "add", + 144, + 261, + 1, + 4, + [] + ], + [ + "add", + 144, + 264, + -1, + 4, + [] + ], + [ + "add", + 144, + 265, + 1, + 4, + [] + ], + [ + "add", + 144, + 266, + 1, + 2, + [] + ], + [ + "add", + 144, + 267, + -1, + 2, + [] + ], + [ + "add", + 144, + 270, + 1, + 4, + [] + ], + [ + "add", + 144, + 271, + -1, + 4, + [] + ], + [ + "add", + 144, + 278, + -1, + 4, + [] + ], + [ + "add", + 144, + 280, + 1, + 2, + [] + ], + [ + "add", + 144, + 283, + 1, + 4, + [] + ], + [ + "add", + 144, + 284, + -1, + 4, + [] + ], + [ + "add", + 144, + 287, + 1, + 2, + [] + ], + [ + "add", + 144, + 290, + -1, + 4, + [] + ], + [ + "add", + 144, + 292, + 1, + 4, + [] + ], + [ + "add", + 144, + 295, + -1, + 4, + [] + ], + [ + "add", + 144, + 297, + 1, + 2, + [] + ], + [ + "add", + 144, + 299, + -1, + 2, + [] + ], + [ + "add", + 144, + 302, + 1, + 4, + [] + ], + [ + "add", + 144, + 303, + -1, + 2, + [] + ], + [ + "add", + 144, + 304, + -1, + 2, + [] + ], + [ + "add", + 144, + 308, + 1, + 2, + [] + ], + [ + "add", + 144, + 312, + 1, + 2, + [] + ], + [ + "add", + 144, + 318, + 1, + 2, + [] + ], + [ + "add", + 144, + 336, + -1, + 2, + [] + ], + [ + "add", + 144, + 340, + 1, + 2, + [] + ], + [ + "add", + 144, + 350, + 1, + 2, + [] + ], + [ + "add", + 144, + 351, + -1, + 2, + [] + ], + [ + "add", + 144, + 370, + -1, + 4, + [] + ], + [ + "add", + 144, + 372, + 1, + 4, + [] + ], + [ + "add", + 144, + 375, + 1, + 4, + [] + ], + [ + "add", + 144, + 379, + 1, + 2, + [] + ], + [ + "add", + 144, + 381, + -1, + 2, + [] + ], + [ + "add", + 144, + 382, + 1, + 4, + [] + ], + [ + "add", + 144, + 390, + 1, + 4, + [] + ], + [ + "add", + 144, + 395, + 1, + 4, + [] + ], + [ + "add", + 144, + 396, + -1, + 4, + [] + ], + [ + "add", + 144, + 398, + 1, + 2, + [] + ], + [ + "add", + 144, + 399, + -1, + 2, + [] + ], + [ + "add", + 144, + 401, + 1, + 2, + [] + ], + [ + "add", + 144, + 402, + 1, + 4, + [] + ], + [ + "add", + 144, + 403, + -1, + 4, + [] + ], + [ + "add", + 144, + 404, + -1, + 4, + [] + ], + [ + "add", + 144, + 405, + 1, + 4, + [] + ], + [ + "add", + 144, + 408, + 1, + 4, + [] + ], + [ + "add", + 144, + 409, + -1, + 4, + [] + ], + [ + "add", + 144, + 414, + 1, + 4, + [] + ], + [ + "add", + 144, + 415, + -1, + 4, + [] + ], + [ + "add", + 144, + 417, + 1, + 4, + [] + ], + [ + "add", + 144, + 422, + -1, + 4, + [] + ], + [ + "add", + 144, + 423, + 1, + 4, + [] + ], + [ + "add", + 144, + 426, + 1, + 4, + [] + ], + [ + "add", + 144, + 427, + -1, + 4, + [] + ], + [ + "add", + 144, + 428, + -1, + 4, + [] + ], + [ + "add", + 144, + 429, + 1, + 4, + [] + ], + [ + "add", + 144, + 430, + 1, + 2, + [] + ], + [ + "add", + 144, + 431, + -1, + 2, + [] + ], + [ + "add", + 144, + 442, + 1, + 1, + [] + ], + [ + "add", + 144, + 443, + -1, + 1, + [] + ], + [ + "add", + 144, + 456, + -1, + 4, + [] + ], + [ + "add", + 144, + 457, + 1, + 4, + [] + ], + [ + "add", + 144, + 466, + 1, + 4, + [] + ], + [ + "add", + 144, + 467, + -1, + 4, + [] + ], + [ + "add", + 144, + 530, + -1, + 1, + [] + ], + [ + "add", + 197, + 241, + 1, + 4, + [] + ], + [ + "add", + 197, + 243, + -1, + 2, + [] + ], + [ + "add", + 197, + 246, + 1, + 4, + [] + ], + [ + "add", + 197, + 247, + -1, + 4, + [] + ], + [ + "add", + 197, + 250, + -1, + 4, + [] + ], + [ + "add", + 197, + 251, + 1, + 4, + [] + ], + [ + "add", + 197, + 252, + -1, + 4, + [] + ], + [ + "add", + 197, + 253, + 1, + 4, + [] + ], + [ + "add", + 197, + 259, + -1, + 4, + [] + ], + [ + "add", + 197, + 260, + 1, + 4, + [] + ], + [ + "add", + 197, + 261, + -1, + 4, + [] + ], + [ + "add", + 197, + 264, + 1, + 4, + [] + ], + [ + "add", + 197, + 265, + -1, + 4, + [] + ], + [ + "add", + 197, + 266, + -1, + 2, + [] + ], + [ + "add", + 197, + 267, + 1, + 2, + [] + ], + [ + "add", + 197, + 270, + -1, + 4, + [] + ], + [ + "add", + 197, + 271, + 1, + 4, + [] + ], + [ + "add", + 197, + 278, + -1, + 4, + [] + ], + [ + "add", + 197, + 280, + 1, + 2, + [] + ], + [ + "add", + 197, + 283, + 1, + 4, + [] + ], + [ + "add", + 197, + 284, + -1, + 4, + [] + ], + [ + "add", + 197, + 287, + 1, + 2, + [] + ], + [ + "add", + 197, + 290, + 1, + 4, + [] + ], + [ + "add", + 197, + 292, + -1, + 4, + [] + ], + [ + "add", + 197, + 295, + 1, + 4, + [] + ], + [ + "add", + 197, + 297, + -1, + 2, + [] + ], + [ + "add", + 197, + 299, + 1, + 2, + [] + ], + [ + "add", + 197, + 302, + -1, + 4, + [] + ], + [ + "add", + 197, + 303, + 1, + 2, + [] + ], + [ + "add", + 197, + 319, + 1, + 1, + [] + ], + [ + "add", + 197, + 351, + 1, + 1, + [] + ], + [ + "add", + 197, + 370, + -1, + 4, + [] + ], + [ + "add", + 197, + 372, + 1, + 4, + [] + ], + [ + "add", + 197, + 375, + 1, + 4, + [] + ], + [ + "add", + 197, + 379, + 1, + 2, + [] + ], + [ + "add", + 197, + 381, + -1, + 2, + [] + ], + [ + "add", + 197, + 382, + 1, + 4, + [] + ], + [ + "add", + 197, + 390, + -1, + 4, + [] + ], + [ + "add", + 197, + 395, + -1, + 4, + [] + ], + [ + "add", + 197, + 396, + 1, + 4, + [] + ], + [ + "add", + 197, + 398, + -1, + 2, + [] + ], + [ + "add", + 197, + 399, + 1, + 2, + [] + ], + [ + "add", + 197, + 401, + 1, + 2, + [] + ], + [ + "add", + 197, + 402, + 1, + 4, + [] + ], + [ + "add", + 197, + 403, + -1, + 4, + [] + ], + [ + "add", + 197, + 404, + -1, + 4, + [] + ], + [ + "add", + 197, + 405, + 1, + 4, + [] + ], + [ + "add", + 197, + 408, + 1, + 4, + [] + ], + [ + "add", + 197, + 409, + -1, + 4, + [] + ], + [ + "add", + 197, + 414, + 1, + 4, + [] + ], + [ + "add", + 197, + 415, + -1, + 4, + [] + ], + [ + "add", + 197, + 417, + -1, + 4, + [] + ], + [ + "add", + 197, + 422, + 1, + 4, + [] + ], + [ + "add", + 197, + 423, + -1, + 4, + [] + ], + [ + "add", + 197, + 426, + -1, + 4, + [] + ], + [ + "add", + 197, + 427, + 1, + 4, + [] + ], + [ + "add", + 197, + 428, + 1, + 4, + [] + ], + [ + "add", + 197, + 429, + -1, + 4, + [] + ], + [ + "add", + 197, + 430, + -1, + 2, + [] + ], + [ + "add", + 197, + 431, + 1, + 2, + [] + ], + [ + "add", + 197, + 434, + 1, + 2, + [] + ], + [ + "add", + 197, + 435, + -1, + 2, + [] + ], + [ + "add", + 197, + 436, + 1, + 2, + [] + ], + [ + "add", + 197, + 437, + -1, + 2, + [] + ], + [ + "add", + 197, + 440, + 1, + 2, + [] + ], + [ + "add", + 197, + 441, + -1, + 2, + [] + ], + [ + "add", + 197, + 446, + -1, + 2, + [] + ], + [ + "add", + 197, + 447, + 1, + 2, + [] + ], + [ + "add", + 197, + 456, + -1, + 4, + [] + ], + [ + "add", + 197, + 457, + 1, + 4, + [] + ], + [ + "add", + 197, + 466, + -1, + 4, + [] + ], + [ + "add", + 197, + 467, + 1, + 4, + [] + ], + [ + "add", + 157, + 234, + 1, + 1, + [] + ], + [ + "add", + 157, + 235, + -1, + 1, + [] + ], + [ + "add", + 157, + 241, + -1, + 4, + [] + ], + [ + "add", + 157, + 243, + -1, + 2, + [] + ], + [ + "add", + 157, + 246, + -1, + 4, + [] + ], + [ + "add", + 157, + 247, + 1, + 4, + [] + ], + [ + "add", + 157, + 250, + 1, + 4, + [] + ], + [ + "add", + 157, + 251, + -1, + 4, + [] + ], + [ + "add", + 157, + 252, + 1, + 4, + [] + ], + [ + "add", + 157, + 253, + -1, + 4, + [] + ], + [ + "add", + 157, + 259, + -1, + 4, + [] + ], + [ + "add", + 157, + 260, + 1, + 4, + [] + ], + [ + "add", + 157, + 261, + -1, + 4, + [] + ], + [ + "add", + 157, + 264, + 1, + 4, + [] + ], + [ + "add", + 157, + 265, + -1, + 4, + [] + ], + [ + "add", + 157, + 266, + 1, + 2, + [] + ], + [ + "add", + 157, + 267, + -1, + 2, + [] + ], + [ + "add", + 157, + 270, + -1, + 4, + [] + ], + [ + "add", + 157, + 271, + 1, + 4, + [] + ], + [ + "add", + 157, + 278, + 1, + 4, + [] + ], + [ + "add", + 157, + 280, + 1, + 2, + [] + ], + [ + "add", + 157, + 283, + -1, + 4, + [] + ], + [ + "add", + 157, + 284, + 1, + 4, + [] + ], + [ + "add", + 157, + 287, + 1, + 2, + [] + ], + [ + "add", + 157, + 290, + 1, + 4, + [] + ], + [ + "add", + 157, + 292, + -1, + 4, + [] + ], + [ + "add", + 157, + 295, + 1, + 4, + [] + ], + [ + "add", + 157, + 297, + 1, + 2, + [] + ], + [ + "add", + 157, + 299, + -1, + 2, + [] + ], + [ + "add", + 157, + 302, + -1, + 4, + [] + ], + [ + "add", + 157, + 303, + 1, + 2, + [] + ], + [ + "add", + 157, + 315, + -1, + 1, + [] + ], + [ + "add", + 157, + 331, + -1, + 1, + [] + ], + [ + "add", + 157, + 370, + -1, + 4, + [] + ], + [ + "add", + 157, + 372, + 1, + 4, + [] + ], + [ + "add", + 157, + 375, + 1, + 4, + [] + ], + [ + "add", + 157, + 379, + -1, + 2, + [] + ], + [ + "add", + 157, + 381, + 1, + 2, + [] + ], + [ + "add", + 157, + 382, + 1, + 4, + [] + ], + [ + "add", + 157, + 390, + -1, + 4, + [] + ], + [ + "add", + 157, + 395, + -1, + 4, + [] + ], + [ + "add", + 157, + 396, + 1, + 4, + [] + ], + [ + "add", + 157, + 398, + 1, + 2, + [] + ], + [ + "add", + 157, + 399, + -1, + 2, + [] + ], + [ + "add", + 157, + 401, + -1, + 2, + [] + ], + [ + "add", + 157, + 402, + 1, + 4, + [] + ], + [ + "add", + 157, + 403, + -1, + 4, + [] + ], + [ + "add", + 157, + 404, + -1, + 4, + [] + ], + [ + "add", + 157, + 405, + 1, + 4, + [] + ], + [ + "add", + 157, + 408, + 1, + 4, + [] + ], + [ + "add", + 157, + 409, + -1, + 4, + [] + ], + [ + "add", + 157, + 414, + 1, + 4, + [] + ], + [ + "add", + 157, + 415, + -1, + 4, + [] + ], + [ + "add", + 157, + 417, + -1, + 4, + [] + ], + [ + "add", + 157, + 422, + 1, + 4, + [] + ], + [ + "add", + 157, + 423, + -1, + 4, + [] + ], + [ + "add", + 157, + 426, + -1, + 4, + [] + ], + [ + "add", + 157, + 427, + 1, + 4, + [] + ], + [ + "add", + 157, + 428, + 1, + 4, + [] + ], + [ + "add", + 157, + 429, + -1, + 4, + [] + ], + [ + "add", + 157, + 430, + 1, + 2, + [] + ], + [ + "add", + 157, + 431, + -1, + 2, + [] + ], + [ + "add", + 157, + 456, + 1, + 4, + [] + ], + [ + "add", + 157, + 457, + 1, + 4, + [] + ], + [ + "add", + 157, + 466, + 1, + 4, + [] + ], + [ + "add", + 157, + 467, + 1, + 4, + [] + ], + [ + "add", + 219, + 234, + 1, + 1, + [] + ], + [ + "add", + 219, + 235, + -1, + 1, + [] + ], + [ + "add", + 219, + 241, + -1, + 4, + [] + ], + [ + "add", + 219, + 243, + -1, + 2, + [] + ], + [ + "add", + 219, + 246, + -1, + 4, + [] + ], + [ + "add", + 219, + 247, + 1, + 4, + [] + ], + [ + "add", + 219, + 250, + 1, + 4, + [] + ], + [ + "add", + 219, + 251, + -1, + 4, + [] + ], + [ + "add", + 219, + 252, + 1, + 4, + [] + ], + [ + "add", + 219, + 253, + -1, + 4, + [] + ], + [ + "add", + 219, + 259, + -1, + 4, + [] + ], + [ + "add", + 219, + 260, + 1, + 4, + [] + ], + [ + "add", + 219, + 261, + -1, + 4, + [] + ], + [ + "add", + 219, + 264, + 1, + 4, + [] + ], + [ + "add", + 219, + 265, + -1, + 4, + [] + ], + [ + "add", + 219, + 266, + 1, + 2, + [] + ], + [ + "add", + 219, + 267, + -1, + 2, + [] + ], + [ + "add", + 219, + 270, + -1, + 4, + [] + ], + [ + "add", + 219, + 271, + 1, + 4, + [] + ], + [ + "add", + 219, + 278, + 1, + 4, + [] + ], + [ + "add", + 219, + 280, + 1, + 2, + [] + ], + [ + "add", + 219, + 283, + -1, + 4, + [] + ], + [ + "add", + 219, + 284, + 1, + 4, + [] + ], + [ + "add", + 219, + 287, + 1, + 2, + [] + ], + [ + "add", + 219, + 290, + 1, + 4, + [] + ], + [ + "add", + 219, + 292, + -1, + 4, + [] + ], + [ + "add", + 219, + 295, + 1, + 4, + [] + ], + [ + "add", + 219, + 297, + 1, + 2, + [] + ], + [ + "add", + 219, + 299, + -1, + 2, + [] + ], + [ + "add", + 219, + 302, + -1, + 4, + [] + ], + [ + "add", + 219, + 303, + 1, + 2, + [] + ], + [ + "add", + 219, + 315, + -1, + 1, + [] + ], + [ + "add", + 219, + 331, + -1, + 1, + [] + ], + [ + "add", + 219, + 370, + -1, + 4, + [] + ], + [ + "add", + 219, + 372, + 1, + 4, + [] + ], + [ + "add", + 219, + 375, + 1, + 4, + [] + ], + [ + "add", + 219, + 379, + -1, + 2, + [] + ], + [ + "add", + 219, + 381, + 1, + 2, + [] + ], + [ + "add", + 219, + 382, + 1, + 4, + [] + ], + [ + "add", + 219, + 390, + -1, + 4, + [] + ], + [ + "add", + 219, + 395, + -1, + 4, + [] + ], + [ + "add", + 219, + 396, + 1, + 4, + [] + ], + [ + "add", + 219, + 398, + 1, + 2, + [] + ], + [ + "add", + 219, + 399, + -1, + 2, + [] + ], + [ + "add", + 219, + 401, + -1, + 2, + [] + ], + [ + "add", + 219, + 402, + 1, + 4, + [] + ], + [ + "add", + 219, + 403, + -1, + 4, + [] + ], + [ + "add", + 219, + 404, + -1, + 4, + [] + ], + [ + "add", + 219, + 405, + 1, + 4, + [] + ], + [ + "add", + 219, + 408, + 1, + 4, + [] + ], + [ + "add", + 219, + 409, + -1, + 4, + [] + ], + [ + "add", + 219, + 414, + 1, + 4, + [] + ], + [ + "add", + 219, + 415, + -1, + 4, + [] + ], + [ + "add", + 219, + 417, + -1, + 4, + [] + ], + [ + "add", + 219, + 422, + 1, + 4, + [] + ], + [ + "add", + 219, + 423, + -1, + 4, + [] + ], + [ + "add", + 219, + 426, + -1, + 4, + [] + ], + [ + "add", + 219, + 427, + 1, + 4, + [] + ], + [ + "add", + 219, + 428, + 1, + 4, + [] + ], + [ + "add", + 219, + 429, + -1, + 4, + [] + ], + [ + "add", + 219, + 430, + 1, + 2, + [] + ], + [ + "add", + 219, + 431, + -1, + 2, + [] + ], + [ + "add", + 219, + 456, + 1, + 4, + [] + ], + [ + "add", + 219, + 457, + 1, + 4, + [] + ], + [ + "add", + 219, + 466, + 1, + 4, + [] + ], + [ + "add", + 219, + 467, + 1, + 4, + [] + ], + [ + "add", + 136, + 241, + 1, + 4, + [] + ], + [ + "add", + 136, + 243, + -1, + 2, + [] + ], + [ + "add", + 136, + 246, + 1, + 4, + [] + ], + [ + "add", + 136, + 247, + -1, + 4, + [] + ], + [ + "add", + 136, + 250, + -1, + 4, + [] + ], + [ + "add", + 136, + 251, + 1, + 4, + [] + ], + [ + "add", + 136, + 252, + -1, + 4, + [] + ], + [ + "add", + 136, + 253, + 1, + 4, + [] + ], + [ + "add", + 136, + 259, + 1, + 4, + [] + ], + [ + "add", + 136, + 260, + -1, + 4, + [] + ], + [ + "add", + 136, + 261, + 1, + 4, + [] + ], + [ + "add", + 136, + 264, + -1, + 4, + [] + ], + [ + "add", + 136, + 265, + 1, + 4, + [] + ], + [ + "add", + 136, + 266, + 1, + 2, + [] + ], + [ + "add", + 136, + 267, + -1, + 2, + [] + ], + [ + "add", + 136, + 270, + 1, + 4, + [] + ], + [ + "add", + 136, + 271, + -1, + 4, + [] + ], + [ + "add", + 136, + 278, + -1, + 4, + [] + ], + [ + "add", + 136, + 280, + 1, + 2, + [] + ], + [ + "add", + 136, + 283, + 1, + 4, + [] + ], + [ + "add", + 136, + 284, + -1, + 4, + [] + ], + [ + "add", + 136, + 287, + 1, + 2, + [] + ], + [ + "add", + 136, + 290, + -1, + 4, + [] + ], + [ + "add", + 136, + 292, + 1, + 4, + [] + ], + [ + "add", + 136, + 295, + -1, + 4, + [] + ], + [ + "add", + 136, + 297, + 1, + 2, + [] + ], + [ + "add", + 136, + 299, + -1, + 2, + [] + ], + [ + "add", + 136, + 302, + 1, + 4, + [] + ], + [ + "add", + 136, + 303, + -1, + 2, + [] + ], + [ + "add", + 136, + 304, + -1, + 2, + [] + ], + [ + "add", + 136, + 308, + 1, + 2, + [] + ], + [ + "add", + 136, + 312, + 1, + 2, + [] + ], + [ + "add", + 136, + 318, + 1, + 2, + [] + ], + [ + "add", + 136, + 336, + -1, + 2, + [] + ], + [ + "add", + 136, + 340, + 1, + 2, + [] + ], + [ + "add", + 136, + 350, + 1, + 2, + [] + ], + [ + "add", + 136, + 351, + -1, + 2, + [] + ], + [ + "add", + 136, + 370, + -1, + 4, + [] + ], + [ + "add", + 136, + 372, + 1, + 4, + [] + ], + [ + "add", + 136, + 375, + 1, + 4, + [] + ], + [ + "add", + 136, + 379, + 1, + 2, + [] + ], + [ + "add", + 136, + 381, + -1, + 2, + [] + ], + [ + "add", + 136, + 382, + 1, + 4, + [] + ], + [ + "add", + 136, + 390, + 1, + 4, + [] + ], + [ + "add", + 136, + 395, + 1, + 4, + [] + ], + [ + "add", + 136, + 396, + -1, + 4, + [] + ], + [ + "add", + 136, + 398, + 1, + 2, + [] + ], + [ + "add", + 136, + 399, + -1, + 2, + [] + ], + [ + "add", + 136, + 401, + 1, + 2, + [] + ], + [ + "add", + 136, + 402, + 1, + 4, + [] + ], + [ + "add", + 136, + 403, + -1, + 4, + [] + ], + [ + "add", + 136, + 404, + -1, + 4, + [] + ], + [ + "add", + 136, + 405, + 1, + 4, + [] + ], + [ + "add", + 136, + 408, + 1, + 4, + [] + ], + [ + "add", + 136, + 409, + -1, + 4, + [] + ], + [ + "add", + 136, + 414, + 1, + 4, + [] + ], + [ + "add", + 136, + 415, + -1, + 4, + [] + ], + [ + "add", + 136, + 417, + 1, + 4, + [] + ], + [ + "add", + 136, + 422, + -1, + 4, + [] + ], + [ + "add", + 136, + 423, + 1, + 4, + [] + ], + [ + "add", + 136, + 426, + 1, + 4, + [] + ], + [ + "add", + 136, + 427, + -1, + 4, + [] + ], + [ + "add", + 136, + 428, + -1, + 4, + [] + ], + [ + "add", + 136, + 429, + 1, + 4, + [] + ], + [ + "add", + 136, + 430, + 1, + 2, + [] + ], + [ + "add", + 136, + 431, + -1, + 2, + [] + ], + [ + "add", + 136, + 442, + 1, + 1, + [] + ], + [ + "add", + 136, + 443, + -1, + 1, + [] + ], + [ + "add", + 136, + 456, + -1, + 4, + [] + ], + [ + "add", + 136, + 457, + 1, + 4, + [] + ], + [ + "add", + 136, + 466, + 1, + 4, + [] + ], + [ + "add", + 136, + 467, + -1, + 4, + [] + ], + [ + "add", + 147, + 241, + 1, + 4, + [] + ], + [ + "add", + 147, + 243, + -1, + 2, + [] + ], + [ + "add", + 147, + 246, + 1, + 4, + [] + ], + [ + "add", + 147, + 247, + -1, + 4, + [] + ], + [ + "add", + 147, + 250, + -1, + 4, + [] + ], + [ + "add", + 147, + 251, + 1, + 4, + [] + ], + [ + "add", + 147, + 252, + -1, + 4, + [] + ], + [ + "add", + 147, + 253, + 1, + 4, + [] + ], + [ + "add", + 147, + 259, + -1, + 4, + [] + ], + [ + "add", + 147, + 260, + 1, + 4, + [] + ], + [ + "add", + 147, + 261, + -1, + 4, + [] + ], + [ + "add", + 147, + 264, + 1, + 4, + [] + ], + [ + "add", + 147, + 265, + -1, + 4, + [] + ], + [ + "add", + 147, + 266, + -1, + 2, + [] + ], + [ + "add", + 147, + 267, + 1, + 2, + [] + ], + [ + "add", + 147, + 270, + -1, + 4, + [] + ], + [ + "add", + 147, + 271, + 1, + 4, + [] + ], + [ + "add", + 147, + 278, + -1, + 4, + [] + ], + [ + "add", + 147, + 280, + 1, + 2, + [] + ], + [ + "add", + 147, + 283, + 1, + 4, + [] + ], + [ + "add", + 147, + 284, + -1, + 4, + [] + ], + [ + "add", + 147, + 287, + 1, + 2, + [] + ], + [ + "add", + 147, + 290, + 1, + 4, + [] + ], + [ + "add", + 147, + 292, + -1, + 4, + [] + ], + [ + "add", + 147, + 295, + 1, + 4, + [] + ], + [ + "add", + 147, + 297, + -1, + 2, + [] + ], + [ + "add", + 147, + 299, + 1, + 2, + [] + ], + [ + "add", + 147, + 302, + -1, + 4, + [] + ], + [ + "add", + 147, + 303, + 1, + 2, + [] + ], + [ + "add", + 147, + 319, + 1, + 1, + [] + ], + [ + "add", + 147, + 351, + 1, + 1, + [] + ], + [ + "add", + 147, + 370, + -1, + 4, + [] + ], + [ + "add", + 147, + 372, + 1, + 4, + [] + ], + [ + "add", + 147, + 375, + 1, + 4, + [] + ], + [ + "add", + 147, + 379, + 1, + 2, + [] + ], + [ + "add", + 147, + 381, + -1, + 2, + [] + ], + [ + "add", + 147, + 382, + 1, + 4, + [] + ], + [ + "add", + 147, + 390, + -1, + 4, + [] + ], + [ + "add", + 147, + 395, + -1, + 4, + [] + ], + [ + "add", + 147, + 396, + 1, + 4, + [] + ], + [ + "add", + 147, + 398, + -1, + 2, + [] + ], + [ + "add", + 147, + 399, + 1, + 2, + [] + ], + [ + "add", + 147, + 401, + 1, + 2, + [] + ], + [ + "add", + 147, + 402, + 1, + 4, + [] + ], + [ + "add", + 147, + 403, + -1, + 4, + [] + ], + [ + "add", + 147, + 404, + -1, + 4, + [] + ], + [ + "add", + 147, + 405, + 1, + 4, + [] + ], + [ + "add", + 147, + 408, + 1, + 4, + [] + ], + [ + "add", + 147, + 409, + -1, + 4, + [] + ], + [ + "add", + 147, + 414, + 1, + 4, + [] + ], + [ + "add", + 147, + 415, + -1, + 4, + [] + ], + [ + "add", + 147, + 417, + -1, + 4, + [] + ], + [ + "add", + 147, + 422, + 1, + 4, + [] + ], + [ + "add", + 147, + 423, + -1, + 4, + [] + ], + [ + "add", + 147, + 426, + -1, + 4, + [] + ], + [ + "add", + 147, + 427, + 1, + 4, + [] + ], + [ + "add", + 147, + 428, + 1, + 4, + [] + ], + [ + "add", + 147, + 429, + -1, + 4, + [] + ], + [ + "add", + 147, + 430, + -1, + 2, + [] + ], + [ + "add", + 147, + 431, + 1, + 2, + [] + ], + [ + "add", + 147, + 434, + 1, + 2, + [] + ], + [ + "add", + 147, + 435, + -1, + 2, + [] + ], + [ + "add", + 147, + 436, + 1, + 2, + [] + ], + [ + "add", + 147, + 437, + -1, + 2, + [] + ], + [ + "add", + 147, + 440, + 1, + 2, + [] + ], + [ + "add", + 147, + 441, + -1, + 2, + [] + ], + [ + "add", + 147, + 446, + -1, + 2, + [] + ], + [ + "add", + 147, + 447, + 1, + 2, + [] + ], + [ + "add", + 147, + 456, + -1, + 4, + [] + ], + [ + "add", + 147, + 457, + 1, + 4, + [] + ], + [ + "add", + 147, + 466, + -1, + 4, + [] + ], + [ + "add", + 147, + 467, + 1, + 4, + [] + ], + [ + "add", + 192, + 238, + -1, + 1, + [] + ], + [ + "add", + 192, + 239, + 1, + 1, + [] + ], + [ + "add", + 192, + 241, + 1, + 2, + [] + ], + [ + "add", + 192, + 243, + 1, + 4, + [] + ], + [ + "add", + 192, + 244, + 1, + 4, + [] + ], + [ + "add", + 192, + 245, + -1, + 4, + [] + ], + [ + "add", + 192, + 248, + -1, + 4, + [] + ], + [ + "add", + 192, + 249, + 1, + 4, + [] + ], + [ + "add", + 192, + 254, + -1, + 4, + [] + ], + [ + "add", + 192, + 255, + 1, + 4, + [] + ], + [ + "add", + 192, + 257, + 1, + 2, + [] + ], + [ + "add", + 192, + 259, + 1, + 4, + [] + ], + [ + "add", + 192, + 260, + 1, + 4, + [] + ], + [ + "add", + 192, + 261, + -1, + 4, + [] + ], + [ + "add", + 192, + 264, + -1, + 4, + [] + ], + [ + "add", + 192, + 265, + 1, + 4, + [] + ], + [ + "add", + 192, + 270, + -1, + 4, + [] + ], + [ + "add", + 192, + 271, + 1, + 4, + [] + ], + [ + "add", + 192, + 306, + 1, + 4, + [] + ], + [ + "add", + 192, + 308, + -1, + 4, + [] + ], + [ + "add", + 192, + 315, + 1, + 2, + [] + ], + [ + "add", + 192, + 317, + -1, + 2, + [] + ], + [ + "add", + 192, + 318, + -1, + 4, + [] + ], + [ + "add", + 192, + 326, + 1, + 4, + [] + ], + [ + "add", + 192, + 331, + 1, + 4, + [] + ], + [ + "add", + 192, + 332, + -1, + 4, + [] + ], + [ + "add", + 192, + 334, + -1, + 2, + [] + ], + [ + "add", + 192, + 335, + 1, + 2, + [] + ], + [ + "add", + 192, + 342, + 1, + 4, + [] + ], + [ + "add", + 192, + 344, + 1, + 2, + [] + ], + [ + "add", + 192, + 347, + -1, + 4, + [] + ], + [ + "add", + 192, + 348, + 1, + 4, + [] + ], + [ + "add", + 192, + 351, + 1, + 2, + [] + ], + [ + "add", + 192, + 354, + 1, + 4, + [] + ], + [ + "add", + 192, + 356, + -1, + 4, + [] + ], + [ + "add", + 192, + 359, + 1, + 4, + [] + ], + [ + "add", + 192, + 361, + 1, + 2, + [] + ], + [ + "add", + 192, + 363, + -1, + 2, + [] + ], + [ + "add", + 192, + 366, + -1, + 4, + [] + ], + [ + "add", + 192, + 367, + 1, + 2, + [] + ], + [ + "add", + 192, + 368, + -1, + 2, + [] + ], + [ + "add", + 192, + 372, + -1, + 2, + [] + ], + [ + "add", + 192, + 382, + -1, + 2, + [] + ], + [ + "add", + 192, + 383, + 1, + 2, + [] + ], + [ + "add", + 192, + 384, + -1, + 2, + [] + ], + [ + "add", + 192, + 388, + -1, + 2, + [] + ], + [ + "add", + 192, + 398, + -1, + 2, + [] + ], + [ + "add", + 192, + 399, + 1, + 2, + [] + ], + [ + "add", + 192, + 401, + 1, + 2, + [] + ], + [ + "add", + 192, + 402, + -1, + 4, + [] + ], + [ + "add", + 192, + 403, + 1, + 4, + [] + ], + [ + "add", + 192, + 404, + 1, + 4, + [] + ], + [ + "add", + 192, + 405, + -1, + 4, + [] + ], + [ + "add", + 192, + 408, + -1, + 4, + [] + ], + [ + "add", + 192, + 409, + 1, + 4, + [] + ], + [ + "add", + 192, + 414, + -1, + 4, + [] + ], + [ + "add", + 192, + 415, + 1, + 4, + [] + ], + [ + "add", + 192, + 417, + 1, + 2, + [] + ], + [ + "add", + 192, + 418, + -1, + 4, + [] + ], + [ + "add", + 192, + 419, + 1, + 4, + [] + ], + [ + "add", + 192, + 420, + 1, + 4, + [] + ], + [ + "add", + 192, + 421, + -1, + 4, + [] + ], + [ + "add", + 192, + 424, + -1, + 4, + [] + ], + [ + "add", + 192, + 425, + 1, + 4, + [] + ], + [ + "add", + 192, + 430, + -1, + 4, + [] + ], + [ + "add", + 192, + 431, + 1, + 4, + [] + ], + [ + "add", + 192, + 460, + -1, + 2, + [] + ], + [ + "add", + 192, + 461, + -1, + 2, + [] + ], + [ + "add", + 192, + 468, + -1, + 2, + [] + ], + [ + "add", + 192, + 469, + -1, + 2, + [] + ], + [ + "add", + 192, + 499, + -1, + 4, + [] + ], + [ + "add", + 179, + 238, + -1, + 1, + [] + ], + [ + "add", + 179, + 239, + 1, + 1, + [] + ], + [ + "add", + 179, + 241, + 1, + 2, + [] + ], + [ + "add", + 179, + 243, + 1, + 4, + [] + ], + [ + "add", + 179, + 244, + 1, + 4, + [] + ], + [ + "add", + 179, + 245, + -1, + 4, + [] + ], + [ + "add", + 179, + 248, + -1, + 4, + [] + ], + [ + "add", + 179, + 249, + 1, + 4, + [] + ], + [ + "add", + 179, + 254, + -1, + 4, + [] + ], + [ + "add", + 179, + 255, + 1, + 4, + [] + ], + [ + "add", + 179, + 257, + 1, + 2, + [] + ], + [ + "add", + 179, + 259, + 1, + 4, + [] + ], + [ + "add", + 179, + 260, + 1, + 4, + [] + ], + [ + "add", + 179, + 261, + -1, + 4, + [] + ], + [ + "add", + 179, + 264, + -1, + 4, + [] + ], + [ + "add", + 179, + 265, + 1, + 4, + [] + ], + [ + "add", + 179, + 270, + -1, + 4, + [] + ], + [ + "add", + 179, + 271, + 1, + 4, + [] + ], + [ + "add", + 179, + 306, + 1, + 4, + [] + ], + [ + "add", + 179, + 308, + -1, + 4, + [] + ], + [ + "add", + 179, + 315, + 1, + 2, + [] + ], + [ + "add", + 179, + 317, + -1, + 2, + [] + ], + [ + "add", + 179, + 318, + -1, + 4, + [] + ], + [ + "add", + 179, + 326, + 1, + 4, + [] + ], + [ + "add", + 179, + 331, + 1, + 4, + [] + ], + [ + "add", + 179, + 332, + -1, + 4, + [] + ], + [ + "add", + 179, + 334, + -1, + 2, + [] + ], + [ + "add", + 179, + 335, + 1, + 2, + [] + ], + [ + "add", + 179, + 342, + 1, + 4, + [] + ], + [ + "add", + 179, + 344, + 1, + 2, + [] + ], + [ + "add", + 179, + 347, + -1, + 4, + [] + ], + [ + "add", + 179, + 348, + 1, + 4, + [] + ], + [ + "add", + 179, + 351, + 1, + 2, + [] + ], + [ + "add", + 179, + 354, + 1, + 4, + [] + ], + [ + "add", + 179, + 356, + -1, + 4, + [] + ], + [ + "add", + 179, + 359, + 1, + 4, + [] + ], + [ + "add", + 179, + 361, + 1, + 2, + [] + ], + [ + "add", + 179, + 363, + -1, + 2, + [] + ], + [ + "add", + 179, + 366, + -1, + 4, + [] + ], + [ + "add", + 179, + 367, + 1, + 2, + [] + ], + [ + "add", + 179, + 368, + -1, + 2, + [] + ], + [ + "add", + 179, + 372, + -1, + 2, + [] + ], + [ + "add", + 179, + 382, + -1, + 2, + [] + ], + [ + "add", + 179, + 383, + 1, + 2, + [] + ], + [ + "add", + 179, + 384, + -1, + 2, + [] + ], + [ + "add", + 179, + 388, + -1, + 2, + [] + ], + [ + "add", + 179, + 398, + -1, + 2, + [] + ], + [ + "add", + 179, + 399, + 1, + 2, + [] + ], + [ + "add", + 179, + 401, + 1, + 2, + [] + ], + [ + "add", + 179, + 402, + -1, + 4, + [] + ], + [ + "add", + 179, + 403, + 1, + 4, + [] + ], + [ + "add", + 179, + 404, + 1, + 4, + [] + ], + [ + "add", + 179, + 405, + -1, + 4, + [] + ], + [ + "add", + 179, + 408, + -1, + 4, + [] + ], + [ + "add", + 179, + 409, + 1, + 4, + [] + ], + [ + "add", + 179, + 414, + -1, + 4, + [] + ], + [ + "add", + 179, + 415, + 1, + 4, + [] + ], + [ + "add", + 179, + 417, + 1, + 2, + [] + ], + [ + "add", + 179, + 418, + -1, + 4, + [] + ], + [ + "add", + 179, + 419, + 1, + 4, + [] + ], + [ + "add", + 179, + 420, + 1, + 4, + [] + ], + [ + "add", + 179, + 421, + -1, + 4, + [] + ], + [ + "add", + 179, + 424, + -1, + 4, + [] + ], + [ + "add", + 179, + 425, + 1, + 4, + [] + ], + [ + "add", + 179, + 430, + -1, + 4, + [] + ], + [ + "add", + 179, + 431, + 1, + 4, + [] + ], + [ + "add", + 179, + 460, + -1, + 2, + [] + ], + [ + "add", + 179, + 461, + -1, + 2, + [] + ], + [ + "add", + 179, + 468, + -1, + 2, + [] + ], + [ + "add", + 179, + 469, + -1, + 2, + [] + ], + [ + "add", + 179, + 499, + -1, + 4, + [] + ], + [ + "add", + 115, + 241, + 1, + 2, + [] + ], + [ + "add", + 115, + 243, + -1, + 4, + [] + ], + [ + "add", + 115, + 244, + -1, + 4, + [] + ], + [ + "add", + 115, + 245, + 1, + 4, + [] + ], + [ + "add", + 115, + 248, + 1, + 4, + [] + ], + [ + "add", + 115, + 249, + -1, + 4, + [] + ], + [ + "add", + 115, + 254, + 1, + 4, + [] + ], + [ + "add", + 115, + 255, + -1, + 4, + [] + ], + [ + "add", + 115, + 257, + -1, + 2, + [] + ], + [ + "add", + 115, + 259, + 1, + 4, + [] + ], + [ + "add", + 115, + 260, + 1, + 4, + [] + ], + [ + "add", + 115, + 261, + -1, + 4, + [] + ], + [ + "add", + 115, + 264, + -1, + 4, + [] + ], + [ + "add", + 115, + 265, + 1, + 4, + [] + ], + [ + "add", + 115, + 270, + -1, + 4, + [] + ], + [ + "add", + 115, + 271, + 1, + 4, + [] + ], + [ + "add", + 115, + 272, + -1, + 2, + [] + ], + [ + "add", + 115, + 276, + 1, + 2, + [] + ], + [ + "add", + 115, + 280, + 1, + 2, + [] + ], + [ + "add", + 115, + 286, + 1, + 2, + [] + ], + [ + "add", + 115, + 306, + -1, + 4, + [] + ], + [ + "add", + 115, + 308, + 1, + 4, + [] + ], + [ + "add", + 115, + 315, + 1, + 2, + [] + ], + [ + "add", + 115, + 317, + -1, + 2, + [] + ], + [ + "add", + 115, + 318, + 1, + 4, + [] + ], + [ + "add", + 115, + 326, + 1, + 4, + [] + ], + [ + "add", + 115, + 331, + 1, + 4, + [] + ], + [ + "add", + 115, + 332, + -1, + 4, + [] + ], + [ + "add", + 115, + 334, + 1, + 2, + [] + ], + [ + "add", + 115, + 335, + -1, + 2, + [] + ], + [ + "add", + 115, + 342, + -1, + 4, + [] + ], + [ + "add", + 115, + 344, + 1, + 2, + [] + ], + [ + "add", + 115, + 347, + 1, + 4, + [] + ], + [ + "add", + 115, + 348, + -1, + 4, + [] + ], + [ + "add", + 115, + 351, + 1, + 2, + [] + ], + [ + "add", + 115, + 354, + -1, + 4, + [] + ], + [ + "add", + 115, + 356, + 1, + 4, + [] + ], + [ + "add", + 115, + 359, + -1, + 4, + [] + ], + [ + "add", + 115, + 361, + 1, + 2, + [] + ], + [ + "add", + 115, + 363, + -1, + 2, + [] + ], + [ + "add", + 115, + 366, + 1, + 4, + [] + ], + [ + "add", + 115, + 367, + -1, + 2, + [] + ], + [ + "add", + 115, + 368, + -1, + 2, + [] + ], + [ + "add", + 115, + 372, + 1, + 2, + [] + ], + [ + "add", + 115, + 382, + 1, + 2, + [] + ], + [ + "add", + 115, + 383, + -1, + 2, + [] + ], + [ + "add", + 115, + 401, + 1, + 2, + [] + ], + [ + "add", + 115, + 402, + 1, + 4, + [] + ], + [ + "add", + 115, + 403, + -1, + 4, + [] + ], + [ + "add", + 115, + 404, + -1, + 4, + [] + ], + [ + "add", + 115, + 405, + 1, + 4, + [] + ], + [ + "add", + 115, + 408, + 1, + 4, + [] + ], + [ + "add", + 115, + 409, + -1, + 4, + [] + ], + [ + "add", + 115, + 414, + 1, + 4, + [] + ], + [ + "add", + 115, + 415, + -1, + 4, + [] + ], + [ + "add", + 115, + 417, + -1, + 2, + [] + ], + [ + "add", + 115, + 418, + -1, + 4, + [] + ], + [ + "add", + 115, + 419, + 1, + 4, + [] + ], + [ + "add", + 115, + 420, + 1, + 4, + [] + ], + [ + "add", + 115, + 421, + -1, + 4, + [] + ], + [ + "add", + 115, + 424, + -1, + 4, + [] + ], + [ + "add", + 115, + 425, + 1, + 4, + [] + ], + [ + "add", + 115, + 430, + -1, + 4, + [] + ], + [ + "add", + 115, + 431, + 1, + 4, + [] + ], + [ + "add", + 115, + 432, + 1, + 2, + [] + ], + [ + "add", + 115, + 433, + -1, + 2, + [] + ], + [ + "add", + 115, + 438, + -1, + 2, + [] + ], + [ + "add", + 115, + 439, + 1, + 2, + [] + ], + [ + "add", + 115, + 442, + 1, + 2, + [] + ], + [ + "add", + 115, + 443, + -1, + 2, + [] + ], + [ + "add", + 115, + 444, + 1, + 2, + [] + ], + [ + "add", + 115, + 445, + -1, + 2, + [] + ], + [ + "add", + 115, + 460, + 1, + 2, + [] + ], + [ + "add", + 115, + 461, + -1, + 2, + [] + ], + [ + "add", + 115, + 468, + -1, + 2, + [] + ], + [ + "add", + 115, + 469, + 1, + 2, + [] + ], + [ + "add", + 115, + 499, + 1, + 4, + [] + ], + [ + "add", + 200, + 241, + 1, + 2, + [] + ], + [ + "add", + 200, + 243, + -1, + 4, + [] + ], + [ + "add", + 200, + 244, + -1, + 4, + [] + ], + [ + "add", + 200, + 245, + 1, + 4, + [] + ], + [ + "add", + 200, + 248, + 1, + 4, + [] + ], + [ + "add", + 200, + 249, + -1, + 4, + [] + ], + [ + "add", + 200, + 254, + 1, + 4, + [] + ], + [ + "add", + 200, + 255, + -1, + 4, + [] + ], + [ + "add", + 200, + 257, + 1, + 2, + [] + ], + [ + "add", + 200, + 259, + -1, + 4, + [] + ], + [ + "add", + 200, + 260, + -1, + 4, + [] + ], + [ + "add", + 200, + 261, + 1, + 4, + [] + ], + [ + "add", + 200, + 264, + 1, + 4, + [] + ], + [ + "add", + 200, + 265, + -1, + 4, + [] + ], + [ + "add", + 200, + 270, + 1, + 4, + [] + ], + [ + "add", + 200, + 271, + -1, + 4, + [] + ], + [ + "add", + 200, + 287, + 1, + 1, + [] + ], + [ + "add", + 200, + 306, + -1, + 4, + [] + ], + [ + "add", + 200, + 308, + 1, + 4, + [] + ], + [ + "add", + 200, + 315, + 1, + 2, + [] + ], + [ + "add", + 200, + 317, + -1, + 2, + [] + ], + [ + "add", + 200, + 318, + 1, + 4, + [] + ], + [ + "add", + 200, + 326, + -1, + 4, + [] + ], + [ + "add", + 200, + 331, + -1, + 4, + [] + ], + [ + "add", + 200, + 332, + 1, + 4, + [] + ], + [ + "add", + 200, + 334, + -1, + 2, + [] + ], + [ + "add", + 200, + 335, + 1, + 2, + [] + ], + [ + "add", + 200, + 342, + -1, + 4, + [] + ], + [ + "add", + 200, + 344, + 1, + 2, + [] + ], + [ + "add", + 200, + 347, + 1, + 4, + [] + ], + [ + "add", + 200, + 348, + -1, + 4, + [] + ], + [ + "add", + 200, + 351, + 1, + 2, + [] + ], + [ + "add", + 200, + 354, + 1, + 4, + [] + ], + [ + "add", + 200, + 356, + -1, + 4, + [] + ], + [ + "add", + 200, + 359, + 1, + 4, + [] + ], + [ + "add", + 200, + 361, + -1, + 2, + [] + ], + [ + "add", + 200, + 363, + 1, + 2, + [] + ], + [ + "add", + 200, + 366, + -1, + 4, + [] + ], + [ + "add", + 200, + 367, + 1, + 2, + [] + ], + [ + "add", + 200, + 383, + 1, + 1, + [] + ], + [ + "add", + 200, + 401, + 1, + 2, + [] + ], + [ + "add", + 200, + 402, + 1, + 4, + [] + ], + [ + "add", + 200, + 403, + -1, + 4, + [] + ], + [ + "add", + 200, + 404, + -1, + 4, + [] + ], + [ + "add", + 200, + 405, + 1, + 4, + [] + ], + [ + "add", + 200, + 408, + 1, + 4, + [] + ], + [ + "add", + 200, + 409, + -1, + 4, + [] + ], + [ + "add", + 200, + 414, + 1, + 4, + [] + ], + [ + "add", + 200, + 415, + -1, + 4, + [] + ], + [ + "add", + 200, + 417, + 1, + 2, + [] + ], + [ + "add", + 200, + 418, + 1, + 4, + [] + ], + [ + "add", + 200, + 419, + -1, + 4, + [] + ], + [ + "add", + 200, + 420, + -1, + 4, + [] + ], + [ + "add", + 200, + 421, + 1, + 4, + [] + ], + [ + "add", + 200, + 424, + 1, + 4, + [] + ], + [ + "add", + 200, + 425, + -1, + 4, + [] + ], + [ + "add", + 200, + 430, + 1, + 4, + [] + ], + [ + "add", + 200, + 431, + -1, + 4, + [] + ], + [ + "add", + 200, + 434, + 1, + 1, + [] + ], + [ + "add", + 200, + 435, + -1, + 1, + [] + ], + [ + "add", + 200, + 460, + 1, + 2, + [] + ], + [ + "add", + 200, + 461, + -1, + 2, + [] + ], + [ + "add", + 200, + 468, + 1, + 2, + [] + ], + [ + "add", + 200, + 469, + -1, + 2, + [] + ], + [ + "add", + 200, + 499, + 1, + 4, + [] + ], + [ + "add", + 120, + 224, + -1, + 2, + [] + ], + [ + "add", + 120, + 225, + 1, + 2, + [] + ], + [ + "add", + 120, + 230, + -1, + 2, + [] + ], + [ + "add", + 120, + 231, + 1, + 2, + [] + ], + [ + "add", + 120, + 234, + 1, + 2, + [] + ], + [ + "add", + 120, + 235, + -1, + 2, + [] + ], + [ + "add", + 120, + 236, + -1, + 2, + [] + ], + [ + "add", + 120, + 237, + 1, + 2, + [] + ], + [ + "add", + 120, + 241, + 1, + 2, + [] + ], + [ + "add", + 120, + 243, + 1, + 4, + [] + ], + [ + "add", + 120, + 244, + 1, + 4, + [] + ], + [ + "add", + 120, + 245, + -1, + 4, + [] + ], + [ + "add", + 120, + 248, + -1, + 4, + [] + ], + [ + "add", + 120, + 249, + 1, + 4, + [] + ], + [ + "add", + 120, + 254, + -1, + 4, + [] + ], + [ + "add", + 120, + 255, + 1, + 4, + [] + ], + [ + "add", + 120, + 257, + 1, + 2, + [] + ], + [ + "add", + 120, + 259, + 1, + 4, + [] + ], + [ + "add", + 120, + 260, + 1, + 4, + [] + ], + [ + "add", + 120, + 261, + -1, + 4, + [] + ], + [ + "add", + 120, + 264, + -1, + 4, + [] + ], + [ + "add", + 120, + 265, + 1, + 4, + [] + ], + [ + "add", + 120, + 270, + -1, + 4, + [] + ], + [ + "add", + 120, + 271, + 1, + 4, + [] + ], + [ + "add", + 120, + 306, + -1, + 4, + [] + ], + [ + "add", + 120, + 308, + 1, + 4, + [] + ], + [ + "add", + 120, + 315, + -1, + 2, + [] + ], + [ + "add", + 120, + 317, + 1, + 2, + [] + ], + [ + "add", + 120, + 318, + 1, + 4, + [] + ], + [ + "add", + 120, + 326, + -1, + 4, + [] + ], + [ + "add", + 120, + 331, + -1, + 4, + [] + ], + [ + "add", + 120, + 332, + 1, + 4, + [] + ], + [ + "add", + 120, + 334, + 1, + 2, + [] + ], + [ + "add", + 120, + 335, + -1, + 2, + [] + ], + [ + "add", + 120, + 342, + 1, + 4, + [] + ], + [ + "add", + 120, + 344, + 1, + 2, + [] + ], + [ + "add", + 120, + 347, + -1, + 4, + [] + ], + [ + "add", + 120, + 348, + 1, + 4, + [] + ], + [ + "add", + 120, + 351, + 1, + 2, + [] + ], + [ + "add", + 120, + 354, + 1, + 4, + [] + ], + [ + "add", + 120, + 356, + -1, + 4, + [] + ], + [ + "add", + 120, + 359, + 1, + 4, + [] + ], + [ + "add", + 120, + 361, + 1, + 2, + [] + ], + [ + "add", + 120, + 363, + -1, + 2, + [] + ], + [ + "add", + 120, + 366, + -1, + 4, + [] + ], + [ + "add", + 120, + 367, + 1, + 2, + [] + ], + [ + "add", + 120, + 379, + -1, + 1, + [] + ], + [ + "add", + 120, + 395, + -1, + 1, + [] + ], + [ + "add", + 120, + 401, + -1, + 2, + [] + ], + [ + "add", + 120, + 402, + 1, + 4, + [] + ], + [ + "add", + 120, + 403, + -1, + 4, + [] + ], + [ + "add", + 120, + 404, + -1, + 4, + [] + ], + [ + "add", + 120, + 405, + 1, + 4, + [] + ], + [ + "add", + 120, + 408, + 1, + 4, + [] + ], + [ + "add", + 120, + 409, + -1, + 4, + [] + ], + [ + "add", + 120, + 414, + 1, + 4, + [] + ], + [ + "add", + 120, + 415, + -1, + 4, + [] + ], + [ + "add", + 120, + 417, + -1, + 2, + [] + ], + [ + "add", + 120, + 418, + 1, + 4, + [] + ], + [ + "add", + 120, + 419, + -1, + 4, + [] + ], + [ + "add", + 120, + 420, + -1, + 4, + [] + ], + [ + "add", + 120, + 421, + 1, + 4, + [] + ], + [ + "add", + 120, + 424, + 1, + 4, + [] + ], + [ + "add", + 120, + 425, + -1, + 4, + [] + ], + [ + "add", + 120, + 430, + 1, + 4, + [] + ], + [ + "add", + 120, + 431, + -1, + 4, + [] + ], + [ + "add", + 120, + 460, + -1, + 2, + [] + ], + [ + "add", + 120, + 461, + -1, + 2, + [] + ], + [ + "add", + 120, + 468, + -1, + 2, + [] + ], + [ + "add", + 120, + 469, + -1, + 2, + [] + ], + [ + "add", + 120, + 499, + 1, + 4, + [] + ], + [ + "add", + 207, + 224, + -1, + 2, + [] + ], + [ + "add", + 207, + 225, + 1, + 2, + [] + ], + [ + "add", + 207, + 230, + -1, + 2, + [] + ], + [ + "add", + 207, + 231, + 1, + 2, + [] + ], + [ + "add", + 207, + 234, + 1, + 2, + [] + ], + [ + "add", + 207, + 235, + -1, + 2, + [] + ], + [ + "add", + 207, + 236, + -1, + 2, + [] + ], + [ + "add", + 207, + 237, + 1, + 2, + [] + ], + [ + "add", + 207, + 241, + 1, + 2, + [] + ], + [ + "add", + 207, + 243, + 1, + 4, + [] + ], + [ + "add", + 207, + 244, + 1, + 4, + [] + ], + [ + "add", + 207, + 245, + -1, + 4, + [] + ], + [ + "add", + 207, + 248, + -1, + 4, + [] + ], + [ + "add", + 207, + 249, + 1, + 4, + [] + ], + [ + "add", + 207, + 254, + -1, + 4, + [] + ], + [ + "add", + 207, + 255, + 1, + 4, + [] + ], + [ + "add", + 207, + 257, + 1, + 2, + [] + ], + [ + "add", + 207, + 259, + 1, + 4, + [] + ], + [ + "add", + 207, + 260, + 1, + 4, + [] + ], + [ + "add", + 207, + 261, + -1, + 4, + [] + ], + [ + "add", + 207, + 264, + -1, + 4, + [] + ], + [ + "add", + 207, + 265, + 1, + 4, + [] + ], + [ + "add", + 207, + 270, + -1, + 4, + [] + ], + [ + "add", + 207, + 271, + 1, + 4, + [] + ], + [ + "add", + 207, + 306, + -1, + 4, + [] + ], + [ + "add", + 207, + 308, + 1, + 4, + [] + ], + [ + "add", + 207, + 315, + -1, + 2, + [] + ], + [ + "add", + 207, + 317, + 1, + 2, + [] + ], + [ + "add", + 207, + 318, + 1, + 4, + [] + ], + [ + "add", + 207, + 326, + -1, + 4, + [] + ], + [ + "add", + 207, + 331, + -1, + 4, + [] + ], + [ + "add", + 207, + 332, + 1, + 4, + [] + ], + [ + "add", + 207, + 334, + 1, + 2, + [] + ], + [ + "add", + 207, + 335, + -1, + 2, + [] + ], + [ + "add", + 207, + 342, + 1, + 4, + [] + ], + [ + "add", + 207, + 344, + 1, + 2, + [] + ], + [ + "add", + 207, + 347, + -1, + 4, + [] + ], + [ + "add", + 207, + 348, + 1, + 4, + [] + ], + [ + "add", + 207, + 351, + 1, + 2, + [] + ], + [ + "add", + 207, + 354, + 1, + 4, + [] + ], + [ + "add", + 207, + 356, + -1, + 4, + [] + ], + [ + "add", + 207, + 359, + 1, + 4, + [] + ], + [ + "add", + 207, + 361, + 1, + 2, + [] + ], + [ + "add", + 207, + 363, + -1, + 2, + [] + ], + [ + "add", + 207, + 366, + -1, + 4, + [] + ], + [ + "add", + 207, + 367, + 1, + 2, + [] + ], + [ + "add", + 207, + 379, + -1, + 1, + [] + ], + [ + "add", + 207, + 395, + -1, + 1, + [] + ], + [ + "add", + 207, + 401, + -1, + 2, + [] + ], + [ + "add", + 207, + 402, + 1, + 4, + [] + ], + [ + "add", + 207, + 403, + -1, + 4, + [] + ], + [ + "add", + 207, + 404, + -1, + 4, + [] + ], + [ + "add", + 207, + 405, + 1, + 4, + [] + ], + [ + "add", + 207, + 408, + 1, + 4, + [] + ], + [ + "add", + 207, + 409, + -1, + 4, + [] + ], + [ + "add", + 207, + 414, + 1, + 4, + [] + ], + [ + "add", + 207, + 415, + -1, + 4, + [] + ], + [ + "add", + 207, + 417, + -1, + 2, + [] + ], + [ + "add", + 207, + 418, + 1, + 4, + [] + ], + [ + "add", + 207, + 419, + -1, + 4, + [] + ], + [ + "add", + 207, + 420, + -1, + 4, + [] + ], + [ + "add", + 207, + 421, + 1, + 4, + [] + ], + [ + "add", + 207, + 424, + 1, + 4, + [] + ], + [ + "add", + 207, + 425, + -1, + 4, + [] + ], + [ + "add", + 207, + 430, + 1, + 4, + [] + ], + [ + "add", + 207, + 431, + -1, + 4, + [] + ], + [ + "add", + 207, + 460, + -1, + 2, + [] + ], + [ + "add", + 207, + 461, + -1, + 2, + [] + ], + [ + "add", + 207, + 468, + -1, + 2, + [] + ], + [ + "add", + 207, + 469, + -1, + 2, + [] + ], + [ + "add", + 207, + 499, + 1, + 4, + [] + ], + [ + "add", + 178, + 241, + 1, + 2, + [] + ], + [ + "add", + 178, + 243, + -1, + 4, + [] + ], + [ + "add", + 178, + 244, + -1, + 4, + [] + ], + [ + "add", + 178, + 245, + 1, + 4, + [] + ], + [ + "add", + 178, + 248, + 1, + 4, + [] + ], + [ + "add", + 178, + 249, + -1, + 4, + [] + ], + [ + "add", + 178, + 254, + 1, + 4, + [] + ], + [ + "add", + 178, + 255, + -1, + 4, + [] + ], + [ + "add", + 178, + 257, + -1, + 2, + [] + ], + [ + "add", + 178, + 259, + 1, + 4, + [] + ], + [ + "add", + 178, + 260, + 1, + 4, + [] + ], + [ + "add", + 178, + 261, + -1, + 4, + [] + ], + [ + "add", + 178, + 264, + -1, + 4, + [] + ], + [ + "add", + 178, + 265, + 1, + 4, + [] + ], + [ + "add", + 178, + 270, + -1, + 4, + [] + ], + [ + "add", + 178, + 271, + 1, + 4, + [] + ], + [ + "add", + 178, + 272, + -1, + 2, + [] + ], + [ + "add", + 178, + 276, + 1, + 2, + [] + ], + [ + "add", + 178, + 280, + 1, + 2, + [] + ], + [ + "add", + 178, + 286, + 1, + 2, + [] + ], + [ + "add", + 178, + 306, + -1, + 4, + [] + ], + [ + "add", + 178, + 308, + 1, + 4, + [] + ], + [ + "add", + 178, + 315, + 1, + 2, + [] + ], + [ + "add", + 178, + 317, + -1, + 2, + [] + ], + [ + "add", + 178, + 318, + 1, + 4, + [] + ], + [ + "add", + 178, + 326, + 1, + 4, + [] + ], + [ + "add", + 178, + 331, + 1, + 4, + [] + ], + [ + "add", + 178, + 332, + -1, + 4, + [] + ], + [ + "add", + 178, + 334, + 1, + 2, + [] + ], + [ + "add", + 178, + 335, + -1, + 2, + [] + ], + [ + "add", + 178, + 342, + -1, + 4, + [] + ], + [ + "add", + 178, + 344, + 1, + 2, + [] + ], + [ + "add", + 178, + 347, + 1, + 4, + [] + ], + [ + "add", + 178, + 348, + -1, + 4, + [] + ], + [ + "add", + 178, + 351, + 1, + 2, + [] + ], + [ + "add", + 178, + 354, + -1, + 4, + [] + ], + [ + "add", + 178, + 356, + 1, + 4, + [] + ], + [ + "add", + 178, + 359, + -1, + 4, + [] + ], + [ + "add", + 178, + 361, + 1, + 2, + [] + ], + [ + "add", + 178, + 363, + -1, + 2, + [] + ], + [ + "add", + 178, + 366, + 1, + 4, + [] + ], + [ + "add", + 178, + 367, + -1, + 2, + [] + ], + [ + "add", + 178, + 368, + -1, + 2, + [] + ], + [ + "add", + 178, + 372, + 1, + 2, + [] + ], + [ + "add", + 178, + 382, + 1, + 2, + [] + ], + [ + "add", + 178, + 383, + -1, + 2, + [] + ], + [ + "add", + 178, + 401, + 1, + 2, + [] + ], + [ + "add", + 178, + 402, + 1, + 4, + [] + ], + [ + "add", + 178, + 403, + -1, + 4, + [] + ], + [ + "add", + 178, + 404, + -1, + 4, + [] + ], + [ + "add", + 178, + 405, + 1, + 4, + [] + ], + [ + "add", + 178, + 408, + 1, + 4, + [] + ], + [ + "add", + 178, + 409, + -1, + 4, + [] + ], + [ + "add", + 178, + 414, + 1, + 4, + [] + ], + [ + "add", + 178, + 415, + -1, + 4, + [] + ], + [ + "add", + 178, + 417, + -1, + 2, + [] + ], + [ + "add", + 178, + 418, + -1, + 4, + [] + ], + [ + "add", + 178, + 419, + 1, + 4, + [] + ], + [ + "add", + 178, + 420, + 1, + 4, + [] + ], + [ + "add", + 178, + 421, + -1, + 4, + [] + ], + [ + "add", + 178, + 424, + -1, + 4, + [] + ], + [ + "add", + 178, + 425, + 1, + 4, + [] + ], + [ + "add", + 178, + 430, + -1, + 4, + [] + ], + [ + "add", + 178, + 431, + 1, + 4, + [] + ], + [ + "add", + 178, + 432, + 1, + 2, + [] + ], + [ + "add", + 178, + 433, + -1, + 2, + [] + ], + [ + "add", + 178, + 438, + -1, + 2, + [] + ], + [ + "add", + 178, + 439, + 1, + 2, + [] + ], + [ + "add", + 178, + 442, + 1, + 2, + [] + ], + [ + "add", + 178, + 443, + -1, + 2, + [] + ], + [ + "add", + 178, + 444, + 1, + 2, + [] + ], + [ + "add", + 178, + 445, + -1, + 2, + [] + ], + [ + "add", + 178, + 460, + 1, + 2, + [] + ], + [ + "add", + 178, + 461, + -1, + 2, + [] + ], + [ + "add", + 178, + 468, + -1, + 2, + [] + ], + [ + "add", + 178, + 469, + 1, + 2, + [] + ], + [ + "add", + 178, + 499, + 1, + 4, + [] + ], + [ + "add", + 138, + 241, + 1, + 2, + [] + ], + [ + "add", + 138, + 243, + -1, + 4, + [] + ], + [ + "add", + 138, + 244, + -1, + 4, + [] + ], + [ + "add", + 138, + 245, + 1, + 4, + [] + ], + [ + "add", + 138, + 248, + 1, + 4, + [] + ], + [ + "add", + 138, + 249, + -1, + 4, + [] + ], + [ + "add", + 138, + 254, + 1, + 4, + [] + ], + [ + "add", + 138, + 255, + -1, + 4, + [] + ], + [ + "add", + 138, + 257, + 1, + 2, + [] + ], + [ + "add", + 138, + 259, + -1, + 4, + [] + ], + [ + "add", + 138, + 260, + -1, + 4, + [] + ], + [ + "add", + 138, + 261, + 1, + 4, + [] + ], + [ + "add", + 138, + 264, + 1, + 4, + [] + ], + [ + "add", + 138, + 265, + -1, + 4, + [] + ], + [ + "add", + 138, + 270, + 1, + 4, + [] + ], + [ + "add", + 138, + 271, + -1, + 4, + [] + ], + [ + "add", + 138, + 287, + 1, + 1, + [] + ], + [ + "add", + 138, + 306, + -1, + 4, + [] + ], + [ + "add", + 138, + 308, + 1, + 4, + [] + ], + [ + "add", + 138, + 315, + 1, + 2, + [] + ], + [ + "add", + 138, + 317, + -1, + 2, + [] + ], + [ + "add", + 138, + 318, + 1, + 4, + [] + ], + [ + "add", + 138, + 326, + -1, + 4, + [] + ], + [ + "add", + 138, + 331, + -1, + 4, + [] + ], + [ + "add", + 138, + 332, + 1, + 4, + [] + ], + [ + "add", + 138, + 334, + -1, + 2, + [] + ], + [ + "add", + 138, + 335, + 1, + 2, + [] + ], + [ + "add", + 138, + 342, + -1, + 4, + [] + ], + [ + "add", + 138, + 344, + 1, + 2, + [] + ], + [ + "add", + 138, + 347, + 1, + 4, + [] + ], + [ + "add", + 138, + 348, + -1, + 4, + [] + ], + [ + "add", + 138, + 351, + 1, + 2, + [] + ], + [ + "add", + 138, + 354, + 1, + 4, + [] + ], + [ + "add", + 138, + 356, + -1, + 4, + [] + ], + [ + "add", + 138, + 359, + 1, + 4, + [] + ], + [ + "add", + 138, + 361, + -1, + 2, + [] + ], + [ + "add", + 138, + 363, + 1, + 2, + [] + ], + [ + "add", + 138, + 366, + -1, + 4, + [] + ], + [ + "add", + 138, + 367, + 1, + 2, + [] + ], + [ + "add", + 138, + 383, + 1, + 1, + [] + ], + [ + "add", + 138, + 401, + 1, + 2, + [] + ], + [ + "add", + 138, + 402, + 1, + 4, + [] + ], + [ + "add", + 138, + 403, + -1, + 4, + [] + ], + [ + "add", + 138, + 404, + -1, + 4, + [] + ], + [ + "add", + 138, + 405, + 1, + 4, + [] + ], + [ + "add", + 138, + 408, + 1, + 4, + [] + ], + [ + "add", + 138, + 409, + -1, + 4, + [] + ], + [ + "add", + 138, + 414, + 1, + 4, + [] + ], + [ + "add", + 138, + 415, + -1, + 4, + [] + ], + [ + "add", + 138, + 417, + 1, + 2, + [] + ], + [ + "add", + 138, + 418, + 1, + 4, + [] + ], + [ + "add", + 138, + 419, + -1, + 4, + [] + ], + [ + "add", + 138, + 420, + -1, + 4, + [] + ], + [ + "add", + 138, + 421, + 1, + 4, + [] + ], + [ + "add", + 138, + 424, + 1, + 4, + [] + ], + [ + "add", + 138, + 425, + -1, + 4, + [] + ], + [ + "add", + 138, + 430, + 1, + 4, + [] + ], + [ + "add", + 138, + 431, + -1, + 4, + [] + ], + [ + "add", + 138, + 434, + 1, + 1, + [] + ], + [ + "add", + 138, + 435, + -1, + 1, + [] + ], + [ + "add", + 138, + 460, + 1, + 2, + [] + ], + [ + "add", + 138, + 461, + -1, + 2, + [] + ], + [ + "add", + 138, + 468, + 1, + 2, + [] + ], + [ + "add", + 138, + 469, + -1, + 2, + [] + ], + [ + "add", + 138, + 499, + 1, + 4, + [] + ], + [ + "add", + 125, + 224, + -1, + 2, + [] + ], + [ + "add", + 125, + 226, + 1, + 2, + [] + ], + [ + "add", + 125, + 227, + -1, + 2, + [] + ], + [ + "add", + 125, + 230, + 1, + 2, + [] + ], + [ + "add", + 125, + 233, + -1, + 2, + [] + ], + [ + "add", + 125, + 234, + -1, + 2, + [] + ], + [ + "add", + 125, + 235, + 1, + 2, + [] + ], + [ + "add", + 125, + 239, + 1, + 2, + [] + ], + [ + "add", + 125, + 278, + 1, + 4, + [] + ], + [ + "add", + 125, + 283, + 1, + 4, + [] + ], + [ + "add", + 125, + 284, + -1, + 4, + [] + ], + [ + "add", + 125, + 286, + -1, + 2, + [] + ], + [ + "add", + 125, + 287, + 1, + 2, + [] + ], + [ + "add", + 125, + 294, + 1, + 4, + [] + ], + [ + "add", + 125, + 299, + 1, + 4, + [] + ], + [ + "add", + 125, + 300, + -1, + 4, + [] + ], + [ + "add", + 125, + 302, + -1, + 2, + [] + ], + [ + "add", + 125, + 303, + 1, + 2, + [] + ], + [ + "add", + 125, + 310, + 1, + 4, + [] + ], + [ + "add", + 125, + 315, + 1, + 4, + [] + ], + [ + "add", + 125, + 316, + -1, + 4, + [] + ], + [ + "add", + 125, + 318, + -1, + 2, + [] + ], + [ + "add", + 125, + 319, + 1, + 2, + [] + ], + [ + "add", + 125, + 326, + 1, + 4, + [] + ], + [ + "add", + 125, + 331, + 1, + 4, + [] + ], + [ + "add", + 125, + 332, + -1, + 4, + [] + ], + [ + "add", + 125, + 334, + -1, + 2, + [] + ], + [ + "add", + 125, + 335, + 1, + 2, + [] + ], + [ + "add", + 125, + 342, + 1, + 4, + [] + ], + [ + "add", + 125, + 347, + 1, + 4, + [] + ], + [ + "add", + 125, + 348, + -1, + 4, + [] + ], + [ + "add", + 125, + 350, + -1, + 2, + [] + ], + [ + "add", + 125, + 351, + 1, + 2, + [] + ], + [ + "add", + 125, + 358, + 1, + 4, + [] + ], + [ + "add", + 125, + 363, + 1, + 4, + [] + ], + [ + "add", + 125, + 364, + -1, + 4, + [] + ], + [ + "add", + 125, + 366, + -1, + 2, + [] + ], + [ + "add", + 125, + 367, + 1, + 2, + [] + ], + [ + "add", + 125, + 374, + 1, + 4, + [] + ], + [ + "add", + 125, + 379, + 1, + 4, + [] + ], + [ + "add", + 125, + 380, + -1, + 4, + [] + ], + [ + "add", + 125, + 382, + -1, + 2, + [] + ], + [ + "add", + 125, + 383, + 1, + 2, + [] + ], + [ + "add", + 125, + 390, + 1, + 4, + [] + ], + [ + "add", + 125, + 395, + 1, + 4, + [] + ], + [ + "add", + 125, + 396, + -1, + 4, + [] + ], + [ + "add", + 125, + 398, + -1, + 2, + [] + ], + [ + "add", + 125, + 399, + 1, + 2, + [] + ], + [ + "add", + 125, + 400, + -1, + 2, + [] + ], + [ + "add", + 125, + 403, + -1, + 2, + [] + ], + [ + "add", + 125, + 405, + -1, + 2, + [] + ], + [ + "add", + 125, + 406, + -1, + 2, + [] + ], + [ + "add", + 125, + 410, + 1, + 2, + [] + ], + [ + "add", + 125, + 411, + -1, + 2, + [] + ], + [ + "add", + 125, + 414, + -1, + 2, + [] + ], + [ + "add", + 125, + 415, + 1, + 2, + [] + ], + [ + "add", + 125, + 416, + -1, + 2, + [] + ], + [ + "add", + 125, + 419, + -1, + 2, + [] + ], + [ + "add", + 125, + 421, + -1, + 2, + [] + ], + [ + "add", + 125, + 422, + -1, + 2, + [] + ], + [ + "add", + 125, + 426, + 1, + 2, + [] + ], + [ + "add", + 125, + 427, + -1, + 2, + [] + ], + [ + "add", + 125, + 430, + -1, + 2, + [] + ], + [ + "add", + 125, + 431, + 1, + 2, + [] + ], + [ + "add", + 125, + 480, + -1, + 2, + [] + ], + [ + "add", + 125, + 481, + -1, + 2, + [] + ], + [ + "add", + 125, + 492, + -1, + 2, + [] + ], + [ + "add", + 125, + 493, + -1, + 2, + [] + ], + [ + "add", + 125, + 504, + -1, + 2, + [] + ], + [ + "add", + 125, + 505, + -1, + 2, + [] + ], + [ + "add", + 125, + 516, + -1, + 2, + [] + ], + [ + "add", + 125, + 517, + -1, + 2, + [] + ], + [ + "add", + 190, + 272, + 1, + 4, + [] + ], + [ + "add", + 190, + 276, + 1, + 4, + [] + ], + [ + "add", + 190, + 278, + 1, + 4, + [] + ], + [ + "add", + 190, + 280, + -1, + 4, + [] + ], + [ + "add", + 190, + 283, + -1, + 4, + [] + ], + [ + "add", + 190, + 284, + -1, + 4, + [] + ], + [ + "add", + 190, + 286, + -1, + 4, + [] + ], + [ + "add", + 190, + 288, + 1, + 4, + [] + ], + [ + "add", + 190, + 292, + 1, + 4, + [] + ], + [ + "add", + 190, + 294, + 1, + 4, + [] + ], + [ + "add", + 190, + 296, + -1, + 4, + [] + ], + [ + "add", + 190, + 299, + -1, + 4, + [] + ], + [ + "add", + 190, + 300, + -1, + 4, + [] + ], + [ + "add", + 190, + 302, + -1, + 4, + [] + ], + [ + "add", + 190, + 304, + 1, + 4, + [] + ], + [ + "add", + 190, + 308, + 1, + 4, + [] + ], + [ + "add", + 190, + 310, + 1, + 4, + [] + ], + [ + "add", + 190, + 312, + -1, + 4, + [] + ], + [ + "add", + 190, + 315, + -1, + 4, + [] + ], + [ + "add", + 190, + 316, + -1, + 4, + [] + ], + [ + "add", + 190, + 318, + -1, + 4, + [] + ], + [ + "add", + 190, + 320, + 1, + 4, + [] + ], + [ + "add", + 190, + 324, + 1, + 4, + [] + ], + [ + "add", + 190, + 326, + 1, + 4, + [] + ], + [ + "add", + 190, + 331, + -1, + 4, + [] + ], + [ + "add", + 190, + 332, + -1, + 4, + [] + ], + [ + "add", + 190, + 334, + -1, + 4, + [] + ], + [ + "add", + 190, + 335, + 1, + 4, + [] + ], + [ + "add", + 190, + 336, + 1, + 4, + [] + ], + [ + "add", + 190, + 340, + 1, + 4, + [] + ], + [ + "add", + 190, + 342, + 1, + 4, + [] + ], + [ + "add", + 190, + 347, + -1, + 4, + [] + ], + [ + "add", + 190, + 348, + -1, + 4, + [] + ], + [ + "add", + 190, + 350, + -1, + 4, + [] + ], + [ + "add", + 190, + 351, + 1, + 4, + [] + ], + [ + "add", + 190, + 352, + 1, + 4, + [] + ], + [ + "add", + 190, + 356, + 1, + 4, + [] + ], + [ + "add", + 190, + 358, + 1, + 4, + [] + ], + [ + "add", + 190, + 363, + -1, + 4, + [] + ], + [ + "add", + 190, + 364, + -1, + 4, + [] + ], + [ + "add", + 190, + 366, + -1, + 4, + [] + ], + [ + "add", + 190, + 367, + 1, + 4, + [] + ], + [ + "add", + 190, + 368, + 1, + 4, + [] + ], + [ + "add", + 190, + 372, + 1, + 4, + [] + ], + [ + "add", + 190, + 374, + 1, + 4, + [] + ], + [ + "add", + 190, + 379, + -1, + 4, + [] + ], + [ + "add", + 190, + 380, + -1, + 4, + [] + ], + [ + "add", + 190, + 382, + -1, + 4, + [] + ], + [ + "add", + 190, + 383, + 1, + 4, + [] + ], + [ + "add", + 190, + 384, + 1, + 4, + [] + ], + [ + "add", + 190, + 388, + 1, + 4, + [] + ], + [ + "add", + 190, + 390, + 1, + 4, + [] + ], + [ + "add", + 190, + 395, + -1, + 4, + [] + ], + [ + "add", + 190, + 396, + -1, + 4, + [] + ], + [ + "add", + 190, + 398, + -1, + 4, + [] + ], + [ + "add", + 190, + 399, + 1, + 4, + [] + ], + [ + "add", + 190, + 480, + -1, + 2, + [] + ], + [ + "add", + 190, + 481, + -1, + 2, + [] + ], + [ + "add", + 190, + 492, + -1, + 2, + [] + ], + [ + "add", + 190, + 493, + -1, + 2, + [] + ], + [ + "add", + 190, + 504, + -1, + 2, + [] + ], + [ + "add", + 190, + 505, + -1, + 2, + [] + ], + [ + "add", + 190, + 516, + -1, + 2, + [] + ], + [ + "add", + 190, + 517, + -1, + 2, + [] + ], + [ + "add", + 163, + 256, + -1, + 2, + [] + ], + [ + "add", + 163, + 259, + -1, + 2, + [] + ], + [ + "add", + 163, + 262, + 1, + 2, + [] + ], + [ + "add", + 163, + 265, + -1, + 2, + [] + ], + [ + "add", + 163, + 266, + -1, + 2, + [] + ], + [ + "add", + 163, + 267, + 1, + 2, + [] + ], + [ + "add", + 163, + 271, + 1, + 2, + [] + ], + [ + "add", + 163, + 278, + -1, + 4, + [] + ], + [ + "add", + 163, + 283, + -1, + 4, + [] + ], + [ + "add", + 163, + 284, + 1, + 4, + [] + ], + [ + "add", + 163, + 286, + -1, + 2, + [] + ], + [ + "add", + 163, + 287, + 1, + 2, + [] + ], + [ + "add", + 163, + 294, + -1, + 4, + [] + ], + [ + "add", + 163, + 299, + -1, + 4, + [] + ], + [ + "add", + 163, + 300, + 1, + 4, + [] + ], + [ + "add", + 163, + 302, + -1, + 2, + [] + ], + [ + "add", + 163, + 303, + 1, + 2, + [] + ], + [ + "add", + 163, + 310, + -1, + 4, + [] + ], + [ + "add", + 163, + 315, + -1, + 4, + [] + ], + [ + "add", + 163, + 316, + 1, + 4, + [] + ], + [ + "add", + 163, + 318, + -1, + 2, + [] + ], + [ + "add", + 163, + 319, + 1, + 2, + [] + ], + [ + "add", + 163, + 326, + -1, + 4, + [] + ], + [ + "add", + 163, + 331, + -1, + 4, + [] + ], + [ + "add", + 163, + 332, + 1, + 4, + [] + ], + [ + "add", + 163, + 334, + -1, + 2, + [] + ], + [ + "add", + 163, + 335, + 1, + 2, + [] + ], + [ + "add", + 163, + 342, + -1, + 4, + [] + ], + [ + "add", + 163, + 347, + -1, + 4, + [] + ], + [ + "add", + 163, + 348, + 1, + 4, + [] + ], + [ + "add", + 163, + 350, + -1, + 2, + [] + ], + [ + "add", + 163, + 351, + 1, + 2, + [] + ], + [ + "add", + 163, + 358, + -1, + 4, + [] + ], + [ + "add", + 163, + 363, + -1, + 4, + [] + ], + [ + "add", + 163, + 364, + 1, + 4, + [] + ], + [ + "add", + 163, + 366, + -1, + 2, + [] + ], + [ + "add", + 163, + 367, + 1, + 2, + [] + ], + [ + "add", + 163, + 374, + -1, + 4, + [] + ], + [ + "add", + 163, + 379, + -1, + 4, + [] + ], + [ + "add", + 163, + 380, + 1, + 4, + [] + ], + [ + "add", + 163, + 382, + -1, + 2, + [] + ], + [ + "add", + 163, + 383, + 1, + 2, + [] + ], + [ + "add", + 163, + 390, + -1, + 4, + [] + ], + [ + "add", + 163, + 395, + -1, + 4, + [] + ], + [ + "add", + 163, + 396, + 1, + 4, + [] + ], + [ + "add", + 163, + 398, + -1, + 2, + [] + ], + [ + "add", + 163, + 399, + 1, + 2, + [] + ], + [ + "add", + 163, + 416, + -1, + 2, + [] + ], + [ + "add", + 163, + 418, + 1, + 2, + [] + ], + [ + "add", + 163, + 419, + -1, + 2, + [] + ], + [ + "add", + 163, + 422, + 1, + 2, + [] + ], + [ + "add", + 163, + 425, + -1, + 2, + [] + ], + [ + "add", + 163, + 426, + -1, + 2, + [] + ], + [ + "add", + 163, + 427, + 1, + 2, + [] + ], + [ + "add", + 163, + 431, + 1, + 2, + [] + ], + [ + "add", + 163, + 432, + -1, + 2, + [] + ], + [ + "add", + 163, + 434, + 1, + 2, + [] + ], + [ + "add", + 163, + 435, + -1, + 2, + [] + ], + [ + "add", + 163, + 438, + 1, + 2, + [] + ], + [ + "add", + 163, + 441, + -1, + 2, + [] + ], + [ + "add", + 163, + 442, + -1, + 2, + [] + ], + [ + "add", + 163, + 443, + 1, + 2, + [] + ], + [ + "add", + 163, + 447, + 1, + 2, + [] + ], + [ + "add", + 163, + 480, + 1, + 2, + [] + ], + [ + "add", + 163, + 481, + -1, + 2, + [] + ], + [ + "add", + 163, + 492, + 1, + 2, + [] + ], + [ + "add", + 163, + 493, + -1, + 2, + [] + ], + [ + "add", + 163, + 504, + 1, + 2, + [] + ], + [ + "add", + 163, + 505, + -1, + 2, + [] + ], + [ + "add", + 163, + 516, + 1, + 2, + [] + ], + [ + "add", + 163, + 517, + -1, + 2, + [] + ], + [ + "add", + 155, + 272, + 1, + 4, + [] + ], + [ + "add", + 155, + 276, + 1, + 4, + [] + ], + [ + "add", + 155, + 278, + 1, + 4, + [] + ], + [ + "add", + 155, + 280, + -1, + 4, + [] + ], + [ + "add", + 155, + 283, + -1, + 4, + [] + ], + [ + "add", + 155, + 284, + -1, + 4, + [] + ], + [ + "add", + 155, + 286, + -1, + 4, + [] + ], + [ + "add", + 155, + 288, + 1, + 4, + [] + ], + [ + "add", + 155, + 292, + 1, + 4, + [] + ], + [ + "add", + 155, + 294, + 1, + 4, + [] + ], + [ + "add", + 155, + 296, + -1, + 4, + [] + ], + [ + "add", + 155, + 299, + -1, + 4, + [] + ], + [ + "add", + 155, + 300, + -1, + 4, + [] + ], + [ + "add", + 155, + 302, + -1, + 4, + [] + ], + [ + "add", + 155, + 304, + -1, + 4, + [] + ], + [ + "add", + 155, + 308, + -1, + 4, + [] + ], + [ + "add", + 155, + 310, + -1, + 4, + [] + ], + [ + "add", + 155, + 312, + 1, + 4, + [] + ], + [ + "add", + 155, + 315, + 1, + 4, + [] + ], + [ + "add", + 155, + 316, + 1, + 4, + [] + ], + [ + "add", + 155, + 318, + 1, + 4, + [] + ], + [ + "add", + 155, + 320, + -1, + 4, + [] + ], + [ + "add", + 155, + 324, + -1, + 4, + [] + ], + [ + "add", + 155, + 326, + -1, + 4, + [] + ], + [ + "add", + 155, + 331, + 1, + 4, + [] + ], + [ + "add", + 155, + 332, + 1, + 4, + [] + ], + [ + "add", + 155, + 334, + 1, + 4, + [] + ], + [ + "add", + 155, + 335, + -1, + 4, + [] + ], + [ + "add", + 155, + 336, + 1, + 4, + [] + ], + [ + "add", + 155, + 340, + 1, + 4, + [] + ], + [ + "add", + 155, + 342, + 1, + 4, + [] + ], + [ + "add", + 155, + 347, + -1, + 4, + [] + ], + [ + "add", + 155, + 348, + -1, + 4, + [] + ], + [ + "add", + 155, + 350, + -1, + 4, + [] + ], + [ + "add", + 155, + 351, + 1, + 4, + [] + ], + [ + "add", + 155, + 352, + 1, + 4, + [] + ], + [ + "add", + 155, + 356, + 1, + 4, + [] + ], + [ + "add", + 155, + 358, + 1, + 4, + [] + ], + [ + "add", + 155, + 363, + -1, + 4, + [] + ], + [ + "add", + 155, + 364, + -1, + 4, + [] + ], + [ + "add", + 155, + 366, + -1, + 4, + [] + ], + [ + "add", + 155, + 367, + 1, + 4, + [] + ], + [ + "add", + 155, + 368, + -1, + 4, + [] + ], + [ + "add", + 155, + 372, + -1, + 4, + [] + ], + [ + "add", + 155, + 374, + -1, + 4, + [] + ], + [ + "add", + 155, + 379, + 1, + 4, + [] + ], + [ + "add", + 155, + 380, + 1, + 4, + [] + ], + [ + "add", + 155, + 382, + 1, + 4, + [] + ], + [ + "add", + 155, + 383, + -1, + 4, + [] + ], + [ + "add", + 155, + 384, + -1, + 4, + [] + ], + [ + "add", + 155, + 388, + -1, + 4, + [] + ], + [ + "add", + 155, + 390, + -1, + 4, + [] + ], + [ + "add", + 155, + 395, + 1, + 4, + [] + ], + [ + "add", + 155, + 396, + 1, + 4, + [] + ], + [ + "add", + 155, + 398, + 1, + 4, + [] + ], + [ + "add", + 155, + 399, + -1, + 4, + [] + ], + [ + "add", + 155, + 480, + -1, + 2, + [] + ], + [ + "add", + 155, + 481, + -1, + 2, + [] + ], + [ + "add", + 155, + 492, + -1, + 2, + [] + ], + [ + "add", + 155, + 493, + -1, + 2, + [] + ], + [ + "add", + 155, + 504, + 1, + 2, + [] + ], + [ + "add", + 155, + 505, + 1, + 2, + [] + ], + [ + "add", + 155, + 516, + 1, + 2, + [] + ], + [ + "add", + 155, + 517, + 1, + 2, + [] + ], + [ + "add", + 128, + 224, + -1, + 2, + [] + ], + [ + "add", + 128, + 225, + 1, + 2, + [] + ], + [ + "add", + 128, + 227, + -1, + 2, + [] + ], + [ + "add", + 128, + 229, + 1, + 2, + [] + ], + [ + "add", + 128, + 235, + -1, + 2, + [] + ], + [ + "add", + 128, + 237, + 1, + 2, + [] + ], + [ + "add", + 128, + 238, + 1, + 2, + [] + ], + [ + "add", + 128, + 239, + -1, + 2, + [] + ], + [ + "add", + 128, + 278, + 1, + 4, + [] + ], + [ + "add", + 128, + 283, + 1, + 4, + [] + ], + [ + "add", + 128, + 284, + -1, + 4, + [] + ], + [ + "add", + 128, + 286, + -1, + 2, + [] + ], + [ + "add", + 128, + 287, + 1, + 2, + [] + ], + [ + "add", + 128, + 294, + 1, + 4, + [] + ], + [ + "add", + 128, + 299, + 1, + 4, + [] + ], + [ + "add", + 128, + 300, + -1, + 4, + [] + ], + [ + "add", + 128, + 302, + -1, + 2, + [] + ], + [ + "add", + 128, + 303, + 1, + 2, + [] + ], + [ + "add", + 128, + 310, + -1, + 4, + [] + ], + [ + "add", + 128, + 315, + -1, + 4, + [] + ], + [ + "add", + 128, + 316, + 1, + 4, + [] + ], + [ + "add", + 128, + 318, + 1, + 2, + [] + ], + [ + "add", + 128, + 319, + -1, + 2, + [] + ], + [ + "add", + 128, + 326, + -1, + 4, + [] + ], + [ + "add", + 128, + 331, + -1, + 4, + [] + ], + [ + "add", + 128, + 332, + 1, + 4, + [] + ], + [ + "add", + 128, + 334, + 1, + 2, + [] + ], + [ + "add", + 128, + 335, + -1, + 2, + [] + ], + [ + "add", + 128, + 342, + 1, + 4, + [] + ], + [ + "add", + 128, + 347, + 1, + 4, + [] + ], + [ + "add", + 128, + 348, + -1, + 4, + [] + ], + [ + "add", + 128, + 350, + -1, + 2, + [] + ], + [ + "add", + 128, + 351, + 1, + 2, + [] + ], + [ + "add", + 128, + 358, + 1, + 4, + [] + ], + [ + "add", + 128, + 363, + 1, + 4, + [] + ], + [ + "add", + 128, + 364, + -1, + 4, + [] + ], + [ + "add", + 128, + 366, + -1, + 2, + [] + ], + [ + "add", + 128, + 367, + 1, + 2, + [] + ], + [ + "add", + 128, + 374, + -1, + 4, + [] + ], + [ + "add", + 128, + 379, + -1, + 4, + [] + ], + [ + "add", + 128, + 380, + 1, + 4, + [] + ], + [ + "add", + 128, + 382, + 1, + 2, + [] + ], + [ + "add", + 128, + 383, + -1, + 2, + [] + ], + [ + "add", + 128, + 390, + -1, + 4, + [] + ], + [ + "add", + 128, + 395, + -1, + 4, + [] + ], + [ + "add", + 128, + 396, + 1, + 4, + [] + ], + [ + "add", + 128, + 398, + 1, + 2, + [] + ], + [ + "add", + 128, + 399, + -1, + 2, + [] + ], + [ + "add", + 128, + 401, + -1, + 2, + [] + ], + [ + "add", + 128, + 402, + 1, + 2, + [] + ], + [ + "add", + 128, + 403, + -1, + 2, + [] + ], + [ + "add", + 128, + 409, + -1, + 2, + [] + ], + [ + "add", + 128, + 411, + -1, + 2, + [] + ], + [ + "add", + 128, + 413, + -1, + 2, + [] + ], + [ + "add", + 128, + 415, + -1, + 2, + [] + ], + [ + "add", + 128, + 417, + -1, + 2, + [] + ], + [ + "add", + 128, + 418, + 1, + 2, + [] + ], + [ + "add", + 128, + 419, + -1, + 2, + [] + ], + [ + "add", + 128, + 425, + -1, + 2, + [] + ], + [ + "add", + 128, + 427, + -1, + 2, + [] + ], + [ + "add", + 128, + 429, + -1, + 2, + [] + ], + [ + "add", + 128, + 431, + -1, + 2, + [] + ], + [ + "add", + 128, + 480, + -1, + 2, + [] + ], + [ + "add", + 128, + 481, + -1, + 2, + [] + ], + [ + "add", + 128, + 492, + -1, + 2, + [] + ], + [ + "add", + 128, + 493, + -1, + 2, + [] + ], + [ + "add", + 128, + 504, + 1, + 2, + [] + ], + [ + "add", + 128, + 505, + 1, + 2, + [] + ], + [ + "add", + 128, + 516, + 1, + 2, + [] + ], + [ + "add", + 128, + 517, + 1, + 2, + [] + ], + [ + "add", + 156, + 257, + 1, + 2, + [] + ], + [ + "add", + 156, + 258, + -1, + 2, + [] + ], + [ + "add", + 156, + 259, + -1, + 2, + [] + ], + [ + "add", + 156, + 261, + 1, + 2, + [] + ], + [ + "add", + 156, + 267, + -1, + 2, + [] + ], + [ + "add", + 156, + 269, + 1, + 2, + [] + ], + [ + "add", + 156, + 270, + 1, + 2, + [] + ], + [ + "add", + 156, + 271, + -1, + 2, + [] + ], + [ + "add", + 156, + 278, + -1, + 4, + [] + ], + [ + "add", + 156, + 283, + -1, + 4, + [] + ], + [ + "add", + 156, + 284, + 1, + 4, + [] + ], + [ + "add", + 156, + 286, + -1, + 2, + [] + ], + [ + "add", + 156, + 287, + 1, + 2, + [] + ], + [ + "add", + 156, + 294, + 1, + 4, + [] + ], + [ + "add", + 156, + 299, + 1, + 4, + [] + ], + [ + "add", + 156, + 300, + -1, + 4, + [] + ], + [ + "add", + 156, + 302, + 1, + 2, + [] + ], + [ + "add", + 156, + 303, + -1, + 2, + [] + ], + [ + "add", + 156, + 310, + 1, + 4, + [] + ], + [ + "add", + 156, + 315, + 1, + 4, + [] + ], + [ + "add", + 156, + 316, + -1, + 4, + [] + ], + [ + "add", + 156, + 318, + 1, + 2, + [] + ], + [ + "add", + 156, + 319, + -1, + 2, + [] + ], + [ + "add", + 156, + 326, + -1, + 4, + [] + ], + [ + "add", + 156, + 331, + -1, + 4, + [] + ], + [ + "add", + 156, + 332, + 1, + 4, + [] + ], + [ + "add", + 156, + 334, + -1, + 2, + [] + ], + [ + "add", + 156, + 335, + 1, + 2, + [] + ], + [ + "add", + 156, + 342, + 1, + 4, + [] + ], + [ + "add", + 156, + 347, + 1, + 4, + [] + ], + [ + "add", + 156, + 348, + -1, + 4, + [] + ], + [ + "add", + 156, + 350, + 1, + 2, + [] + ], + [ + "add", + 156, + 351, + -1, + 2, + [] + ], + [ + "add", + 156, + 358, + -1, + 4, + [] + ], + [ + "add", + 156, + 363, + -1, + 4, + [] + ], + [ + "add", + 156, + 364, + 1, + 4, + [] + ], + [ + "add", + 156, + 366, + -1, + 2, + [] + ], + [ + "add", + 156, + 367, + 1, + 2, + [] + ], + [ + "add", + 156, + 374, + -1, + 4, + [] + ], + [ + "add", + 156, + 379, + -1, + 4, + [] + ], + [ + "add", + 156, + 380, + 1, + 4, + [] + ], + [ + "add", + 156, + 382, + -1, + 2, + [] + ], + [ + "add", + 156, + 383, + 1, + 2, + [] + ], + [ + "add", + 156, + 390, + 1, + 4, + [] + ], + [ + "add", + 156, + 395, + 1, + 4, + [] + ], + [ + "add", + 156, + 396, + -1, + 4, + [] + ], + [ + "add", + 156, + 398, + 1, + 2, + [] + ], + [ + "add", + 156, + 399, + -1, + 2, + [] + ], + [ + "add", + 156, + 417, + 1, + 2, + [] + ], + [ + "add", + 156, + 419, + -1, + 2, + [] + ], + [ + "add", + 156, + 421, + 1, + 2, + [] + ], + [ + "add", + 156, + 427, + -1, + 2, + [] + ], + [ + "add", + 156, + 429, + 1, + 2, + [] + ], + [ + "add", + 156, + 430, + 1, + 2, + [] + ], + [ + "add", + 156, + 431, + -1, + 2, + [] + ], + [ + "add", + 156, + 432, + -1, + 2, + [] + ], + [ + "add", + 156, + 433, + 1, + 2, + [] + ], + [ + "add", + 156, + 435, + -1, + 2, + [] + ], + [ + "add", + 156, + 437, + 1, + 2, + [] + ], + [ + "add", + 156, + 443, + -1, + 2, + [] + ], + [ + "add", + 156, + 445, + 1, + 2, + [] + ], + [ + "add", + 156, + 446, + 1, + 2, + [] + ], + [ + "add", + 156, + 447, + -1, + 2, + [] + ], + [ + "add", + 156, + 480, + 1, + 2, + [] + ], + [ + "add", + 156, + 481, + -1, + 2, + [] + ], + [ + "add", + 156, + 492, + -1, + 2, + [] + ], + [ + "add", + 156, + 493, + 1, + 2, + [] + ], + [ + "add", + 156, + 504, + -1, + 2, + [] + ], + [ + "add", + 156, + 505, + 1, + 2, + [] + ], + [ + "add", + 156, + 516, + 1, + 2, + [] + ], + [ + "add", + 156, + 517, + -1, + 2, + [] + ], + [ + "add", + 127, + 224, + -1, + 2, + [] + ], + [ + "add", + 127, + 226, + 1, + 2, + [] + ], + [ + "add", + 127, + 227, + -1, + 2, + [] + ], + [ + "add", + 127, + 230, + 1, + 2, + [] + ], + [ + "add", + 127, + 233, + -1, + 2, + [] + ], + [ + "add", + 127, + 234, + -1, + 2, + [] + ], + [ + "add", + 127, + 235, + 1, + 2, + [] + ], + [ + "add", + 127, + 239, + 1, + 2, + [] + ], + [ + "add", + 127, + 274, + 1, + 4, + [] + ], + [ + "add", + 127, + 276, + -1, + 4, + [] + ], + [ + "add", + 127, + 279, + -1, + 4, + [] + ], + [ + "add", + 127, + 283, + 1, + 2, + [] + ], + [ + "add", + 127, + 285, + -1, + 2, + [] + ], + [ + "add", + 127, + 286, + -1, + 4, + [] + ], + [ + "add", + 127, + 290, + 1, + 4, + [] + ], + [ + "add", + 127, + 292, + -1, + 4, + [] + ], + [ + "add", + 127, + 295, + -1, + 4, + [] + ], + [ + "add", + 127, + 299, + 1, + 2, + [] + ], + [ + "add", + 127, + 301, + -1, + 2, + [] + ], + [ + "add", + 127, + 302, + -1, + 4, + [] + ], + [ + "add", + 127, + 306, + 1, + 4, + [] + ], + [ + "add", + 127, + 308, + -1, + 4, + [] + ], + [ + "add", + 127, + 315, + 1, + 2, + [] + ], + [ + "add", + 127, + 317, + -1, + 2, + [] + ], + [ + "add", + 127, + 318, + -1, + 4, + [] + ], + [ + "add", + 127, + 322, + 1, + 4, + [] + ], + [ + "add", + 127, + 324, + -1, + 4, + [] + ], + [ + "add", + 127, + 331, + 1, + 2, + [] + ], + [ + "add", + 127, + 333, + -1, + 2, + [] + ], + [ + "add", + 127, + 334, + -1, + 4, + [] + ], + [ + "add", + 127, + 338, + 1, + 4, + [] + ], + [ + "add", + 127, + 340, + -1, + 4, + [] + ], + [ + "add", + 127, + 343, + -1, + 4, + [] + ], + [ + "add", + 127, + 347, + 1, + 2, + [] + ], + [ + "add", + 127, + 349, + -1, + 2, + [] + ], + [ + "add", + 127, + 350, + -1, + 4, + [] + ], + [ + "add", + 127, + 354, + 1, + 4, + [] + ], + [ + "add", + 127, + 356, + -1, + 4, + [] + ], + [ + "add", + 127, + 359, + -1, + 4, + [] + ], + [ + "add", + 127, + 363, + 1, + 2, + [] + ], + [ + "add", + 127, + 365, + -1, + 2, + [] + ], + [ + "add", + 127, + 366, + -1, + 4, + [] + ], + [ + "add", + 127, + 370, + 1, + 4, + [] + ], + [ + "add", + 127, + 372, + -1, + 4, + [] + ], + [ + "add", + 127, + 375, + -1, + 4, + [] + ], + [ + "add", + 127, + 379, + 1, + 2, + [] + ], + [ + "add", + 127, + 381, + -1, + 2, + [] + ], + [ + "add", + 127, + 382, + -1, + 4, + [] + ], + [ + "add", + 127, + 386, + 1, + 4, + [] + ], + [ + "add", + 127, + 388, + -1, + 4, + [] + ], + [ + "add", + 127, + 391, + -1, + 4, + [] + ], + [ + "add", + 127, + 395, + 1, + 2, + [] + ], + [ + "add", + 127, + 397, + -1, + 2, + [] + ], + [ + "add", + 127, + 398, + -1, + 4, + [] + ], + [ + "add", + 127, + 400, + -1, + 2, + [] + ], + [ + "add", + 127, + 403, + -1, + 2, + [] + ], + [ + "add", + 127, + 405, + -1, + 2, + [] + ], + [ + "add", + 127, + 406, + -1, + 2, + [] + ], + [ + "add", + 127, + 410, + 1, + 2, + [] + ], + [ + "add", + 127, + 411, + -1, + 2, + [] + ], + [ + "add", + 127, + 414, + -1, + 2, + [] + ], + [ + "add", + 127, + 415, + 1, + 2, + [] + ], + [ + "add", + 127, + 416, + -1, + 2, + [] + ], + [ + "add", + 127, + 419, + -1, + 2, + [] + ], + [ + "add", + 127, + 421, + -1, + 2, + [] + ], + [ + "add", + 127, + 422, + -1, + 2, + [] + ], + [ + "add", + 127, + 426, + 1, + 2, + [] + ], + [ + "add", + 127, + 427, + -1, + 2, + [] + ], + [ + "add", + 127, + 430, + -1, + 2, + [] + ], + [ + "add", + 127, + 431, + 1, + 2, + [] + ], + [ + "add", + 127, + 478, + -1, + 2, + [] + ], + [ + "add", + 127, + 479, + -1, + 2, + [] + ], + [ + "add", + 127, + 490, + -1, + 2, + [] + ], + [ + "add", + 127, + 491, + -1, + 2, + [] + ], + [ + "add", + 127, + 499, + -1, + 4, + [] + ], + [ + "add", + 127, + 502, + -1, + 2, + [] + ], + [ + "add", + 127, + 503, + -1, + 2, + [] + ], + [ + "add", + 127, + 511, + -1, + 4, + [] + ], + [ + "add", + 127, + 514, + -1, + 2, + [] + ], + [ + "add", + 127, + 515, + -1, + 2, + [] + ], + [ + "add", + 165, + 240, + -1, + 2, + [] + ], + [ + "add", + 165, + 243, + -1, + 2, + [] + ], + [ + "add", + 165, + 246, + 1, + 2, + [] + ], + [ + "add", + 165, + 249, + -1, + 2, + [] + ], + [ + "add", + 165, + 250, + -1, + 2, + [] + ], + [ + "add", + 165, + 251, + 1, + 2, + [] + ], + [ + "add", + 165, + 255, + 1, + 2, + [] + ], + [ + "add", + 165, + 274, + -1, + 4, + [] + ], + [ + "add", + 165, + 276, + 1, + 4, + [] + ], + [ + "add", + 165, + 279, + 1, + 4, + [] + ], + [ + "add", + 165, + 283, + 1, + 2, + [] + ], + [ + "add", + 165, + 285, + -1, + 2, + [] + ], + [ + "add", + 165, + 286, + 1, + 4, + [] + ], + [ + "add", + 165, + 290, + -1, + 4, + [] + ], + [ + "add", + 165, + 292, + 1, + 4, + [] + ], + [ + "add", + 165, + 295, + 1, + 4, + [] + ], + [ + "add", + 165, + 299, + 1, + 2, + [] + ], + [ + "add", + 165, + 301, + -1, + 2, + [] + ], + [ + "add", + 165, + 302, + 1, + 4, + [] + ], + [ + "add", + 165, + 306, + -1, + 4, + [] + ], + [ + "add", + 165, + 308, + 1, + 4, + [] + ], + [ + "add", + 165, + 315, + 1, + 2, + [] + ], + [ + "add", + 165, + 317, + -1, + 2, + [] + ], + [ + "add", + 165, + 318, + 1, + 4, + [] + ], + [ + "add", + 165, + 322, + -1, + 4, + [] + ], + [ + "add", + 165, + 324, + 1, + 4, + [] + ], + [ + "add", + 165, + 331, + 1, + 2, + [] + ], + [ + "add", + 165, + 333, + -1, + 2, + [] + ], + [ + "add", + 165, + 334, + 1, + 4, + [] + ], + [ + "add", + 165, + 338, + -1, + 4, + [] + ], + [ + "add", + 165, + 340, + 1, + 4, + [] + ], + [ + "add", + 165, + 343, + 1, + 4, + [] + ], + [ + "add", + 165, + 347, + 1, + 2, + [] + ], + [ + "add", + 165, + 349, + -1, + 2, + [] + ], + [ + "add", + 165, + 350, + 1, + 4, + [] + ], + [ + "add", + 165, + 354, + -1, + 4, + [] + ], + [ + "add", + 165, + 356, + 1, + 4, + [] + ], + [ + "add", + 165, + 359, + 1, + 4, + [] + ], + [ + "add", + 165, + 363, + 1, + 2, + [] + ], + [ + "add", + 165, + 365, + -1, + 2, + [] + ], + [ + "add", + 165, + 366, + 1, + 4, + [] + ], + [ + "add", + 165, + 370, + -1, + 4, + [] + ], + [ + "add", + 165, + 372, + 1, + 4, + [] + ], + [ + "add", + 165, + 375, + 1, + 4, + [] + ], + [ + "add", + 165, + 379, + 1, + 2, + [] + ], + [ + "add", + 165, + 381, + -1, + 2, + [] + ], + [ + "add", + 165, + 382, + 1, + 4, + [] + ], + [ + "add", + 165, + 386, + -1, + 4, + [] + ], + [ + "add", + 165, + 388, + 1, + 4, + [] + ], + [ + "add", + 165, + 391, + 1, + 4, + [] + ], + [ + "add", + 165, + 395, + 1, + 2, + [] + ], + [ + "add", + 165, + 397, + -1, + 2, + [] + ], + [ + "add", + 165, + 398, + 1, + 4, + [] + ], + [ + "add", + 165, + 400, + -1, + 2, + [] + ], + [ + "add", + 165, + 402, + 1, + 2, + [] + ], + [ + "add", + 165, + 403, + -1, + 2, + [] + ], + [ + "add", + 165, + 406, + 1, + 2, + [] + ], + [ + "add", + 165, + 409, + -1, + 2, + [] + ], + [ + "add", + 165, + 410, + -1, + 2, + [] + ], + [ + "add", + 165, + 411, + 1, + 2, + [] + ], + [ + "add", + 165, + 415, + 1, + 2, + [] + ], + [ + "add", + 165, + 432, + -1, + 2, + [] + ], + [ + "add", + 165, + 435, + -1, + 2, + [] + ], + [ + "add", + 165, + 437, + -1, + 2, + [] + ], + [ + "add", + 165, + 438, + -1, + 2, + [] + ], + [ + "add", + 165, + 442, + 1, + 2, + [] + ], + [ + "add", + 165, + 443, + -1, + 2, + [] + ], + [ + "add", + 165, + 446, + -1, + 2, + [] + ], + [ + "add", + 165, + 447, + 1, + 2, + [] + ], + [ + "add", + 165, + 478, + 1, + 2, + [] + ], + [ + "add", + 165, + 479, + -1, + 2, + [] + ], + [ + "add", + 165, + 490, + 1, + 2, + [] + ], + [ + "add", + 165, + 491, + -1, + 2, + [] + ], + [ + "add", + 165, + 499, + 1, + 4, + [] + ], + [ + "add", + 165, + 502, + 1, + 2, + [] + ], + [ + "add", + 165, + 503, + -1, + 2, + [] + ], + [ + "add", + 165, + 511, + 1, + 4, + [] + ], + [ + "add", + 165, + 514, + 1, + 2, + [] + ], + [ + "add", + 165, + 515, + -1, + 2, + [] + ], + [ + "add", + 154, + 224, + -1, + 2, + [] + ], + [ + "add", + 154, + 225, + 1, + 2, + [] + ], + [ + "add", + 154, + 227, + -1, + 2, + [] + ], + [ + "add", + 154, + 229, + 1, + 2, + [] + ], + [ + "add", + 154, + 235, + -1, + 2, + [] + ], + [ + "add", + 154, + 237, + 1, + 2, + [] + ], + [ + "add", + 154, + 238, + 1, + 2, + [] + ], + [ + "add", + 154, + 239, + -1, + 2, + [] + ], + [ + "add", + 154, + 274, + 1, + 4, + [] + ], + [ + "add", + 154, + 276, + -1, + 4, + [] + ], + [ + "add", + 154, + 279, + -1, + 4, + [] + ], + [ + "add", + 154, + 283, + 1, + 2, + [] + ], + [ + "add", + 154, + 285, + -1, + 2, + [] + ], + [ + "add", + 154, + 286, + -1, + 4, + [] + ], + [ + "add", + 154, + 290, + 1, + 4, + [] + ], + [ + "add", + 154, + 292, + -1, + 4, + [] + ], + [ + "add", + 154, + 295, + -1, + 4, + [] + ], + [ + "add", + 154, + 299, + 1, + 2, + [] + ], + [ + "add", + 154, + 301, + -1, + 2, + [] + ], + [ + "add", + 154, + 302, + -1, + 4, + [] + ], + [ + "add", + 154, + 306, + -1, + 4, + [] + ], + [ + "add", + 154, + 308, + 1, + 4, + [] + ], + [ + "add", + 154, + 315, + -1, + 2, + [] + ], + [ + "add", + 154, + 317, + 1, + 2, + [] + ], + [ + "add", + 154, + 318, + 1, + 4, + [] + ], + [ + "add", + 154, + 322, + -1, + 4, + [] + ], + [ + "add", + 154, + 324, + 1, + 4, + [] + ], + [ + "add", + 154, + 331, + -1, + 2, + [] + ], + [ + "add", + 154, + 333, + 1, + 2, + [] + ], + [ + "add", + 154, + 334, + 1, + 4, + [] + ], + [ + "add", + 154, + 338, + 1, + 4, + [] + ], + [ + "add", + 154, + 340, + -1, + 4, + [] + ], + [ + "add", + 154, + 343, + -1, + 4, + [] + ], + [ + "add", + 154, + 347, + 1, + 2, + [] + ], + [ + "add", + 154, + 349, + -1, + 2, + [] + ], + [ + "add", + 154, + 350, + -1, + 4, + [] + ], + [ + "add", + 154, + 354, + 1, + 4, + [] + ], + [ + "add", + 154, + 356, + -1, + 4, + [] + ], + [ + "add", + 154, + 359, + -1, + 4, + [] + ], + [ + "add", + 154, + 363, + 1, + 2, + [] + ], + [ + "add", + 154, + 365, + -1, + 2, + [] + ], + [ + "add", + 154, + 366, + -1, + 4, + [] + ], + [ + "add", + 154, + 370, + -1, + 4, + [] + ], + [ + "add", + 154, + 372, + 1, + 4, + [] + ], + [ + "add", + 154, + 375, + 1, + 4, + [] + ], + [ + "add", + 154, + 379, + -1, + 2, + [] + ], + [ + "add", + 154, + 381, + 1, + 2, + [] + ], + [ + "add", + 154, + 382, + 1, + 4, + [] + ], + [ + "add", + 154, + 386, + -1, + 4, + [] + ], + [ + "add", + 154, + 388, + 1, + 4, + [] + ], + [ + "add", + 154, + 391, + 1, + 4, + [] + ], + [ + "add", + 154, + 395, + -1, + 2, + [] + ], + [ + "add", + 154, + 397, + 1, + 2, + [] + ], + [ + "add", + 154, + 398, + 1, + 4, + [] + ], + [ + "add", + 154, + 401, + -1, + 2, + [] + ], + [ + "add", + 154, + 402, + 1, + 2, + [] + ], + [ + "add", + 154, + 403, + -1, + 2, + [] + ], + [ + "add", + 154, + 409, + -1, + 2, + [] + ], + [ + "add", + 154, + 411, + -1, + 2, + [] + ], + [ + "add", + 154, + 413, + -1, + 2, + [] + ], + [ + "add", + 154, + 415, + -1, + 2, + [] + ], + [ + "add", + 154, + 417, + -1, + 2, + [] + ], + [ + "add", + 154, + 418, + 1, + 2, + [] + ], + [ + "add", + 154, + 419, + -1, + 2, + [] + ], + [ + "add", + 154, + 425, + -1, + 2, + [] + ], + [ + "add", + 154, + 427, + -1, + 2, + [] + ], + [ + "add", + 154, + 429, + -1, + 2, + [] + ], + [ + "add", + 154, + 431, + -1, + 2, + [] + ], + [ + "add", + 154, + 478, + -1, + 2, + [] + ], + [ + "add", + 154, + 479, + -1, + 2, + [] + ], + [ + "add", + 154, + 490, + -1, + 2, + [] + ], + [ + "add", + 154, + 491, + -1, + 2, + [] + ], + [ + "add", + 154, + 499, + 1, + 4, + [] + ], + [ + "add", + 154, + 502, + 1, + 2, + [] + ], + [ + "add", + 154, + 503, + 1, + 2, + [] + ], + [ + "add", + 154, + 511, + 1, + 4, + [] + ], + [ + "add", + 154, + 514, + 1, + 2, + [] + ], + [ + "add", + 154, + 515, + 1, + 2, + [] + ], + [ + "add", + 217, + 241, + 1, + 2, + [] + ], + [ + "add", + 217, + 242, + -1, + 2, + [] + ], + [ + "add", + 217, + 243, + -1, + 2, + [] + ], + [ + "add", + 217, + 245, + 1, + 2, + [] + ], + [ + "add", + 217, + 251, + -1, + 2, + [] + ], + [ + "add", + 217, + 253, + 1, + 2, + [] + ], + [ + "add", + 217, + 254, + 1, + 2, + [] + ], + [ + "add", + 217, + 255, + -1, + 2, + [] + ], + [ + "add", + 217, + 274, + -1, + 4, + [] + ], + [ + "add", + 217, + 276, + 1, + 4, + [] + ], + [ + "add", + 217, + 279, + 1, + 4, + [] + ], + [ + "add", + 217, + 283, + 1, + 2, + [] + ], + [ + "add", + 217, + 285, + -1, + 2, + [] + ], + [ + "add", + 217, + 286, + 1, + 4, + [] + ], + [ + "add", + 217, + 290, + 1, + 4, + [] + ], + [ + "add", + 217, + 292, + -1, + 4, + [] + ], + [ + "add", + 217, + 295, + -1, + 4, + [] + ], + [ + "add", + 217, + 299, + -1, + 2, + [] + ], + [ + "add", + 217, + 301, + 1, + 2, + [] + ], + [ + "add", + 217, + 302, + -1, + 4, + [] + ], + [ + "add", + 217, + 306, + -1, + 4, + [] + ], + [ + "add", + 217, + 308, + 1, + 4, + [] + ], + [ + "add", + 217, + 315, + 1, + 2, + [] + ], + [ + "add", + 217, + 317, + -1, + 2, + [] + ], + [ + "add", + 217, + 318, + 1, + 4, + [] + ], + [ + "add", + 217, + 322, + 1, + 4, + [] + ], + [ + "add", + 217, + 324, + -1, + 4, + [] + ], + [ + "add", + 217, + 331, + -1, + 2, + [] + ], + [ + "add", + 217, + 333, + 1, + 2, + [] + ], + [ + "add", + 217, + 334, + -1, + 4, + [] + ], + [ + "add", + 217, + 338, + -1, + 4, + [] + ], + [ + "add", + 217, + 340, + 1, + 4, + [] + ], + [ + "add", + 217, + 343, + 1, + 4, + [] + ], + [ + "add", + 217, + 347, + 1, + 2, + [] + ], + [ + "add", + 217, + 349, + -1, + 2, + [] + ], + [ + "add", + 217, + 350, + 1, + 4, + [] + ], + [ + "add", + 217, + 354, + 1, + 4, + [] + ], + [ + "add", + 217, + 356, + -1, + 4, + [] + ], + [ + "add", + 217, + 359, + -1, + 4, + [] + ], + [ + "add", + 217, + 363, + -1, + 2, + [] + ], + [ + "add", + 217, + 365, + 1, + 2, + [] + ], + [ + "add", + 217, + 366, + -1, + 4, + [] + ], + [ + "add", + 217, + 370, + -1, + 4, + [] + ], + [ + "add", + 217, + 372, + 1, + 4, + [] + ], + [ + "add", + 217, + 375, + 1, + 4, + [] + ], + [ + "add", + 217, + 379, + 1, + 2, + [] + ], + [ + "add", + 217, + 381, + -1, + 2, + [] + ], + [ + "add", + 217, + 382, + 1, + 4, + [] + ], + [ + "add", + 217, + 386, + 1, + 4, + [] + ], + [ + "add", + 217, + 388, + -1, + 4, + [] + ], + [ + "add", + 217, + 391, + -1, + 4, + [] + ], + [ + "add", + 217, + 395, + -1, + 2, + [] + ], + [ + "add", + 217, + 397, + 1, + 2, + [] + ], + [ + "add", + 217, + 398, + -1, + 4, + [] + ], + [ + "add", + 217, + 401, + 1, + 2, + [] + ], + [ + "add", + 217, + 403, + -1, + 2, + [] + ], + [ + "add", + 217, + 405, + 1, + 2, + [] + ], + [ + "add", + 217, + 411, + -1, + 2, + [] + ], + [ + "add", + 217, + 413, + 1, + 2, + [] + ], + [ + "add", + 217, + 414, + 1, + 2, + [] + ], + [ + "add", + 217, + 415, + -1, + 2, + [] + ], + [ + "add", + 217, + 432, + 1, + 2, + [] + ], + [ + "add", + 217, + 433, + -1, + 2, + [] + ], + [ + "add", + 217, + 434, + 1, + 2, + [] + ], + [ + "add", + 217, + 435, + -1, + 2, + [] + ], + [ + "add", + 217, + 441, + -1, + 2, + [] + ], + [ + "add", + 217, + 443, + -1, + 2, + [] + ], + [ + "add", + 217, + 445, + -1, + 2, + [] + ], + [ + "add", + 217, + 447, + -1, + 2, + [] + ], + [ + "add", + 217, + 478, + 1, + 2, + [] + ], + [ + "add", + 217, + 479, + -1, + 2, + [] + ], + [ + "add", + 217, + 490, + -1, + 2, + [] + ], + [ + "add", + 217, + 491, + 1, + 2, + [] + ], + [ + "add", + 217, + 499, + 1, + 4, + [] + ], + [ + "add", + 217, + 502, + 1, + 2, + [] + ], + [ + "add", + 217, + 503, + -1, + 2, + [] + ], + [ + "add", + 217, + 511, + -1, + 4, + [] + ], + [ + "add", + 217, + 514, + -1, + 2, + [] + ], + [ + "add", + 217, + 515, + 1, + 2, + [] + ], + [ + "add", + 180, + 238, + -1, + 1, + [] + ], + [ + "add", + 180, + 239, + 1, + 1, + [] + ], + [ + "add", + 180, + 241, + 1, + 4, + [] + ], + [ + "add", + 180, + 246, + -1, + 4, + [] + ], + [ + "add", + 180, + 247, + 1, + 4, + [] + ], + [ + "add", + 180, + 250, + 1, + 4, + [] + ], + [ + "add", + 180, + 251, + -1, + 4, + [] + ], + [ + "add", + 180, + 252, + -1, + 4, + [] + ], + [ + "add", + 180, + 253, + 1, + 4, + [] + ], + [ + "add", + 180, + 254, + -1, + 2, + [] + ], + [ + "add", + 180, + 255, + 1, + 2, + [] + ], + [ + "add", + 180, + 257, + 1, + 4, + [] + ], + [ + "add", + 180, + 262, + -1, + 4, + [] + ], + [ + "add", + 180, + 263, + 1, + 4, + [] + ], + [ + "add", + 180, + 266, + 1, + 4, + [] + ], + [ + "add", + 180, + 267, + -1, + 4, + [] + ], + [ + "add", + 180, + 268, + -1, + 4, + [] + ], + [ + "add", + 180, + 269, + 1, + 4, + [] + ], + [ + "add", + 180, + 270, + -1, + 2, + [] + ], + [ + "add", + 180, + 271, + 1, + 2, + [] + ], + [ + "add", + 180, + 310, + 1, + 4, + [] + ], + [ + "add", + 180, + 315, + 1, + 4, + [] + ], + [ + "add", + 180, + 316, + -1, + 4, + [] + ], + [ + "add", + 180, + 318, + -1, + 2, + [] + ], + [ + "add", + 180, + 319, + 1, + 2, + [] + ], + [ + "add", + 180, + 322, + 1, + 4, + [] + ], + [ + "add", + 180, + 324, + -1, + 4, + [] + ], + [ + "add", + 180, + 331, + 1, + 2, + [] + ], + [ + "add", + 180, + 333, + -1, + 2, + [] + ], + [ + "add", + 180, + 334, + -1, + 4, + [] + ], + [ + "add", + 180, + 338, + 1, + 4, + [] + ], + [ + "add", + 180, + 340, + -1, + 4, + [] + ], + [ + "add", + 180, + 343, + 1, + 4, + [] + ], + [ + "add", + 180, + 345, + 1, + 2, + [] + ], + [ + "add", + 180, + 347, + -1, + 2, + [] + ], + [ + "add", + 180, + 350, + -1, + 4, + [] + ], + [ + "add", + 180, + 351, + 1, + 2, + [] + ], + [ + "add", + 180, + 358, + 1, + 4, + [] + ], + [ + "add", + 180, + 360, + 1, + 2, + [] + ], + [ + "add", + 180, + 363, + -1, + 4, + [] + ], + [ + "add", + 180, + 364, + 1, + 4, + [] + ], + [ + "add", + 180, + 367, + 1, + 2, + [] + ], + [ + "add", + 180, + 368, + -1, + 2, + [] + ], + [ + "add", + 180, + 372, + -1, + 2, + [] + ], + [ + "add", + 180, + 382, + -1, + 2, + [] + ], + [ + "add", + 180, + 383, + 1, + 2, + [] + ], + [ + "add", + 180, + 384, + -1, + 2, + [] + ], + [ + "add", + 180, + 388, + -1, + 2, + [] + ], + [ + "add", + 180, + 398, + -1, + 2, + [] + ], + [ + "add", + 180, + 399, + 1, + 2, + [] + ], + [ + "add", + 180, + 401, + 1, + 4, + [] + ], + [ + "add", + 180, + 406, + -1, + 4, + [] + ], + [ + "add", + 180, + 407, + 1, + 4, + [] + ], + [ + "add", + 180, + 410, + 1, + 4, + [] + ], + [ + "add", + 180, + 411, + -1, + 4, + [] + ], + [ + "add", + 180, + 412, + -1, + 4, + [] + ], + [ + "add", + 180, + 413, + 1, + 4, + [] + ], + [ + "add", + 180, + 414, + -1, + 2, + [] + ], + [ + "add", + 180, + 415, + 1, + 2, + [] + ], + [ + "add", + 180, + 417, + 1, + 4, + [] + ], + [ + "add", + 180, + 422, + -1, + 4, + [] + ], + [ + "add", + 180, + 423, + 1, + 4, + [] + ], + [ + "add", + 180, + 426, + 1, + 4, + [] + ], + [ + "add", + 180, + 427, + -1, + 4, + [] + ], + [ + "add", + 180, + 428, + -1, + 4, + [] + ], + [ + "add", + 180, + 429, + 1, + 4, + [] + ], + [ + "add", + 180, + 430, + -1, + 2, + [] + ], + [ + "add", + 180, + 431, + 1, + 2, + [] + ], + [ + "add", + 180, + 462, + -1, + 2, + [] + ], + [ + "add", + 180, + 463, + -1, + 2, + [] + ], + [ + "add", + 180, + 470, + -1, + 2, + [] + ], + [ + "add", + 180, + 471, + -1, + 2, + [] + ], + [ + "add", + 180, + 511, + -1, + 4, + [] + ], + [ + "add", + 117, + 238, + -1, + 1, + [] + ], + [ + "add", + 117, + 239, + 1, + 1, + [] + ], + [ + "add", + 117, + 241, + 1, + 4, + [] + ], + [ + "add", + 117, + 246, + -1, + 4, + [] + ], + [ + "add", + 117, + 247, + 1, + 4, + [] + ], + [ + "add", + 117, + 250, + 1, + 4, + [] + ], + [ + "add", + 117, + 251, + -1, + 4, + [] + ], + [ + "add", + 117, + 252, + -1, + 4, + [] + ], + [ + "add", + 117, + 253, + 1, + 4, + [] + ], + [ + "add", + 117, + 254, + -1, + 2, + [] + ], + [ + "add", + 117, + 255, + 1, + 2, + [] + ], + [ + "add", + 117, + 257, + 1, + 4, + [] + ], + [ + "add", + 117, + 262, + -1, + 4, + [] + ], + [ + "add", + 117, + 263, + 1, + 4, + [] + ], + [ + "add", + 117, + 266, + 1, + 4, + [] + ], + [ + "add", + 117, + 267, + -1, + 4, + [] + ], + [ + "add", + 117, + 268, + -1, + 4, + [] + ], + [ + "add", + 117, + 269, + 1, + 4, + [] + ], + [ + "add", + 117, + 270, + -1, + 2, + [] + ], + [ + "add", + 117, + 271, + 1, + 2, + [] + ], + [ + "add", + 117, + 310, + 1, + 4, + [] + ], + [ + "add", + 117, + 315, + 1, + 4, + [] + ], + [ + "add", + 117, + 316, + -1, + 4, + [] + ], + [ + "add", + 117, + 318, + -1, + 2, + [] + ], + [ + "add", + 117, + 319, + 1, + 2, + [] + ], + [ + "add", + 117, + 322, + 1, + 4, + [] + ], + [ + "add", + 117, + 324, + -1, + 4, + [] + ], + [ + "add", + 117, + 331, + 1, + 2, + [] + ], + [ + "add", + 117, + 333, + -1, + 2, + [] + ], + [ + "add", + 117, + 334, + -1, + 4, + [] + ], + [ + "add", + 117, + 338, + 1, + 4, + [] + ], + [ + "add", + 117, + 340, + -1, + 4, + [] + ], + [ + "add", + 117, + 343, + 1, + 4, + [] + ], + [ + "add", + 117, + 345, + 1, + 2, + [] + ], + [ + "add", + 117, + 347, + -1, + 2, + [] + ], + [ + "add", + 117, + 350, + -1, + 4, + [] + ], + [ + "add", + 117, + 351, + 1, + 2, + [] + ], + [ + "add", + 117, + 358, + 1, + 4, + [] + ], + [ + "add", + 117, + 360, + 1, + 2, + [] + ], + [ + "add", + 117, + 363, + -1, + 4, + [] + ], + [ + "add", + 117, + 364, + 1, + 4, + [] + ], + [ + "add", + 117, + 367, + 1, + 2, + [] + ], + [ + "add", + 117, + 368, + -1, + 2, + [] + ], + [ + "add", + 117, + 372, + -1, + 2, + [] + ], + [ + "add", + 117, + 382, + -1, + 2, + [] + ], + [ + "add", + 117, + 383, + 1, + 2, + [] + ], + [ + "add", + 117, + 384, + -1, + 2, + [] + ], + [ + "add", + 117, + 388, + -1, + 2, + [] + ], + [ + "add", + 117, + 398, + -1, + 2, + [] + ], + [ + "add", + 117, + 399, + 1, + 2, + [] + ], + [ + "add", + 117, + 401, + 1, + 4, + [] + ], + [ + "add", + 117, + 406, + -1, + 4, + [] + ], + [ + "add", + 117, + 407, + 1, + 4, + [] + ], + [ + "add", + 117, + 410, + 1, + 4, + [] + ], + [ + "add", + 117, + 411, + -1, + 4, + [] + ], + [ + "add", + 117, + 412, + -1, + 4, + [] + ], + [ + "add", + 117, + 413, + 1, + 4, + [] + ], + [ + "add", + 117, + 414, + -1, + 2, + [] + ], + [ + "add", + 117, + 415, + 1, + 2, + [] + ], + [ + "add", + 117, + 417, + 1, + 4, + [] + ], + [ + "add", + 117, + 422, + -1, + 4, + [] + ], + [ + "add", + 117, + 423, + 1, + 4, + [] + ], + [ + "add", + 117, + 426, + 1, + 4, + [] + ], + [ + "add", + 117, + 427, + -1, + 4, + [] + ], + [ + "add", + 117, + 428, + -1, + 4, + [] + ], + [ + "add", + 117, + 429, + 1, + 4, + [] + ], + [ + "add", + 117, + 430, + -1, + 2, + [] + ], + [ + "add", + 117, + 431, + 1, + 2, + [] + ], + [ + "add", + 117, + 462, + -1, + 2, + [] + ], + [ + "add", + 117, + 463, + -1, + 2, + [] + ], + [ + "add", + 117, + 470, + -1, + 2, + [] + ], + [ + "add", + 117, + 471, + -1, + 2, + [] + ], + [ + "add", + 117, + 511, + -1, + 4, + [] + ], + [ + "add", + 181, + 241, + -1, + 4, + [] + ], + [ + "add", + 181, + 246, + 1, + 4, + [] + ], + [ + "add", + 181, + 247, + -1, + 4, + [] + ], + [ + "add", + 181, + 250, + -1, + 4, + [] + ], + [ + "add", + 181, + 251, + 1, + 4, + [] + ], + [ + "add", + 181, + 252, + 1, + 4, + [] + ], + [ + "add", + 181, + 253, + -1, + 4, + [] + ], + [ + "add", + 181, + 254, + -1, + 2, + [] + ], + [ + "add", + 181, + 255, + 1, + 2, + [] + ], + [ + "add", + 181, + 257, + 1, + 4, + [] + ], + [ + "add", + 181, + 262, + -1, + 4, + [] + ], + [ + "add", + 181, + 263, + 1, + 4, + [] + ], + [ + "add", + 181, + 266, + 1, + 4, + [] + ], + [ + "add", + 181, + 267, + -1, + 4, + [] + ], + [ + "add", + 181, + 268, + -1, + 4, + [] + ], + [ + "add", + 181, + 269, + 1, + 4, + [] + ], + [ + "add", + 181, + 270, + 1, + 2, + [] + ], + [ + "add", + 181, + 271, + -1, + 2, + [] + ], + [ + "add", + 181, + 288, + -1, + 2, + [] + ], + [ + "add", + 181, + 292, + 1, + 2, + [] + ], + [ + "add", + 181, + 296, + 1, + 2, + [] + ], + [ + "add", + 181, + 302, + 1, + 2, + [] + ], + [ + "add", + 181, + 310, + 1, + 4, + [] + ], + [ + "add", + 181, + 315, + 1, + 4, + [] + ], + [ + "add", + 181, + 316, + -1, + 4, + [] + ], + [ + "add", + 181, + 318, + 1, + 2, + [] + ], + [ + "add", + 181, + 319, + -1, + 2, + [] + ], + [ + "add", + 181, + 322, + -1, + 4, + [] + ], + [ + "add", + 181, + 324, + 1, + 4, + [] + ], + [ + "add", + 181, + 331, + 1, + 2, + [] + ], + [ + "add", + 181, + 333, + -1, + 2, + [] + ], + [ + "add", + 181, + 334, + 1, + 4, + [] + ], + [ + "add", + 181, + 338, + -1, + 4, + [] + ], + [ + "add", + 181, + 340, + 1, + 4, + [] + ], + [ + "add", + 181, + 343, + -1, + 4, + [] + ], + [ + "add", + 181, + 345, + 1, + 2, + [] + ], + [ + "add", + 181, + 347, + -1, + 2, + [] + ], + [ + "add", + 181, + 350, + 1, + 4, + [] + ], + [ + "add", + 181, + 351, + -1, + 2, + [] + ], + [ + "add", + 181, + 358, + -1, + 4, + [] + ], + [ + "add", + 181, + 360, + 1, + 2, + [] + ], + [ + "add", + 181, + 363, + 1, + 4, + [] + ], + [ + "add", + 181, + 364, + -1, + 4, + [] + ], + [ + "add", + 181, + 367, + 1, + 2, + [] + ], + [ + "add", + 181, + 384, + -1, + 2, + [] + ], + [ + "add", + 181, + 388, + 1, + 2, + [] + ], + [ + "add", + 181, + 398, + 1, + 2, + [] + ], + [ + "add", + 181, + 399, + -1, + 2, + [] + ], + [ + "add", + 181, + 401, + -1, + 4, + [] + ], + [ + "add", + 181, + 406, + 1, + 4, + [] + ], + [ + "add", + 181, + 407, + -1, + 4, + [] + ], + [ + "add", + 181, + 410, + -1, + 4, + [] + ], + [ + "add", + 181, + 411, + 1, + 4, + [] + ], + [ + "add", + 181, + 412, + 1, + 4, + [] + ], + [ + "add", + 181, + 413, + -1, + 4, + [] + ], + [ + "add", + 181, + 414, + -1, + 2, + [] + ], + [ + "add", + 181, + 415, + 1, + 2, + [] + ], + [ + "add", + 181, + 417, + 1, + 4, + [] + ], + [ + "add", + 181, + 422, + -1, + 4, + [] + ], + [ + "add", + 181, + 423, + 1, + 4, + [] + ], + [ + "add", + 181, + 426, + 1, + 4, + [] + ], + [ + "add", + 181, + 427, + -1, + 4, + [] + ], + [ + "add", + 181, + 428, + -1, + 4, + [] + ], + [ + "add", + 181, + 429, + 1, + 4, + [] + ], + [ + "add", + 181, + 430, + 1, + 2, + [] + ], + [ + "add", + 181, + 431, + -1, + 2, + [] + ], + [ + "add", + 181, + 432, + -1, + 2, + [] + ], + [ + "add", + 181, + 433, + 1, + 2, + [] + ], + [ + "add", + 181, + 438, + -1, + 2, + [] + ], + [ + "add", + 181, + 439, + 1, + 2, + [] + ], + [ + "add", + 181, + 442, + 1, + 2, + [] + ], + [ + "add", + 181, + 443, + -1, + 2, + [] + ], + [ + "add", + 181, + 444, + -1, + 2, + [] + ], + [ + "add", + 181, + 445, + 1, + 2, + [] + ], + [ + "add", + 181, + 462, + 1, + 2, + [] + ], + [ + "add", + 181, + 463, + -1, + 2, + [] + ], + [ + "add", + 181, + 470, + -1, + 2, + [] + ], + [ + "add", + 181, + 471, + 1, + 2, + [] + ], + [ + "add", + 181, + 511, + 1, + 4, + [] + ], + [ + "add", + 116, + 241, + -1, + 4, + [] + ], + [ + "add", + 116, + 246, + 1, + 4, + [] + ], + [ + "add", + 116, + 247, + -1, + 4, + [] + ], + [ + "add", + 116, + 250, + -1, + 4, + [] + ], + [ + "add", + 116, + 251, + 1, + 4, + [] + ], + [ + "add", + 116, + 252, + 1, + 4, + [] + ], + [ + "add", + 116, + 253, + -1, + 4, + [] + ], + [ + "add", + 116, + 254, + -1, + 2, + [] + ], + [ + "add", + 116, + 255, + 1, + 2, + [] + ], + [ + "add", + 116, + 257, + -1, + 4, + [] + ], + [ + "add", + 116, + 262, + 1, + 4, + [] + ], + [ + "add", + 116, + 263, + -1, + 4, + [] + ], + [ + "add", + 116, + 266, + -1, + 4, + [] + ], + [ + "add", + 116, + 267, + 1, + 4, + [] + ], + [ + "add", + 116, + 268, + 1, + 4, + [] + ], + [ + "add", + 116, + 269, + -1, + 4, + [] + ], + [ + "add", + 116, + 270, + -1, + 2, + [] + ], + [ + "add", + 116, + 271, + 1, + 2, + [] + ], + [ + "add", + 116, + 303, + 1, + 1, + [] + ], + [ + "add", + 116, + 310, + -1, + 4, + [] + ], + [ + "add", + 116, + 315, + -1, + 4, + [] + ], + [ + "add", + 116, + 316, + 1, + 4, + [] + ], + [ + "add", + 116, + 318, + -1, + 2, + [] + ], + [ + "add", + 116, + 319, + 1, + 2, + [] + ], + [ + "add", + 116, + 322, + -1, + 4, + [] + ], + [ + "add", + 116, + 324, + 1, + 4, + [] + ], + [ + "add", + 116, + 331, + 1, + 2, + [] + ], + [ + "add", + 116, + 333, + -1, + 2, + [] + ], + [ + "add", + 116, + 334, + 1, + 4, + [] + ], + [ + "add", + 116, + 338, + 1, + 4, + [] + ], + [ + "add", + 116, + 340, + -1, + 4, + [] + ], + [ + "add", + 116, + 343, + 1, + 4, + [] + ], + [ + "add", + 116, + 345, + -1, + 2, + [] + ], + [ + "add", + 116, + 347, + 1, + 2, + [] + ], + [ + "add", + 116, + 350, + -1, + 4, + [] + ], + [ + "add", + 116, + 351, + 1, + 2, + [] + ], + [ + "add", + 116, + 358, + -1, + 4, + [] + ], + [ + "add", + 116, + 360, + 1, + 2, + [] + ], + [ + "add", + 116, + 363, + 1, + 4, + [] + ], + [ + "add", + 116, + 364, + -1, + 4, + [] + ], + [ + "add", + 116, + 367, + 1, + 2, + [] + ], + [ + "add", + 116, + 399, + 1, + 1, + [] + ], + [ + "add", + 116, + 401, + -1, + 4, + [] + ], + [ + "add", + 116, + 406, + 1, + 4, + [] + ], + [ + "add", + 116, + 407, + -1, + 4, + [] + ], + [ + "add", + 116, + 410, + -1, + 4, + [] + ], + [ + "add", + 116, + 411, + 1, + 4, + [] + ], + [ + "add", + 116, + 412, + 1, + 4, + [] + ], + [ + "add", + 116, + 413, + -1, + 4, + [] + ], + [ + "add", + 116, + 414, + -1, + 2, + [] + ], + [ + "add", + 116, + 415, + 1, + 2, + [] + ], + [ + "add", + 116, + 417, + -1, + 4, + [] + ], + [ + "add", + 116, + 422, + 1, + 4, + [] + ], + [ + "add", + 116, + 423, + -1, + 4, + [] + ], + [ + "add", + 116, + 426, + -1, + 4, + [] + ], + [ + "add", + 116, + 427, + 1, + 4, + [] + ], + [ + "add", + 116, + 428, + 1, + 4, + [] + ], + [ + "add", + 116, + 429, + -1, + 4, + [] + ], + [ + "add", + 116, + 430, + -1, + 2, + [] + ], + [ + "add", + 116, + 431, + 1, + 2, + [] + ], + [ + "add", + 116, + 446, + -1, + 1, + [] + ], + [ + "add", + 116, + 447, + 1, + 1, + [] + ], + [ + "add", + 116, + 462, + 1, + 2, + [] + ], + [ + "add", + 116, + 463, + -1, + 2, + [] + ], + [ + "add", + 116, + 470, + 1, + 2, + [] + ], + [ + "add", + 116, + 471, + -1, + 2, + [] + ], + [ + "add", + 116, + 511, + 1, + 4, + [] + ], + [ + "add", + 208, + 224, + -1, + 2, + [] + ], + [ + "add", + 208, + 225, + 1, + 2, + [] + ], + [ + "add", + 208, + 230, + -1, + 2, + [] + ], + [ + "add", + 208, + 231, + 1, + 2, + [] + ], + [ + "add", + 208, + 234, + 1, + 2, + [] + ], + [ + "add", + 208, + 235, + -1, + 2, + [] + ], + [ + "add", + 208, + 236, + -1, + 2, + [] + ], + [ + "add", + 208, + 237, + 1, + 2, + [] + ], + [ + "add", + 208, + 241, + 1, + 4, + [] + ], + [ + "add", + 208, + 246, + -1, + 4, + [] + ], + [ + "add", + 208, + 247, + 1, + 4, + [] + ], + [ + "add", + 208, + 250, + 1, + 4, + [] + ], + [ + "add", + 208, + 251, + -1, + 4, + [] + ], + [ + "add", + 208, + 252, + -1, + 4, + [] + ], + [ + "add", + 208, + 253, + 1, + 4, + [] + ], + [ + "add", + 208, + 254, + -1, + 2, + [] + ], + [ + "add", + 208, + 255, + 1, + 2, + [] + ], + [ + "add", + 208, + 257, + 1, + 4, + [] + ], + [ + "add", + 208, + 262, + -1, + 4, + [] + ], + [ + "add", + 208, + 263, + 1, + 4, + [] + ], + [ + "add", + 208, + 266, + 1, + 4, + [] + ], + [ + "add", + 208, + 267, + -1, + 4, + [] + ], + [ + "add", + 208, + 268, + -1, + 4, + [] + ], + [ + "add", + 208, + 269, + 1, + 4, + [] + ], + [ + "add", + 208, + 270, + -1, + 2, + [] + ], + [ + "add", + 208, + 271, + 1, + 2, + [] + ], + [ + "add", + 208, + 310, + -1, + 4, + [] + ], + [ + "add", + 208, + 315, + -1, + 4, + [] + ], + [ + "add", + 208, + 316, + 1, + 4, + [] + ], + [ + "add", + 208, + 318, + 1, + 2, + [] + ], + [ + "add", + 208, + 319, + -1, + 2, + [] + ], + [ + "add", + 208, + 322, + -1, + 4, + [] + ], + [ + "add", + 208, + 324, + 1, + 4, + [] + ], + [ + "add", + 208, + 331, + -1, + 2, + [] + ], + [ + "add", + 208, + 333, + 1, + 2, + [] + ], + [ + "add", + 208, + 334, + 1, + 4, + [] + ], + [ + "add", + 208, + 338, + 1, + 4, + [] + ], + [ + "add", + 208, + 340, + -1, + 4, + [] + ], + [ + "add", + 208, + 343, + 1, + 4, + [] + ], + [ + "add", + 208, + 345, + 1, + 2, + [] + ], + [ + "add", + 208, + 347, + -1, + 2, + [] + ], + [ + "add", + 208, + 350, + -1, + 4, + [] + ], + [ + "add", + 208, + 351, + 1, + 2, + [] + ], + [ + "add", + 208, + 358, + 1, + 4, + [] + ], + [ + "add", + 208, + 360, + 1, + 2, + [] + ], + [ + "add", + 208, + 363, + -1, + 4, + [] + ], + [ + "add", + 208, + 364, + 1, + 4, + [] + ], + [ + "add", + 208, + 367, + 1, + 2, + [] + ], + [ + "add", + 208, + 379, + -1, + 1, + [] + ], + [ + "add", + 208, + 395, + -1, + 1, + [] + ], + [ + "add", + 208, + 401, + -1, + 4, + [] + ], + [ + "add", + 208, + 406, + 1, + 4, + [] + ], + [ + "add", + 208, + 407, + -1, + 4, + [] + ], + [ + "add", + 208, + 410, + -1, + 4, + [] + ], + [ + "add", + 208, + 411, + 1, + 4, + [] + ], + [ + "add", + 208, + 412, + 1, + 4, + [] + ], + [ + "add", + 208, + 413, + -1, + 4, + [] + ], + [ + "add", + 208, + 414, + 1, + 2, + [] + ], + [ + "add", + 208, + 415, + -1, + 2, + [] + ], + [ + "add", + 208, + 417, + -1, + 4, + [] + ], + [ + "add", + 208, + 422, + 1, + 4, + [] + ], + [ + "add", + 208, + 423, + -1, + 4, + [] + ], + [ + "add", + 208, + 426, + -1, + 4, + [] + ], + [ + "add", + 208, + 427, + 1, + 4, + [] + ], + [ + "add", + 208, + 428, + 1, + 4, + [] + ], + [ + "add", + 208, + 429, + -1, + 4, + [] + ], + [ + "add", + 208, + 430, + 1, + 2, + [] + ], + [ + "add", + 208, + 431, + -1, + 2, + [] + ], + [ + "add", + 208, + 462, + -1, + 2, + [] + ], + [ + "add", + 208, + 463, + -1, + 2, + [] + ], + [ + "add", + 208, + 470, + -1, + 2, + [] + ], + [ + "add", + 208, + 471, + -1, + 2, + [] + ], + [ + "add", + 208, + 511, + 1, + 4, + [] + ], + [ + "add", + 176, + 224, + -1, + 2, + [] + ], + [ + "add", + 176, + 225, + 1, + 2, + [] + ], + [ + "add", + 176, + 230, + -1, + 2, + [] + ], + [ + "add", + 176, + 231, + 1, + 2, + [] + ], + [ + "add", + 176, + 234, + 1, + 2, + [] + ], + [ + "add", + 176, + 235, + -1, + 2, + [] + ], + [ + "add", + 176, + 236, + -1, + 2, + [] + ], + [ + "add", + 176, + 237, + 1, + 2, + [] + ], + [ + "add", + 176, + 241, + 1, + 4, + [] + ], + [ + "add", + 176, + 246, + -1, + 4, + [] + ], + [ + "add", + 176, + 247, + 1, + 4, + [] + ], + [ + "add", + 176, + 250, + 1, + 4, + [] + ], + [ + "add", + 176, + 251, + -1, + 4, + [] + ], + [ + "add", + 176, + 252, + -1, + 4, + [] + ], + [ + "add", + 176, + 253, + 1, + 4, + [] + ], + [ + "add", + 176, + 254, + -1, + 2, + [] + ], + [ + "add", + 176, + 255, + 1, + 2, + [] + ], + [ + "add", + 176, + 257, + 1, + 4, + [] + ], + [ + "add", + 176, + 262, + -1, + 4, + [] + ], + [ + "add", + 176, + 263, + 1, + 4, + [] + ], + [ + "add", + 176, + 266, + 1, + 4, + [] + ], + [ + "add", + 176, + 267, + -1, + 4, + [] + ], + [ + "add", + 176, + 268, + -1, + 4, + [] + ], + [ + "add", + 176, + 269, + 1, + 4, + [] + ], + [ + "add", + 176, + 270, + -1, + 2, + [] + ], + [ + "add", + 176, + 271, + 1, + 2, + [] + ], + [ + "add", + 176, + 310, + -1, + 4, + [] + ], + [ + "add", + 176, + 315, + -1, + 4, + [] + ], + [ + "add", + 176, + 316, + 1, + 4, + [] + ], + [ + "add", + 176, + 318, + 1, + 2, + [] + ], + [ + "add", + 176, + 319, + -1, + 2, + [] + ], + [ + "add", + 176, + 322, + -1, + 4, + [] + ], + [ + "add", + 176, + 324, + 1, + 4, + [] + ], + [ + "add", + 176, + 331, + -1, + 2, + [] + ], + [ + "add", + 176, + 333, + 1, + 2, + [] + ], + [ + "add", + 176, + 334, + 1, + 4, + [] + ], + [ + "add", + 176, + 338, + 1, + 4, + [] + ], + [ + "add", + 176, + 340, + -1, + 4, + [] + ], + [ + "add", + 176, + 343, + 1, + 4, + [] + ], + [ + "add", + 176, + 345, + 1, + 2, + [] + ], + [ + "add", + 176, + 347, + -1, + 2, + [] + ], + [ + "add", + 176, + 350, + -1, + 4, + [] + ], + [ + "add", + 176, + 351, + 1, + 2, + [] + ], + [ + "add", + 176, + 358, + 1, + 4, + [] + ], + [ + "add", + 176, + 360, + 1, + 2, + [] + ], + [ + "add", + 176, + 363, + -1, + 4, + [] + ], + [ + "add", + 176, + 364, + 1, + 4, + [] + ], + [ + "add", + 176, + 367, + 1, + 2, + [] + ], + [ + "add", + 176, + 379, + -1, + 1, + [] + ], + [ + "add", + 176, + 395, + -1, + 1, + [] + ], + [ + "add", + 176, + 401, + -1, + 4, + [] + ], + [ + "add", + 176, + 406, + 1, + 4, + [] + ], + [ + "add", + 176, + 407, + -1, + 4, + [] + ], + [ + "add", + 176, + 410, + -1, + 4, + [] + ], + [ + "add", + 176, + 411, + 1, + 4, + [] + ], + [ + "add", + 176, + 412, + 1, + 4, + [] + ], + [ + "add", + 176, + 413, + -1, + 4, + [] + ], + [ + "add", + 176, + 414, + 1, + 2, + [] + ], + [ + "add", + 176, + 415, + -1, + 2, + [] + ], + [ + "add", + 176, + 417, + -1, + 4, + [] + ], + [ + "add", + 176, + 422, + 1, + 4, + [] + ], + [ + "add", + 176, + 423, + -1, + 4, + [] + ], + [ + "add", + 176, + 426, + -1, + 4, + [] + ], + [ + "add", + 176, + 427, + 1, + 4, + [] + ], + [ + "add", + 176, + 428, + 1, + 4, + [] + ], + [ + "add", + 176, + 429, + -1, + 4, + [] + ], + [ + "add", + 176, + 430, + 1, + 2, + [] + ], + [ + "add", + 176, + 431, + -1, + 2, + [] + ], + [ + "add", + 176, + 462, + -1, + 2, + [] + ], + [ + "add", + 176, + 463, + -1, + 2, + [] + ], + [ + "add", + 176, + 470, + -1, + 2, + [] + ], + [ + "add", + 176, + 471, + -1, + 2, + [] + ], + [ + "add", + 176, + 511, + 1, + 4, + [] + ], + [ + "add", + 209, + 241, + -1, + 4, + [] + ], + [ + "add", + 209, + 246, + 1, + 4, + [] + ], + [ + "add", + 209, + 247, + -1, + 4, + [] + ], + [ + "add", + 209, + 250, + -1, + 4, + [] + ], + [ + "add", + 209, + 251, + 1, + 4, + [] + ], + [ + "add", + 209, + 252, + 1, + 4, + [] + ], + [ + "add", + 209, + 253, + -1, + 4, + [] + ], + [ + "add", + 209, + 254, + -1, + 2, + [] + ], + [ + "add", + 209, + 255, + 1, + 2, + [] + ], + [ + "add", + 209, + 257, + 1, + 4, + [] + ], + [ + "add", + 209, + 262, + -1, + 4, + [] + ], + [ + "add", + 209, + 263, + 1, + 4, + [] + ], + [ + "add", + 209, + 266, + 1, + 4, + [] + ], + [ + "add", + 209, + 267, + -1, + 4, + [] + ], + [ + "add", + 209, + 268, + -1, + 4, + [] + ], + [ + "add", + 209, + 269, + 1, + 4, + [] + ], + [ + "add", + 209, + 270, + 1, + 2, + [] + ], + [ + "add", + 209, + 271, + -1, + 2, + [] + ], + [ + "add", + 209, + 288, + -1, + 2, + [] + ], + [ + "add", + 209, + 292, + 1, + 2, + [] + ], + [ + "add", + 209, + 296, + 1, + 2, + [] + ], + [ + "add", + 209, + 302, + 1, + 2, + [] + ], + [ + "add", + 209, + 310, + 1, + 4, + [] + ], + [ + "add", + 209, + 315, + 1, + 4, + [] + ], + [ + "add", + 209, + 316, + -1, + 4, + [] + ], + [ + "add", + 209, + 318, + 1, + 2, + [] + ], + [ + "add", + 209, + 319, + -1, + 2, + [] + ], + [ + "add", + 209, + 322, + -1, + 4, + [] + ], + [ + "add", + 209, + 324, + 1, + 4, + [] + ], + [ + "add", + 209, + 331, + 1, + 2, + [] + ], + [ + "add", + 209, + 333, + -1, + 2, + [] + ], + [ + "add", + 209, + 334, + 1, + 4, + [] + ], + [ + "add", + 209, + 338, + -1, + 4, + [] + ], + [ + "add", + 209, + 340, + 1, + 4, + [] + ], + [ + "add", + 209, + 343, + -1, + 4, + [] + ], + [ + "add", + 209, + 345, + 1, + 2, + [] + ], + [ + "add", + 209, + 347, + -1, + 2, + [] + ], + [ + "add", + 209, + 350, + 1, + 4, + [] + ], + [ + "add", + 209, + 351, + -1, + 2, + [] + ], + [ + "add", + 209, + 358, + -1, + 4, + [] + ], + [ + "add", + 209, + 360, + 1, + 2, + [] + ], + [ + "add", + 209, + 363, + 1, + 4, + [] + ], + [ + "add", + 209, + 364, + -1, + 4, + [] + ], + [ + "add", + 209, + 367, + 1, + 2, + [] + ], + [ + "add", + 209, + 384, + -1, + 2, + [] + ], + [ + "add", + 209, + 388, + 1, + 2, + [] + ], + [ + "add", + 209, + 398, + 1, + 2, + [] + ], + [ + "add", + 209, + 399, + -1, + 2, + [] + ], + [ + "add", + 209, + 401, + -1, + 4, + [] + ], + [ + "add", + 209, + 406, + 1, + 4, + [] + ], + [ + "add", + 209, + 407, + -1, + 4, + [] + ], + [ + "add", + 209, + 410, + -1, + 4, + [] + ], + [ + "add", + 209, + 411, + 1, + 4, + [] + ], + [ + "add", + 209, + 412, + 1, + 4, + [] + ], + [ + "add", + 209, + 413, + -1, + 4, + [] + ], + [ + "add", + 209, + 414, + -1, + 2, + [] + ], + [ + "add", + 209, + 415, + 1, + 2, + [] + ], + [ + "add", + 209, + 417, + 1, + 4, + [] + ], + [ + "add", + 209, + 422, + -1, + 4, + [] + ], + [ + "add", + 209, + 423, + 1, + 4, + [] + ], + [ + "add", + 209, + 426, + 1, + 4, + [] + ], + [ + "add", + 209, + 427, + -1, + 4, + [] + ], + [ + "add", + 209, + 428, + -1, + 4, + [] + ], + [ + "add", + 209, + 429, + 1, + 4, + [] + ], + [ + "add", + 209, + 430, + 1, + 2, + [] + ], + [ + "add", + 209, + 431, + -1, + 2, + [] + ], + [ + "add", + 209, + 432, + -1, + 2, + [] + ], + [ + "add", + 209, + 433, + 1, + 2, + [] + ], + [ + "add", + 209, + 438, + -1, + 2, + [] + ], + [ + "add", + 209, + 439, + 1, + 2, + [] + ], + [ + "add", + 209, + 442, + 1, + 2, + [] + ], + [ + "add", + 209, + 443, + -1, + 2, + [] + ], + [ + "add", + 209, + 444, + -1, + 2, + [] + ], + [ + "add", + 209, + 445, + 1, + 2, + [] + ], + [ + "add", + 209, + 462, + 1, + 2, + [] + ], + [ + "add", + 209, + 463, + -1, + 2, + [] + ], + [ + "add", + 209, + 470, + -1, + 2, + [] + ], + [ + "add", + 209, + 471, + 1, + 2, + [] + ], + [ + "add", + 209, + 511, + 1, + 4, + [] + ], + [ + "add", + 177, + 241, + -1, + 4, + [] + ], + [ + "add", + 177, + 246, + 1, + 4, + [] + ], + [ + "add", + 177, + 247, + -1, + 4, + [] + ], + [ + "add", + 177, + 250, + -1, + 4, + [] + ], + [ + "add", + 177, + 251, + 1, + 4, + [] + ], + [ + "add", + 177, + 252, + 1, + 4, + [] + ], + [ + "add", + 177, + 253, + -1, + 4, + [] + ], + [ + "add", + 177, + 254, + -1, + 2, + [] + ], + [ + "add", + 177, + 255, + 1, + 2, + [] + ], + [ + "add", + 177, + 257, + -1, + 4, + [] + ], + [ + "add", + 177, + 262, + 1, + 4, + [] + ], + [ + "add", + 177, + 263, + -1, + 4, + [] + ], + [ + "add", + 177, + 266, + -1, + 4, + [] + ], + [ + "add", + 177, + 267, + 1, + 4, + [] + ], + [ + "add", + 177, + 268, + 1, + 4, + [] + ], + [ + "add", + 177, + 269, + -1, + 4, + [] + ], + [ + "add", + 177, + 270, + -1, + 2, + [] + ], + [ + "add", + 177, + 271, + 1, + 2, + [] + ], + [ + "add", + 177, + 303, + 1, + 1, + [] + ], + [ + "add", + 177, + 310, + -1, + 4, + [] + ], + [ + "add", + 177, + 315, + -1, + 4, + [] + ], + [ + "add", + 177, + 316, + 1, + 4, + [] + ], + [ + "add", + 177, + 318, + -1, + 2, + [] + ], + [ + "add", + 177, + 319, + 1, + 2, + [] + ], + [ + "add", + 177, + 322, + -1, + 4, + [] + ], + [ + "add", + 177, + 324, + 1, + 4, + [] + ], + [ + "add", + 177, + 331, + 1, + 2, + [] + ], + [ + "add", + 177, + 333, + -1, + 2, + [] + ], + [ + "add", + 177, + 334, + 1, + 4, + [] + ], + [ + "add", + 177, + 338, + 1, + 4, + [] + ], + [ + "add", + 177, + 340, + -1, + 4, + [] + ], + [ + "add", + 177, + 343, + 1, + 4, + [] + ], + [ + "add", + 177, + 345, + -1, + 2, + [] + ], + [ + "add", + 177, + 347, + 1, + 2, + [] + ], + [ + "add", + 177, + 350, + -1, + 4, + [] + ], + [ + "add", + 177, + 351, + 1, + 2, + [] + ], + [ + "add", + 177, + 358, + -1, + 4, + [] + ], + [ + "add", + 177, + 360, + 1, + 2, + [] + ], + [ + "add", + 177, + 363, + 1, + 4, + [] + ], + [ + "add", + 177, + 364, + -1, + 4, + [] + ], + [ + "add", + 177, + 367, + 1, + 2, + [] + ], + [ + "add", + 177, + 399, + 1, + 1, + [] + ], + [ + "add", + 177, + 401, + -1, + 4, + [] + ], + [ + "add", + 177, + 406, + 1, + 4, + [] + ], + [ + "add", + 177, + 407, + -1, + 4, + [] + ], + [ + "add", + 177, + 410, + -1, + 4, + [] + ], + [ + "add", + 177, + 411, + 1, + 4, + [] + ], + [ + "add", + 177, + 412, + 1, + 4, + [] + ], + [ + "add", + 177, + 413, + -1, + 4, + [] + ], + [ + "add", + 177, + 414, + -1, + 2, + [] + ], + [ + "add", + 177, + 415, + 1, + 2, + [] + ], + [ + "add", + 177, + 417, + -1, + 4, + [] + ], + [ + "add", + 177, + 422, + 1, + 4, + [] + ], + [ + "add", + 177, + 423, + -1, + 4, + [] + ], + [ + "add", + 177, + 426, + -1, + 4, + [] + ], + [ + "add", + 177, + 427, + 1, + 4, + [] + ], + [ + "add", + 177, + 428, + 1, + 4, + [] + ], + [ + "add", + 177, + 429, + -1, + 4, + [] + ], + [ + "add", + 177, + 430, + -1, + 2, + [] + ], + [ + "add", + 177, + 431, + 1, + 2, + [] + ], + [ + "add", + 177, + 446, + -1, + 1, + [] + ], + [ + "add", + 177, + 447, + 1, + 1, + [] + ], + [ + "add", + 177, + 462, + 1, + 2, + [] + ], + [ + "add", + 177, + 463, + -1, + 2, + [] + ], + [ + "add", + 177, + 470, + 1, + 2, + [] + ], + [ + "add", + 177, + 471, + -1, + 2, + [] + ], + [ + "add", + 177, + 511, + 1, + 4, + [] + ], + [ + "add", + 161, + 226, + 1, + 2, + [] + ], + [ + "add", + 161, + 227, + -1, + 2, + [] + ], + [ + "add", + 161, + 228, + 1, + 2, + [] + ], + [ + "add", + 161, + 229, + -1, + 2, + [] + ], + [ + "add", + 161, + 232, + 1, + 2, + [] + ], + [ + "add", + 161, + 233, + -1, + 2, + [] + ], + [ + "add", + 161, + 238, + -1, + 2, + [] + ], + [ + "add", + 161, + 239, + 1, + 2, + [] + ], + [ + "add", + 161, + 243, + -1, + 4, + [] + ], + [ + "add", + 161, + 244, + 1, + 4, + [] + ], + [ + "add", + 161, + 245, + -1, + 4, + [] + ], + [ + "add", + 161, + 248, + 1, + 4, + [] + ], + [ + "add", + 161, + 249, + -1, + 4, + [] + ], + [ + "add", + 161, + 250, + 1, + 2, + [] + ], + [ + "add", + 161, + 251, + -1, + 2, + [] + ], + [ + "add", + 161, + 254, + -1, + 4, + [] + ], + [ + "add", + 161, + 255, + 1, + 4, + [] + ], + [ + "add", + 161, + 257, + -1, + 4, + [] + ], + [ + "add", + 161, + 259, + -1, + 2, + [] + ], + [ + "add", + 161, + 262, + -1, + 4, + [] + ], + [ + "add", + 161, + 263, + 1, + 4, + [] + ], + [ + "add", + 161, + 266, + 1, + 4, + [] + ], + [ + "add", + 161, + 267, + -1, + 4, + [] + ], + [ + "add", + 161, + 268, + 1, + 4, + [] + ], + [ + "add", + 161, + 269, + -1, + 4, + [] + ], + [ + "add", + 161, + 274, + 1, + 4, + [] + ], + [ + "add", + 161, + 276, + -1, + 4, + [] + ], + [ + "add", + 161, + 279, + 1, + 4, + [] + ], + [ + "add", + 161, + 281, + 1, + 2, + [] + ], + [ + "add", + 161, + 283, + -1, + 2, + [] + ], + [ + "add", + 161, + 286, + -1, + 4, + [] + ], + [ + "add", + 161, + 287, + 1, + 2, + [] + ], + [ + "add", + 161, + 294, + 1, + 4, + [] + ], + [ + "add", + 161, + 296, + 1, + 2, + [] + ], + [ + "add", + 161, + 299, + -1, + 4, + [] + ], + [ + "add", + 161, + 300, + 1, + 4, + [] + ], + [ + "add", + 161, + 303, + 1, + 2, + [] + ], + [ + "add", + 161, + 304, + -1, + 2, + [] + ], + [ + "add", + 161, + 308, + -1, + 2, + [] + ], + [ + "add", + 161, + 312, + 1, + 2, + [] + ], + [ + "add", + 161, + 318, + -1, + 2, + [] + ], + [ + "add", + 161, + 319, + 1, + 1, + [] + ], + [ + "add", + 161, + 320, + -1, + 2, + [] + ], + [ + "add", + 161, + 324, + -1, + 2, + [] + ], + [ + "add", + 161, + 334, + -1, + 2, + [] + ], + [ + "add", + 161, + 335, + 1, + 2, + [] + ], + [ + "add", + 161, + 374, + 1, + 4, + [] + ], + [ + "add", + 161, + 379, + 1, + 4, + [] + ], + [ + "add", + 161, + 380, + -1, + 4, + [] + ], + [ + "add", + 161, + 382, + -1, + 2, + [] + ], + [ + "add", + 161, + 383, + 1, + 2, + [] + ], + [ + "add", + 161, + 386, + 1, + 4, + [] + ], + [ + "add", + 161, + 388, + -1, + 4, + [] + ], + [ + "add", + 161, + 391, + -1, + 4, + [] + ], + [ + "add", + 161, + 395, + 1, + 2, + [] + ], + [ + "add", + 161, + 397, + -1, + 2, + [] + ], + [ + "add", + 161, + 398, + -1, + 4, + [] + ], + [ + "add", + 161, + 401, + 1, + 4, + [] + ], + [ + "add", + 161, + 406, + -1, + 4, + [] + ], + [ + "add", + 161, + 407, + 1, + 4, + [] + ], + [ + "add", + 161, + 410, + 1, + 4, + [] + ], + [ + "add", + 161, + 411, + -1, + 4, + [] + ], + [ + "add", + 161, + 412, + -1, + 4, + [] + ], + [ + "add", + 161, + 413, + 1, + 4, + [] + ], + [ + "add", + 161, + 414, + -1, + 2, + [] + ], + [ + "add", + 161, + 415, + 1, + 2, + [] + ], + [ + "add", + 161, + 417, + 1, + 2, + [] + ], + [ + "add", + 161, + 418, + -1, + 4, + [] + ], + [ + "add", + 161, + 419, + 1, + 4, + [] + ], + [ + "add", + 161, + 420, + 1, + 4, + [] + ], + [ + "add", + 161, + 421, + -1, + 4, + [] + ], + [ + "add", + 161, + 424, + -1, + 4, + [] + ], + [ + "add", + 161, + 425, + 1, + 4, + [] + ], + [ + "add", + 161, + 430, + -1, + 4, + [] + ], + [ + "add", + 161, + 431, + 1, + 4, + [] + ], + [ + "add", + 161, + 458, + 1, + 4, + [] + ], + [ + "add", + 161, + 459, + 1, + 4, + [] + ], + [ + "add", + 161, + 464, + 1, + 4, + [] + ], + [ + "add", + 161, + 465, + 1, + 4, + [] + ], + [ + "add", + 146, + 226, + 1, + 2, + [] + ], + [ + "add", + 146, + 227, + -1, + 2, + [] + ], + [ + "add", + 146, + 228, + 1, + 2, + [] + ], + [ + "add", + 146, + 229, + -1, + 2, + [] + ], + [ + "add", + 146, + 232, + 1, + 2, + [] + ], + [ + "add", + 146, + 233, + -1, + 2, + [] + ], + [ + "add", + 146, + 238, + -1, + 2, + [] + ], + [ + "add", + 146, + 239, + 1, + 2, + [] + ], + [ + "add", + 146, + 243, + -1, + 4, + [] + ], + [ + "add", + 146, + 244, + 1, + 4, + [] + ], + [ + "add", + 146, + 245, + -1, + 4, + [] + ], + [ + "add", + 146, + 248, + 1, + 4, + [] + ], + [ + "add", + 146, + 249, + -1, + 4, + [] + ], + [ + "add", + 146, + 250, + 1, + 2, + [] + ], + [ + "add", + 146, + 251, + -1, + 2, + [] + ], + [ + "add", + 146, + 254, + -1, + 4, + [] + ], + [ + "add", + 146, + 255, + 1, + 4, + [] + ], + [ + "add", + 146, + 257, + -1, + 4, + [] + ], + [ + "add", + 146, + 259, + -1, + 2, + [] + ], + [ + "add", + 146, + 262, + -1, + 4, + [] + ], + [ + "add", + 146, + 263, + 1, + 4, + [] + ], + [ + "add", + 146, + 266, + 1, + 4, + [] + ], + [ + "add", + 146, + 267, + -1, + 4, + [] + ], + [ + "add", + 146, + 268, + 1, + 4, + [] + ], + [ + "add", + 146, + 269, + -1, + 4, + [] + ], + [ + "add", + 146, + 274, + 1, + 4, + [] + ], + [ + "add", + 146, + 276, + -1, + 4, + [] + ], + [ + "add", + 146, + 279, + 1, + 4, + [] + ], + [ + "add", + 146, + 281, + 1, + 2, + [] + ], + [ + "add", + 146, + 283, + -1, + 2, + [] + ], + [ + "add", + 146, + 286, + -1, + 4, + [] + ], + [ + "add", + 146, + 287, + 1, + 2, + [] + ], + [ + "add", + 146, + 294, + 1, + 4, + [] + ], + [ + "add", + 146, + 296, + 1, + 2, + [] + ], + [ + "add", + 146, + 299, + -1, + 4, + [] + ], + [ + "add", + 146, + 300, + 1, + 4, + [] + ], + [ + "add", + 146, + 303, + 1, + 2, + [] + ], + [ + "add", + 146, + 304, + -1, + 2, + [] + ], + [ + "add", + 146, + 308, + -1, + 2, + [] + ], + [ + "add", + 146, + 312, + 1, + 2, + [] + ], + [ + "add", + 146, + 318, + -1, + 2, + [] + ], + [ + "add", + 146, + 319, + 1, + 1, + [] + ], + [ + "add", + 146, + 320, + -1, + 2, + [] + ], + [ + "add", + 146, + 324, + -1, + 2, + [] + ], + [ + "add", + 146, + 334, + -1, + 2, + [] + ], + [ + "add", + 146, + 335, + 1, + 2, + [] + ], + [ + "add", + 146, + 374, + 1, + 4, + [] + ], + [ + "add", + 146, + 379, + 1, + 4, + [] + ], + [ + "add", + 146, + 380, + -1, + 4, + [] + ], + [ + "add", + 146, + 382, + -1, + 2, + [] + ], + [ + "add", + 146, + 383, + 1, + 2, + [] + ], + [ + "add", + 146, + 386, + 1, + 4, + [] + ], + [ + "add", + 146, + 388, + -1, + 4, + [] + ], + [ + "add", + 146, + 391, + -1, + 4, + [] + ], + [ + "add", + 146, + 395, + 1, + 2, + [] + ], + [ + "add", + 146, + 397, + -1, + 2, + [] + ], + [ + "add", + 146, + 398, + -1, + 4, + [] + ], + [ + "add", + 146, + 401, + 1, + 4, + [] + ], + [ + "add", + 146, + 406, + -1, + 4, + [] + ], + [ + "add", + 146, + 407, + 1, + 4, + [] + ], + [ + "add", + 146, + 410, + 1, + 4, + [] + ], + [ + "add", + 146, + 411, + -1, + 4, + [] + ], + [ + "add", + 146, + 412, + -1, + 4, + [] + ], + [ + "add", + 146, + 413, + 1, + 4, + [] + ], + [ + "add", + 146, + 414, + -1, + 2, + [] + ], + [ + "add", + 146, + 415, + 1, + 2, + [] + ], + [ + "add", + 146, + 417, + 1, + 2, + [] + ], + [ + "add", + 146, + 418, + -1, + 4, + [] + ], + [ + "add", + 146, + 419, + 1, + 4, + [] + ], + [ + "add", + 146, + 420, + 1, + 4, + [] + ], + [ + "add", + 146, + 421, + -1, + 4, + [] + ], + [ + "add", + 146, + 424, + -1, + 4, + [] + ], + [ + "add", + 146, + 425, + 1, + 4, + [] + ], + [ + "add", + 146, + 430, + -1, + 4, + [] + ], + [ + "add", + 146, + 431, + 1, + 4, + [] + ], + [ + "add", + 146, + 458, + 1, + 4, + [] + ], + [ + "add", + 146, + 459, + 1, + 4, + [] + ], + [ + "add", + 146, + 464, + 1, + 4, + [] + ], + [ + "add", + 146, + 465, + 1, + 4, + [] + ], + [ + "add", + 162, + 243, + -1, + 4, + [] + ], + [ + "add", + 162, + 244, + 1, + 4, + [] + ], + [ + "add", + 162, + 245, + -1, + 4, + [] + ], + [ + "add", + 162, + 248, + 1, + 4, + [] + ], + [ + "add", + 162, + 249, + -1, + 4, + [] + ], + [ + "add", + 162, + 250, + -1, + 2, + [] + ], + [ + "add", + 162, + 251, + 1, + 2, + [] + ], + [ + "add", + 162, + 254, + -1, + 4, + [] + ], + [ + "add", + 162, + 255, + 1, + 4, + [] + ], + [ + "add", + 162, + 257, + -1, + 4, + [] + ], + [ + "add", + 162, + 259, + 1, + 2, + [] + ], + [ + "add", + 162, + 262, + -1, + 4, + [] + ], + [ + "add", + 162, + 263, + 1, + 4, + [] + ], + [ + "add", + 162, + 266, + 1, + 4, + [] + ], + [ + "add", + 162, + 267, + -1, + 4, + [] + ], + [ + "add", + 162, + 268, + 1, + 4, + [] + ], + [ + "add", + 162, + 269, + -1, + 4, + [] + ], + [ + "add", + 162, + 274, + -1, + 4, + [] + ], + [ + "add", + 162, + 276, + 1, + 4, + [] + ], + [ + "add", + 162, + 279, + -1, + 4, + [] + ], + [ + "add", + 162, + 281, + 1, + 2, + [] + ], + [ + "add", + 162, + 283, + -1, + 2, + [] + ], + [ + "add", + 162, + 286, + 1, + 4, + [] + ], + [ + "add", + 162, + 287, + -1, + 2, + [] + ], + [ + "add", + 162, + 294, + -1, + 4, + [] + ], + [ + "add", + 162, + 296, + 1, + 2, + [] + ], + [ + "add", + 162, + 299, + 1, + 4, + [] + ], + [ + "add", + 162, + 300, + -1, + 4, + [] + ], + [ + "add", + 162, + 303, + 1, + 2, + [] + ], + [ + "add", + 162, + 320, + -1, + 2, + [] + ], + [ + "add", + 162, + 324, + 1, + 2, + [] + ], + [ + "add", + 162, + 334, + 1, + 2, + [] + ], + [ + "add", + 162, + 335, + -1, + 2, + [] + ], + [ + "add", + 162, + 352, + -1, + 2, + [] + ], + [ + "add", + 162, + 356, + 1, + 2, + [] + ], + [ + "add", + 162, + 366, + 1, + 2, + [] + ], + [ + "add", + 162, + 367, + -1, + 2, + [] + ], + [ + "add", + 162, + 374, + 1, + 4, + [] + ], + [ + "add", + 162, + 379, + 1, + 4, + [] + ], + [ + "add", + 162, + 380, + -1, + 4, + [] + ], + [ + "add", + 162, + 382, + 1, + 2, + [] + ], + [ + "add", + 162, + 383, + -1, + 2, + [] + ], + [ + "add", + 162, + 386, + -1, + 4, + [] + ], + [ + "add", + 162, + 388, + 1, + 4, + [] + ], + [ + "add", + 162, + 391, + 1, + 4, + [] + ], + [ + "add", + 162, + 395, + 1, + 2, + [] + ], + [ + "add", + 162, + 397, + -1, + 2, + [] + ], + [ + "add", + 162, + 398, + 1, + 4, + [] + ], + [ + "add", + 162, + 401, + -1, + 4, + [] + ], + [ + "add", + 162, + 406, + 1, + 4, + [] + ], + [ + "add", + 162, + 407, + -1, + 4, + [] + ], + [ + "add", + 162, + 410, + -1, + 4, + [] + ], + [ + "add", + 162, + 411, + 1, + 4, + [] + ], + [ + "add", + 162, + 412, + 1, + 4, + [] + ], + [ + "add", + 162, + 413, + -1, + 4, + [] + ], + [ + "add", + 162, + 414, + -1, + 2, + [] + ], + [ + "add", + 162, + 415, + 1, + 2, + [] + ], + [ + "add", + 162, + 417, + -1, + 2, + [] + ], + [ + "add", + 162, + 418, + -1, + 4, + [] + ], + [ + "add", + 162, + 419, + 1, + 4, + [] + ], + [ + "add", + 162, + 420, + 1, + 4, + [] + ], + [ + "add", + 162, + 421, + -1, + 4, + [] + ], + [ + "add", + 162, + 424, + -1, + 4, + [] + ], + [ + "add", + 162, + 425, + 1, + 4, + [] + ], + [ + "add", + 162, + 430, + -1, + 4, + [] + ], + [ + "add", + 162, + 431, + 1, + 4, + [] + ], + [ + "add", + 162, + 434, + -1, + 2, + [] + ], + [ + "add", + 162, + 435, + 1, + 2, + [] + ], + [ + "add", + 162, + 436, + 1, + 2, + [] + ], + [ + "add", + 162, + 437, + -1, + 2, + [] + ], + [ + "add", + 162, + 440, + -1, + 2, + [] + ], + [ + "add", + 162, + 441, + 1, + 2, + [] + ], + [ + "add", + 162, + 446, + -1, + 2, + [] + ], + [ + "add", + 162, + 447, + 1, + 2, + [] + ], + [ + "add", + 162, + 458, + -1, + 4, + [] + ], + [ + "add", + 162, + 459, + 1, + 4, + [] + ], + [ + "add", + 162, + 464, + 1, + 4, + [] + ], + [ + "add", + 162, + 465, + -1, + 4, + [] + ], + [ + "add", + 162, + 542, + -1, + 1, + [] + ], + [ + "add", + 145, + 243, + -1, + 4, + [] + ], + [ + "add", + 145, + 244, + 1, + 4, + [] + ], + [ + "add", + 145, + 245, + -1, + 4, + [] + ], + [ + "add", + 145, + 248, + 1, + 4, + [] + ], + [ + "add", + 145, + 249, + -1, + 4, + [] + ], + [ + "add", + 145, + 250, + -1, + 2, + [] + ], + [ + "add", + 145, + 251, + 1, + 2, + [] + ], + [ + "add", + 145, + 254, + -1, + 4, + [] + ], + [ + "add", + 145, + 255, + 1, + 4, + [] + ], + [ + "add", + 145, + 257, + 1, + 4, + [] + ], + [ + "add", + 145, + 259, + -1, + 2, + [] + ], + [ + "add", + 145, + 262, + 1, + 4, + [] + ], + [ + "add", + 145, + 263, + -1, + 4, + [] + ], + [ + "add", + 145, + 266, + -1, + 4, + [] + ], + [ + "add", + 145, + 267, + 1, + 4, + [] + ], + [ + "add", + 145, + 268, + -1, + 4, + [] + ], + [ + "add", + 145, + 269, + 1, + 4, + [] + ], + [ + "add", + 145, + 274, + 1, + 4, + [] + ], + [ + "add", + 145, + 276, + -1, + 4, + [] + ], + [ + "add", + 145, + 279, + 1, + 4, + [] + ], + [ + "add", + 145, + 281, + -1, + 2, + [] + ], + [ + "add", + 145, + 283, + 1, + 2, + [] + ], + [ + "add", + 145, + 286, + -1, + 4, + [] + ], + [ + "add", + 145, + 287, + 1, + 2, + [] + ], + [ + "add", + 145, + 294, + -1, + 4, + [] + ], + [ + "add", + 145, + 296, + 1, + 2, + [] + ], + [ + "add", + 145, + 299, + 1, + 4, + [] + ], + [ + "add", + 145, + 300, + -1, + 4, + [] + ], + [ + "add", + 145, + 303, + 1, + 2, + [] + ], + [ + "add", + 145, + 335, + 1, + 1, + [] + ], + [ + "add", + 145, + 367, + 1, + 1, + [] + ], + [ + "add", + 145, + 374, + -1, + 4, + [] + ], + [ + "add", + 145, + 379, + -1, + 4, + [] + ], + [ + "add", + 145, + 380, + 1, + 4, + [] + ], + [ + "add", + 145, + 382, + -1, + 2, + [] + ], + [ + "add", + 145, + 383, + 1, + 2, + [] + ], + [ + "add", + 145, + 386, + -1, + 4, + [] + ], + [ + "add", + 145, + 388, + 1, + 4, + [] + ], + [ + "add", + 145, + 391, + 1, + 4, + [] + ], + [ + "add", + 145, + 395, + 1, + 2, + [] + ], + [ + "add", + 145, + 397, + -1, + 2, + [] + ], + [ + "add", + 145, + 398, + 1, + 4, + [] + ], + [ + "add", + 145, + 401, + -1, + 4, + [] + ], + [ + "add", + 145, + 406, + 1, + 4, + [] + ], + [ + "add", + 145, + 407, + -1, + 4, + [] + ], + [ + "add", + 145, + 410, + -1, + 4, + [] + ], + [ + "add", + 145, + 411, + 1, + 4, + [] + ], + [ + "add", + 145, + 412, + 1, + 4, + [] + ], + [ + "add", + 145, + 413, + -1, + 4, + [] + ], + [ + "add", + 145, + 414, + -1, + 2, + [] + ], + [ + "add", + 145, + 415, + 1, + 2, + [] + ], + [ + "add", + 145, + 417, + 1, + 2, + [] + ], + [ + "add", + 145, + 418, + 1, + 4, + [] + ], + [ + "add", + 145, + 419, + -1, + 4, + [] + ], + [ + "add", + 145, + 420, + -1, + 4, + [] + ], + [ + "add", + 145, + 421, + 1, + 4, + [] + ], + [ + "add", + 145, + 424, + 1, + 4, + [] + ], + [ + "add", + 145, + 425, + -1, + 4, + [] + ], + [ + "add", + 145, + 430, + 1, + 4, + [] + ], + [ + "add", + 145, + 431, + -1, + 4, + [] + ], + [ + "add", + 145, + 432, + -1, + 1, + [] + ], + [ + "add", + 145, + 433, + 1, + 1, + [] + ], + [ + "add", + 145, + 458, + -1, + 4, + [] + ], + [ + "add", + 145, + 459, + 1, + 4, + [] + ], + [ + "add", + 145, + 464, + -1, + 4, + [] + ], + [ + "add", + 145, + 465, + 1, + 4, + [] + ], + [ + "add", + 220, + 234, + 1, + 1, + [] + ], + [ + "add", + 220, + 235, + -1, + 1, + [] + ], + [ + "add", + 220, + 243, + -1, + 4, + [] + ], + [ + "add", + 220, + 244, + 1, + 4, + [] + ], + [ + "add", + 220, + 245, + -1, + 4, + [] + ], + [ + "add", + 220, + 248, + 1, + 4, + [] + ], + [ + "add", + 220, + 249, + -1, + 4, + [] + ], + [ + "add", + 220, + 250, + 1, + 2, + [] + ], + [ + "add", + 220, + 251, + -1, + 2, + [] + ], + [ + "add", + 220, + 254, + -1, + 4, + [] + ], + [ + "add", + 220, + 255, + 1, + 4, + [] + ], + [ + "add", + 220, + 257, + -1, + 4, + [] + ], + [ + "add", + 220, + 259, + -1, + 2, + [] + ], + [ + "add", + 220, + 262, + -1, + 4, + [] + ], + [ + "add", + 220, + 263, + 1, + 4, + [] + ], + [ + "add", + 220, + 266, + 1, + 4, + [] + ], + [ + "add", + 220, + 267, + -1, + 4, + [] + ], + [ + "add", + 220, + 268, + 1, + 4, + [] + ], + [ + "add", + 220, + 269, + -1, + 4, + [] + ], + [ + "add", + 220, + 274, + 1, + 4, + [] + ], + [ + "add", + 220, + 276, + -1, + 4, + [] + ], + [ + "add", + 220, + 279, + 1, + 4, + [] + ], + [ + "add", + 220, + 281, + 1, + 2, + [] + ], + [ + "add", + 220, + 283, + -1, + 2, + [] + ], + [ + "add", + 220, + 286, + -1, + 4, + [] + ], + [ + "add", + 220, + 287, + 1, + 2, + [] + ], + [ + "add", + 220, + 294, + 1, + 4, + [] + ], + [ + "add", + 220, + 296, + 1, + 2, + [] + ], + [ + "add", + 220, + 299, + -1, + 4, + [] + ], + [ + "add", + 220, + 300, + 1, + 4, + [] + ], + [ + "add", + 220, + 303, + 1, + 2, + [] + ], + [ + "add", + 220, + 315, + -1, + 1, + [] + ], + [ + "add", + 220, + 331, + -1, + 1, + [] + ], + [ + "add", + 220, + 374, + -1, + 4, + [] + ], + [ + "add", + 220, + 379, + -1, + 4, + [] + ], + [ + "add", + 220, + 380, + 1, + 4, + [] + ], + [ + "add", + 220, + 382, + 1, + 2, + [] + ], + [ + "add", + 220, + 383, + -1, + 2, + [] + ], + [ + "add", + 220, + 386, + -1, + 4, + [] + ], + [ + "add", + 220, + 388, + 1, + 4, + [] + ], + [ + "add", + 220, + 391, + 1, + 4, + [] + ], + [ + "add", + 220, + 395, + -1, + 2, + [] + ], + [ + "add", + 220, + 397, + 1, + 2, + [] + ], + [ + "add", + 220, + 398, + 1, + 4, + [] + ], + [ + "add", + 220, + 401, + -1, + 4, + [] + ], + [ + "add", + 220, + 406, + 1, + 4, + [] + ], + [ + "add", + 220, + 407, + -1, + 4, + [] + ], + [ + "add", + 220, + 410, + -1, + 4, + [] + ], + [ + "add", + 220, + 411, + 1, + 4, + [] + ], + [ + "add", + 220, + 412, + 1, + 4, + [] + ], + [ + "add", + 220, + 413, + -1, + 4, + [] + ], + [ + "add", + 220, + 414, + 1, + 2, + [] + ], + [ + "add", + 220, + 415, + -1, + 2, + [] + ], + [ + "add", + 220, + 417, + -1, + 2, + [] + ], + [ + "add", + 220, + 418, + 1, + 4, + [] + ], + [ + "add", + 220, + 419, + -1, + 4, + [] + ], + [ + "add", + 220, + 420, + -1, + 4, + [] + ], + [ + "add", + 220, + 421, + 1, + 4, + [] + ], + [ + "add", + 220, + 424, + 1, + 4, + [] + ], + [ + "add", + 220, + 425, + -1, + 4, + [] + ], + [ + "add", + 220, + 430, + 1, + 4, + [] + ], + [ + "add", + 220, + 431, + -1, + 4, + [] + ], + [ + "add", + 220, + 458, + 1, + 4, + [] + ], + [ + "add", + 220, + 459, + 1, + 4, + [] + ], + [ + "add", + 220, + 464, + 1, + 4, + [] + ], + [ + "add", + 220, + 465, + 1, + 4, + [] + ], + [ + "add", + 134, + 234, + 1, + 1, + [] + ], + [ + "add", + 134, + 235, + -1, + 1, + [] + ], + [ + "add", + 134, + 243, + -1, + 4, + [] + ], + [ + "add", + 134, + 244, + 1, + 4, + [] + ], + [ + "add", + 134, + 245, + -1, + 4, + [] + ], + [ + "add", + 134, + 248, + 1, + 4, + [] + ], + [ + "add", + 134, + 249, + -1, + 4, + [] + ], + [ + "add", + 134, + 250, + 1, + 2, + [] + ], + [ + "add", + 134, + 251, + -1, + 2, + [] + ], + [ + "add", + 134, + 254, + -1, + 4, + [] + ], + [ + "add", + 134, + 255, + 1, + 4, + [] + ], + [ + "add", + 134, + 257, + -1, + 4, + [] + ], + [ + "add", + 134, + 259, + -1, + 2, + [] + ], + [ + "add", + 134, + 262, + -1, + 4, + [] + ], + [ + "add", + 134, + 263, + 1, + 4, + [] + ], + [ + "add", + 134, + 266, + 1, + 4, + [] + ], + [ + "add", + 134, + 267, + -1, + 4, + [] + ], + [ + "add", + 134, + 268, + 1, + 4, + [] + ], + [ + "add", + 134, + 269, + -1, + 4, + [] + ], + [ + "add", + 134, + 274, + 1, + 4, + [] + ], + [ + "add", + 134, + 276, + -1, + 4, + [] + ], + [ + "add", + 134, + 279, + 1, + 4, + [] + ], + [ + "add", + 134, + 281, + 1, + 2, + [] + ], + [ + "add", + 134, + 283, + -1, + 2, + [] + ], + [ + "add", + 134, + 286, + -1, + 4, + [] + ], + [ + "add", + 134, + 287, + 1, + 2, + [] + ], + [ + "add", + 134, + 294, + 1, + 4, + [] + ], + [ + "add", + 134, + 296, + 1, + 2, + [] + ], + [ + "add", + 134, + 299, + -1, + 4, + [] + ], + [ + "add", + 134, + 300, + 1, + 4, + [] + ], + [ + "add", + 134, + 303, + 1, + 2, + [] + ], + [ + "add", + 134, + 315, + -1, + 1, + [] + ], + [ + "add", + 134, + 331, + -1, + 1, + [] + ], + [ + "add", + 134, + 374, + -1, + 4, + [] + ], + [ + "add", + 134, + 379, + -1, + 4, + [] + ], + [ + "add", + 134, + 380, + 1, + 4, + [] + ], + [ + "add", + 134, + 382, + 1, + 2, + [] + ], + [ + "add", + 134, + 383, + -1, + 2, + [] + ], + [ + "add", + 134, + 386, + -1, + 4, + [] + ], + [ + "add", + 134, + 388, + 1, + 4, + [] + ], + [ + "add", + 134, + 391, + 1, + 4, + [] + ], + [ + "add", + 134, + 395, + -1, + 2, + [] + ], + [ + "add", + 134, + 397, + 1, + 2, + [] + ], + [ + "add", + 134, + 398, + 1, + 4, + [] + ], + [ + "add", + 134, + 401, + -1, + 4, + [] + ], + [ + "add", + 134, + 406, + 1, + 4, + [] + ], + [ + "add", + 134, + 407, + -1, + 4, + [] + ], + [ + "add", + 134, + 410, + -1, + 4, + [] + ], + [ + "add", + 134, + 411, + 1, + 4, + [] + ], + [ + "add", + 134, + 412, + 1, + 4, + [] + ], + [ + "add", + 134, + 413, + -1, + 4, + [] + ], + [ + "add", + 134, + 414, + 1, + 2, + [] + ], + [ + "add", + 134, + 415, + -1, + 2, + [] + ], + [ + "add", + 134, + 417, + -1, + 2, + [] + ], + [ + "add", + 134, + 418, + 1, + 4, + [] + ], + [ + "add", + 134, + 419, + -1, + 4, + [] + ], + [ + "add", + 134, + 420, + -1, + 4, + [] + ], + [ + "add", + 134, + 421, + 1, + 4, + [] + ], + [ + "add", + 134, + 424, + 1, + 4, + [] + ], + [ + "add", + 134, + 425, + -1, + 4, + [] + ], + [ + "add", + 134, + 430, + 1, + 4, + [] + ], + [ + "add", + 134, + 431, + -1, + 4, + [] + ], + [ + "add", + 134, + 458, + 1, + 4, + [] + ], + [ + "add", + 134, + 459, + 1, + 4, + [] + ], + [ + "add", + 134, + 464, + 1, + 4, + [] + ], + [ + "add", + 134, + 465, + 1, + 4, + [] + ], + [ + "add", + 221, + 243, + -1, + 4, + [] + ], + [ + "add", + 221, + 244, + 1, + 4, + [] + ], + [ + "add", + 221, + 245, + -1, + 4, + [] + ], + [ + "add", + 221, + 248, + 1, + 4, + [] + ], + [ + "add", + 221, + 249, + -1, + 4, + [] + ], + [ + "add", + 221, + 250, + -1, + 2, + [] + ], + [ + "add", + 221, + 251, + 1, + 2, + [] + ], + [ + "add", + 221, + 254, + -1, + 4, + [] + ], + [ + "add", + 221, + 255, + 1, + 4, + [] + ], + [ + "add", + 221, + 257, + -1, + 4, + [] + ], + [ + "add", + 221, + 259, + 1, + 2, + [] + ], + [ + "add", + 221, + 262, + -1, + 4, + [] + ], + [ + "add", + 221, + 263, + 1, + 4, + [] + ], + [ + "add", + 221, + 266, + 1, + 4, + [] + ], + [ + "add", + 221, + 267, + -1, + 4, + [] + ], + [ + "add", + 221, + 268, + 1, + 4, + [] + ], + [ + "add", + 221, + 269, + -1, + 4, + [] + ], + [ + "add", + 221, + 274, + -1, + 4, + [] + ], + [ + "add", + 221, + 276, + 1, + 4, + [] + ], + [ + "add", + 221, + 279, + -1, + 4, + [] + ], + [ + "add", + 221, + 281, + 1, + 2, + [] + ], + [ + "add", + 221, + 283, + -1, + 2, + [] + ], + [ + "add", + 221, + 286, + 1, + 4, + [] + ], + [ + "add", + 221, + 287, + -1, + 2, + [] + ], + [ + "add", + 221, + 294, + -1, + 4, + [] + ], + [ + "add", + 221, + 296, + 1, + 2, + [] + ], + [ + "add", + 221, + 299, + 1, + 4, + [] + ], + [ + "add", + 221, + 300, + -1, + 4, + [] + ], + [ + "add", + 221, + 303, + 1, + 2, + [] + ], + [ + "add", + 221, + 320, + -1, + 2, + [] + ], + [ + "add", + 221, + 324, + 1, + 2, + [] + ], + [ + "add", + 221, + 334, + 1, + 2, + [] + ], + [ + "add", + 221, + 335, + -1, + 2, + [] + ], + [ + "add", + 221, + 352, + -1, + 2, + [] + ], + [ + "add", + 221, + 356, + 1, + 2, + [] + ], + [ + "add", + 221, + 366, + 1, + 2, + [] + ], + [ + "add", + 221, + 367, + -1, + 2, + [] + ], + [ + "add", + 221, + 374, + 1, + 4, + [] + ], + [ + "add", + 221, + 379, + 1, + 4, + [] + ], + [ + "add", + 221, + 380, + -1, + 4, + [] + ], + [ + "add", + 221, + 382, + 1, + 2, + [] + ], + [ + "add", + 221, + 383, + -1, + 2, + [] + ], + [ + "add", + 221, + 386, + -1, + 4, + [] + ], + [ + "add", + 221, + 388, + 1, + 4, + [] + ], + [ + "add", + 221, + 391, + 1, + 4, + [] + ], + [ + "add", + 221, + 395, + 1, + 2, + [] + ], + [ + "add", + 221, + 397, + -1, + 2, + [] + ], + [ + "add", + 221, + 398, + 1, + 4, + [] + ], + [ + "add", + 221, + 401, + -1, + 4, + [] + ], + [ + "add", + 221, + 406, + 1, + 4, + [] + ], + [ + "add", + 221, + 407, + -1, + 4, + [] + ], + [ + "add", + 221, + 410, + -1, + 4, + [] + ], + [ + "add", + 221, + 411, + 1, + 4, + [] + ], + [ + "add", + 221, + 412, + 1, + 4, + [] + ], + [ + "add", + 221, + 413, + -1, + 4, + [] + ], + [ + "add", + 221, + 414, + -1, + 2, + [] + ], + [ + "add", + 221, + 415, + 1, + 2, + [] + ], + [ + "add", + 221, + 417, + -1, + 2, + [] + ], + [ + "add", + 221, + 418, + -1, + 4, + [] + ], + [ + "add", + 221, + 419, + 1, + 4, + [] + ], + [ + "add", + 221, + 420, + 1, + 4, + [] + ], + [ + "add", + 221, + 421, + -1, + 4, + [] + ], + [ + "add", + 221, + 424, + -1, + 4, + [] + ], + [ + "add", + 221, + 425, + 1, + 4, + [] + ], + [ + "add", + 221, + 430, + -1, + 4, + [] + ], + [ + "add", + 221, + 431, + 1, + 4, + [] + ], + [ + "add", + 221, + 434, + -1, + 2, + [] + ], + [ + "add", + 221, + 435, + 1, + 2, + [] + ], + [ + "add", + 221, + 436, + 1, + 2, + [] + ], + [ + "add", + 221, + 437, + -1, + 2, + [] + ], + [ + "add", + 221, + 440, + -1, + 2, + [] + ], + [ + "add", + 221, + 441, + 1, + 2, + [] + ], + [ + "add", + 221, + 446, + -1, + 2, + [] + ], + [ + "add", + 221, + 447, + 1, + 2, + [] + ], + [ + "add", + 221, + 458, + -1, + 4, + [] + ], + [ + "add", + 221, + 459, + 1, + 4, + [] + ], + [ + "add", + 221, + 464, + 1, + 4, + [] + ], + [ + "add", + 221, + 465, + -1, + 4, + [] + ], + [ + "add", + 135, + 243, + -1, + 4, + [] + ], + [ + "add", + 135, + 244, + 1, + 4, + [] + ], + [ + "add", + 135, + 245, + -1, + 4, + [] + ], + [ + "add", + 135, + 248, + 1, + 4, + [] + ], + [ + "add", + 135, + 249, + -1, + 4, + [] + ], + [ + "add", + 135, + 250, + -1, + 2, + [] + ], + [ + "add", + 135, + 251, + 1, + 2, + [] + ], + [ + "add", + 135, + 254, + -1, + 4, + [] + ], + [ + "add", + 135, + 255, + 1, + 4, + [] + ], + [ + "add", + 135, + 257, + 1, + 4, + [] + ], + [ + "add", + 135, + 259, + -1, + 2, + [] + ], + [ + "add", + 135, + 262, + 1, + 4, + [] + ], + [ + "add", + 135, + 263, + -1, + 4, + [] + ], + [ + "add", + 135, + 266, + -1, + 4, + [] + ], + [ + "add", + 135, + 267, + 1, + 4, + [] + ], + [ + "add", + 135, + 268, + -1, + 4, + [] + ], + [ + "add", + 135, + 269, + 1, + 4, + [] + ], + [ + "add", + 135, + 274, + 1, + 4, + [] + ], + [ + "add", + 135, + 276, + -1, + 4, + [] + ], + [ + "add", + 135, + 279, + 1, + 4, + [] + ], + [ + "add", + 135, + 281, + -1, + 2, + [] + ], + [ + "add", + 135, + 283, + 1, + 2, + [] + ], + [ + "add", + 135, + 286, + -1, + 4, + [] + ], + [ + "add", + 135, + 287, + 1, + 2, + [] + ], + [ + "add", + 135, + 294, + -1, + 4, + [] + ], + [ + "add", + 135, + 296, + 1, + 2, + [] + ], + [ + "add", + 135, + 299, + 1, + 4, + [] + ], + [ + "add", + 135, + 300, + -1, + 4, + [] + ], + [ + "add", + 135, + 303, + 1, + 2, + [] + ], + [ + "add", + 135, + 335, + 1, + 1, + [] + ], + [ + "add", + 135, + 367, + 1, + 1, + [] + ], + [ + "add", + 135, + 374, + -1, + 4, + [] + ], + [ + "add", + 135, + 379, + -1, + 4, + [] + ], + [ + "add", + 135, + 380, + 1, + 4, + [] + ], + [ + "add", + 135, + 382, + -1, + 2, + [] + ], + [ + "add", + 135, + 383, + 1, + 2, + [] + ], + [ + "add", + 135, + 386, + -1, + 4, + [] + ], + [ + "add", + 135, + 388, + 1, + 4, + [] + ], + [ + "add", + 135, + 391, + 1, + 4, + [] + ], + [ + "add", + 135, + 395, + 1, + 2, + [] + ], + [ + "add", + 135, + 397, + -1, + 2, + [] + ], + [ + "add", + 135, + 398, + 1, + 4, + [] + ], + [ + "add", + 135, + 401, + -1, + 4, + [] + ], + [ + "add", + 135, + 406, + 1, + 4, + [] + ], + [ + "add", + 135, + 407, + -1, + 4, + [] + ], + [ + "add", + 135, + 410, + -1, + 4, + [] + ], + [ + "add", + 135, + 411, + 1, + 4, + [] + ], + [ + "add", + 135, + 412, + 1, + 4, + [] + ], + [ + "add", + 135, + 413, + -1, + 4, + [] + ], + [ + "add", + 135, + 414, + -1, + 2, + [] + ], + [ + "add", + 135, + 415, + 1, + 2, + [] + ], + [ + "add", + 135, + 417, + 1, + 2, + [] + ], + [ + "add", + 135, + 418, + 1, + 4, + [] + ], + [ + "add", + 135, + 419, + -1, + 4, + [] + ], + [ + "add", + 135, + 420, + -1, + 4, + [] + ], + [ + "add", + 135, + 421, + 1, + 4, + [] + ], + [ + "add", + 135, + 424, + 1, + 4, + [] + ], + [ + "add", + 135, + 425, + -1, + 4, + [] + ], + [ + "add", + 135, + 430, + 1, + 4, + [] + ], + [ + "add", + 135, + 431, + -1, + 4, + [] + ], + [ + "add", + 135, + 432, + -1, + 1, + [] + ], + [ + "add", + 135, + 433, + 1, + 1, + [] + ], + [ + "add", + 135, + 458, + -1, + 4, + [] + ], + [ + "add", + 135, + 459, + 1, + 4, + [] + ], + [ + "add", + 135, + 464, + -1, + 4, + [] + ], + [ + "add", + 135, + 465, + 1, + 4, + [] + ] + ], + "helper_final": { + "277": [ + 388, + 75, + 41, + 26 + ], + "282": [ + 388, + 75, + 41, + 26 + ], + "293": [ + 384, + 196, + 85, + 51 + ], + "298": [ + 384, + 196, + 85, + 51 + ], + "307": [ + 385, + 74, + 44, + 30 + ], + "309": [ + 385, + 74, + 44, + 30 + ], + "311": [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + "314": [ + 385, + 74, + 44, + 30 + ], + "323": [ + 384, + 193, + 75, + 30 + ], + "325": [ + 384, + 193, + 75, + 30 + ], + "327": [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ], + "330": [ + 384, + 193, + 75, + 30 + ], + "337": [ + 416, + 70, + 19, + 13 + ], + "339": [ + 416, + 70, + 19, + 13 + ], + "341": [ + 416, + 70, + 19, + 13 + ], + "346": [ + 416, + 70, + 19, + 13 + ], + "353": [ + 384, + 134, + 120, + 30 + ], + "355": [ + 384, + 134, + 120, + 30 + ], + "357": [ + 384, + 134, + 120, + 30 + ], + "362": [ + 384, + 134, + 120, + 30 + ], + "369": [ + 392, + 67, + 37, + 22 + ], + "371": [ + 392, + 67, + 37, + 22 + ], + "373": [ + 392, + 67, + 37, + 22 + ], + "378": [ + 392, + 67, + 37, + 22 + ], + "385": [ + 384, + 131, + 75, + 51 + ], + "387": [ + 384, + 131, + 75, + 51 + ], + "389": [ + 384, + 131, + 75, + 51 + ], + "394": [ + 384, + 131, + 75, + 51 + ], + "448": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "449": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "450": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "451": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "452": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "453": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "454": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "455": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "484": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "485": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "498": [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ], + "500": [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ], + "501": [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ], + "508": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "509": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "510": [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ], + "512": [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + "513": [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ], + "531": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "532": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "533": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "543": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "554": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "555": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "556": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "557": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "566": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "567": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "572": [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ], + "573": [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ], + "574": [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ], + "575": [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ], + "580": [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ], + "581": [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ], + "582": [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ], + "583": [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ], + "584": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "585": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "586": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "587": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "588": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "589": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ], + "590": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ], + "591": [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + }, + "initial_corrections": [ + { + "target": 115, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "1" + }, + { + "target": 158, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 179, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 223, + "source": 273, + "operator_word": [ + 59 + ], + "coefficient": "-1" + }, + { + "target": 132, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 192, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "-1" + }, + { + "target": 200, + "source": 275, + "operator_word": [ + 60 + ], + "coefficient": "1" + }, + { + "target": 117, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 158, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 181, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "1" + }, + { + "target": 223, + "source": 289, + "operator_word": [ + 61 + ], + "coefficient": "-1" + }, + { + "target": 116, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 132, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 148, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 180, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 291, + "operator_word": [ + 62 + ], + "coefficient": "1" + }, + { + "target": 113, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "1" + }, + { + "target": 118, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 149, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 158, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 159, + "source": 305, + "operator_word": [ + 63 + ], + "coefficient": "-1" + }, + { + "target": 133, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 148, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 158, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + }, + { + "target": 186, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + }, + { + "target": 195, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "-1" + }, + { + "target": 222, + "source": 321, + "operator_word": [ + 64 + ], + "coefficient": "1" + } + ], + "removed": [ + 595, + 597, + 598, + 599, + 603, + 605, + 607, + 611, + 613, + 614, + 615, + 619, + 621, + 622, + 623, + 627, + 629, + 630, + 631, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 651, + 654, + 655, + 659, + 661, + 662, + 663, + 675, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 699, + 701, + 702, + 703, + 482, + 483, + 494, + 495, + 507, + 519 + ], + "restore": [ + [ + "add", + 572, + 408, + -1, + 1, + [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ] + ], + [ + "add", + 573, + 105, + -1, + 1, + [ + 256, + 128, + 66, + 36, + 22, + 8, + 1 + ] + ], + [ + "add", + 574, + 412, + -1, + 1, + [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ] + ], + [ + "add", + 575, + 414, + -1, + 1, + [ + 256, + 128, + 65, + 36, + 20, + 9, + 3 + ] + ], + [ + "add", + 580, + 424, + -1, + 1, + [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ] + ], + [ + "add", + 581, + 44, + -1, + 1, + [ + 256, + 128, + 65, + 37, + 20, + 8, + 2 + ] + ], + [ + "add", + 582, + 428, + -1, + 1, + [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ] + ], + [ + "add", + 583, + 430, + -1, + 1, + [ + 256, + 128, + 72, + 44, + 28, + 2, + 1 + ] + ], + [ + "scale", + 311, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 311, + 498, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 311, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 511, + 322, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 327, + 511, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 511, + 327, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 327, + 511, + 1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "scale", + 511, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 448, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 448, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 449, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 449, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 450, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 508, + 450, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 451, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 451, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 452, + 232, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 452, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 453, + 7, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 453, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 454, + 236, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 454, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 455, + 238, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 455, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 231, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 484, + 299, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 226, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 485, + 54, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 499, + 306, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 499, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 499, + 498, + -1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "add", + 498, + 499, + 1, + 1, + [ + 256, + 128, + 72, + 40, + 24, + 4, + 2, + 1 + ] + ], + [ + "scale", + 499, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 16, + 8, + 4, + 2, + 1 + ] + ], + [ + "add", + 500, + 310, + -1, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 501, + 308, + -1, + 1, + [ + 256, + 128, + 66, + 34, + 16, + 8, + 6, + 1 + ] + ], + [ + "add", + 508, + 331, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 508, + 230, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 228, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 509, + 34, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 510, + 511, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 17, + 8, + 5, + 2 + ] + ], + [ + "add", + 512, + 326, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 513, + 324, + -1, + 1, + [ + 256, + 128, + 65, + 32, + 16, + 9, + 4, + 3 + ] + ], + [ + "add", + 531, + 351, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 531, + 587, + -1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 351, + 531, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 363, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 532, + 232, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 7, + 2, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 533, + 73, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 543, + 367, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 543, + 589, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 367, + 543, + 1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "scale", + 554, + -1, + 1, + [ + 388, + 64, + 33, + 17, + 12, + 3 + ] + ], + [ + "add", + 554, + 3, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 3, + 554, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 555, + 383, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 555, + 585, + -1, + 2, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 383, + 555, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 236, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 556, + 395, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 5, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 557, + 238, + 2, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 566, + 69, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 69, + 566, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 567, + 399, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 567, + 591, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 399, + 567, + 1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 584, + 439, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 585, + 434, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 383, + 585, + 1, + 2, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 586, + 438, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 587, + 436, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 351, + 587, + 1, + 2, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 588, + 440, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 589, + 46, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 367, + 589, + -1, + 1, + [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + ], + [ + "add", + 590, + 444, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 591, + 446, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ], + [ + "add", + 399, + 591, + -1, + 1, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "warps": [ + [ + 911, + 243, + [ + 1, + 2, + 4, + 8, + 64, + 19, + 104, + 197, + 325 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1042, + 250, + [ + 1, + 2, + 4, + 32, + 128, + 47, + 145, + 68, + 483 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 266, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 259, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1082, + 333, + [ + 1, + 2, + 8, + 32, + 44, + 128, + 59, + 66, + 489 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1082, + 317, + [ + 1, + 2, + 8, + 32, + 44, + 48, + 66, + 128, + 330 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1062, + 530, + [ + 1, + 2, + 8, + 15, + 27, + 74, + 170, + 32, + 417 + ], + [ + 385, + 70, + 33, + 18, + 12 + ], + [ + 384, + 160, + 75, + 25, + 7 + ] + ], + [ + 1130, + 285, + [ + 1, + 2, + 4, + 16, + 27, + 53, + 81, + 128, + 337 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1130, + 281, + [ + 1, + 2, + 4, + 16, + 27, + 53, + 81, + 128, + 337 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1170, + 301, + [ + 1, + 2, + 4, + 64, + 128, + 143, + 151, + 160, + 326 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 297, + [ + 1, + 2, + 4, + 64, + 128, + 143, + 151, + 160, + 326 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 313, + [ + 1, + 2, + 4, + 64, + 74, + 86, + 99, + 128, + 326 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 1170, + 329, + [ + 1, + 2, + 4, + 64, + 74, + 128, + 81, + 99, + 389 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 455, + 33, + 18, + 12 + ] + ], + [ + 911, + 349, + [ + 1, + 2, + 4, + 27, + 46, + 8, + 198, + 64, + 264 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1150, + 345, + [ + 1, + 2, + 4, + 40, + 86, + 8, + 132, + 16, + 408 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 911, + 365, + [ + 1, + 2, + 4, + 8, + 16, + 64, + 107, + 198, + 326 + ], + [ + 384, + 134, + 102, + 30 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 911, + 361, + [ + 1, + 2, + 4, + 8, + 16, + 64, + 107, + 198, + 326 + ], + [ + 384, + 134, + 102, + 30 + ], + [ + 320, + 192, + 45, + 30 + ] + ], + [ + 1150, + 381, + [ + 1, + 2, + 4, + 8, + 43, + 80, + 129, + 16, + 408 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1150, + 377, + [ + 1, + 2, + 4, + 8, + 43, + 80, + 129, + 16, + 408 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1150, + 397, + [ + 1, + 2, + 4, + 8, + 16, + 62, + 94, + 129, + 387 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 384, + 130, + 85, + 45 + ] + ], + [ + 1130, + 393, + [ + 1, + 2, + 4, + 16, + 128, + 138, + 55, + 65, + 470 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1130, + 225, + [ + 1, + 2, + 4, + 10, + 33, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 66, + 36, + 9 + ] + ], + [ + 1110, + 227, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 229, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 234, + [ + 1, + 4, + 8, + 6, + 57, + 68, + 16, + 128, + 325 + ], + [ + 448, + 38, + 21, + 11 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1110, + 241, + [ + 1, + 4, + 8, + 16, + 128, + 26, + 185, + 65, + 476 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 469, + 72, + 48, + 3 + ] + ], + [ + 1082, + 245, + [ + 1, + 2, + 8, + 32, + 128, + 47, + 145, + 105, + 450 + ], + [ + 384, + 133, + 85, + 45 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1082, + 257, + [ + 1, + 2, + 8, + 12, + 32, + 27, + 105, + 128, + 363 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 459, + 96, + 24, + 6 + ] + ], + [ + 1042, + 261, + [ + 1, + 2, + 4, + 12, + 32, + 23, + 68, + 128, + 326 + ], + [ + 400, + 69, + 35, + 14 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 931, + 401, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 931, + 403, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 931, + 405, + [ + 1, + 8, + 16, + 128, + 256, + 147, + 140, + 169, + 209 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 80, + 40, + 5, + 2 + ] + ], + [ + 951, + 410, + [ + 1, + 2, + 8, + 16, + 256, + 30, + 57, + 90, + 129 + ], + [ + 384, + 194, + 75, + 45 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 417, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 419, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 951, + 421, + [ + 1, + 2, + 8, + 16, + 31, + 51, + 90, + 256, + 402 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 144, + 75, + 42, + 7 + ] + ], + [ + 994, + 426, + [ + 1, + 2, + 4, + 128, + 140, + 148, + 163, + 256, + 326 + ], + [ + 386, + 73, + 45, + 28 + ], + [ + 68, + 34, + 17, + 8 + ] + ], + [ + 994, + 433, + [ + 1, + 2, + 4, + 128, + 142, + 148, + 256, + 166, + 192 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 68, + 34, + 17, + 8 + ] + ], + [ + 994, + 435, + [ + 1, + 2, + 4, + 128, + 142, + 148, + 256, + 166, + 192 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 68, + 34, + 17, + 8 + ] + ], + [ + 994, + 437, + [ + 1, + 2, + 4, + 128, + 142, + 148, + 256, + 166, + 192 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 68, + 34, + 17, + 8 + ] + ], + [ + 1062, + 442, + [ + 1, + 2, + 4, + 8, + 23, + 70, + 32, + 172, + 396 + ], + [ + 384, + 191, + 51, + 30 + ], + [ + 384, + 160, + 75, + 25 + ] + ], + [ + 1062, + 542, + [ + 1, + 2, + 8, + 15, + 27, + 74, + 32, + 129, + 394 + ], + [ + 262, + 193, + 33, + 18, + 12 + ], + [ + 384, + 160, + 75, + 25, + 7 + ] + ], + [ + 974, + 1, + [ + 1, + 2, + 4, + 54, + 72, + 8, + 130, + 16, + 284 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 4, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 135, + 263 + ], + [ + 384, + 131, + 75, + 51 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 6, + [ + 1, + 2, + 4, + 54, + 72, + 8, + 130, + 16, + 284 + ], + [ + 416, + 70, + 19, + 13 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 974, + 12, + [ + 1, + 2, + 4, + 8, + 57, + 66, + 143, + 16, + 272 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 384, + 132, + 75, + 51 + ] + ], + [ + 1042, + 33, + [ + 1, + 2, + 4, + 32, + 50, + 128, + 124, + 60, + 411 + ], + [ + 384, + 193, + 75, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 55, + [ + 1, + 2, + 4, + 32, + 128, + 151, + 196, + 312, + 222 + ], + [ + 384, + 196, + 85, + 51 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 74, + [ + 1, + 2, + 4, + 32, + 415, + 128, + 299, + 83, + 437 + ], + [ + 384, + 134, + 120, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1042, + 85, + [ + 1, + 2, + 4, + 32, + 395, + 48, + 99, + 128, + 359 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 486, + 65, + 20, + 10 + ] + ], + [ + 1130, + 49, + [ + 1, + 2, + 4, + 16, + 121, + 128, + 55, + 80, + 389 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 407, + 66, + 36, + 111 + ] + ], + [ + 1131, + 83, + [ + 1, + 2, + 4, + 16, + 392, + 128, + 162, + 68, + 401 + ], + [ + 262, + 134, + 102, + 30 + ], + [ + 407, + 66, + 36, + 414 + ] + ], + [ + 1132, + 98, + [ + 1, + 2, + 4, + 16, + 50, + 492, + 80, + 128, + 278 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 407, + 66, + 504, + 36 + ] + ], + [ + 1135, + 101, + [ + 1, + 2, + 4, + 16, + 128, + 285, + 161, + 195, + 278 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 407, + 66, + 36, + 414 + ] + ], + [ + 1150, + 68, + [ + 1, + 2, + 4, + 8, + 16, + 188, + 94, + 129, + 257 + ], + [ + 259, + 131, + 75, + 51 + ], + [ + 258, + 130, + 85, + 175 + ] + ], + [ + 1151, + 80, + [ + 1, + 2, + 4, + 8, + 83, + 424, + 129, + 16, + 282 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 258, + 130, + 429, + 85 + ] + ], + [ + 1152, + 88, + [ + 1, + 2, + 4, + 8, + 427, + 80, + 129, + 16, + 282 + ], + [ + 392, + 67, + 37, + 22 + ], + [ + 258, + 130, + 85, + 429 + ] + ], + [ + 1155, + 31, + [ + 1, + 2, + 4, + 8, + 39, + 92, + 137, + 16, + 278 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 258, + 130, + 85, + 45 + ] + ], + [ + 555, + 273, + [ + 1, + 4, + 8, + 16, + 23, + 33, + 68, + 128, + 268 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 388, + 81, + 48, + 3 + ] + ], + [ + 556, + 275, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 67, + 128, + 259 + ], + [ + 388, + 75, + 41, + 26 + ], + [ + 391, + 72, + 41, + 26 + ] + ], + [ + 579, + 289, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 89, + 153, + 256 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 273, + 136, + 76, + 51 + ] + ], + [ + 580, + 291, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 89, + 128, + 281 + ], + [ + 273, + 145, + 85, + 51 + ], + [ + 264, + 145, + 76, + 51 + ] + ], + [ + 604, + 305, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 70, + 128, + 262 + ], + [ + 385, + 74, + 44, + 30 + ], + [ + 391, + 76, + 44, + 30 + ] + ], + [ + 628, + 321, + [ + 1, + 2, + 4, + 8, + 16, + 32, + 106, + 128, + 298 + ], + [ + 266, + 138, + 75, + 30 + ], + [ + 288, + 138, + 97, + 30 + ] + ] + ] + }, + "report": { + "v": 112, + "h": 9, + "R": 480, + "local_profile": { + "1": 2369, + "2": 644, + "3": 300, + "4": 120, + "5": 26, + "7": 4, + "8": 4 + }, + "width_inventory": { + "4": 27, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + } + }, + "declared_gate_edit": [ + [ + "delete", + 555, + [ + "add", + 482, + 56, + 1, + 1 + ] + ], + [ + "delete", + 556, + [ + "add", + 483, + 287, + 1, + 1 + ] + ], + [ + "insert", + 555, + [ + "add", + 273, + 56, + 1, + 1 + ] + ], + [ + "insert", + 556, + [ + "add", + 275, + 287, + 1, + 1 + ] + ], + [ + "delete", + 579, + [ + "add", + 494, + 102, + 1, + 1 + ] + ], + [ + "delete", + 580, + [ + "add", + 495, + 303, + 1, + 1 + ] + ], + [ + "insert", + 579, + [ + "add", + 289, + 102, + 1, + 1 + ] + ], + [ + "insert", + 580, + [ + "add", + 291, + 303, + 1, + 1 + ] + ], + [ + "delete", + 604, + [ + "add", + 507, + 319, + 1, + 1 + ] + ], + [ + "insert", + 604, + [ + "add", + 305, + 319, + 1, + 1 + ] + ], + [ + "delete", + 628, + [ + "add", + 519, + 335, + 1, + 1 + ] + ], + [ + "insert", + 628, + [ + "add", + 321, + 335, + 1, + 1 + ] + ], + [ + "delete", + 783, + [ + "add", + 113, + 507, + 1, + 1 + ] + ], + [ + "insert", + 783, + [ + "add", + 113, + 305, + 1, + 1 + ] + ], + [ + "delete", + 788, + [ + "add", + 186, + 519, + 1, + 1 + ] + ], + [ + "insert", + 788, + [ + "add", + 186, + 321, + 1, + 1 + ] + ], + [ + "delete", + 791, + [ + "add", + 115, + 482, + 1, + 1 + ] + ], + [ + "insert", + 791, + [ + "add", + 115, + 273, + 1, + 1 + ] + ], + [ + "delete", + 793, + [ + "add", + 200, + 483, + 1, + 1 + ] + ], + [ + "insert", + 793, + [ + "add", + 200, + 275, + 1, + 1 + ] + ], + [ + "delete", + 796, + [ + "add", + 181, + 494, + 1, + 1 + ] + ], + [ + "insert", + 796, + [ + "add", + 181, + 289, + 1, + 1 + ] + ], + [ + "delete", + 798, + [ + "add", + 116, + 495, + 1, + 1 + ] + ], + [ + "insert", + 798, + [ + "add", + 116, + 291, + 1, + 1 + ] + ], + [ + "delete", + 903, + [ + "add", + 482, + 554, + 1, + 1 + ] + ], + [ + "delete", + 904, + [ + "add", + 483, + 555, + 1, + 1 + ] + ], + [ + "insert", + 903, + [ + "add", + 273, + 554, + 1, + 1 + ] + ], + [ + "insert", + 904, + [ + "add", + 275, + 555, + 1, + 1 + ] + ], + [ + "delete", + 906, + [ + "add", + 507, + 531, + 1, + 1 + ] + ], + [ + "insert", + 906, + [ + "add", + 305, + 531, + 1, + 1 + ] + ], + [ + "delete", + 908, + [ + "add", + 519, + 543, + 1, + 1 + ] + ], + [ + "delete", + 909, + [ + "add", + 494, + 566, + 1, + 1 + ] + ], + [ + "delete", + 910, + [ + "add", + 495, + 567, + 1, + 1 + ] + ], + [ + "insert", + 908, + [ + "add", + 321, + 543, + 1, + 1 + ] + ], + [ + "insert", + 909, + [ + "add", + 289, + 566, + 1, + 1 + ] + ], + [ + "insert", + 910, + [ + "add", + 291, + 567, + 1, + 1 + ] + ], + [ + "delete", + 1182, + [ + "add", + 696, + 482, + 1, + 1 + ] + ], + [ + "delete", + 1183, + [ + "add", + 697, + 483, + 1, + 1 + ] + ], + [ + "insert", + 1182, + [ + "add", + 696, + 273, + 1, + 1 + ] + ], + [ + "insert", + 1183, + [ + "add", + 697, + 275, + 1, + 1 + ] + ], + [ + "delete", + 1185, + [ + "add", + 301, + 507, + 1, + 1 + ] + ], + [ + "insert", + 1185, + [ + "add", + 301, + 305, + 1, + 1 + ] + ], + [ + "delete", + 1187, + [ + "add", + 329, + 519, + 1, + 1 + ] + ], + [ + "delete", + 1188, + [ + "add", + 297, + 494, + 1, + 1 + ] + ], + [ + "delete", + 1189, + [ + "add", + 313, + 495, + 1, + 1 + ] + ], + [ + "insert", + 1187, + [ + "add", + 329, + 321, + 1, + 1 + ] + ], + [ + "insert", + 1188, + [ + "add", + 297, + 289, + 1, + 1 + ] + ], + [ + "insert", + 1189, + [ + "add", + 313, + 291, + 1, + 1 + ] + ], + [ + "delete", + 1838, + [ + "add", + 482, + 494, + 1, + 1 + ] + ], + [ + "delete", + 1839, + [ + "add", + 494, + 482, + -1, + 2 + ] + ], + [ + "delete", + 1840, + [ + "add", + 223, + 482, + 1, + 1 + ] + ], + [ + "delete", + 1841, + [ + "add", + 158, + 494, + -2, + 1 + ] + ], + [ + "delete", + 1842, + [ + "add", + 483, + 495, + 1, + 1 + ] + ], + [ + "delete", + 1843, + [ + "add", + 495, + 483, + -1, + 2 + ] + ], + [ + "delete", + 1844, + [ + "add", + 148, + 483, + 1, + 1 + ] + ], + [ + "delete", + 1845, + [ + "add", + 132, + 495, + -2, + 1 + ] + ], + [ + "insert", + 1838, + [ + "add", + 273, + 289, + 1, + 1 + ] + ], + [ + "insert", + 1839, + [ + "add", + 289, + 273, + -1, + 2 + ] + ], + [ + "insert", + 1840, + [ + "add", + 223, + 273, + 1, + 1 + ] + ], + [ + "insert", + 1841, + [ + "add", + 158, + 289, + -2, + 1 + ] + ], + [ + "insert", + 1842, + [ + "add", + 275, + 291, + 1, + 1 + ] + ], + [ + "insert", + 1843, + [ + "add", + 291, + 275, + -1, + 2 + ] + ], + [ + "insert", + 1844, + [ + "add", + 148, + 275, + 1, + 1 + ] + ], + [ + "insert", + 1845, + [ + "add", + 132, + 291, + -2, + 1 + ] + ], + [ + "delete", + 1850, + [ + "add", + 507, + 519, + 1, + 1 + ] + ], + [ + "delete", + 1851, + [ + "add", + 519, + 507, + -1, + 2 + ] + ], + [ + "delete", + 1852, + [ + "add", + 148, + 507, + 1, + 1 + ] + ], + [ + "delete", + 1853, + [ + "add", + 158, + 519, + -2, + 1 + ] + ], + [ + "insert", + 1850, + [ + "add", + 305, + 321, + 1, + 1 + ] + ], + [ + "insert", + 1851, + [ + "add", + 321, + 305, + -1, + 2 + ] + ], + [ + "insert", + 1852, + [ + "add", + 148, + 305, + 1, + 1 + ] + ], + [ + "insert", + 1853, + [ + "add", + 158, + 321, + -2, + 1 + ] + ] + ] +} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43base.json new file mode 100644 index 0000000000..0c9ea951c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43base.json @@ -0,0 +1,26 @@ +{ + "kind": "FRAME_REFIT_FOR_ALIAS_653_563", + "credit": "exact frame lowering of one gate (B 894, add 515 += 563: dim 6 -> dim 5, its exact propagated floor) so that lender 563 retires at the dimension of helper 653's entrance frame (prepared with substantial Claude Code assistance)", + "frames": [ + [ + "B", + 894, + [ + 259, + 148, + 66, + 36, + 9 + ] + ] + ], + "local_profile": { + "1": 2370, + "2": 646, + "3": 297, + "4": 121, + "5": 26, + "7": 4, + "8": 4 + } +} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43extra.json new file mode 100644 index 0000000000..0c9ea951c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit563_43extra.json @@ -0,0 +1,26 @@ +{ + "kind": "FRAME_REFIT_FOR_ALIAS_653_563", + "credit": "exact frame lowering of one gate (B 894, add 515 += 563: dim 6 -> dim 5, its exact propagated floor) so that lender 563 retires at the dimension of helper 653's entrance frame (prepared with substantial Claude Code assistance)", + "frames": [ + [ + "B", + 894, + [ + 259, + 148, + 66, + 36, + 9 + ] + ] + ], + "local_profile": { + "1": 2370, + "2": 646, + "3": 297, + "4": 121, + "5": 26, + "7": 4, + "8": 4 + } +} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43base.json new file mode 100644 index 0000000000..4c57b4bca0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43base.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_PATCH","credit":"Jeremy Kothe (jeremykothe2), with AI assistance: exact re-solve of the frames of the borrowed word (an exact frame-solver toolkit, certified); gates, warps, restore order, mass and widths unchanged","word":"BORROW-WORD-43base","local_profile":{"1":2341,"2":508,"3":420,"4":124,"5":42,"8":8},"frames":[["A",1266,[478,45]],["A",1270,[45,21]],["A",1274,[21]],["A",1278,[478]],["A",1420,[261,45]],["A",1424,[133,45]],["A",1428,[133]],["A",1432,[261]],["A",1574,[69,45]],["A",1586,[69]],["A",1732,[81]],["A",1736,[81,51]],["A",1882,[145]],["A",1886,[273,51]],["A",1890,[273]],["A",1894,[145,51]],["A",2664,[22]],["A",3118,[45,28]],["A",3122,[28]],["A",3272,[140,45]],["A",3276,[140]],["B",404,[256,144,80,42,7]],["B",405,[448,33,9,5,2]],["B",406,[336,208,35,9,7]],["B",509,[256,217,40,5,2]],["B",510,[393,66,42,18,7]],["B",511,[258,130,66,42,7]],["B",1033,[391,68,34,17]],["B",1034,[391,68,34,17]],["B",1035,[391,68,34,17]],["B",1036,[391,68,34,17]],["B",1037,[391,68,34,17]],["B",1038,[391,68,34,17]],["B",1039,[391,68,34,17]],["B",1040,[391,68,34,17]],["B",1041,[391,68,34,17]],["B",1042,[391,68,34,17]],["B",1043,[391,68,34,17]],["B",1044,[391,68,34,17]],["B",1290,[256,128,64,34,16,8,6,1]],["B",1320,[256,128,64,32,16,10,6,1]],["restore",40,[256,128,64,32,16,8,4,2,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43extra.json new file mode 100644 index 0000000000..3b616592a5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/refit_43extra.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_PATCH","credit":"Jeremy Kothe (jeremykothe2), with AI assistance: exact re-solve of the frames of the borrowed word (an exact frame-solver toolkit, certified); gates, warps, restore order, mass and widths unchanged","word":"BORROW-WORD-43extra","local_profile":{"1":2341,"2":508,"3":420,"4":124,"5":42,"8":8},"frames":[["A",1266,[478,45]],["A",1270,[45,21]],["A",1274,[21]],["A",1278,[478]],["A",1420,[261,45]],["A",1424,[133,45]],["A",1428,[133]],["A",1432,[261]],["A",1574,[69,45]],["A",1586,[69]],["A",1732,[81]],["A",1736,[81,51]],["A",1882,[145]],["A",1886,[273,51]],["A",1890,[273]],["A",1894,[145,51]],["A",2664,[22]],["A",3118,[45,28]],["A",3122,[28]],["A",3272,[140,45]],["A",3276,[140]],["B",404,[256,144,80,42,7]],["B",405,[448,33,9,5,2]],["B",406,[336,208,35,9,7]],["B",509,[256,217,40,5,2]],["B",510,[393,66,42,18,7]],["B",511,[258,130,66,42,7]],["B",1290,[256,128,64,34,16,8,6,1]],["B",1320,[256,128,64,32,16,10,6,1]],["restore",40,[256,128,64,32,16,8,4,2,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43base.json new file mode 100644 index 0000000000..f5497db5cd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43base.json @@ -0,0 +1 @@ +{"kind":"T74_RETIRED7_ALIASES_AND_HOSTEE_MOVES","credit":"PR2802 (mdumitrean, Marius-Paul Dumitrean): seven retired-lender aliases (606<-550, 635<-551, 637<-552, 638<-553, 639<-562, 667<-401, 669<-403) and two hostee moves (401->564, 403->565) on the PR2751 words, with the certified frames of the final program; applied here as one declared patch stage","fields":{"A":[["scale",126,1,1,[]],["scale",133,1,1,[]],["scale",149,1,1,[]],["scale",153,1,1,[]],["scale",155,1,1,[]],["scale",159,1,1,[]],["scale",164,1,1,[]],["scale",190,1,1,[]],["scale",211,1,1,[]],["scale",216,1,1,[]],["scale",218,1,1,[]],["scale",222,1,1,[]],["warp",83,52,[382],[45]],["add",126,83,-1,2,[45]],["add",153,83,-1,2,[45]],["add",164,83,-1,2,[45]],["add",218,83,-1,2,[45]],["warp",83,-52,[45],[382]],["warp",98,53,[487],[45]],["add",126,98,-1,2,[45]],["add",153,98,-1,2,[45]],["add",164,98,-1,2,[45]],["add",218,98,1,2,[45]],["warp",98,-53,[45],[487]],["warp",55,48,[324],[45]],["add",133,55,-1,2,[45]],["add",149,55,-1,2,[45]],["add",159,55,-1,2,[45]],["add",222,55,-1,2,[45]],["warp",55,-48,[45],[324]],["warp",74,49,[352],[45]],["add",133,74,-1,2,[45]],["add",149,74,-1,2,[45]],["add",159,74,-1,2,[45]],["add",222,74,1,2,[45]],["warp",74,-49,[45],[352]],["warp",85,50,[505],[45]],["add",133,85,-1,2,[45]],["add",149,85,1,2,[45]],["add",159,85,1,2,[45]],["add",222,85,1,2,[45]],["warp",85,-50,[45],[505]],["warp",101,54,[375],[45]],["add",126,101,-1,2,[45]],["add",153,101,1,2,[45]],["add",164,101,1,2,[45]],["add",218,101,1,2,[45]],["warp",101,-54,[45],[375]],["warp",80,56,[494],[45]],["add",155,80,-1,2,[45]],["add",190,80,-1,2,[45]],["add",211,80,-1,2,[45]],["add",216,80,-1,2,[45]],["warp",80,-56,[45],[494]],["warp",31,58,[26],[45]],["add",155,31,1,2,[45]],["add",190,31,-1,2,[45]],["add",211,31,1,2,[45]],["add",216,31,1,2,[45]],["warp",31,-58,[45],[26]],["warp",33,47,[138],[45]],["add",133,33,-1,2,[45]],["add",149,33,-1,2,[45]],["add",159,33,1,2,[45]],["add",222,33,1,2,[45]],["warp",33,-47,[45],[138]],["warp",49,51,[148],[45]],["add",126,49,-1,2,[45]],["add",153,49,-1,2,[45]],["add",164,49,1,2,[45]],["add",218,49,1,2,[45]],["warp",49,-51,[45],[148]],["warp",88,57,[477],[45]],["add",155,88,-1,2,[45]],["add",190,88,-1,2,[45]],["add",211,88,-1,2,[45]],["add",216,88,1,2,[45]],["warp",88,-57,[45],[477]],["warp",68,55,[176],[45]],["add",155,68,-1,2,[45]],["add",190,68,-1,2,[45]],["add",211,68,1,2,[45]],["add",216,68,1,2,[45]],["warp",68,-55,[45],[176]],["add",499,498,1,1,[]],["add",457,498,1,1,[]],["add",456,498,1,1,[]],["add",311,498,-1,1,[]],["add",252,498,-1,2,[]],["add",249,498,-1,2,[]],["add",247,498,-1,2,[]],["add",243,498,1,2,[]],["add",242,498,-1,2,[]],["add",511,327,1,1,[]],["add",459,327,1,1,[]],["add",248,327,-1,2,[]],["add",244,327,-1,2,[]],["scale",327,-1,1,[]],["add",250,510,-1,2,[]],["add",246,510,-1,2,[]],["add",458,510,1,1,[]],["add",467,501,1,1,[]],["add",264,501,-1,2,[]],["add",260,501,-1,2,[]],["add",266,500,-1,2,[]],["add",466,500,1,1,[]],["add",262,500,-1,2,[]],["add",498,311,1,1,[]],["add",456,311,1,1,[]],["add",252,311,-1,2,[]],["add",247,311,-1,2,[]],["add",311,498,-1,1,[]],["add",327,511,1,1,[]],["add",511,327,-1,1,[]],["add",311,499,1,1,[]],["add",499,311,-1,1,[]],["add",318,583,-1,1,[]],["add",308,583,1,1,[]],["add",505,583,1,1,[]],["add",332,580,-1,1,[]],["add",326,580,1,1,[]],["add",516,580,1,1,[]],["add",311,572,-1,1,[]],["add",306,572,1,1,[]],["add",502,572,1,1,[]],["add",464,512,1,1,[]],["add",268,512,-1,2,[]],["add",263,512,-1,2,[]],["add",465,513,1,1,[]],["add",265,513,-1,2,[]],["add",259,513,1,2,[]],["add",258,513,-1,2,[]],["add",504,582,1,1,[]],["add",316,582,-1,1,[]],["add",310,582,1,1,[]],["add",324,581,1,1,[]],["add",334,581,-1,1,[]],["add",517,581,1,1,[]],["add",514,574,1,1,[]],["add",322,574,1,1,[]],["add",327,574,-1,1,[]],["add",333,575,-1,1,[]],["add",515,575,1,1,[]],["add",317,573,-1,1,[]],["add",503,573,1,1,[]],["add",588,518,1,1,[30]],["add",586,506,1,1,[30]],["scale",506,-1,2,[30]],["add",666,554,1,1,[51]],["add",664,554,-1,1,[51]],["add",618,554,2,1,[51]],["add",616,554,-2,1,[51]],["scale",554,-1,1,[51]],["add",286,287,1,1,[]],["add",285,287,-1,1,[]],["add",284,287,-1,1,[]],["add",283,287,-1,1,[]],["add",281,287,-1,1,[]],["add",280,287,1,1,[]],["add",279,287,1,1,[]],["add",277,287,2,1,[]],["scale",287,2,1,[]],["add",284,285,1,1,[]],["add",283,285,-1,1,[]],["add",282,285,1,1,[]],["add",281,285,-1,1,[]],["add",276,285,-1,1,[]],["add",274,285,-1,1,[]],["add",272,285,1,1,[]],["scale",285,2,1,[]],["add",285,283,1,1,[]],["add",284,283,1,1,[]],["add",282,283,1,1,[]],["add",281,283,-1,1,[]],["add",276,283,-1,1,[]],["add",274,283,-1,1,[]],["add",272,283,1,1,[]],["add",287,282,-2,1,[]],["add",286,282,-2,1,[]],["add",281,282,2,1,[]],["add",278,282,2,1,[]],["add",277,282,-2,1,[]],["add",275,282,-1,1,[]],["add",273,282,-2,1,[]],["add",272,282,-2,1,[]],["scale",282,2,1,[]],["scale",283,-1,1,[]],["add",282,283,-1,1,[]],["add",283,282,1,1,[]],["add",282,283,-1,1,[]],["add",287,281,1,1,[]],["add",286,281,1,1,[]],["add",285,281,-1,2,[]],["add",284,281,-1,2,[]],["add",283,281,-1,2,[]],["add",278,281,-1,1,[]],["add",277,281,1,1,[]],["add",276,281,1,2,[]],["add",275,281,1,2,[]],["add",274,281,1,2,[]],["add",273,281,1,1,[]],["add",272,281,1,2,[]],["scale",281,1,2,[]],["scale",282,-1,1,[]],["add",281,282,-1,1,[]],["add",282,281,1,1,[]],["add",281,282,-1,1,[]],["add",287,280,-1,1,[]],["add",286,280,-1,1,[]],["add",285,280,1,1,[]],["add",284,280,1,1,[]],["add",283,280,1,1,[]],["add",282,280,1,1,[]],["add",279,280,-1,1,[]],["add",277,280,-2,1,[]],["scale",280,-1,1,[]],["add",287,279,-1,1,[]],["add",286,279,-1,1,[]],["add",285,279,1,1,[]],["add",284,279,1,1,[]],["add",283,279,1,1,[]],["add",282,279,1,1,[]],["add",277,279,-2,1,[]],["scale",279,-1,1,[]],["scale",281,-1,1,[]],["add",279,281,-1,1,[]],["add",281,279,1,1,[]],["add",279,281,-1,1,[]],["scale",279,-1,1,[]],["add",278,279,-1,1,[]],["add",279,278,1,1,[]],["add",278,279,-1,1,[]],["add",287,277,-1,2,[]],["add",286,277,-1,2,[]],["add",285,277,1,2,[]],["add",284,277,1,2,[]],["add",283,277,1,2,[]],["add",282,277,1,2,[]],["add",281,277,-1,2,[]],["scale",277,-1,2,[]],["scale",280,-1,1,[]],["add",277,280,-1,1,[]],["add",280,277,1,1,[]],["add",277,280,-1,1,[]],["add",287,276,-1,1,[]],["add",286,276,-1,1,[]],["add",281,276,1,1,[]],["add",280,276,1,1,[]],["add",279,276,2,1,[]],["add",275,276,-1,1,[]],["add",274,276,-1,1,[]],["add",273,276,-2,1,[]],["add",272,276,-1,1,[]],["scale",276,2,1,[]],["scale",278,-1,1,[]],["add",276,278,-1,1,[]],["add",278,276,1,1,[]],["add",276,278,-1,1,[]],["add",287,275,-1,1,[]],["add",286,275,-1,1,[]],["add",281,275,1,1,[]],["add",280,275,1,1,[]],["add",279,275,2,1,[]],["add",278,275,2,1,[]],["add",274,275,-1,1,[]],["add",273,275,-2,1,[]],["add",272,275,-1,1,[]],["scale",275,-1,1,[]],["scale",277,-1,1,[]],["add",275,277,-1,1,[]],["add",277,275,1,1,[]],["add",275,277,-1,1,[]],["scale",276,-1,1,[]],["add",274,276,-1,1,[]],["add",276,274,1,1,[]],["add",274,276,-1,1,[]],["add",279,273,1,2,[]],["add",278,273,1,2,[]],["add",277,273,-1,2,[]],["add",276,273,-1,2,[]],["add",272,273,-1,2,[]],["scale",273,1,2,[]],["scale",274,-1,1,[]],["add",273,274,-1,1,[]],["add",274,273,1,1,[]],["add",273,274,-1,1,[]],["scale",274,-1,1,[]],["add",272,274,-1,1,[]],["add",274,272,1,1,[]],["add",272,274,-1,1,[]],["add",302,303,1,1,[]],["add",301,303,-1,1,[]],["add",300,303,-1,1,[]],["add",299,303,-1,1,[]],["add",297,303,-1,1,[]],["add",296,303,1,1,[]],["add",295,303,1,1,[]],["add",293,303,2,1,[]],["scale",303,2,1,[]],["add",300,301,1,1,[]],["add",299,301,-1,1,[]],["add",298,301,1,1,[]],["add",297,301,-1,1,[]],["add",292,301,-1,1,[]],["add",290,301,-1,1,[]],["add",288,301,1,1,[]],["scale",301,2,1,[]],["add",301,299,1,1,[]],["add",300,299,1,1,[]],["add",298,299,1,1,[]],["add",297,299,-1,1,[]],["add",292,299,-1,1,[]],["add",290,299,-1,1,[]],["add",288,299,1,1,[]],["add",303,298,-2,1,[]],["add",302,298,-2,1,[]],["add",297,298,2,1,[]],["add",294,298,2,1,[]],["add",293,298,-2,1,[]],["add",291,298,-1,1,[]],["add",289,298,-2,1,[]],["add",288,298,-2,1,[]],["scale",298,2,1,[]],["scale",299,-1,1,[]],["add",298,299,-1,1,[]],["add",299,298,1,1,[]],["add",298,299,-1,1,[]],["add",303,297,1,1,[]],["add",302,297,1,1,[]],["add",301,297,-1,2,[]],["add",300,297,-1,2,[]],["add",299,297,-1,2,[]],["add",294,297,-1,1,[]],["add",293,297,1,1,[]],["add",292,297,1,2,[]],["add",291,297,1,2,[]],["add",290,297,1,2,[]],["add",289,297,1,1,[]],["add",288,297,1,2,[]],["scale",297,1,2,[]],["scale",298,-1,1,[]],["add",297,298,-1,1,[]],["add",298,297,1,1,[]],["add",297,298,-1,1,[]],["add",303,296,-1,1,[]],["add",302,296,-1,1,[]],["add",301,296,1,1,[]],["add",300,296,1,1,[]],["add",299,296,1,1,[]],["add",298,296,1,1,[]],["add",295,296,-1,1,[]],["add",293,296,-2,1,[]],["scale",296,-1,1,[]],["add",303,295,-1,1,[]],["add",302,295,-1,1,[]],["add",301,295,1,1,[]],["add",300,295,1,1,[]],["add",299,295,1,1,[]],["add",298,295,1,1,[]],["add",293,295,-2,1,[]],["scale",295,-1,1,[]],["scale",297,-1,1,[]],["add",295,297,-1,1,[]],["add",297,295,1,1,[]],["add",295,297,-1,1,[]],["scale",295,-1,1,[]],["add",294,295,-1,1,[]],["add",295,294,1,1,[]],["add",294,295,-1,1,[]],["add",303,293,-1,2,[]],["add",302,293,-1,2,[]],["add",301,293,1,2,[]],["add",300,293,1,2,[]],["add",299,293,1,2,[]],["add",298,293,1,2,[]],["add",297,293,-1,2,[]],["scale",293,-1,2,[]],["scale",296,-1,1,[]],["add",293,296,-1,1,[]],["add",296,293,1,1,[]],["add",293,296,-1,1,[]],["add",303,292,-1,1,[]],["add",302,292,-1,1,[]],["add",297,292,1,1,[]],["add",296,292,1,1,[]],["add",295,292,2,1,[]],["add",291,292,-1,1,[]],["add",290,292,-1,1,[]],["add",289,292,-2,1,[]],["add",288,292,-1,1,[]],["scale",292,2,1,[]],["scale",294,-1,1,[]],["add",292,294,-1,1,[]],["add",294,292,1,1,[]],["add",292,294,-1,1,[]],["add",303,291,-1,1,[]],["add",302,291,-1,1,[]],["add",297,291,1,1,[]],["add",296,291,1,1,[]],["add",295,291,2,1,[]],["add",294,291,2,1,[]],["add",290,291,-1,1,[]],["add",289,291,-2,1,[]],["add",288,291,-1,1,[]],["scale",291,-1,1,[]],["scale",293,-1,1,[]],["add",291,293,-1,1,[]],["add",293,291,1,1,[]],["add",291,293,-1,1,[]],["scale",292,-1,1,[]],["add",290,292,-1,1,[]],["add",292,290,1,1,[]],["add",290,292,-1,1,[]],["add",295,289,1,2,[]],["add",294,289,1,2,[]],["add",293,289,-1,2,[]],["add",292,289,-1,2,[]],["add",288,289,-1,2,[]],["scale",289,1,2,[]],["scale",290,-1,1,[]],["add",289,290,-1,1,[]],["add",290,289,1,1,[]],["add",289,290,-1,1,[]],["scale",290,-1,1,[]],["add",288,290,-1,1,[]],["add",290,288,1,1,[]],["add",288,290,-1,1,[]],["add",318,319,1,1,[]],["add",317,319,-1,1,[]],["add",316,319,-1,1,[]],["add",315,319,-1,1,[]],["add",313,319,-1,1,[]],["add",312,319,1,1,[]],["add",311,319,1,1,[]],["add",309,319,2,1,[]],["scale",319,2,1,[]],["add",316,317,1,1,[]],["add",315,317,-1,1,[]],["add",314,317,1,1,[]],["add",313,317,-1,1,[]],["add",308,317,-1,1,[]],["add",306,317,-1,1,[]],["add",304,317,1,1,[]],["scale",317,2,1,[]],["add",317,315,1,1,[]],["add",316,315,1,1,[]],["add",314,315,1,1,[]],["add",313,315,-1,1,[]],["add",308,315,-1,1,[]],["add",306,315,-1,1,[]],["add",304,315,1,1,[]],["add",319,314,-2,1,[]],["add",318,314,-2,1,[]],["add",313,314,2,1,[]],["add",310,314,2,1,[]],["add",309,314,-2,1,[]],["add",307,314,-1,1,[]],["add",305,314,-2,1,[]],["add",304,314,-2,1,[]],["scale",314,2,1,[]],["scale",315,-1,1,[]],["add",314,315,-1,1,[]],["add",315,314,1,1,[]],["add",314,315,-1,1,[]],["add",319,313,1,1,[]],["add",318,313,1,1,[]],["add",317,313,-1,2,[]],["add",316,313,-1,2,[]],["add",315,313,-1,2,[]],["add",310,313,-1,1,[]],["add",309,313,1,1,[]],["add",308,313,1,2,[]],["add",307,313,1,2,[]],["add",306,313,1,2,[]],["add",305,313,1,1,[]],["add",304,313,1,2,[]],["scale",313,1,2,[]],["scale",314,-1,1,[]],["add",313,314,-1,1,[]],["add",314,313,1,1,[]],["add",313,314,-1,1,[]],["add",319,312,-1,1,[]],["add",318,312,-1,1,[]],["add",317,312,1,1,[]],["add",316,312,1,1,[]],["add",315,312,1,1,[]],["add",314,312,1,1,[]],["add",311,312,-1,1,[]],["add",309,312,-2,1,[]],["scale",312,-1,1,[]],["add",319,311,-1,1,[]],["add",318,311,-1,1,[]],["add",317,311,1,1,[]],["add",316,311,1,1,[]],["add",315,311,1,1,[]],["add",314,311,1,1,[]],["add",309,311,-2,1,[]],["scale",311,-1,1,[]],["scale",313,-1,1,[]],["add",311,313,-1,1,[]],["add",313,311,1,1,[]],["add",311,313,-1,1,[]],["scale",311,-1,1,[]],["add",310,311,-1,1,[]],["add",311,310,1,1,[]],["add",310,311,-1,1,[]],["add",319,309,-1,2,[]],["add",318,309,-1,2,[]],["add",317,309,1,2,[]],["add",316,309,1,2,[]],["add",315,309,1,2,[]],["add",314,309,1,2,[]],["add",313,309,-1,2,[]],["scale",309,-1,2,[]],["scale",312,-1,1,[]],["add",309,312,-1,1,[]],["add",312,309,1,1,[]],["add",309,312,-1,1,[]],["add",319,308,-1,1,[]],["add",318,308,-1,1,[]],["add",313,308,1,1,[]],["add",312,308,1,1,[]],["add",311,308,2,1,[]],["add",307,308,-1,1,[]],["add",306,308,-1,1,[]],["add",305,308,-2,1,[]],["add",304,308,-1,1,[]],["scale",308,2,1,[]],["scale",310,-1,1,[]],["add",308,310,-1,1,[]],["add",310,308,1,1,[]],["add",308,310,-1,1,[]],["add",319,307,-1,1,[]],["add",318,307,-1,1,[]],["add",313,307,1,1,[]],["add",312,307,1,1,[]],["add",311,307,2,1,[]],["add",310,307,2,1,[]],["add",306,307,-1,1,[]],["add",305,307,-2,1,[]],["add",304,307,-1,1,[]],["scale",307,-1,1,[]],["scale",309,-1,1,[]],["add",307,309,-1,1,[]],["add",309,307,1,1,[]],["add",307,309,-1,1,[]],["scale",308,-1,1,[]],["add",306,308,-1,1,[]],["add",308,306,1,1,[]],["add",306,308,-1,1,[]],["add",311,305,1,2,[]],["add",310,305,1,2,[]],["add",309,305,-1,2,[]],["add",308,305,-1,2,[]],["add",304,305,-1,2,[]],["scale",305,1,2,[]],["scale",306,-1,1,[]],["add",305,306,-1,1,[]],["add",306,305,1,1,[]],["add",305,306,-1,1,[]],["scale",306,-1,1,[]],["add",304,306,-1,1,[]],["add",306,304,1,1,[]],["add",304,306,-1,1,[]],["add",334,335,1,1,[]],["add",333,335,-1,1,[]],["add",332,335,-1,1,[]],["add",331,335,-1,1,[]],["add",329,335,-1,1,[]],["add",328,335,1,1,[]],["add",327,335,1,1,[]],["add",325,335,2,1,[]],["scale",335,2,1,[]],["add",332,333,1,1,[]],["add",331,333,-1,1,[]],["add",330,333,1,1,[]],["add",329,333,-1,1,[]],["add",324,333,-1,1,[]],["add",322,333,-1,1,[]],["add",320,333,1,1,[]],["scale",333,2,1,[]],["add",335,331,-1,1,[]],["add",334,331,-1,1,[]],["add",333,331,2,1,[]],["add",332,331,2,1,[]],["add",330,331,3,2,[]],["add",329,331,-1,1,[]],["add",325,331,-1,1,[]],["add",324,331,-1,1,[]],["add",323,331,-1,2,[]],["add",322,331,-1,1,[]],["add",321,331,1,1,[]],["add",320,331,2,1,[]],["scale",331,-1,1,[]],["add",335,330,-2,1,[]],["add",334,330,-2,1,[]],["add",329,330,2,1,[]],["add",326,330,2,1,[]],["add",325,330,-2,1,[]],["add",323,330,-1,1,[]],["add",321,330,-2,1,[]],["add",320,330,-2,1,[]],["scale",330,2,1,[]],["scale",331,-1,1,[]],["add",330,331,-1,1,[]],["add",331,330,1,1,[]],["add",330,331,-1,1,[]],["add",335,329,1,1,[]],["add",334,329,1,1,[]],["add",333,329,-1,2,[]],["add",332,329,-1,2,[]],["add",331,329,-1,2,[]],["add",326,329,-1,1,[]],["add",325,329,1,1,[]],["add",324,329,1,2,[]],["add",323,329,1,2,[]],["add",322,329,1,2,[]],["add",321,329,1,1,[]],["add",320,329,1,2,[]],["scale",329,1,2,[]],["scale",330,-1,1,[]],["add",329,330,-1,1,[]],["add",330,329,1,1,[]],["add",329,330,-1,1,[]],["add",335,328,-1,1,[]],["add",334,328,-1,1,[]],["add",333,328,1,1,[]],["add",332,328,1,1,[]],["add",331,328,1,1,[]],["add",330,328,1,1,[]],["add",327,328,-1,1,[]],["add",325,328,-2,1,[]],["add",320,328,1,1,[]],["scale",328,-1,1,[]],["add",335,327,-1,1,[]],["add",334,327,-1,1,[]],["add",333,327,1,1,[]],["add",332,327,1,1,[]],["add",331,327,1,1,[]],["add",330,327,1,1,[]],["add",325,327,-2,1,[]],["scale",327,-1,1,[]],["scale",329,-1,1,[]],["add",327,329,-1,1,[]],["add",329,327,1,1,[]],["add",327,329,-1,1,[]],["scale",327,-1,1,[]],["add",326,327,-1,1,[]],["add",327,326,1,1,[]],["add",326,327,-1,1,[]],["add",335,325,-1,2,[]],["add",334,325,-1,2,[]],["add",333,325,1,2,[]],["add",332,325,1,2,[]],["add",331,325,1,2,[]],["add",330,325,1,2,[]],["add",329,325,-1,2,[]],["scale",325,-1,2,[]],["scale",328,-1,1,[]],["add",325,328,-1,1,[]],["add",328,325,1,1,[]],["add",325,328,-1,1,[]],["add",335,324,-1,1,[]],["add",334,324,-1,1,[]],["add",329,324,1,1,[]],["add",328,324,1,1,[]],["add",327,324,2,1,[]],["add",323,324,-1,1,[]],["add",322,324,-1,1,[]],["add",321,324,-2,1,[]],["add",320,324,-1,1,[]],["scale",324,2,1,[]],["scale",326,-1,1,[]],["add",324,326,-1,1,[]],["add",326,324,1,1,[]],["add",324,326,-1,1,[]],["add",335,323,-1,1,[]],["add",334,323,-1,1,[]],["add",329,323,1,1,[]],["add",328,323,1,1,[]],["add",327,323,2,1,[]],["add",326,323,2,1,[]],["add",322,323,-1,1,[]],["add",321,323,-2,1,[]],["add",320,323,-1,1,[]],["scale",323,-1,1,[]],["scale",325,-1,1,[]],["add",323,325,-1,1,[]],["add",325,323,1,1,[]],["add",323,325,-1,1,[]],["scale",324,-1,1,[]],["add",322,324,-1,1,[]],["add",324,322,1,1,[]],["add",322,324,-1,1,[]],["add",327,321,1,2,[]],["add",326,321,1,2,[]],["add",325,321,-1,2,[]],["add",324,321,-1,2,[]],["add",322,321,1,2,[]],["add",320,321,-1,2,[]],["scale",321,1,2,[]],["add",323,320,1,1,[]],["scale",322,-1,1,[]],["add",320,322,-1,1,[]],["add",322,320,1,1,[]],["add",320,322,-1,1,[]],["add",350,351,1,1,[]],["add",349,351,-1,1,[]],["add",348,351,-1,1,[]],["add",347,351,-1,1,[]],["add",345,351,-1,1,[]],["add",344,351,1,1,[]],["add",343,351,1,1,[]],["add",341,351,2,1,[]],["scale",351,2,1,[]],["add",348,349,1,1,[]],["add",347,349,-1,1,[]],["add",346,349,1,1,[]],["add",345,349,-1,1,[]],["add",340,349,-1,1,[]],["add",338,349,-1,1,[]],["add",336,349,1,1,[]],["scale",349,2,1,[]],["add",351,347,-1,1,[]],["add",350,347,-1,1,[]],["add",349,347,2,1,[]],["add",348,347,2,1,[]],["add",346,347,3,2,[]],["add",345,347,-1,1,[]],["add",341,347,-1,1,[]],["add",340,347,-1,1,[]],["add",339,347,-1,2,[]],["add",338,347,-1,1,[]],["add",337,347,1,1,[]],["add",336,347,2,1,[]],["scale",347,-1,1,[]],["add",351,346,-2,1,[]],["add",350,346,-2,1,[]],["add",345,346,2,1,[]],["add",342,346,2,1,[]],["add",341,346,-2,1,[]],["add",339,346,-1,1,[]],["add",337,346,-2,1,[]],["add",336,346,-2,1,[]],["scale",346,2,1,[]],["scale",347,-1,1,[]],["add",346,347,-1,1,[]],["add",347,346,1,1,[]],["add",346,347,-1,1,[]],["add",351,345,1,1,[]],["add",350,345,1,1,[]],["add",349,345,-1,2,[]],["add",348,345,-1,2,[]],["add",347,345,-1,2,[]],["add",342,345,-1,1,[]],["add",341,345,1,1,[]],["add",340,345,1,2,[]],["add",339,345,1,2,[]],["add",338,345,1,2,[]],["add",337,345,1,1,[]],["add",336,345,1,2,[]],["scale",345,1,2,[]],["scale",346,-1,1,[]],["add",345,346,-1,1,[]],["add",346,345,1,1,[]],["add",345,346,-1,1,[]],["add",351,344,-1,1,[]],["add",350,344,-1,1,[]],["add",349,344,1,1,[]],["add",348,344,1,1,[]],["add",347,344,1,1,[]],["add",346,344,1,1,[]],["add",343,344,-1,1,[]],["add",341,344,-2,1,[]],["add",336,344,1,1,[]],["scale",344,-1,1,[]],["add",351,343,-1,1,[]],["add",350,343,-1,1,[]],["add",349,343,1,1,[]],["add",348,343,1,1,[]],["add",347,343,1,1,[]],["add",346,343,1,1,[]],["add",341,343,-2,1,[]],["scale",343,-1,1,[]],["scale",345,-1,1,[]],["add",343,345,-1,1,[]],["add",345,343,1,1,[]],["add",343,345,-1,1,[]],["scale",343,-1,1,[]],["add",342,343,-1,1,[]],["add",343,342,1,1,[]],["add",342,343,-1,1,[]],["add",351,341,-1,2,[]],["add",350,341,-1,2,[]],["add",349,341,1,2,[]],["add",348,341,1,2,[]],["add",347,341,1,2,[]],["add",346,341,1,2,[]],["add",345,341,-1,2,[]],["scale",341,-1,2,[]],["scale",344,-1,1,[]],["add",341,344,-1,1,[]],["add",344,341,1,1,[]],["add",341,344,-1,1,[]],["add",351,340,-1,1,[]],["add",350,340,-1,1,[]],["add",345,340,1,1,[]],["add",344,340,1,1,[]],["add",343,340,2,1,[]],["add",339,340,-1,1,[]],["add",338,340,-1,1,[]],["add",337,340,-2,1,[]],["add",336,340,-1,1,[]],["scale",340,2,1,[]],["scale",342,-1,1,[]],["add",340,342,-1,1,[]],["add",342,340,1,1,[]],["add",340,342,-1,1,[]],["add",351,339,-1,1,[]],["add",350,339,-1,1,[]],["add",345,339,1,1,[]],["add",344,339,1,1,[]],["add",343,339,2,1,[]],["add",342,339,2,1,[]],["add",338,339,-1,1,[]],["add",337,339,-2,1,[]],["add",336,339,-1,1,[]],["scale",339,-1,1,[]],["scale",341,-1,1,[]],["add",339,341,-1,1,[]],["add",341,339,1,1,[]],["add",339,341,-1,1,[]],["scale",340,-1,1,[]],["add",338,340,-1,1,[]],["add",340,338,1,1,[]],["add",338,340,-1,1,[]],["add",343,337,1,2,[]],["add",342,337,1,2,[]],["add",341,337,-1,2,[]],["add",340,337,-1,2,[]],["add",338,337,1,2,[]],["add",336,337,-1,2,[]],["scale",337,1,2,[]],["add",339,336,1,1,[]],["scale",338,-1,1,[]],["add",336,338,-1,1,[]],["add",338,336,1,1,[]],["add",336,338,-1,1,[]],["add",366,367,1,1,[]],["add",365,367,-1,1,[]],["add",364,367,-1,1,[]],["add",363,367,-1,1,[]],["add",361,367,-1,1,[]],["add",360,367,1,1,[]],["add",359,367,1,1,[]],["add",357,367,2,1,[]],["scale",367,2,1,[]],["add",364,365,1,1,[]],["add",363,365,-1,1,[]],["add",362,365,1,1,[]],["add",361,365,-1,1,[]],["add",356,365,-1,1,[]],["add",354,365,-1,1,[]],["add",352,365,1,1,[]],["scale",365,2,1,[]],["add",367,363,-1,1,[]],["add",366,363,-1,1,[]],["add",365,363,2,1,[]],["add",364,363,2,1,[]],["add",362,363,3,2,[]],["add",361,363,-1,1,[]],["add",357,363,-1,1,[]],["add",356,363,-1,1,[]],["add",355,363,-1,2,[]],["add",354,363,-1,1,[]],["add",353,363,1,1,[]],["add",352,363,2,1,[]],["scale",363,-1,1,[]],["add",367,362,-2,1,[]],["add",366,362,-2,1,[]],["add",361,362,2,1,[]],["add",358,362,2,1,[]],["add",357,362,-2,1,[]],["add",355,362,-1,1,[]],["add",353,362,-2,1,[]],["add",352,362,-2,1,[]],["scale",362,2,1,[]],["scale",363,-1,1,[]],["add",362,363,-1,1,[]],["add",363,362,1,1,[]],["add",362,363,-1,1,[]],["add",367,361,1,1,[]],["add",366,361,1,1,[]],["add",365,361,-1,2,[]],["add",364,361,-1,2,[]],["add",363,361,-1,2,[]],["add",358,361,-1,1,[]],["add",357,361,1,1,[]],["add",356,361,1,2,[]],["add",355,361,1,2,[]],["add",354,361,1,2,[]],["add",353,361,1,1,[]],["add",352,361,1,2,[]],["scale",361,1,2,[]],["scale",362,-1,1,[]],["add",361,362,-1,1,[]],["add",362,361,1,1,[]],["add",361,362,-1,1,[]],["add",367,360,-1,1,[]],["add",366,360,-1,1,[]],["add",365,360,1,1,[]],["add",364,360,1,1,[]],["add",363,360,1,1,[]],["add",362,360,1,1,[]],["add",359,360,-1,1,[]],["add",357,360,-2,1,[]],["add",352,360,1,1,[]],["scale",360,-1,1,[]],["add",367,359,-1,1,[]],["add",366,359,-1,1,[]],["add",365,359,1,1,[]],["add",364,359,1,1,[]],["add",363,359,1,1,[]],["add",362,359,1,1,[]],["add",357,359,-2,1,[]],["scale",359,-1,1,[]],["scale",361,-1,1,[]],["add",359,361,-1,1,[]],["add",361,359,1,1,[]],["add",359,361,-1,1,[]],["scale",359,-1,1,[]],["add",358,359,-1,1,[]],["add",359,358,1,1,[]],["add",358,359,-1,1,[]],["add",367,357,-1,2,[]],["add",366,357,-1,2,[]],["add",365,357,1,2,[]],["add",364,357,1,2,[]],["add",363,357,1,2,[]],["add",362,357,1,2,[]],["add",361,357,-1,2,[]],["scale",357,-1,2,[]],["scale",360,-1,1,[]],["add",357,360,-1,1,[]],["add",360,357,1,1,[]],["add",357,360,-1,1,[]],["add",367,356,-1,1,[]],["add",366,356,-1,1,[]],["add",361,356,1,1,[]],["add",360,356,1,1,[]],["add",359,356,2,1,[]],["add",355,356,-1,1,[]],["add",354,356,-1,1,[]],["add",353,356,-2,1,[]],["add",352,356,-1,1,[]],["scale",356,2,1,[]],["scale",358,-1,1,[]],["add",356,358,-1,1,[]],["add",358,356,1,1,[]],["add",356,358,-1,1,[]],["add",367,355,-1,1,[]],["add",366,355,-1,1,[]],["add",361,355,1,1,[]],["add",360,355,1,1,[]],["add",359,355,2,1,[]],["add",358,355,2,1,[]],["add",354,355,-1,1,[]],["add",353,355,-2,1,[]],["add",352,355,-1,1,[]],["scale",355,-1,1,[]],["scale",357,-1,1,[]],["add",355,357,-1,1,[]],["add",357,355,1,1,[]],["add",355,357,-1,1,[]],["scale",356,-1,1,[]],["add",354,356,-1,1,[]],["add",356,354,1,1,[]],["add",354,356,-1,1,[]],["add",359,353,1,2,[]],["add",358,353,1,2,[]],["add",357,353,-1,2,[]],["add",356,353,-1,2,[]],["add",354,353,1,2,[]],["add",352,353,-1,2,[]],["scale",353,1,2,[]],["add",355,352,1,1,[]],["scale",354,-1,1,[]],["add",352,354,-1,1,[]],["add",354,352,1,1,[]],["add",352,354,-1,1,[]],["add",382,383,1,1,[]],["add",381,383,-1,1,[]],["add",380,383,-1,1,[]],["add",379,383,-1,1,[]],["add",377,383,-1,1,[]],["add",376,383,1,1,[]],["add",375,383,1,1,[]],["add",373,383,2,1,[]],["scale",383,2,1,[]],["add",380,381,1,1,[]],["add",379,381,-1,1,[]],["add",378,381,1,1,[]],["add",377,381,-1,1,[]],["add",372,381,-1,1,[]],["add",370,381,-1,1,[]],["add",368,381,1,1,[]],["scale",381,2,1,[]],["add",383,379,-1,1,[]],["add",382,379,-1,1,[]],["add",381,379,2,1,[]],["add",380,379,2,1,[]],["add",378,379,3,2,[]],["add",377,379,-1,1,[]],["add",373,379,-1,1,[]],["add",372,379,-1,1,[]],["add",371,379,-1,2,[]],["add",370,379,-1,1,[]],["add",369,379,1,1,[]],["add",368,379,2,1,[]],["scale",379,-1,1,[]],["add",383,378,-2,1,[]],["add",382,378,-2,1,[]],["add",377,378,2,1,[]],["add",374,378,2,1,[]],["add",373,378,-2,1,[]],["add",371,378,-1,1,[]],["add",369,378,-2,1,[]],["add",368,378,-2,1,[]],["scale",378,2,1,[]],["scale",379,-1,1,[]],["add",378,379,-1,1,[]],["add",379,378,1,1,[]],["add",378,379,-1,1,[]],["add",383,377,1,1,[]],["add",382,377,1,1,[]],["add",381,377,-1,2,[]],["add",380,377,-1,2,[]],["add",379,377,-1,2,[]],["add",374,377,-1,1,[]],["add",373,377,1,1,[]],["add",372,377,1,2,[]],["add",371,377,1,2,[]],["add",370,377,1,2,[]],["add",369,377,1,1,[]],["add",368,377,1,2,[]],["scale",377,1,2,[]],["scale",378,-1,1,[]],["add",377,378,-1,1,[]],["add",378,377,1,1,[]],["add",377,378,-1,1,[]],["add",383,376,-1,1,[]],["add",382,376,-1,1,[]],["add",381,376,1,1,[]],["add",380,376,1,1,[]],["add",379,376,1,1,[]],["add",378,376,1,1,[]],["add",375,376,-1,1,[]],["add",373,376,-2,1,[]],["add",368,376,1,1,[]],["scale",376,-1,1,[]],["add",383,375,-1,1,[]],["add",382,375,-1,1,[]],["add",381,375,1,1,[]],["add",380,375,1,1,[]],["add",379,375,1,1,[]],["add",378,375,1,1,[]],["add",373,375,-2,1,[]],["scale",375,-1,1,[]],["scale",377,-1,1,[]],["add",375,377,-1,1,[]],["add",377,375,1,1,[]],["add",375,377,-1,1,[]],["scale",375,-1,1,[]],["add",374,375,-1,1,[]],["add",375,374,1,1,[]],["add",374,375,-1,1,[]],["add",383,373,-1,2,[]],["add",382,373,-1,2,[]],["add",381,373,1,2,[]],["add",380,373,1,2,[]],["add",379,373,1,2,[]],["add",378,373,1,2,[]],["add",377,373,-1,2,[]],["scale",373,-1,2,[]],["scale",376,-1,1,[]],["add",373,376,-1,1,[]],["add",376,373,1,1,[]],["add",373,376,-1,1,[]],["add",383,372,-1,1,[]],["add",382,372,-1,1,[]],["add",377,372,1,1,[]],["add",376,372,1,1,[]],["add",375,372,2,1,[]],["add",371,372,-1,1,[]],["add",370,372,-1,1,[]],["add",369,372,-2,1,[]],["add",368,372,-1,1,[]],["scale",372,2,1,[]],["scale",374,-1,1,[]],["add",372,374,-1,1,[]],["add",374,372,1,1,[]],["add",372,374,-1,1,[]],["add",383,371,-1,1,[]],["add",382,371,-1,1,[]],["add",377,371,1,1,[]],["add",376,371,1,1,[]],["add",375,371,2,1,[]],["add",374,371,2,1,[]],["add",370,371,-1,1,[]],["add",369,371,-2,1,[]],["add",368,371,-1,1,[]],["scale",371,-1,1,[]],["scale",373,-1,1,[]],["add",371,373,-1,1,[]],["add",373,371,1,1,[]],["add",371,373,-1,1,[]],["scale",372,-1,1,[]],["add",370,372,-1,1,[]],["add",372,370,1,1,[]],["add",370,372,-1,1,[]],["add",375,369,1,2,[]],["add",374,369,1,2,[]],["add",373,369,-1,2,[]],["add",372,369,-1,2,[]],["add",370,369,1,2,[]],["add",368,369,-1,2,[]],["scale",369,1,2,[]],["add",371,368,1,1,[]],["scale",370,-1,1,[]],["add",368,370,-1,1,[]],["add",370,368,1,1,[]],["add",368,370,-1,1,[]],["add",398,399,1,1,[]],["add",397,399,-1,1,[]],["add",396,399,-1,1,[]],["add",395,399,-1,1,[]],["add",393,399,-1,1,[]],["add",392,399,1,1,[]],["add",391,399,1,1,[]],["add",389,399,2,1,[]],["scale",399,2,1,[]],["add",396,397,1,1,[]],["add",395,397,-1,1,[]],["add",394,397,1,1,[]],["add",393,397,-1,1,[]],["add",388,397,-1,1,[]],["add",386,397,-1,1,[]],["add",384,397,1,1,[]],["scale",397,2,1,[]],["add",399,395,-1,1,[]],["add",398,395,-1,1,[]],["add",397,395,2,1,[]],["add",396,395,2,1,[]],["add",394,395,3,2,[]],["add",393,395,-1,1,[]],["add",389,395,-1,1,[]],["add",388,395,-1,1,[]],["add",387,395,-1,2,[]],["add",386,395,-1,1,[]],["add",385,395,1,1,[]],["add",384,395,2,1,[]],["scale",395,-1,1,[]],["add",399,394,-2,1,[]],["add",398,394,-2,1,[]],["add",393,394,2,1,[]],["add",390,394,2,1,[]],["add",389,394,-2,1,[]],["add",387,394,-1,1,[]],["add",385,394,-2,1,[]],["add",384,394,-2,1,[]],["scale",394,2,1,[]],["scale",395,-1,1,[]],["add",394,395,-1,1,[]],["add",395,394,1,1,[]],["add",394,395,-1,1,[]],["add",399,393,1,1,[]],["add",398,393,1,1,[]],["add",397,393,-1,2,[]],["add",396,393,-1,2,[]],["add",395,393,-1,2,[]],["add",390,393,-1,1,[]],["add",389,393,1,1,[]],["add",388,393,1,2,[]],["add",387,393,1,2,[]],["add",386,393,1,2,[]],["add",385,393,1,1,[]],["add",384,393,1,2,[]],["scale",393,1,2,[]],["scale",394,-1,1,[]],["add",393,394,-1,1,[]],["add",394,393,1,1,[]],["add",393,394,-1,1,[]],["add",399,392,-1,1,[]],["add",398,392,-1,1,[]],["add",397,392,1,1,[]],["add",396,392,1,1,[]],["add",395,392,1,1,[]],["add",394,392,1,1,[]],["add",391,392,-1,1,[]],["add",389,392,-2,1,[]],["add",384,392,1,1,[]],["scale",392,-1,1,[]],["add",399,391,-1,1,[]],["add",398,391,-1,1,[]],["add",397,391,1,1,[]],["add",396,391,1,1,[]],["add",395,391,1,1,[]],["add",394,391,1,1,[]],["add",389,391,-2,1,[]],["scale",391,-1,1,[]],["scale",393,-1,1,[]],["add",391,393,-1,1,[]],["add",393,391,1,1,[]],["add",391,393,-1,1,[]],["scale",391,-1,1,[]],["add",390,391,-1,1,[]],["add",391,390,1,1,[]],["add",390,391,-1,1,[]],["add",399,389,-1,2,[]],["add",398,389,-1,2,[]],["add",397,389,1,2,[]],["add",396,389,1,2,[]],["add",395,389,1,2,[]],["add",394,389,1,2,[]],["add",393,389,-1,2,[]],["scale",389,-1,2,[]],["scale",392,-1,1,[]],["add",389,392,-1,1,[]],["add",392,389,1,1,[]],["add",389,392,-1,1,[]],["add",399,388,-1,1,[]],["add",398,388,-1,1,[]],["add",393,388,1,1,[]],["add",392,388,1,1,[]],["add",391,388,2,1,[]],["add",387,388,-1,1,[]],["add",386,388,-1,1,[]],["add",385,388,-2,1,[]],["add",384,388,-1,1,[]],["scale",388,2,1,[]],["scale",390,-1,1,[]],["add",388,390,-1,1,[]],["add",390,388,1,1,[]],["add",388,390,-1,1,[]],["add",399,387,-1,1,[]],["add",398,387,-1,1,[]],["add",393,387,1,1,[]],["add",392,387,1,1,[]],["add",391,387,2,1,[]],["add",390,387,2,1,[]],["add",386,387,-1,1,[]],["add",385,387,-2,1,[]],["add",384,387,-1,1,[]],["scale",387,-1,1,[]],["scale",389,-1,1,[]],["add",387,389,-1,1,[]],["add",389,387,1,1,[]],["add",387,389,-1,1,[]],["scale",388,-1,1,[]],["add",386,388,-1,1,[]],["add",388,386,1,1,[]],["add",386,388,-1,1,[]],["add",391,385,1,2,[]],["add",390,385,1,2,[]],["add",389,385,-1,2,[]],["add",388,385,-1,2,[]],["add",386,385,1,2,[]],["add",384,385,-1,2,[]],["scale",385,1,2,[]],["add",387,384,1,1,[]],["scale",386,-1,1,[]],["add",384,386,-1,1,[]],["add",386,384,1,1,[]],["add",384,386,-1,1,[]],["add",546,561,-1,1,[459]],["add",560,561,1,1,[459]],["add",547,561,-1,1,[459]],["add",547,569,-1,1,[459]],["add",568,569,-1,1,[459]],["add",546,569,1,1,[459]],["add",560,578,-1,1,[459]],["add",568,578,-1,1,[459]],["add",546,578,1,1,[459]],["add",560,579,1,1,[459]],["add",547,579,-1,1,[459]],["add",568,579,-1,1,[459]],["add",548,559,-1,1,[459]],["add",558,559,1,1,[459]],["add",549,559,-1,1,[459]],["add",548,571,-1,1,[459]],["add",558,571,2,1,[459]],["add",549,571,-1,1,[459]],["add",570,571,-1,1,[459]],["add",548,576,-1,1,[459]],["add",570,576,-1,1,[459]],["add",558,576,1,1,[459]],["add",549,577,-1,1,[459]],["add",570,577,-1,1,[459]],["add",558,577,1,1,[459]],["add",464,476,-1,1,[75,42]],["add",465,477,-1,1,[75,42]],["add",470,524,1,2,[75,7]],["add",471,525,1,2,[75,7]],["add",478,526,-1,1,[75,25]],["add",479,527,-1,1,[75,25]],["add",514,562,-1,1,[75]],["add",515,563,-1,1,[75]],["add",468,536,1,2,[97,7]],["add",469,537,1,2,[97,7]],["add",480,540,-1,1,[97,25]],["add",481,541,-1,1,[97,25]],["add",516,552,-1,1,[85]],["add",517,553,-1,1,[85]],["add",466,488,-1,1,[76,42]],["add",467,489,-1,1,[76,42]],["add",490,538,-1,1,[102,25]],["add",491,539,-1,1,[102,25]],["add",502,550,-1,1,[102]],["add",503,551,-1,1,[102]],["add",492,528,-1,1,[76,25]],["add",493,529,-1,1,[76,25]],["add",504,564,-1,1,[120]],["add",505,565,-1,1,[120]],["add",456,474,-1,1,[82,42]],["add",457,475,-1,1,[82,42]],["add",462,534,1,2,[120,7]],["add",463,535,1,2,[120,7]],["add",460,522,1,2,[82,7]],["add",461,523,1,2,[82,7]],["add",458,486,-1,1,[85,42]],["add",459,487,-1,1,[85,42]],["add",224,0,1,1,[11]],["add",225,0,1,1,[11]],["add",226,76,1,1,[448]],["add",227,76,1,1,[448]],["add",228,87,1,1,[493]],["add",229,87,1,1,[493]],["add",230,27,1,1,[38]],["add",231,27,1,1,[38]],["add",232,92,1,1,[499]],["add",233,92,1,1,[499]],["add",234,57,1,1,[56]],["add",235,57,1,1,[56]],["add",236,7,1,1,[21]],["add",237,7,1,1,[21]],["add",238,81,1,1,[478]],["add",239,81,1,1,[478]],["add",92,233,1,1,[499]],["add",233,92,-1,1,[499]],["add",92,233,1,1,[499]],["scale",233,-1,1,[478,45]],["add",57,235,1,1,[56]],["add",235,57,-1,1,[56]],["add",57,235,1,1,[56]],["scale",235,-1,1,[45,21]],["add",7,237,1,1,[21]],["add",237,7,-1,1,[21]],["add",7,237,1,1,[21]],["scale",237,-1,1,[21]],["add",81,239,1,1,[478]],["add",239,81,-1,1,[478]],["add",81,239,1,1,[478]],["scale",239,-1,1,[478]],["add",0,27,1,1,[38,11]],["add",27,0,-1,2,[38,11]],["add",224,57,1,1,[51,11]],["add",57,224,-1,2,[51,11]],["add",225,7,1,1,[21,11]],["add",7,225,-1,2,[21,11]],["add",76,87,1,1,[448,45]],["add",87,76,-1,2,[448,45]],["add",226,92,1,1,[448,51]],["add",92,226,-1,2,[448,51]],["add",227,81,1,1,[448,30]],["add",81,227,-1,2,[448,30]],["add",228,232,1,1,[493,30]],["add",232,228,-1,2,[493,30]],["add",229,238,1,1,[478,51]],["add",238,229,-1,2,[478,51]],["add",230,234,1,1,[38,30]],["add",234,230,-1,2,[38,30]],["add",231,236,1,1,[38,21]],["add",236,231,-1,2,[38,21]],["add",233,239,1,1,[478,45]],["add",239,233,-1,2,[478,45]],["add",235,237,1,1,[45,21]],["add",237,235,-1,2,[45,21]],["add",231,229,1,1,[459,38,21]],["add",226,224,1,1,[448,51,11]],["add",230,227,1,1,[448,38,30]],["add",228,225,1,1,[486,21,11]],["add",232,234,1,1,[459,38,30]],["add",7,81,1,1,[448,21,11]],["add",236,92,1,1,[448,38,21]],["add",238,57,1,1,[469,51,11]],["add",57,92,1,1,[448,38,21,11]],["add",92,57,-1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["scale",92,-1,1,[448,38,21,11]],["scale",92,-2,1,[448,38,21,11]],["add",224,92,-1,1,[448,38,21,11]],["add",225,92,-1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",81,57,1,2,[448,38,21,11]],["add",227,57,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["add",81,229,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["scale",81,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["add",224,234,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["scale",224,-2,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["add",225,227,-1,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["scale",225,-1,1,[448,38,21,11]],["add",57,225,1,1,[448,38,21,11]],["add",229,225,1,2,[448,38,21,11]],["add",92,227,1,1,[448,38,21,11]],["add",224,227,1,1,[448,38,21,11]],["add",234,227,-2,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["scale",229,-1,2,[448,38,21,11]],["add",92,229,-1,1,[448,38,21,11]],["add",224,229,-1,1,[448,38,21,11]],["add",227,229,-1,1,[448,38,21,11]],["add",57,234,-1,1,[448,38,21,11]],["add",81,234,-1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["add",229,234,1,1,[448,38,21,11]],["add",227,234,1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["scale",234,2,1,[448,38,21,11]],["add",227,229,1,1,[448,38,21,11]],["add",81,229,1,1,[448,38,21,11]],["add",57,229,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["add",234,227,-1,2,[448,38,21,11]],["add",229,227,-1,1,[448,38,21,11]],["add",225,227,1,1,[448,38,21,11]],["add",224,227,1,2,[448,38,21,11]],["add",81,227,-1,2,[448,38,21,11]],["add",57,227,1,2,[448,38,21,11]],["add",92,227,-1,2,[448,38,21,11]],["scale",227,-1,2,[448,38,21,11]],["add",229,225,1,1,[448,38,21,11]],["add",227,225,1,2,[448,38,21,11]],["add",224,225,-1,2,[448,38,21,11]],["add",81,225,1,2,[448,38,21,11]],["add",57,225,1,2,[448,38,21,11]],["add",92,225,1,2,[448,38,21,11]],["scale",225,-2,1,[448,38,21,11]],["add",81,224,1,1,[448,38,21,11]],["add",57,224,1,1,[448,38,21,11]],["add",92,224,-1,1,[448,38,21,11]],["scale",224,2,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["add",224,225,-1,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["add",227,81,1,2,[448,38,21,11]],["add",225,81,-1,1,[448,38,21,11]],["add",92,81,1,1,[448,38,21,11]],["scale",81,-2,1,[448,38,21,11]],["add",227,57,1,2,[448,38,21,11]],["add",225,57,-1,1,[448,38,21,11]],["add",92,57,1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["add",57,224,-1,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["scale",57,-1,1,[448,38,21,11]],["add",227,92,-1,2,[448,38,21,11]],["add",225,92,1,1,[448,38,21,11]],["add",224,92,1,1,[448,38,21,11]],["add",81,92,1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["add",240,70,1,1,[208]],["add",241,240,1,1,[208]],["add",242,71,1,1,[336]],["add",243,242,1,1,[336]],["add",244,90,1,1,[381]],["add",245,90,1,1,[381]],["add",246,91,1,1,[253]],["add",247,91,1,1,[253]],["add",248,63,1,1,[296]],["add",249,63,1,1,[296]],["add",250,62,1,1,[168]],["add",251,62,1,1,[168]],["add",252,10,1,1,[133]],["add",253,10,1,1,[133]],["add",254,11,1,1,[261]],["add",255,11,1,1,[261]],["add",63,249,1,1,[296]],["add",249,63,-1,1,[296]],["add",63,249,1,1,[296]],["scale",249,-1,1,[261,45]],["add",62,251,1,1,[168]],["add",251,62,-1,1,[168]],["add",62,251,1,1,[168]],["scale",251,-1,1,[133,45]],["add",10,253,1,1,[133]],["add",253,10,-1,1,[133]],["add",10,253,1,1,[133]],["scale",253,-1,1,[133]],["add",11,255,1,1,[261]],["add",255,11,-1,1,[261]],["add",11,255,1,1,[261]],["scale",255,-1,1,[261]],["add",70,91,1,1,[208,45]],["add",91,70,-1,2,[208,45]],["add",240,62,1,1,[168,120]],["add",62,240,-1,2,[168,120]],["add",241,10,1,1,[133,85]],["add",10,241,-1,2,[133,85]],["add",71,90,1,1,[336,45]],["add",90,71,-1,2,[336,45]],["add",242,63,1,1,[296,120]],["add",63,242,-1,2,[296,120]],["add",243,11,1,1,[261,85]],["add",11,243,-1,2,[261,85]],["add",244,248,1,1,[296,85]],["add",248,244,-1,2,[296,85]],["add",245,254,1,1,[261,120]],["add",254,245,-1,2,[261,120]],["add",246,250,1,1,[168,85]],["add",250,246,-1,2,[168,85]],["add",247,252,1,1,[133,120]],["add",252,247,-1,2,[133,120]],["add",249,255,1,1,[261,45]],["add",255,249,-1,2,[261,45]],["add",251,253,1,1,[133,45]],["add",253,251,-1,2,[133,45]],["add",247,245,1,1,[261,133,120]],["add",242,240,1,1,[296,168,120]],["add",246,243,1,1,[261,168,85]],["add",244,241,1,1,[296,133,85]],["add",248,250,1,1,[296,168,85]],["add",10,11,1,1,[261,133,85]],["add",252,63,1,1,[296,133,120]],["add",254,62,1,1,[261,168,120]],["add",62,63,1,1,[261,133,85,45]],["add",63,62,-1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["scale",63,-1,1,[261,133,85,45]],["scale",63,-2,1,[261,133,85,45]],["add",240,63,-1,1,[261,133,85,45]],["add",241,63,-1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",11,62,1,2,[261,133,85,45]],["add",243,62,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["add",11,245,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["scale",11,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["add",240,250,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["scale",240,-2,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["add",241,243,-1,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["scale",241,-1,1,[261,133,85,45]],["add",62,241,1,1,[261,133,85,45]],["add",245,241,1,2,[261,133,85,45]],["add",63,243,1,1,[261,133,85,45]],["add",240,243,1,1,[261,133,85,45]],["add",250,243,-2,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["scale",245,-1,2,[261,133,85,45]],["add",63,245,-1,1,[261,133,85,45]],["add",240,245,-1,1,[261,133,85,45]],["add",243,245,-1,1,[261,133,85,45]],["add",62,250,-1,1,[261,133,85,45]],["add",11,250,-1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["add",245,250,1,1,[261,133,85,45]],["add",243,250,1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["scale",250,2,1,[261,133,85,45]],["add",243,245,1,1,[261,133,85,45]],["add",11,245,1,1,[261,133,85,45]],["add",62,245,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["add",250,243,-1,2,[261,133,85,45]],["add",245,243,-1,1,[261,133,85,45]],["add",241,243,1,1,[261,133,85,45]],["add",240,243,1,2,[261,133,85,45]],["add",11,243,-1,2,[261,133,85,45]],["add",62,243,1,2,[261,133,85,45]],["add",63,243,-1,2,[261,133,85,45]],["scale",243,-1,2,[261,133,85,45]],["add",245,241,1,1,[261,133,85,45]],["add",243,241,1,2,[261,133,85,45]],["add",240,241,-1,2,[261,133,85,45]],["add",11,241,1,2,[261,133,85,45]],["add",62,241,1,2,[261,133,85,45]],["add",63,241,1,2,[261,133,85,45]],["scale",241,-2,1,[261,133,85,45]],["add",11,240,1,1,[261,133,85,45]],["add",62,240,1,1,[261,133,85,45]],["add",63,240,-1,1,[261,133,85,45]],["scale",240,2,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["add",240,241,-1,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["add",243,11,1,2,[261,133,85,45]],["add",241,11,-1,1,[261,133,85,45]],["add",63,11,1,1,[261,133,85,45]],["scale",11,-2,1,[261,133,85,45]],["add",243,62,1,2,[261,133,85,45]],["add",241,62,-1,1,[261,133,85,45]],["add",63,62,1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["add",62,240,-1,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["scale",62,-1,1,[261,133,85,45]],["add",243,63,-1,2,[261,133,85,45]],["add",241,63,1,1,[261,133,85,45]],["add",240,63,1,1,[261,133,85,45]],["add",11,63,1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["add",256,72,1,1,[400]],["add",257,256,1,1,[400]],["add",258,2,1,1,[35]],["add",259,258,1,1,[35]],["add",260,25,1,1,[14]],["add",261,25,1,1,[14]],["add",262,89,1,1,[445]],["add",263,89,1,1,[445]],["add",264,61,1,1,[104]],["add",265,61,1,1,[104]],["add",266,94,1,1,[475]],["add",267,94,1,1,[475]],["add",268,79,1,1,[502]],["add",269,79,1,1,[502]],["add",270,9,1,1,[69]],["add",271,9,1,1,[69]],["add",61,265,1,1,[104]],["add",265,61,-1,1,[104]],["add",61,265,1,1,[104]],["scale",265,-1,1,[69,45]],["add",94,267,1,1,[475]],["add",267,94,-1,1,[475]],["add",94,267,1,1,[475]],["scale",267,-1,1,[475]],["add",79,269,1,1,[502]],["add",269,79,-1,1,[502]],["add",79,269,1,1,[502]],["scale",269,-1,1,[475,45]],["add",9,271,1,1,[69]],["add",271,9,-1,1,[69]],["add",9,271,1,1,[69]],["scale",271,-1,1,[69]],["add",72,89,1,1,[400,45]],["add",89,72,-1,2,[400,45]],["add",256,94,1,1,[400,75]],["add",94,256,-1,2,[400,75]],["add",257,79,1,1,[400,102]],["add",79,257,-1,2,[400,102]],["add",2,25,1,1,[35,14]],["add",25,2,-1,2,[35,14]],["add",258,61,1,1,[75,35]],["add",61,258,-1,2,[75,35]],["add",259,9,1,1,[69,35]],["add",9,259,-1,2,[69,35]],["add",260,264,1,1,[102,14]],["add",264,260,-1,2,[102,14]],["add",261,270,1,1,[69,14]],["add",270,261,-1,2,[69,14]],["add",262,266,1,1,[445,102]],["add",266,262,-1,2,[445,102]],["add",263,268,1,1,[445,75]],["add",268,263,-1,2,[445,75]],["add",265,271,1,1,[69,45]],["add",271,265,-1,2,[69,45]],["add",267,269,1,1,[475,45]],["add",269,267,-1,2,[475,45]],["add",263,261,1,1,[435,69,14]],["add",258,256,1,1,[400,75,35]],["add",262,259,1,1,[414,69,35]],["add",260,257,1,1,[400,102,14]],["add",264,266,1,1,[435,102,14]],["add",79,9,1,1,[400,69,35]],["add",268,61,1,1,[414,75,35]],["add",270,94,1,1,[400,69,14]],["add",94,61,1,1,[400,69,35,14]],["add",61,94,-1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["scale",61,-1,1,[400,69,35,14]],["scale",61,-2,1,[400,69,35,14]],["add",256,61,-1,1,[400,69,35,14]],["add",257,61,-1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",9,94,1,2,[400,69,35,14]],["add",259,94,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["add",9,261,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["scale",9,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["add",256,266,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["scale",256,-2,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["add",257,259,-1,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["scale",257,-1,1,[400,69,35,14]],["add",94,257,1,1,[400,69,35,14]],["add",261,257,1,2,[400,69,35,14]],["add",61,259,1,1,[400,69,35,14]],["add",256,259,1,1,[400,69,35,14]],["add",266,259,-2,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["scale",261,-1,2,[400,69,35,14]],["add",61,261,-1,1,[400,69,35,14]],["add",256,261,-1,1,[400,69,35,14]],["add",259,261,-1,1,[400,69,35,14]],["add",94,266,-1,1,[400,69,35,14]],["add",9,266,-1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["add",261,266,1,1,[400,69,35,14]],["add",259,266,1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["scale",266,2,1,[400,69,35,14]],["add",259,261,1,1,[400,69,35,14]],["add",9,261,1,1,[400,69,35,14]],["add",94,261,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["add",266,259,-1,2,[400,69,35,14]],["add",261,259,-1,1,[400,69,35,14]],["add",257,259,1,1,[400,69,35,14]],["add",256,259,1,2,[400,69,35,14]],["add",9,259,-1,2,[400,69,35,14]],["add",94,259,1,2,[400,69,35,14]],["add",61,259,-1,2,[400,69,35,14]],["scale",259,-1,2,[400,69,35,14]],["add",261,257,1,1,[400,69,35,14]],["add",259,257,1,2,[400,69,35,14]],["add",256,257,-1,2,[400,69,35,14]],["add",9,257,1,2,[400,69,35,14]],["add",94,257,1,2,[400,69,35,14]],["add",61,257,1,2,[400,69,35,14]],["scale",257,-2,1,[400,69,35,14]],["add",9,256,1,1,[400,69,35,14]],["add",94,256,1,1,[400,69,35,14]],["add",61,256,-1,1,[400,69,35,14]],["scale",256,2,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["add",256,257,-1,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["add",259,9,1,2,[400,69,35,14]],["add",257,9,-1,1,[400,69,35,14]],["add",61,9,1,1,[400,69,35,14]],["scale",9,-2,1,[400,69,35,14]],["add",259,94,1,2,[400,69,35,14]],["add",257,94,-1,1,[400,69,35,14]],["add",61,94,1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["add",94,256,-1,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["scale",94,-1,1,[400,69,35,14]],["add",259,61,-1,2,[400,69,35,14]],["add",257,61,1,1,[400,69,35,14]],["add",256,61,1,1,[400,69,35,14]],["add",9,61,1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["add",272,12,1,1,[41]],["add",273,272,1,1,[41]],["add",274,100,1,1,[439]],["add",275,274,1,1,[439]],["add",276,56,1,1,[388]],["add",277,56,1,1,[388]],["add",278,31,1,1,[26]],["add",279,31,1,1,[26]],["add",280,103,1,1,[463]],["add",281,103,1,1,[463]],["add",282,17,1,1,[81]],["add",283,17,1,1,[81]],["add",284,38,1,1,[98]],["add",285,38,1,1,[98]],["add",286,77,1,1,[508]],["add",287,77,1,1,[508]],["add",103,281,1,1,[463]],["add",281,103,-1,1,[463]],["add",103,281,1,1,[463]],["scale",281,-1,1,[463]],["add",17,283,1,1,[81]],["add",283,17,-1,1,[81]],["add",17,283,1,1,[81]],["scale",283,-1,1,[81]],["add",38,285,1,1,[98]],["add",285,38,-1,1,[98]],["add",38,285,1,1,[98]],["scale",285,-1,1,[81,51]],["add",77,287,1,1,[508]],["add",287,77,-1,1,[508]],["add",77,287,1,1,[508]],["scale",287,-1,1,[463,51]],["add",12,31,1,1,[41,26]],["add",31,12,-1,2,[41,26]],["add",272,17,1,1,[81,41]],["add",17,272,-1,2,[81,41]],["add",273,38,1,1,[75,41]],["add",38,273,-1,2,[75,41]],["add",100,56,1,1,[388,51]],["add",56,100,-1,2,[388,51]],["add",274,103,1,1,[439,120]],["add",103,274,-1,2,[439,120]],["add",275,77,1,1,[439,75]],["add",77,275,-1,2,[439,75]],["add",276,280,1,1,[388,75]],["add",280,276,-1,2,[388,75]],["add",277,286,1,1,[388,120]],["add",286,277,-1,2,[388,120]],["add",278,282,1,1,[75,26]],["add",282,278,-1,2,[75,26]],["add",279,284,1,1,[98,26]],["add",284,279,-1,2,[98,26]],["add",281,287,1,1,[463,51]],["add",287,281,-1,2,[463,51]],["add",283,285,1,1,[81,51]],["add",285,283,-1,2,[81,51]],["add",279,277,1,1,[388,98,26]],["add",274,272,1,1,[414,81,41]],["add",278,275,1,1,[429,75,26]],["add",276,273,1,1,[388,75,41]],["add",280,282,1,1,[388,75,26]],["add",38,77,1,1,[414,75,41]],["add",284,103,1,1,[429,98,26]],["add",286,17,1,1,[388,81,41]],["add",17,103,1,1,[388,75,41,26]],["add",103,17,-1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["scale",103,-1,1,[388,75,41,26]],["scale",103,-2,1,[388,75,41,26]],["add",272,103,-1,1,[388,75,41,26]],["add",273,103,-1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",77,17,1,2,[388,75,41,26]],["add",275,17,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["add",77,277,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["scale",77,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["add",272,282,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["scale",272,-2,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["add",273,275,-1,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["scale",273,-1,1,[388,75,41,26]],["add",17,273,1,1,[388,75,41,26]],["add",277,273,1,2,[388,75,41,26]],["add",103,275,1,1,[388,75,41,26]],["add",272,275,1,1,[388,75,41,26]],["add",282,275,-2,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["scale",277,-1,2,[388,75,41,26]],["add",103,277,-1,1,[388,75,41,26]],["add",272,277,-1,1,[388,75,41,26]],["add",275,277,-1,1,[388,75,41,26]],["add",17,282,-1,1,[388,75,41,26]],["add",77,282,-1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["add",277,282,1,1,[388,75,41,26]],["add",275,282,1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["scale",282,2,1,[388,75,41,26]],["add",275,277,1,1,[388,75,41,26]],["add",77,277,1,1,[388,75,41,26]],["add",17,277,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",282,275,-1,2,[388,75,41,26]],["add",277,275,-1,1,[388,75,41,26]],["add",273,275,1,1,[388,75,41,26]],["add",272,275,1,2,[388,75,41,26]],["add",77,275,-1,2,[388,75,41,26]],["add",17,275,1,2,[388,75,41,26]],["add",103,275,-1,2,[388,75,41,26]],["scale",275,-1,2,[388,75,41,26]],["add",277,273,1,1,[388,75,41,26]],["add",275,273,1,2,[388,75,41,26]],["add",272,273,-1,2,[388,75,41,26]],["add",77,273,1,2,[388,75,41,26]],["add",17,273,1,2,[388,75,41,26]],["add",103,273,1,2,[388,75,41,26]],["scale",273,-2,1,[388,75,41,26]],["add",77,272,1,1,[388,75,41,26]],["add",17,272,1,1,[388,75,41,26]],["add",103,272,-1,1,[388,75,41,26]],["scale",272,2,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["add",272,273,-1,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["add",275,77,1,2,[388,75,41,26]],["add",273,77,-1,1,[388,75,41,26]],["add",103,77,1,1,[388,75,41,26]],["scale",77,-2,1,[388,75,41,26]],["add",275,17,1,2,[388,75,41,26]],["add",273,17,-1,1,[388,75,41,26]],["add",103,17,1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["add",17,272,-1,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["scale",17,-1,1,[388,75,41,26]],["add",275,103,-1,2,[388,75,41,26]],["add",273,103,1,1,[388,75,41,26]],["add",272,103,1,1,[388,75,41,26]],["add",77,103,1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["add",288,101,1,1,[375]],["add",289,288,1,1,[375]],["add",290,54,1,1,[196]],["add",291,290,1,1,[196]],["add",292,102,1,1,[247]],["add",293,102,1,1,[247]],["add",294,55,1,1,[324]],["add",295,55,1,1,[324]],["add",296,18,1,1,[145]],["add",297,18,1,1,[145]],["add",298,40,1,1,[290]],["add",299,40,1,1,[290]],["add",300,19,1,1,[273]],["add",301,19,1,1,[273]],["add",302,39,1,1,[162]],["add",303,39,1,1,[162]],["add",18,297,1,1,[145]],["add",297,18,-1,1,[145]],["add",18,297,1,1,[145]],["scale",297,-1,1,[145]],["add",40,299,1,1,[290]],["add",299,40,-1,1,[290]],["add",40,299,1,1,[290]],["scale",299,-1,1,[273,51]],["add",19,301,1,1,[273]],["add",301,19,-1,1,[273]],["add",19,301,1,1,[273]],["scale",301,-1,1,[273]],["add",39,303,1,1,[162]],["add",303,39,-1,1,[162]],["add",39,303,1,1,[162]],["scale",303,-1,1,[145,51]],["add",101,55,1,1,[324,51]],["add",55,101,-1,2,[324,51]],["add",288,40,1,1,[290,85]],["add",40,288,-1,2,[290,85]],["add",289,19,1,1,[273,102]],["add",19,289,-1,2,[273,102]],["add",54,102,1,1,[196,51]],["add",102,54,-1,2,[196,51]],["add",290,18,1,1,[145,85]],["add",18,290,-1,2,[145,85]],["add",291,39,1,1,[162,102]],["add",39,291,-1,2,[162,102]],["add",292,296,1,1,[145,102]],["add",296,292,-1,2,[145,102]],["add",293,302,1,1,[162,85]],["add",302,293,-1,2,[162,85]],["add",294,298,1,1,[290,102]],["add",298,294,-1,2,[290,102]],["add",295,300,1,1,[273,85]],["add",300,295,-1,2,[273,85]],["add",297,303,1,1,[145,51]],["add",303,297,-1,2,[145,51]],["add",299,301,1,1,[273,51]],["add",301,299,-1,2,[273,51]],["add",295,293,1,1,[273,162,85]],["add",290,288,1,1,[290,145,85]],["add",294,291,1,1,[290,162,102]],["add",292,289,1,1,[273,145,102]],["add",296,298,1,1,[290,145,102]],["add",19,39,1,1,[273,162,102]],["add",300,18,1,1,[273,145,85]],["add",302,40,1,1,[290,162,85]],["add",40,18,1,1,[273,145,85,51]],["add",18,40,-1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["scale",18,-1,1,[273,145,85,51]],["scale",18,-2,1,[273,145,85,51]],["add",288,18,-1,1,[273,145,85,51]],["add",289,18,-1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",39,40,1,2,[273,145,85,51]],["add",291,40,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["add",39,293,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["scale",39,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["add",288,298,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["scale",288,-2,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["add",289,291,-1,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["scale",289,-1,1,[273,145,85,51]],["add",40,289,1,1,[273,145,85,51]],["add",293,289,1,2,[273,145,85,51]],["add",18,291,1,1,[273,145,85,51]],["add",288,291,1,1,[273,145,85,51]],["add",298,291,-2,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["scale",293,-1,2,[273,145,85,51]],["add",18,293,-1,1,[273,145,85,51]],["add",288,293,-1,1,[273,145,85,51]],["add",291,293,-1,1,[273,145,85,51]],["add",40,298,-1,1,[273,145,85,51]],["add",39,298,-1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["add",293,298,1,1,[273,145,85,51]],["add",291,298,1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["scale",298,2,1,[273,145,85,51]],["add",291,293,1,1,[273,145,85,51]],["add",39,293,1,1,[273,145,85,51]],["add",40,293,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",298,291,-1,2,[273,145,85,51]],["add",293,291,-1,1,[273,145,85,51]],["add",289,291,1,1,[273,145,85,51]],["add",288,291,1,2,[273,145,85,51]],["add",39,291,-1,2,[273,145,85,51]],["add",40,291,1,2,[273,145,85,51]],["add",18,291,-1,2,[273,145,85,51]],["scale",291,-1,2,[273,145,85,51]],["add",293,289,1,1,[273,145,85,51]],["add",291,289,1,2,[273,145,85,51]],["add",288,289,-1,2,[273,145,85,51]],["add",39,289,1,2,[273,145,85,51]],["add",40,289,1,2,[273,145,85,51]],["add",18,289,1,2,[273,145,85,51]],["scale",289,-2,1,[273,145,85,51]],["add",39,288,1,1,[273,145,85,51]],["add",40,288,1,1,[273,145,85,51]],["add",18,288,-1,1,[273,145,85,51]],["scale",288,2,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["add",288,289,-1,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["add",291,39,1,2,[273,145,85,51]],["add",289,39,-1,1,[273,145,85,51]],["add",18,39,1,1,[273,145,85,51]],["scale",39,-2,1,[273,145,85,51]],["add",291,40,1,2,[273,145,85,51]],["add",289,40,-1,1,[273,145,85,51]],["add",18,40,1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["add",40,288,-1,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["scale",40,-1,1,[273,145,85,51]],["add",291,18,-1,2,[273,145,85,51]],["add",289,18,1,1,[273,145,85,51]],["add",288,18,1,1,[273,145,85,51]],["add",39,18,1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["add",304,98,1,1,[487]],["add",305,304,1,1,[487]],["add",306,48,1,1,[84]],["add",307,306,1,1,[84]],["add",308,32,1,1,[74]],["add",309,32,1,1,[74]],["add",310,85,1,1,[505]],["add",311,85,1,1,[505]],["add",312,45,1,1,[44]],["add",313,45,1,1,[44]],["add",314,107,1,1,[415]],["add",315,107,1,1,[415]],["add",316,24,1,1,[385]],["add",317,24,1,1,[385]],["add",318,35,1,1,[50]],["add",319,35,1,1,[50]],["add",45,313,1,1,[44]],["add",313,45,-1,1,[44]],["add",45,313,1,1,[44]],["scale",313,-1,1,[44]],["add",107,315,1,1,[415]],["add",315,107,-1,1,[415]],["add",107,315,1,1,[415]],["scale",315,-1,1,[385,30]],["add",24,317,1,1,[385]],["add",317,24,-1,1,[385]],["add",24,317,1,1,[385]],["scale",317,-1,1,[385]],["add",35,319,1,1,[50]],["add",319,35,-1,1,[50]],["add",35,319,1,1,[50]],["scale",319,-1,1,[44,30]],["add",98,85,1,1,[487,30]],["add",85,98,-1,2,[487,30]],["add",304,107,1,1,[415,120]],["add",107,304,-1,2,[415,120]],["add",305,24,1,1,[385,102]],["add",24,305,-1,2,[385,102]],["add",48,32,1,1,[74,30]],["add",32,48,-1,2,[74,30]],["add",306,45,1,1,[84,44]],["add",45,306,-1,2,[84,44]],["add",307,35,1,1,[84,50]],["add",35,307,-1,2,[84,50]],["add",308,312,1,1,[74,44]],["add",312,308,-1,2,[74,44]],["add",309,318,1,1,[74,50]],["add",318,309,-1,2,[74,50]],["add",310,314,1,1,[415,102]],["add",314,310,-1,2,[415,102]],["add",311,316,1,1,[385,120]],["add",316,311,-1,2,[385,120]],["add",313,319,1,1,[44,30]],["add",319,313,-1,2,[44,30]],["add",315,317,1,1,[385,30]],["add",317,315,-1,2,[385,30]],["add",311,309,1,1,[385,74,50]],["add",306,304,1,1,[415,84,44]],["add",310,307,1,1,[415,84,50]],["add",308,305,1,1,[385,74,44]],["add",312,314,1,1,[415,74,44]],["add",24,35,1,1,[385,84,50]],["add",316,45,1,1,[385,84,44]],["add",318,107,1,1,[415,74,50]],["add",107,45,1,1,[385,74,44,30]],["add",45,107,-1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["scale",45,-1,1,[385,74,44,30]],["scale",45,-2,1,[385,74,44,30]],["add",304,45,-1,1,[385,74,44,30]],["add",305,45,-1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",35,107,1,2,[385,74,44,30]],["add",307,107,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["add",35,309,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["scale",35,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["add",304,314,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["scale",304,-2,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["add",305,307,-1,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["scale",305,-1,1,[385,74,44,30]],["add",107,305,1,1,[385,74,44,30]],["add",309,305,1,2,[385,74,44,30]],["add",45,307,1,1,[385,74,44,30]],["add",304,307,1,1,[385,74,44,30]],["add",314,307,-2,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["scale",309,-1,2,[385,74,44,30]],["add",45,309,-1,1,[385,74,44,30]],["add",304,309,-1,1,[385,74,44,30]],["add",307,309,-1,1,[385,74,44,30]],["add",107,314,-1,1,[385,74,44,30]],["add",35,314,-1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["add",309,314,1,1,[385,74,44,30]],["add",307,314,1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["scale",314,2,1,[385,74,44,30]],["add",307,309,1,1,[385,74,44,30]],["add",35,309,1,1,[385,74,44,30]],["add",107,309,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",314,307,-1,2,[385,74,44,30]],["add",309,307,-1,1,[385,74,44,30]],["add",305,307,1,1,[385,74,44,30]],["add",304,307,1,2,[385,74,44,30]],["add",35,307,-1,2,[385,74,44,30]],["add",107,307,1,2,[385,74,44,30]],["add",45,307,-1,2,[385,74,44,30]],["scale",307,-1,2,[385,74,44,30]],["add",309,305,1,1,[385,74,44,30]],["add",307,305,1,2,[385,74,44,30]],["add",304,305,-1,2,[385,74,44,30]],["add",35,305,1,2,[385,74,44,30]],["add",107,305,1,2,[385,74,44,30]],["add",45,305,1,2,[385,74,44,30]],["scale",305,-2,1,[385,74,44,30]],["add",35,304,1,1,[385,74,44,30]],["add",107,304,1,1,[385,74,44,30]],["add",45,304,-1,1,[385,74,44,30]],["scale",304,2,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["add",304,305,-1,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["add",307,35,1,2,[385,74,44,30]],["add",305,35,-1,1,[385,74,44,30]],["add",45,35,1,1,[385,74,44,30]],["scale",35,-2,1,[385,74,44,30]],["add",307,107,1,2,[385,74,44,30]],["add",305,107,-1,1,[385,74,44,30]],["add",45,107,1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["add",107,304,-1,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["scale",107,-1,1,[385,74,44,30]],["add",307,45,-1,2,[385,74,44,30]],["add",305,45,1,1,[385,74,44,30]],["add",304,45,1,1,[385,74,44,30]],["add",35,45,1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["add",320,49,1,1,[148]],["add",321,49,1,1,[148]],["add",322,34,1,1,[266]],["add",323,34,1,1,[266]],["add",324,50,1,1,[276]],["add",325,50,1,1,[276]],["add",326,33,1,1,[138]],["add",327,33,1,1,[138]],["add",328,108,1,1,[351]],["add",329,108,1,1,[351]],["add",330,22,1,1,[193]],["add",331,22,1,1,[193]],["add",332,109,1,1,[223]],["add",333,109,1,1,[223]],["add",334,23,1,1,[321]],["add",335,23,1,1,[321]],["add",108,329,1,1,[351]],["add",329,108,-1,1,[351]],["add",108,329,1,1,[351]],["scale",329,-1,1,[321,30]],["add",22,331,1,1,[193]],["add",331,22,-1,1,[193]],["add",22,331,1,1,[193]],["scale",331,-1,1,[193]],["add",109,333,1,1,[223]],["add",333,109,-1,1,[223]],["add",109,333,1,1,[223]],["scale",333,-1,1,[193,30]],["add",23,335,1,1,[321]],["add",335,23,-1,1,[321]],["add",23,335,1,1,[321]],["scale",335,-1,1,[321]],["add",49,33,1,1,[138,30]],["add",33,49,-1,2,[138,30]],["add",320,22,1,1,[148,85]],["add",22,320,-1,2,[148,85]],["add",321,109,1,1,[148,75]],["add",109,321,-1,2,[148,75]],["add",34,50,1,1,[266,30]],["add",50,34,-1,2,[266,30]],["add",322,108,1,1,[266,85]],["add",108,322,-1,2,[266,85]],["add",323,23,1,1,[266,75]],["add",23,323,-1,2,[266,75]],["add",324,328,1,1,[276,75]],["add",328,324,-1,2,[276,75]],["add",325,334,1,1,[276,85]],["add",334,325,-1,2,[276,85]],["add",326,330,1,1,[138,75]],["add",330,326,-1,2,[138,75]],["add",327,332,1,1,[138,85]],["add",332,327,-1,2,[138,85]],["add",329,335,1,1,[321,30]],["add",335,329,-1,2,[321,30]],["add",331,333,1,1,[193,30]],["add",333,331,-1,2,[193,30]],["add",327,325,1,1,[276,138,85]],["add",322,320,1,1,[266,148,85]],["add",326,323,1,1,[266,138,75]],["add",324,321,1,1,[276,148,75]],["add",328,330,1,1,[276,138,75]],["add",109,23,1,1,[266,148,75]],["add",332,108,1,1,[266,138,85]],["add",334,22,1,1,[276,148,85]],["add",22,108,1,1,[266,138,75,30]],["add",108,22,-1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["scale",108,-1,1,[266,138,75,30]],["scale",108,-2,1,[266,138,75,30]],["add",320,108,-1,1,[266,138,75,30]],["add",321,108,-1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",23,22,1,2,[266,138,75,30]],["add",323,22,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["add",23,325,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["scale",23,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["add",320,330,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["scale",320,-2,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["add",321,323,-1,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["scale",321,-1,1,[266,138,75,30]],["add",22,321,1,1,[266,138,75,30]],["add",325,321,1,2,[266,138,75,30]],["add",108,323,1,1,[266,138,75,30]],["add",320,323,1,1,[266,138,75,30]],["add",330,323,-2,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["scale",325,-1,2,[266,138,75,30]],["add",108,325,-1,1,[266,138,75,30]],["add",320,325,-1,1,[266,138,75,30]],["add",323,325,-1,1,[266,138,75,30]],["add",22,330,-1,1,[266,138,75,30]],["add",23,330,-1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["add",325,330,1,1,[266,138,75,30]],["add",323,330,1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["scale",330,2,1,[266,138,75,30]],["add",323,325,1,1,[266,138,75,30]],["add",23,325,1,1,[266,138,75,30]],["add",22,325,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",330,323,-1,2,[266,138,75,30]],["add",325,323,-1,1,[266,138,75,30]],["add",321,323,1,1,[266,138,75,30]],["add",320,323,1,2,[266,138,75,30]],["add",23,323,-1,2,[266,138,75,30]],["add",22,323,1,2,[266,138,75,30]],["add",108,323,-1,2,[266,138,75,30]],["scale",323,-1,2,[266,138,75,30]],["add",325,321,1,1,[266,138,75,30]],["add",323,321,1,2,[266,138,75,30]],["add",320,321,-1,2,[266,138,75,30]],["add",23,321,1,2,[266,138,75,30]],["add",22,321,1,2,[266,138,75,30]],["add",108,321,1,2,[266,138,75,30]],["scale",321,-2,1,[266,138,75,30]],["add",23,320,1,1,[266,138,75,30]],["add",22,320,1,1,[266,138,75,30]],["add",108,320,-1,1,[266,138,75,30]],["scale",320,2,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["add",320,321,-1,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["add",323,23,1,2,[266,138,75,30]],["add",321,23,-1,1,[266,138,75,30]],["add",108,23,1,1,[266,138,75,30]],["scale",23,-2,1,[266,138,75,30]],["add",323,22,1,2,[266,138,75,30]],["add",321,22,-1,1,[266,138,75,30]],["add",108,22,1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["add",22,320,-1,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["scale",22,-1,1,[266,138,75,30]],["add",323,108,-1,2,[266,138,75,30]],["add",321,108,1,1,[266,138,75,30]],["add",320,108,1,1,[266,138,75,30]],["add",23,108,1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["add",336,6,1,1,[13]],["add",337,6,1,1,[13]],["add",338,82,1,1,[446]],["add",339,82,1,1,[446]],["add",340,75,1,1,[416]],["add",341,75,1,1,[416]],["add",342,1,1,1,[19]],["add",343,1,1,1,[19]],["add",344,93,1,1,[491]],["add",345,93,1,1,[491]],["add",346,58,1,1,[88]],["add",347,58,1,1,[88]],["add",348,28,1,1,[70]],["add",349,28,1,1,[70]],["add",350,86,1,1,[501]],["add",351,86,1,1,[501]],["add",93,345,1,1,[491]],["add",345,93,-1,1,[491]],["add",93,345,1,1,[491]],["scale",345,-1,1,[491]],["add",58,347,1,1,[88]],["add",347,58,-1,1,[88]],["add",58,347,1,1,[88]],["scale",347,-1,1,[70,30]],["add",28,349,1,1,[70]],["add",349,28,-1,1,[70]],["add",28,349,1,1,[70]],["scale",349,-1,1,[70]],["add",86,351,1,1,[501]],["add",351,86,-1,1,[501]],["add",86,351,1,1,[501]],["scale",351,-1,1,[491,30]],["add",6,1,1,1,[19,13]],["add",1,6,-1,2,[19,13]],["add",336,58,1,1,[85,13]],["add",58,336,-1,2,[85,13]],["add",337,28,1,1,[70,13]],["add",28,337,-1,2,[70,13]],["add",82,75,1,1,[416,30]],["add",75,82,-1,2,[416,30]],["add",338,93,1,1,[446,85]],["add",93,338,-1,2,[446,85]],["add",339,86,1,1,[446,75]],["add",86,339,-1,2,[446,75]],["add",340,344,1,1,[416,75]],["add",344,340,-1,2,[416,75]],["add",341,350,1,1,[416,85]],["add",350,341,-1,2,[416,85]],["add",342,346,1,1,[75,19]],["add",346,342,-1,2,[75,19]],["add",343,348,1,1,[70,19]],["add",348,343,-1,2,[70,19]],["add",345,351,1,1,[491,30]],["add",351,345,-1,2,[491,30]],["add",347,349,1,1,[70,30]],["add",349,347,-1,2,[70,30]],["add",343,341,1,1,[416,70,19]],["add",338,336,1,1,[435,85,13]],["add",342,339,1,1,[429,75,19]],["add",340,337,1,1,[416,70,13]],["add",344,346,1,1,[416,75,19]],["add",28,86,1,1,[435,70,13]],["add",348,93,1,1,[429,70,19]],["add",350,58,1,1,[416,85,13]],["add",58,93,1,1,[416,70,19,13]],["add",93,58,-1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["scale",93,-1,1,[416,70,19,13]],["scale",93,-2,1,[416,70,19,13]],["add",336,93,-1,1,[416,70,19,13]],["add",337,93,-1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",86,58,1,2,[416,70,19,13]],["add",339,58,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["add",86,341,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["scale",86,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["add",336,346,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["scale",336,-2,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["add",337,339,-1,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["scale",337,-1,1,[416,70,19,13]],["add",58,337,1,1,[416,70,19,13]],["add",341,337,1,2,[416,70,19,13]],["add",93,339,1,1,[416,70,19,13]],["add",336,339,1,1,[416,70,19,13]],["add",346,339,-2,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["scale",341,-1,2,[416,70,19,13]],["add",93,341,-1,1,[416,70,19,13]],["add",336,341,-1,1,[416,70,19,13]],["add",339,341,-1,1,[416,70,19,13]],["add",58,346,-1,1,[416,70,19,13]],["add",86,346,-1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["add",341,346,1,1,[416,70,19,13]],["add",339,346,1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["scale",346,2,1,[416,70,19,13]],["add",339,341,1,1,[416,70,19,13]],["add",86,341,1,1,[416,70,19,13]],["add",58,341,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",346,339,-1,2,[416,70,19,13]],["add",341,339,-1,1,[416,70,19,13]],["add",337,339,1,1,[416,70,19,13]],["add",336,339,1,2,[416,70,19,13]],["add",86,339,-1,2,[416,70,19,13]],["add",58,339,1,2,[416,70,19,13]],["add",93,339,-1,2,[416,70,19,13]],["scale",339,-1,2,[416,70,19,13]],["add",341,337,1,1,[416,70,19,13]],["add",339,337,1,2,[416,70,19,13]],["add",336,337,-1,2,[416,70,19,13]],["add",86,337,1,2,[416,70,19,13]],["add",58,337,1,2,[416,70,19,13]],["add",93,337,1,2,[416,70,19,13]],["scale",337,-2,1,[416,70,19,13]],["add",86,336,1,1,[416,70,19,13]],["add",58,336,1,1,[416,70,19,13]],["add",93,336,-1,1,[416,70,19,13]],["scale",336,2,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["add",336,337,-1,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["add",339,86,1,2,[416,70,19,13]],["add",337,86,-1,1,[416,70,19,13]],["add",93,86,1,1,[416,70,19,13]],["scale",86,-2,1,[416,70,19,13]],["add",339,58,1,2,[416,70,19,13]],["add",337,58,-1,1,[416,70,19,13]],["add",93,58,1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["add",58,336,-1,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["scale",58,-1,1,[416,70,19,13]],["add",339,93,-1,2,[416,70,19,13]],["add",337,93,1,1,[416,70,19,13]],["add",336,93,1,1,[416,70,19,13]],["add",86,93,1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["add",352,83,1,1,[382]],["add",353,83,1,1,[382]],["add",354,73,1,1,[224]],["add",355,73,1,1,[224]],["add",356,84,1,1,[254]],["add",357,84,1,1,[254]],["add",358,74,1,1,[352]],["add",359,74,1,1,[352]],["add",360,59,1,1,[152]],["add",361,59,1,1,[152]],["add",362,30,1,1,[262]],["add",363,30,1,1,[262]],["add",364,60,1,1,[280]],["add",365,60,1,1,[280]],["add",366,29,1,1,[134]],["add",367,29,1,1,[134]],["add",59,361,1,1,[152]],["add",361,59,-1,1,[152]],["add",59,361,1,1,[152]],["scale",361,-1,1,[134,30]],["add",30,363,1,1,[262]],["add",363,30,-1,1,[262]],["add",30,363,1,1,[262]],["scale",363,-1,1,[262]],["add",60,365,1,1,[280]],["add",365,60,-1,1,[280]],["add",60,365,1,1,[280]],["scale",365,-1,1,[262,30]],["add",29,367,1,1,[134]],["add",367,29,-1,1,[134]],["add",29,367,1,1,[134]],["scale",367,-1,1,[134]],["add",83,74,1,1,[352,30]],["add",74,83,-1,2,[352,30]],["add",352,30,1,1,[262,120]],["add",30,352,-1,2,[262,120]],["add",353,60,1,1,[280,102]],["add",60,353,-1,2,[280,102]],["add",73,84,1,1,[224,30]],["add",84,73,-1,2,[224,30]],["add",354,59,1,1,[152,120]],["add",59,354,-1,2,[152,120]],["add",355,29,1,1,[134,102]],["add",29,355,-1,2,[134,102]],["add",356,360,1,1,[152,102]],["add",360,356,-1,2,[152,102]],["add",357,366,1,1,[134,120]],["add",366,357,-1,2,[134,120]],["add",358,362,1,1,[262,102]],["add",362,358,-1,2,[262,102]],["add",359,364,1,1,[280,120]],["add",364,359,-1,2,[280,120]],["add",361,367,1,1,[134,30]],["add",367,361,-1,2,[134,30]],["add",363,365,1,1,[262,30]],["add",365,363,-1,2,[262,30]],["add",359,357,1,1,[280,134,120]],["add",354,352,1,1,[262,152,120]],["add",358,355,1,1,[262,134,102]],["add",356,353,1,1,[280,152,102]],["add",360,362,1,1,[262,152,102]],["add",60,29,1,1,[280,134,102]],["add",364,59,1,1,[280,152,120]],["add",366,30,1,1,[262,134,120]],["add",30,59,1,1,[262,134,102,30]],["add",59,30,-1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["scale",59,-1,1,[262,134,102,30]],["scale",59,-2,1,[262,134,102,30]],["add",352,59,-1,1,[262,134,102,30]],["add",353,59,-1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",29,30,1,2,[262,134,102,30]],["add",355,30,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["add",29,357,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["scale",29,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["add",352,362,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["scale",352,-2,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["add",353,355,-1,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["scale",353,-1,1,[262,134,102,30]],["add",30,353,1,1,[262,134,102,30]],["add",357,353,1,2,[262,134,102,30]],["add",59,355,1,1,[262,134,102,30]],["add",352,355,1,1,[262,134,102,30]],["add",362,355,-2,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["scale",357,-1,2,[262,134,102,30]],["add",59,357,-1,1,[262,134,102,30]],["add",352,357,-1,1,[262,134,102,30]],["add",355,357,-1,1,[262,134,102,30]],["add",30,362,-1,1,[262,134,102,30]],["add",29,362,-1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["add",357,362,1,1,[262,134,102,30]],["add",355,362,1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["scale",362,2,1,[262,134,102,30]],["add",355,357,1,1,[262,134,102,30]],["add",29,357,1,1,[262,134,102,30]],["add",30,357,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",362,355,-1,2,[262,134,102,30]],["add",357,355,-1,1,[262,134,102,30]],["add",353,355,1,1,[262,134,102,30]],["add",352,355,1,2,[262,134,102,30]],["add",29,355,-1,2,[262,134,102,30]],["add",30,355,1,2,[262,134,102,30]],["add",59,355,-1,2,[262,134,102,30]],["scale",355,-1,2,[262,134,102,30]],["add",357,353,1,1,[262,134,102,30]],["add",355,353,1,2,[262,134,102,30]],["add",352,353,-1,2,[262,134,102,30]],["add",29,353,1,2,[262,134,102,30]],["add",30,353,1,2,[262,134,102,30]],["add",59,353,1,2,[262,134,102,30]],["scale",353,-2,1,[262,134,102,30]],["add",29,352,1,1,[262,134,102,30]],["add",30,352,1,1,[262,134,102,30]],["add",59,352,-1,1,[262,134,102,30]],["scale",352,2,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["add",352,353,-1,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["add",355,29,1,2,[262,134,102,30]],["add",353,29,-1,1,[262,134,102,30]],["add",59,29,1,1,[262,134,102,30]],["scale",29,-2,1,[262,134,102,30]],["add",355,30,1,2,[262,134,102,30]],["add",353,30,-1,1,[262,134,102,30]],["add",59,30,1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["add",30,352,-1,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["scale",30,-1,1,[262,134,102,30]],["add",355,59,-1,2,[262,134,102,30]],["add",353,59,1,1,[262,134,102,30]],["add",352,59,1,1,[262,134,102,30]],["add",29,59,1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["add",368,80,1,1,[494]],["add",369,80,1,1,[494]],["add",370,67,1,1,[112]],["add",371,67,1,1,[112]],["add",372,3,1,1,[67]],["add",373,3,1,1,[67]],["add",374,88,1,1,[477]],["add",375,88,1,1,[477]],["add",376,8,1,1,[37]],["add",377,8,1,1,[37]],["add",378,95,1,1,[443]],["add",379,95,1,1,[443]],["add",380,66,1,1,[392]],["add",381,66,1,1,[392]],["add",382,26,1,1,[22]],["add",383,26,1,1,[22]],["add",8,377,1,1,[37]],["add",377,8,-1,1,[37]],["add",8,377,1,1,[37]],["scale",377,-1,1,[37]],["add",95,379,1,1,[443]],["add",379,95,-1,1,[443]],["add",95,379,1,1,[443]],["scale",379,-1,1,[392,51]],["add",66,381,1,1,[392]],["add",381,66,-1,1,[392]],["add",66,381,1,1,[392]],["scale",381,-1,1,[392]],["add",26,383,1,1,[22]],["add",383,26,-1,1,[22]],["add",26,383,1,1,[22]],["scale",383,-1,1,[22]],["add",80,88,1,1,[477,51]],["add",88,80,-1,2,[477,51]],["add",368,95,1,1,[443,85]],["add",95,368,-1,2,[443,85]],["add",369,66,1,1,[392,102]],["add",66,369,-1,2,[392,102]],["add",67,3,1,1,[67,51]],["add",3,67,-1,2,[67,51]],["add",370,8,1,1,[85,37]],["add",8,370,-1,2,[85,37]],["add",371,26,1,1,[102,22]],["add",26,371,-1,2,[102,22]],["add",372,376,1,1,[67,37]],["add",376,372,-1,2,[67,37]],["add",373,382,1,1,[67,22]],["add",382,373,-1,2,[67,22]],["add",374,378,1,1,[443,102]],["add",378,374,-1,2,[443,102]],["add",375,380,1,1,[392,85]],["add",380,375,-1,2,[392,85]],["add",377,383,1,1,[37,22]],["add",383,377,-1,2,[37,22]],["add",379,381,1,1,[392,51]],["add",381,379,-1,2,[392,51]],["add",375,373,1,1,[392,67,22]],["add",370,368,1,1,[414,85,37]],["add",374,371,1,1,[429,102,22]],["add",372,369,1,1,[392,67,37]],["add",376,378,1,1,[414,67,37]],["add",66,26,1,1,[392,102,22]],["add",380,8,1,1,[392,85,37]],["add",382,95,1,1,[429,67,22]],["add",95,8,1,1,[392,67,37,22]],["add",8,95,-1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["scale",8,-1,1,[392,67,37,22]],["scale",8,-2,1,[392,67,37,22]],["add",368,8,-1,1,[392,67,37,22]],["add",369,8,-1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",26,95,1,2,[392,67,37,22]],["add",371,95,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["add",26,373,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["scale",26,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["add",368,378,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["scale",368,-2,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["add",369,371,-1,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["scale",369,-1,1,[392,67,37,22]],["add",95,369,1,1,[392,67,37,22]],["add",373,369,1,2,[392,67,37,22]],["add",8,371,1,1,[392,67,37,22]],["add",368,371,1,1,[392,67,37,22]],["add",378,371,-2,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["scale",373,-1,2,[392,67,37,22]],["add",8,373,-1,1,[392,67,37,22]],["add",368,373,-1,1,[392,67,37,22]],["add",371,373,-1,1,[392,67,37,22]],["add",95,378,-1,1,[392,67,37,22]],["add",26,378,-1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["add",373,378,1,1,[392,67,37,22]],["add",371,378,1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["scale",378,2,1,[392,67,37,22]],["add",371,373,1,1,[392,67,37,22]],["add",26,373,1,1,[392,67,37,22]],["add",95,373,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",378,371,-1,2,[392,67,37,22]],["add",373,371,-1,1,[392,67,37,22]],["add",369,371,1,1,[392,67,37,22]],["add",368,371,1,2,[392,67,37,22]],["add",26,371,-1,2,[392,67,37,22]],["add",95,371,1,2,[392,67,37,22]],["add",8,371,-1,2,[392,67,37,22]],["scale",371,-1,2,[392,67,37,22]],["add",373,369,1,1,[392,67,37,22]],["add",371,369,1,2,[392,67,37,22]],["add",368,369,-1,2,[392,67,37,22]],["add",26,369,1,2,[392,67,37,22]],["add",95,369,1,2,[392,67,37,22]],["add",8,369,1,2,[392,67,37,22]],["scale",369,-2,1,[392,67,37,22]],["add",26,368,1,1,[392,67,37,22]],["add",95,368,1,1,[392,67,37,22]],["add",8,368,-1,1,[392,67,37,22]],["scale",368,2,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["add",368,369,-1,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["add",371,26,1,2,[392,67,37,22]],["add",369,26,-1,1,[392,67,37,22]],["add",8,26,1,1,[392,67,37,22]],["scale",26,-2,1,[392,67,37,22]],["add",371,95,1,2,[392,67,37,22]],["add",369,95,-1,1,[392,67,37,22]],["add",8,95,1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["add",95,368,-1,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["scale",95,-1,1,[392,67,37,22]],["add",371,8,-1,2,[392,67,37,22]],["add",369,8,1,1,[392,67,37,22]],["add",368,8,1,1,[392,67,37,22]],["add",26,8,1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["add",384,68,1,1,[176]],["add",385,68,1,1,[176]],["add",386,5,1,1,[259]],["add",387,5,1,1,[259]],["add",388,69,1,1,[304]],["add",389,69,1,1,[304]],["add",390,4,1,1,[131]],["add",391,4,1,1,[131]],["add",392,96,1,1,[379]],["add",393,96,1,1,[379]],["add",394,64,1,1,[200]],["add",395,64,1,1,[200]],["add",396,97,1,1,[251]],["add",397,97,1,1,[251]],["add",398,65,1,1,[328]],["add",399,65,1,1,[328]],["add",96,393,1,1,[379]],["add",393,96,-1,1,[379]],["add",96,393,1,1,[379]],["scale",393,-1,1,[328,51]],["add",64,395,1,1,[200]],["add",395,64,-1,1,[200]],["add",64,395,1,1,[200]],["scale",395,-1,1,[200]],["add",97,397,1,1,[251]],["add",397,97,-1,1,[251]],["add",97,397,1,1,[251]],["scale",397,-1,1,[200,51]],["add",65,399,1,1,[328]],["add",399,65,-1,1,[328]],["add",65,399,1,1,[328]],["scale",399,-1,1,[328]],["add",68,4,1,1,[131,51]],["add",4,68,-1,2,[131,51]],["add",384,64,1,1,[176,120]],["add",64,384,-1,2,[176,120]],["add",385,97,1,1,[176,75]],["add",97,385,-1,2,[176,75]],["add",5,69,1,1,[259,51]],["add",69,5,-1,2,[259,51]],["add",386,96,1,1,[259,120]],["add",96,386,-1,2,[259,120]],["add",387,65,1,1,[259,75]],["add",65,387,-1,2,[259,75]],["add",388,392,1,1,[304,75]],["add",392,388,-1,2,[304,75]],["add",389,398,1,1,[304,120]],["add",398,389,-1,2,[304,120]],["add",390,394,1,1,[131,75]],["add",394,390,-1,2,[131,75]],["add",391,396,1,1,[131,120]],["add",396,391,-1,2,[131,120]],["add",393,399,1,1,[328,51]],["add",399,393,-1,2,[328,51]],["add",395,397,1,1,[200,51]],["add",397,395,-1,2,[200,51]],["add",391,389,1,1,[304,131,120]],["add",386,384,1,1,[259,176,120]],["add",390,387,1,1,[259,131,75]],["add",388,385,1,1,[304,176,75]],["add",392,394,1,1,[304,131,75]],["add",97,65,1,1,[259,176,75]],["add",396,96,1,1,[259,131,120]],["add",398,64,1,1,[304,176,120]],["add",64,96,1,1,[259,131,75,51]],["add",96,64,-1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["scale",96,-1,1,[259,131,75,51]],["scale",96,-2,1,[259,131,75,51]],["add",384,96,-1,1,[259,131,75,51]],["add",385,96,-1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",65,64,1,2,[259,131,75,51]],["add",387,64,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["add",65,389,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["scale",65,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["add",384,394,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["scale",384,-2,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["add",385,387,-1,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["scale",385,-1,1,[259,131,75,51]],["add",64,385,1,1,[259,131,75,51]],["add",389,385,1,2,[259,131,75,51]],["add",96,387,1,1,[259,131,75,51]],["add",384,387,1,1,[259,131,75,51]],["add",394,387,-2,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["scale",389,-1,2,[259,131,75,51]],["add",96,389,-1,1,[259,131,75,51]],["add",384,389,-1,1,[259,131,75,51]],["add",387,389,-1,1,[259,131,75,51]],["add",64,394,-1,1,[259,131,75,51]],["add",65,394,-1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["add",389,394,1,1,[259,131,75,51]],["add",387,394,1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["scale",394,2,1,[259,131,75,51]],["add",387,389,1,1,[259,131,75,51]],["add",65,389,1,1,[259,131,75,51]],["add",64,389,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",394,387,-1,2,[259,131,75,51]],["add",389,387,-1,1,[259,131,75,51]],["add",385,387,1,1,[259,131,75,51]],["add",384,387,1,2,[259,131,75,51]],["add",65,387,-1,2,[259,131,75,51]],["add",64,387,1,2,[259,131,75,51]],["add",96,387,-1,2,[259,131,75,51]],["scale",387,-1,2,[259,131,75,51]],["add",389,385,1,1,[259,131,75,51]],["add",387,385,1,2,[259,131,75,51]],["add",384,385,-1,2,[259,131,75,51]],["add",65,385,1,2,[259,131,75,51]],["add",64,385,1,2,[259,131,75,51]],["add",96,385,1,2,[259,131,75,51]],["scale",385,-2,1,[259,131,75,51]],["add",65,384,1,1,[259,131,75,51]],["add",64,384,1,1,[259,131,75,51]],["add",96,384,-1,1,[259,131,75,51]],["scale",384,2,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["add",384,385,-1,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["add",387,65,1,2,[259,131,75,51]],["add",385,65,-1,1,[259,131,75,51]],["add",96,65,1,1,[259,131,75,51]],["scale",65,-2,1,[259,131,75,51]],["add",387,64,1,2,[259,131,75,51]],["add",385,64,-1,1,[259,131,75,51]],["add",96,64,1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["add",64,384,-1,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["scale",64,-1,1,[259,131,75,51]],["add",387,96,-1,2,[259,131,75,51]],["add",385,96,1,1,[259,131,75,51]],["add",384,96,1,1,[259,131,75,51]],["add",65,96,1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["add",400,15,1,1,[265]],["add",401,400,1,1,[265]],["add",402,14,1,1,[137]],["add",403,14,1,1,[137]],["add",404,52,1,1,[164]],["add",405,52,1,1,[164]],["add",406,53,1,1,[292]],["add",407,53,1,1,[292]],["add",408,41,1,1,[194]],["add",409,41,1,1,[194]],["add",410,42,1,1,[322]],["add",411,42,1,1,[322]],["add",412,105,1,1,[367]],["add",413,105,1,1,[367]],["add",414,106,1,1,[239]],["add",415,106,1,1,[239]],["add",41,409,1,1,[194]],["add",409,41,-1,1,[194]],["add",41,409,1,1,[194]],["scale",409,-1,1,[194]],["add",42,411,1,1,[322]],["add",411,42,-1,1,[322]],["add",42,411,1,1,[322]],["scale",411,-1,1,[322]],["add",105,413,1,1,[367]],["add",413,105,-1,1,[367]],["add",105,413,1,1,[367]],["scale",413,-1,1,[322,45]],["add",106,415,1,1,[239]],["add",415,106,-1,1,[239]],["add",106,415,1,1,[239]],["scale",415,-1,1,[194,45]],["add",15,53,1,1,[265,45]],["add",53,15,-1,2,[265,45]],["add",400,42,1,1,[265,75]],["add",42,400,-1,2,[265,75]],["add",401,105,1,1,[265,102]],["add",105,401,-1,2,[265,102]],["add",14,52,1,1,[137,45]],["add",52,14,-1,2,[137,45]],["add",402,41,1,1,[137,75]],["add",41,402,-1,2,[137,75]],["add",403,106,1,1,[137,102]],["add",106,403,-1,2,[137,102]],["add",404,408,1,1,[164,102]],["add",408,404,-1,2,[164,102]],["add",405,414,1,1,[164,75]],["add",414,405,-1,2,[164,75]],["add",406,410,1,1,[292,102]],["add",410,406,-1,2,[292,102]],["add",407,412,1,1,[292,75]],["add",412,407,-1,2,[292,75]],["add",409,415,1,1,[194,45]],["add",415,409,-1,2,[194,45]],["add",411,413,1,1,[322,45]],["add",413,411,-1,2,[322,45]],["add",407,405,1,1,[292,164,75]],["add",402,400,1,1,[265,137,75]],["add",406,403,1,1,[292,137,102]],["add",404,401,1,1,[265,164,102]],["add",408,410,1,1,[292,164,102]],["add",105,106,1,1,[265,137,102]],["add",412,41,1,1,[292,137,75]],["add",414,42,1,1,[265,164,75]],["add",42,41,1,1,[265,137,75,45]],["add",41,42,-1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["scale",41,-1,1,[265,137,75,45]],["scale",41,-2,1,[265,137,75,45]],["add",400,41,-1,1,[265,137,75,45]],["add",401,41,-1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",106,42,1,2,[265,137,75,45]],["add",403,42,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["add",106,405,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["scale",106,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["add",400,410,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["scale",400,-2,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["add",401,403,-1,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["scale",401,-1,1,[265,137,75,45]],["add",42,401,1,1,[265,137,75,45]],["add",405,401,1,2,[265,137,75,45]],["add",41,403,1,1,[265,137,75,45]],["add",400,403,1,1,[265,137,75,45]],["add",410,403,-2,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["scale",405,-1,2,[265,137,75,45]],["add",41,405,-1,1,[265,137,75,45]],["add",400,405,-1,1,[265,137,75,45]],["add",403,405,-1,1,[265,137,75,45]],["add",42,410,-1,1,[265,137,75,45]],["add",106,410,-1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["add",405,410,1,1,[265,137,75,45]],["add",403,410,1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["scale",410,2,1,[265,137,75,45]],["add",403,405,1,1,[265,137,75,45]],["add",106,405,1,1,[265,137,75,45]],["add",42,405,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["add",410,403,-1,2,[265,137,75,45]],["add",405,403,-1,1,[265,137,75,45]],["add",401,403,1,1,[265,137,75,45]],["add",400,403,1,2,[265,137,75,45]],["add",106,403,-1,2,[265,137,75,45]],["add",42,403,1,2,[265,137,75,45]],["add",41,403,-1,2,[265,137,75,45]],["scale",403,-1,2,[265,137,75,45]],["add",405,401,1,1,[265,137,75,45]],["add",403,401,1,2,[265,137,75,45]],["add",400,401,-1,2,[265,137,75,45]],["add",106,401,1,2,[265,137,75,45]],["add",42,401,1,2,[265,137,75,45]],["add",41,401,1,2,[265,137,75,45]],["scale",401,-2,1,[265,137,75,45]],["add",106,400,1,1,[265,137,75,45]],["add",42,400,1,1,[265,137,75,45]],["add",41,400,-1,1,[265,137,75,45]],["scale",400,2,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["add",400,401,-1,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["add",403,106,1,2,[265,137,75,45]],["add",401,106,-1,1,[265,137,75,45]],["add",41,106,1,1,[265,137,75,45]],["scale",106,-2,1,[265,137,75,45]],["add",403,42,1,2,[265,137,75,45]],["add",401,42,-1,1,[265,137,75,45]],["add",41,42,1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["add",42,400,-1,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["scale",42,-1,1,[265,137,75,45]],["add",403,41,-1,2,[265,137,75,45]],["add",401,41,1,1,[265,137,75,45]],["add",400,41,1,1,[265,137,75,45]],["add",106,41,1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["add",416,13,1,1,[73]],["add",417,416,1,1,[73]],["add",418,78,1,1,[506]],["add",419,78,1,1,[506]],["add",420,99,1,1,[471]],["add",421,99,1,1,[471]],["add",422,51,1,1,[100]],["add",423,51,1,1,[100]],["add",424,43,1,1,[386]],["add",425,43,1,1,[386]],["add",426,16,1,1,[49]],["add",427,16,1,1,[49]],["add",428,44,1,1,[28]],["add",429,44,1,1,[28]],["add",430,104,1,1,[431]],["add",431,104,1,1,[431]],["add",43,425,1,1,[386]],["add",425,43,-1,1,[386]],["add",43,425,1,1,[386]],["scale",425,-1,1,[386]],["add",16,427,1,1,[49]],["add",427,16,-1,1,[49]],["add",16,427,1,1,[49]],["scale",427,-1,1,[45,28]],["add",44,429,1,1,[28]],["add",429,44,-1,1,[28]],["add",44,429,1,1,[28]],["scale",429,-1,1,[28]],["add",104,431,1,1,[431]],["add",431,104,-1,1,[431]],["add",104,431,1,1,[431]],["scale",431,-1,1,[386,45]],["add",13,51,1,1,[73,45]],["add",51,13,-1,2,[73,45]],["add",416,16,1,1,[73,49]],["add",16,416,-1,2,[73,49]],["add",417,44,1,1,[73,28]],["add",44,417,-1,2,[73,28]],["add",78,99,1,1,[471,45]],["add",99,78,-1,2,[471,45]],["add",418,43,1,1,[386,120]],["add",43,418,-1,2,[386,120]],["add",419,104,1,1,[431,85]],["add",104,419,-1,2,[431,85]],["add",420,424,1,1,[386,85]],["add",424,420,-1,2,[386,85]],["add",421,430,1,1,[431,120]],["add",430,421,-1,2,[431,120]],["add",422,426,1,1,[85,49]],["add",426,422,-1,2,[85,49]],["add",423,428,1,1,[100,28]],["add",428,423,-1,2,[100,28]],["add",425,431,1,1,[386,45]],["add",431,425,-1,2,[386,45]],["add",427,429,1,1,[45,28]],["add",429,427,-1,2,[45,28]],["add",423,421,1,1,[431,100,28]],["add",418,416,1,1,[386,73,49]],["add",422,419,1,1,[414,85,49]],["add",420,417,1,1,[386,73,28]],["add",424,426,1,1,[386,85,49]],["add",44,104,1,1,[431,73,28]],["add",428,43,1,1,[386,100,28]],["add",430,16,1,1,[414,73,49]],["add",16,43,1,1,[386,73,45,28]],["add",43,16,-1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["scale",43,-1,1,[386,73,45,28]],["scale",43,-2,1,[386,73,45,28]],["add",416,43,-1,1,[386,73,45,28]],["add",417,43,-1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",104,16,1,2,[386,73,45,28]],["add",419,16,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["add",104,421,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["scale",104,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["add",416,426,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["scale",416,-2,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["add",417,419,-1,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["scale",417,-1,1,[386,73,45,28]],["add",16,417,1,1,[386,73,45,28]],["add",421,417,1,2,[386,73,45,28]],["add",43,419,1,1,[386,73,45,28]],["add",416,419,1,1,[386,73,45,28]],["add",426,419,-2,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["scale",421,-1,2,[386,73,45,28]],["add",43,421,-1,1,[386,73,45,28]],["add",416,421,-1,1,[386,73,45,28]],["add",419,421,-1,1,[386,73,45,28]],["add",16,426,-1,1,[386,73,45,28]],["add",104,426,-1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["add",421,426,1,1,[386,73,45,28]],["add",419,426,1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["scale",426,2,1,[386,73,45,28]],["add",419,421,1,1,[386,73,45,28]],["add",104,421,1,1,[386,73,45,28]],["add",16,421,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["add",426,419,-1,2,[386,73,45,28]],["add",421,419,-1,1,[386,73,45,28]],["add",417,419,1,1,[386,73,45,28]],["add",416,419,1,2,[386,73,45,28]],["add",104,419,-1,2,[386,73,45,28]],["add",16,419,1,2,[386,73,45,28]],["add",43,419,-1,2,[386,73,45,28]],["scale",419,-1,2,[386,73,45,28]],["add",421,417,1,1,[386,73,45,28]],["add",419,417,1,2,[386,73,45,28]],["add",416,417,-1,2,[386,73,45,28]],["add",104,417,1,2,[386,73,45,28]],["add",16,417,1,2,[386,73,45,28]],["add",43,417,1,2,[386,73,45,28]],["scale",417,-2,1,[386,73,45,28]],["add",104,416,1,1,[386,73,45,28]],["add",16,416,1,1,[386,73,45,28]],["add",43,416,-1,1,[386,73,45,28]],["scale",416,2,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["add",416,417,-1,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["add",419,104,1,2,[386,73,45,28]],["add",417,104,-1,1,[386,73,45,28]],["add",43,104,1,1,[386,73,45,28]],["scale",104,-2,1,[386,73,45,28]],["add",419,16,1,2,[386,73,45,28]],["add",417,16,-1,1,[386,73,45,28]],["add",43,16,1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["add",16,416,-1,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["scale",16,-1,1,[386,73,45,28]],["add",419,43,-1,2,[386,73,45,28]],["add",417,43,1,1,[386,73,45,28]],["add",416,43,1,1,[386,73,45,28]],["add",104,43,1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["add",432,36,1,1,[146]],["add",433,36,1,1,[146]],["add",434,21,1,1,[289]],["add",435,21,1,1,[289]],["add",436,47,1,1,[268]],["add",437,47,1,1,[268]],["add",438,111,1,1,[191]],["add",439,111,1,1,[191]],["add",440,37,1,1,[274]],["add",441,37,1,1,[274]],["add",442,20,1,1,[161]],["add",443,20,1,1,[161]],["add",444,46,1,1,[140]],["add",445,46,1,1,[140]],["add",446,110,1,1,[319]],["add",447,110,1,1,[319]],["add",37,441,1,1,[274]],["add",441,37,-1,1,[274]],["add",37,441,1,1,[274]],["scale",441,-1,1,[274]],["add",20,443,1,1,[161]],["add",443,20,-1,1,[161]],["add",20,443,1,1,[161]],["scale",443,-1,1,[140,45]],["add",46,445,1,1,[140]],["add",445,46,-1,1,[140]],["add",46,445,1,1,[140]],["scale",445,-1,1,[140]],["add",110,447,1,1,[319]],["add",447,110,-1,1,[319]],["add",110,447,1,1,[319]],["scale",447,-1,1,[274,45]],["add",36,111,1,1,[146,45]],["add",111,36,-1,2,[146,45]],["add",432,20,1,1,[146,51]],["add",20,432,-1,2,[146,51]],["add",433,46,1,1,[140,30]],["add",46,433,-1,2,[140,30]],["add",21,47,1,1,[268,45]],["add",47,21,-1,2,[268,45]],["add",434,37,1,1,[274,51]],["add",37,434,-1,2,[274,51]],["add",435,110,1,1,[289,30]],["add",110,435,-1,2,[289,30]],["add",436,440,1,1,[268,30]],["add",440,436,-1,2,[268,30]],["add",437,446,1,1,[268,51]],["add",446,437,-1,2,[268,51]],["add",438,442,1,1,[161,30]],["add",442,438,-1,2,[161,30]],["add",439,444,1,1,[140,51]],["add",444,439,-1,2,[140,51]],["add",441,447,1,1,[274,45]],["add",447,441,-1,2,[274,45]],["add",443,445,1,1,[140,45]],["add",445,443,-1,2,[140,45]],["add",439,437,1,1,[268,140,51]],["add",434,432,1,1,[274,146,51]],["add",438,435,1,1,[289,161,30]],["add",436,433,1,1,[268,140,30]],["add",440,442,1,1,[268,161,30]],["add",46,110,1,1,[289,140,30]],["add",444,37,1,1,[274,140,51]],["add",446,20,1,1,[268,146,51]],["add",20,37,1,1,[268,140,45,30]],["add",37,20,-1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["scale",37,-1,1,[268,140,45,30]],["scale",37,-2,1,[268,140,45,30]],["add",432,37,-1,1,[268,140,45,30]],["add",433,37,-1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",110,20,1,2,[268,140,45,30]],["add",435,20,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["add",110,437,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["scale",110,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["add",432,442,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["scale",432,-2,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["add",433,435,-1,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["scale",433,-1,1,[268,140,45,30]],["add",20,433,1,1,[268,140,45,30]],["add",437,433,1,2,[268,140,45,30]],["add",37,435,1,1,[268,140,45,30]],["add",432,435,1,1,[268,140,45,30]],["add",442,435,-2,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["scale",437,-1,2,[268,140,45,30]],["add",37,437,-1,1,[268,140,45,30]],["add",432,437,-1,1,[268,140,45,30]],["add",435,437,-1,1,[268,140,45,30]],["add",20,442,-1,1,[268,140,45,30]],["add",110,442,-1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["add",437,442,1,1,[268,140,45,30]],["add",435,442,1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["scale",442,2,1,[268,140,45,30]],["add",435,437,1,1,[268,140,45,30]],["add",110,437,1,1,[268,140,45,30]],["add",20,437,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["add",442,435,-1,2,[268,140,45,30]],["add",437,435,-1,1,[268,140,45,30]],["add",433,435,1,1,[268,140,45,30]],["add",432,435,1,2,[268,140,45,30]],["add",110,435,-1,2,[268,140,45,30]],["add",20,435,1,2,[268,140,45,30]],["add",37,435,-1,2,[268,140,45,30]],["scale",435,-1,2,[268,140,45,30]],["add",437,433,1,1,[268,140,45,30]],["add",435,433,1,2,[268,140,45,30]],["add",432,433,-1,2,[268,140,45,30]],["add",110,433,1,2,[268,140,45,30]],["add",20,433,1,2,[268,140,45,30]],["add",37,433,1,2,[268,140,45,30]],["scale",433,-2,1,[268,140,45,30]],["add",110,432,1,1,[268,140,45,30]],["add",20,432,1,1,[268,140,45,30]],["add",37,432,-1,1,[268,140,45,30]],["scale",432,2,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["add",432,433,-1,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["add",435,110,1,2,[268,140,45,30]],["add",433,110,-1,1,[268,140,45,30]],["add",37,110,1,1,[268,140,45,30]],["scale",110,-2,1,[268,140,45,30]],["add",435,20,1,2,[268,140,45,30]],["add",433,20,-1,1,[268,140,45,30]],["add",37,20,1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["add",20,432,-1,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["scale",20,-1,1,[268,140,45,30]],["add",435,37,-1,2,[268,140,45,30]],["add",433,37,1,1,[268,140,45,30]],["add",432,37,1,1,[268,140,45,30]],["add",110,37,1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["add",92,63,1,1,[256,128,64,34,16,10,4,1]],["add",92,61,1,1,[256,128,64,34,16,10,4,1]],["add",92,103,1,1,[256,128,64,34,16,10,4,1]],["add",92,18,1,1,[256,128,64,34,16,10,4,1]],["add",92,45,1,1,[256,128,64,34,16,10,4,1]],["add",92,108,1,1,[256,128,64,34,16,10,4,1]],["add",57,62,1,1,[256,128,64,32,16,8,5,3]],["add",57,94,1,1,[256,128,64,32,16,8,5,3]],["add",57,93,1,1,[256,128,64,32,16,8,5,3]],["add",57,59,1,1,[256,128,64,32,16,8,5,3]],["add",57,8,1,1,[256,128,64,32,16,8,5,3]],["add",57,96,1,1,[256,128,64,32,16,8,5,3]],["add",81,17,1,1,[256,128,64,32,17,9,4,2]],["add",81,40,1,1,[256,128,64,32,17,9,4,2]],["add",81,58,1,1,[256,128,64,32,17,9,4,2]],["add",81,30,1,1,[256,128,64,32,17,9,4,2]],["add",81,41,1,1,[256,128,64,32,17,9,4,2]],["add",81,43,1,1,[256,128,64,32,17,9,4,2]],["add",224,107,1,1,[256,128,64,36,20,8,2,1]],["add",224,22,1,1,[256,128,64,36,20,8,2,1]],["add",224,95,1,1,[256,128,64,36,20,8,2,1]],["add",224,64,1,1,[256,128,64,36,20,8,2,1]],["add",224,42,1,1,[256,128,64,36,20,8,2,1]],["add",224,16,1,1,[256,128,64,36,20,8,2,1]],["add",11,77,1,1,[256,128,66,32,18,8,4,1]],["add",11,35,1,1,[256,128,66,32,18,8,4,1]],["add",11,86,1,1,[256,128,66,32,18,8,4,1]],["add",11,26,1,1,[256,128,66,32,18,8,4,1]],["add",11,106,1,1,[256,128,66,32,18,8,4,1]],["add",11,37,1,1,[256,128,66,32,18,8,4,1]],["add",240,39,1,1,[256,128,65,33,17,9,5,3]],["add",240,23,1,1,[256,128,65,33,17,9,5,3]],["add",240,29,1,1,[256,128,65,33,17,9,5,3]],["add",240,65,1,1,[256,128,65,33,17,9,5,3]],["add",240,400,1,1,[256,128,65,33,17,9,5,3]],["add",240,20,1,1,[256,128,65,33,17,9,5,3]],["add",9,272,1,1,[256,128,65,33,16,8,4,2]],["add",9,320,1,1,[256,128,65,33,16,8,4,2]],["add",9,352,1,1,[256,128,65,33,16,8,4,2]],["add",9,368,1,1,[256,128,65,33,16,8,4,2]],["add",9,104,1,1,[256,128,65,33,16,8,4,2]],["add",9,110,1,1,[256,128,65,33,16,8,4,2]],["add",256,288,1,1,[256,128,68,32,16,12,2,1]],["add",256,304,1,1,[256,128,68,32,16,12,2,1]],["add",256,336,1,1,[256,128,68,32,16,12,2,1]],["add",256,384,1,1,[256,128,68,32,16,12,2,1]],["add",256,416,1,1,[256,128,68,32,16,12,2,1]],["add",256,432,1,1,[256,128,68,32,16,12,2,1]]],"B":[["add",162,518,-1,1,[30]],["add",172,518,1,1,[30]],["add",196,518,1,1,[30]],["add",140,506,1,1,[30]],["add",144,506,-1,1,[30]],["add",187,506,1,1,[30]],["add",168,554,1,1,[51]],["add",150,554,1,1,[51]],["add",115,554,-1,1,[51]],["add",131,566,1,1,[51]],["add",117,566,-1,1,[51]],["add",590,566,-1,1,[51]],["add",672,566,-2,1,[51]],["add",215,448,1,2,[51]],["add",129,448,1,2,[51]],["add",124,449,1,2,[51]],["add",212,449,1,2,[51]],["add",157,450,1,2,[30]],["add",219,450,1,2,[30]],["add",210,451,1,2,[30]],["add",160,451,1,2,[30]],["add",205,452,-1,1,[30]],["add",170,452,-1,1,[30]],["add",118,453,-1,1,[30]],["add",194,453,-1,1,[30]],["add",120,454,-1,1,[51]],["add",207,454,-1,1,[51]],["add",192,455,-1,1,[51]],["add",179,455,-1,1,[51]],["add",130,472,1,2,[51]],["add",213,473,1,2,[51]],["add",215,484,1,2,[51]],["add",124,485,1,2,[51]],["add",220,496,1,2,[30]],["add",161,497,1,2,[30]],["add",157,508,1,2,[30]],["add",210,509,1,2,[30]],["add",171,520,1,2,[30]],["add",195,521,1,2,[30]],["add",205,532,1,2,[30]],["add",118,533,1,2,[30]],["add",208,544,1,2,[51]],["add",180,545,1,2,[51]],["add",120,556,1,2,[51]],["add",192,557,1,2,[51]],["add",143,585,1,2,[51]],["add",168,584,1,2,[51]],["add",189,585,1,2,[51]],["add",187,586,1,2,[30]],["add",586,506,2,1,[30]],["add",136,586,1,2,[30]],["add",197,587,1,2,[30]],["add",147,587,1,2,[30]],["add",196,588,-1,1,[30]],["add",588,518,-1,1,[30]],["add",221,588,-1,1,[30]],["add",145,589,-1,1,[30]],["add",135,589,-1,1,[30]],["add",167,591,-1,1,[51]],["add",214,590,-1,1,[51]],["add",590,566,1,1,[51]],["add",151,591,-1,1,[51]],["add",188,592,1,4,[45]],["add",199,592,-1,4,[45]],["add",204,592,1,4,[45]],["add",193,592,-1,4,[45]],["add",188,593,1,4,[45]],["add",199,593,1,4,[45]],["add",204,593,1,4,[45]],["add",193,593,1,4,[45]],["add",188,594,1,4,[45]],["add",199,594,1,4,[45]],["add",204,594,1,4,[45]],["add",193,594,-1,4,[45]],["add",188,596,1,4,[45]],["add",199,596,-1,4,[45]],["add",204,596,-1,4,[45]],["add",193,596,-1,4,[45]],["add",183,600,1,4,[45]],["add",202,600,-1,4,[45]],["add",175,600,1,4,[45]],["add",123,600,-1,4,[45]],["add",183,601,1,4,[45]],["add",202,601,1,4,[45]],["add",175,601,1,4,[45]],["add",123,601,1,4,[45]],["add",183,602,1,4,[45]],["add",202,602,1,4,[45]],["add",175,602,1,4,[45]],["add",123,602,-1,4,[45]],["add",183,604,1,4,[45]],["add",202,604,-1,4,[45]],["add",175,604,-1,4,[45]],["add",123,604,-1,4,[45]],["add",114,608,1,4,[45]],["add",137,608,-1,4,[45]],["add",173,608,1,4,[45]],["add",121,608,-1,4,[45]],["add",114,609,1,4,[45]],["add",137,609,1,4,[45]],["add",173,609,1,4,[45]],["add",121,609,1,4,[45]],["add",114,610,1,4,[45]],["add",137,610,1,4,[45]],["add",173,610,1,4,[45]],["add",121,610,-1,4,[45]],["add",114,612,1,4,[45]],["add",137,612,-1,4,[45]],["add",173,612,-1,4,[45]],["add",121,612,-1,4,[45]],["add",212,616,1,4,[51]],["add",168,616,-1,4,[51]],["add",215,616,1,4,[51]],["add",189,616,-1,4,[51]],["add",212,617,1,4,[51]],["add",168,617,1,4,[51]],["add",215,617,1,4,[51]],["add",189,617,1,4,[51]],["add",212,618,1,4,[51]],["add",168,618,1,4,[51]],["add",215,618,1,4,[51]],["add",189,618,-1,4,[51]],["add",212,620,-1,2,[51]],["add",168,620,1,2,[51]],["add",215,620,1,2,[51]],["add",620,555,2,1,[51]],["add",189,620,1,2,[51]],["add",620,555,-2,1,[51]],["add",166,624,1,4,[51]],["add",214,624,-1,4,[51]],["add",130,624,1,4,[51]],["add",151,624,-1,4,[51]],["add",166,625,1,4,[51]],["add",214,625,1,4,[51]],["add",130,625,1,4,[51]],["add",151,625,1,4,[51]],["add",166,626,1,4,[51]],["add",214,626,1,4,[51]],["add",130,626,1,4,[51]],["add",151,626,-1,4,[51]],["add",166,628,-1,2,[51]],["add",628,566,-2,1,[51]],["add",214,628,1,2,[51]],["add",628,566,2,1,[51]],["add",130,628,1,2,[51]],["add",628,567,2,1,[51]],["add",151,628,1,2,[51]],["add",628,567,-2,1,[51]],["add",160,632,1,4,[30]],["add",144,632,-1,4,[30]],["add",157,632,1,4,[30]],["add",147,632,-1,4,[30]],["add",160,633,1,4,[30]],["add",144,633,1,4,[30]],["add",157,633,1,4,[30]],["add",147,633,1,4,[30]],["add",160,634,1,4,[30]],["add",144,634,1,4,[30]],["add",157,634,1,4,[30]],["add",147,634,-1,4,[30]],["add",160,636,-1,2,[30]],["add",636,506,2,1,[30]],["add",144,636,1,2,[30]],["add",636,506,-2,1,[30]],["add",157,636,1,2,[30]],["add",636,531,2,1,[30]],["add",147,636,1,2,[30]],["add",636,531,-2,1,[30]],["add",146,640,1,4,[30]],["add",162,640,-1,4,[30]],["add",220,640,1,4,[30]],["add",135,640,-1,4,[30]],["add",146,641,1,4,[30]],["add",641,518,4,1,[30]],["add",162,641,1,4,[30]],["add",641,518,-4,1,[30]],["add",220,641,1,4,[30]],["add",641,543,4,1,[30]],["add",135,641,1,4,[30]],["add",641,543,-4,1,[30]],["add",146,642,1,4,[30]],["add",162,642,1,4,[30]],["add",220,642,1,4,[30]],["add",135,642,-1,4,[30]],["add",146,644,-1,2,[30]],["add",162,644,1,2,[30]],["add",220,644,1,2,[30]],["add",135,644,1,2,[30]],["add",194,648,-1,2,[30]],["add",187,648,1,2,[30]],["add",205,648,-1,2,[30]],["add",198,648,1,2,[30]],["add",194,649,-1,2,[30]],["add",187,649,-1,2,[30]],["add",205,649,-1,2,[30]],["add",198,649,-1,2,[30]],["add",194,650,-1,2,[30]],["add",187,650,-1,2,[30]],["add",205,650,-1,2,[30]],["add",198,650,1,2,[30]],["add",194,652,-1,2,[30]],["add",187,652,1,2,[30]],["add",205,652,1,2,[30]],["add",198,652,1,2,[30]],["add",185,656,-1,2,[30]],["add",196,656,1,2,[30]],["add",171,656,-1,2,[30]],["add",141,656,1,2,[30]],["add",185,657,-1,2,[30]],["add",196,657,-1,2,[30]],["add",171,657,-1,2,[30]],["add",141,657,-1,2,[30]],["add",185,658,-1,2,[30]],["add",196,658,-1,2,[30]],["add",171,658,-1,2,[30]],["add",141,658,1,2,[30]],["add",185,660,-1,2,[30]],["add",196,660,1,2,[30]],["add",171,660,1,2,[30]],["add",141,660,1,2,[30]],["add",179,664,-1,2,[51]],["add",115,664,1,2,[51]],["add",120,664,-1,2,[51]],["add",138,664,1,2,[51]],["add",179,665,-1,2,[51]],["add",115,665,-1,2,[51]],["add",120,665,-1,2,[51]],["add",138,665,-1,2,[51]],["add",179,666,-1,2,[51]],["add",115,666,-1,2,[51]],["add",120,666,-1,2,[51]],["add",138,666,1,2,[51]],["add",179,668,-1,2,[51]],["add",115,668,1,2,[51]],["add",120,668,1,2,[51]],["add",138,668,1,2,[51]],["add",117,672,-1,2,[51]],["add",181,672,1,2,[51]],["add",672,566,2,1,[51]],["add",208,672,-1,2,[51]],["add",177,672,1,2,[51]],["add",117,673,-1,2,[51]],["add",181,673,-1,2,[51]],["add",208,673,-1,2,[51]],["add",177,673,-1,2,[51]],["add",117,674,-1,2,[51]],["add",181,674,-1,2,[51]],["add",208,674,-1,2,[51]],["add",177,674,1,2,[51]],["add",117,676,-1,2,[51]],["add",676,566,2,1,[51]],["add",181,676,1,2,[51]],["add",676,566,-2,1,[51]],["add",208,676,1,2,[51]],["add",177,676,1,2,[51]],["add",616,554,-2,1,[51]],["add",618,554,2,1,[51]],["add",664,554,-1,1,[51]],["add",666,554,1,1,[51]],["add",664,401,-1,1,[264,136,85,51]],["add",665,401,-1,1,[264,136,85,51]],["add",666,401,1,1,[264,136,85,51]],["add",664,403,1,1,[264,136,85,51]],["add",665,403,-1,1,[264,136,85,51]],["add",668,403,-1,1,[264,136,85,51]],["add",664,670,1,1,[264,136,85,51]],["add",666,670,-1,1,[264,136,85,51]],["add",668,670,-1,1,[264,136,85,51]],["add",665,671,-1,1,[264,136,85,51]],["add",666,671,1,1,[264,136,85,51]],["add",668,671,-1,1,[264,136,85,51]],["add",118,82,-1,2,[416,30]],["add",194,6,-1,2,[19,13]],["add",187,349,1,1,[70,30]],["add",113,351,1,1,[491,30]],["add",351,531,-1,1,[486,19,13]],["add",205,347,-1,2,[70,30]],["add",170,345,-1,2,[491,30]],["add",140,75,1,1,[416,30]],["add",198,1,1,1,[19,13]],["add",124,100,-1,2,[388,51]],["add",212,12,-1,2,[41,26]],["add",168,285,1,1,[81,51]],["add",143,287,1,1,[463,51]],["add",215,283,-1,2,[81,51]],["add",129,281,-1,2,[463,51]],["add",150,56,1,1,[388,51]],["add",189,31,1,1,[41,26]],["add",213,54,-1,2,[196,51]],["add",166,101,-1,2,[324,51]],["add",214,301,1,1,[273,51]],["add",167,303,1,1,[145,51]],["add",130,299,-1,2,[273,51]],["add",152,297,-1,2,[145,51]],["add",131,102,1,1,[196,51]],["add",151,55,1,1,[324,51]],["add",195,73,-1,2,[224,30]],["add",185,83,-1,2,[352,30]],["add",196,365,1,1,[262,30]],["add",186,367,1,1,[134,30]],["add",367,543,-1,1,[352,134,30]],["add",171,363,-1,2,[262,30]],["add",142,361,-1,2,[134,30]],["add",172,84,1,1,[224,30]],["add",141,74,1,1,[352,30]],["add",210,48,-1,2,[74,30]],["add",160,98,-1,2,[487,30]],["add",144,317,1,1,[385,30]],["add",197,319,1,1,[44,30]],["add",157,315,-1,2,[385,30]],["add",219,313,-1,2,[44,30]],["add",136,32,1,1,[74,30]],["add",32,506,-1,1,[385,74,30]],["add",147,85,1,1,[487,30]],["add",192,67,-1,2,[67,51]],["add",179,80,-1,2,[477,51]],["add",115,381,1,1,[392,51]],["add",200,383,1,1,[37,22]],["add",383,555,-1,1,[459,37,22]],["add",120,379,-1,2,[392,51]],["add",207,377,-1,2,[37,22]],["add",178,3,1,1,[67,51]],["add",3,554,-1,1,[392,67,51]],["add",138,88,1,1,[477,51]],["add",180,5,-1,2,[259,51]],["add",117,68,-1,2,[131,51]],["add",181,397,1,1,[200,51]],["add",116,399,1,1,[328,51]],["add",399,567,-1,1,[328,131,51]],["add",208,395,-1,2,[200,51]],["add",176,393,-1,2,[328,51]],["add",209,69,1,1,[259,51]],["add",69,566,-1,1,[259,200,51]],["add",177,4,1,1,[131,51]],["add",161,34,-1,2,[266,30]],["add",146,49,-1,2,[138,30]],["add",162,333,1,1,[193,30]],["add",145,335,1,1,[321,30]],["add",220,331,-1,2,[193,30]],["add",134,329,-1,2,[321,30]],["add",221,50,1,1,[266,30]],["add",50,518,-1,1,[266,193,30]],["add",135,33,1,1,[138,30]],["add",112,76,-1,2,[448,45]],["add",188,0,-1,2,[38,11]],["add",183,72,-1,2,[400,45]],["add",182,2,-1,2,[35,14]],["add",114,70,-1,2,[208,45]],["add",184,71,-1,2,[336,45]],["add",76,0,1,1,[448,38,11]],["add",71,72,1,1,[336,192,45]],["add",2,70,1,1,[208,35,14]],["add",112,71,-1,2,[256,144,80,42,7]],["add",182,76,-1,2,[448,33,9,5,2]],["add",184,2,-1,2,[336,208,35,9,7]],["add",188,184,1,1,[336,208,33,9,5,2]],["add",183,182,1,1,[400,80,33,9,5,2]],["add",114,112,1,1,[256,128,64,42,16,7]],["add",112,2,-1,2,[256,128,64,35,16,9,7]],["add",188,72,-1,2,[320,192,33,16,9,5,2]],["add",183,70,-1,2,[272,128,80,33,9,5,2]],["add",182,71,-1,2,[256,144,80,33,9,5,2]],["add",114,0,-1,2,[256,128,64,33,16,11,7]],["add",184,76,-1,2,[272,144,64,33,9,5,2]],["add",139,239,1,1,[478,45]],["add",193,27,1,1,[38,11]],["add",126,13,-1,2,[73,45]],["add",127,78,-1,2,[471,45]],["add",190,15,-1,2,[265,45]],["add",125,14,-1,2,[137,45]],["add",239,27,1,1,[469,38,11]],["add",14,13,1,1,[137,73,45]],["add",78,15,1,1,[265,222,45]],["add",139,14,-1,2,[263,137,73,45,25]],["add",127,239,1,1,[453,36,16,9,2]],["add",125,78,-1,2,[265,137,78,45,25]],["add",193,125,1,1,[258,130,69,38,18,11]],["add",126,127,1,1,[389,64,36,16,9,2]],["add",190,139,1,1,[263,135,71,35,23,14]],["add",139,78,-1,2,[256,128,64,35,16,9,7]],["add",193,13,-1,2,[258,130,66,33,18,11,7]],["add",126,15,-1,2,[256,133,64,36,16,9,2]],["add",127,14,-1,2,[261,128,64,36,16,9,2]],["add",190,27,1,1,[258,130,66,35,18,11,5]],["add",125,239,1,1,[256,128,69,36,16,9,2]],["add",203,255,1,1,[261,45]],["add",123,91,1,1,[208,45]],["add",218,36,-1,2,[146,45]],["add",165,21,-1,2,[268,45]],["add",133,53,1,1,[265,45]],["add",148,415,1,1,[194,45]],["add",255,91,1,1,[261,208,45]],["add",415,36,-1,2,[146,80,45]],["add",21,53,-2,1,[265,40,5]],["add",203,415,1,1,[261,144,80,45,2]],["add",165,255,1,1,[261,130,82,36,9]],["add",148,21,-1,2,[265,144,82,40,5]],["add",123,148,1,1,[265,130,64,40,18,5]],["add",218,165,1,1,[261,130,66,36,16,9]],["add",133,203,1,1,[261,144,80,33,12,2]],["add",203,21,-1,2,[256,144,80,33,9,5,2]],["add",123,36,-1,2,[265,128,64,40,16,5,2]],["add",218,53,1,1,[256,130,66,33,16,9,5]],["add",165,415,1,1,[261,128,64,36,16,9,2]],["add",133,91,1,1,[261,128,64,33,16,12,2]],["add",148,255,1,1,[256,130,64,33,18,9,5]],["add",201,271,1,1,[69,45]],["add",121,89,1,1,[400,45]],["add",216,111,1,1,[146,45]],["add",163,447,1,1,[274,45]],["add",222,51,1,1,[73,45]],["add",223,431,1,1,[386,45]],["add",271,89,1,1,[400,69,45]],["add",431,111,1,1,[272,146,45]],["add",447,51,1,1,[274,73,45]],["add",201,431,1,1,[272,146,69,36,9]],["add",163,271,1,1,[274,130,69,36,9]],["add",223,447,1,1,[274,144,73,40,5]],["add",121,223,1,1,[256,130,73,40,18,5]],["add",216,163,1,1,[258,130,69,36,16,9]],["add",222,201,1,1,[272,146,64,33,9,5]],["add",201,447,1,1,[272,144,64,33,9,5,2]],["add",121,111,1,1,[256,128,73,40,16,5,2]],["add",216,51,1,1,[258,130,64,33,16,9,5]],["add",163,431,1,1,[256,128,69,36,16,9,2]],["add",222,89,1,1,[258,128,64,33,18,9,5]],["add",223,271,1,1,[256,130,64,33,18,9,5]],["add",191,25,1,1,[35,14]],["add",137,269,1,1,[475,45]],["add",211,445,1,1,[140,45]],["add",156,47,1,1,[268,45]],["add",159,429,1,1,[45,28]],["add",158,99,1,1,[471,45]],["add",25,269,1,1,[469,35,14]],["add",99,445,1,1,[347,140,45]],["add",47,429,1,1,[268,45,28]],["add",191,99,1,1,[279,130,66,35,14]],["add",156,25,1,1,[258,149,66,35,14]],["add",158,47,1,1,[268,139,76,45,28]],["add",137,158,1,1,[256,135,64,33,16,12]],["add",211,156,1,1,[258,130,66,35,23,14]],["add",159,191,1,1,[261,130,66,35,18,14]],["add",191,47,1,1,[258,130,66,35,18,9,7]],["add",137,445,1,1,[256,128,64,33,16,11,7]],["add",211,429,1,1,[258,130,66,35,18,11,5]],["add",156,99,1,1,[256,128,64,33,21,12,2]],["add",159,269,1,1,[261,128,64,33,16,12,2]],["add",158,25,1,1,[256,133,64,33,16,12,2]],["add",169,233,-1,2,[478,45]],["add",204,235,-1,2,[45,21]],["add",175,267,-1,2,[475,45]],["add",174,265,-1,2,[69,45]],["add",173,251,-1,2,[133,45]],["add",206,249,-1,2,[261,45]],["add",233,235,1,1,[459,45,21]],["add",249,267,1,1,[261,222,45]],["add",265,251,1,1,[133,69,45]],["add",169,249,-1,2,[256,217,40,5,2]],["add",174,233,-1,2,[393,66,42,18,7]],["add",206,265,-1,2,[258,130,66,42,7]],["add",204,206,1,1,[258,130,66,42,18,7]],["add",175,174,1,1,[393,64,40,16,5,2]],["add",173,169,1,1,[256,128,89,40,5,2]],["add",169,265,-1,2,[256,128,64,40,25,5,2]],["add",204,267,-1,2,[258,130,66,33,18,11,7]],["add",175,251,-1,2,[265,128,64,40,16,5,2]],["add",174,249,-1,2,[256,137,64,40,16,5,2]],["add",173,235,-1,2,[256,128,73,40,16,5,2]],["add",206,233,-1,2,[258,130,66,35,18,9,7]],["add",119,87,1,1,[448,45]],["add",199,237,1,1,[45,21]],["add",153,427,-1,2,[45,28]],["add",154,425,-1,2,[386,45]],["add",155,411,-1,2,[322,45]],["add",128,409,-1,2,[194,45]],["add",87,237,1,1,[448,45,21]],["add",409,427,1,1,[194,45,28]],["add",425,411,1,1,[322,192,45]],["add",119,409,-1,2,[258,194,40,25,5]],["add",154,87,1,1,[386,66,33,21,12]],["add",128,425,-1,2,[320,192,45,2]],["add",199,128,1,1,[320,192,33,21,12,2]],["add",153,154,1,1,[386,66,33,16,9,5]],["add",155,119,1,1,[258,130,64,40,25,5]],["add",119,425,-1,2,[256,128,64,40,25,5,2]],["add",199,427,-1,2,[320,192,33,16,9,5,2]],["add",153,411,-1,2,[256,130,66,33,16,9,5]],["add",154,409,-1,2,[258,128,66,33,16,9,5]],["add",155,237,1,1,[258,130,64,33,16,9,5]],["add",128,87,1,1,[256,128,64,33,21,12,2]],["add",122,90,1,1,[336,45]],["add",202,253,1,1,[133,45]],["add",164,443,-1,2,[140,45]],["add",217,441,-1,2,[274,45]],["add",149,413,1,1,[322,45]],["add",132,52,1,1,[137,45]],["add",90,253,1,1,[336,133,45]],["add",52,443,-1,2,[137,40,5]],["add",441,413,-2,1,[274,80,45]],["add",122,52,1,1,[258,137,82,40,5]],["add",217,90,1,1,[258,133,66,45,16]],["add",132,441,-1,2,[272,137,80,45,2]],["add",202,132,1,1,[272,133,80,33,12,2]],["add",164,217,1,1,[258,133,66,36,16,9]],["add",149,122,1,1,[258,137,64,40,18,5]],["add",122,441,-1,2,[256,137,64,40,16,5,2]],["add",202,443,-1,2,[272,128,80,33,9,5,2]],["add",164,413,1,1,[256,133,64,36,16,9,2]],["add",217,52,1,1,[258,128,66,33,16,9,5]],["add",149,253,1,1,[258,128,64,33,18,9,5]],["add",132,90,1,1,[256,133,64,33,16,12,2]],["add",448,231,1,1,[459,38,21]],["add",449,226,1,1,[448,51,11]],["add",450,230,1,1,[448,38,30]],["add",451,228,1,1,[486,21,11]],["add",452,232,1,1,[459,38,30]],["add",453,7,1,1,[448,21,11]],["add",454,236,1,1,[448,38,21]],["add",455,238,1,1,[469,51,11]],["add",456,247,1,1,[261,133,82,42]],["add",457,242,1,1,[258,130,82,42]],["add",458,246,1,1,[261,130,85,42]],["add",459,244,1,1,[258,133,85,42]],["add",460,248,1,1,[296,168,82,7]],["add",461,10,1,1,[258,130,82,7]],["add",462,252,1,1,[296,130,120,7]],["add",463,254,1,1,[258,168,120,7]],["add",464,263,1,1,[407,69,36,14]],["add",465,258,1,1,[400,66,35,9]],["add",466,262,1,1,[407,69,35,9]],["add",467,260,1,1,[400,66,36,14]],["add",468,264,1,1,[435,97,9,7]],["add",469,79,1,1,[400,66,35,7]],["add",470,268,1,1,[409,75,35,7]],["add",471,270,1,1,[400,66,9,7]],["add",283,281,1,1,[414,81,51]],["add",277,281,-1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",100,12,1,1,[388,41,26]],["add",273,12,-1,1,[388,75,41,26]],["add",56,285,1,1,[388,81,51]],["add",282,285,-1,1,[388,75,41,26]],["scale",282,-1,1,[388,75,41,26]],["add",287,31,1,1,[463,41,26]],["add",275,31,-1,1,[388,75,41,26]],["add",472,283,1,1,[414,81,51]],["add",472,231,1,1,[387,64,34,17,8,4]],["add",473,100,1,1,[388,41,26]],["add",473,226,1,1,[388,68,33,17,8,3]],["add",474,279,1,1,[388,72,42,26]],["add",475,274,1,1,[413,81,41,3]],["add",476,278,1,1,[391,75,42,26]],["add",477,276,1,1,[388,72,41,3]],["add",478,280,1,1,[388,72,25,3]],["add",479,38,1,1,[391,75,41,25]],["add",480,284,1,1,[429,97,25,3]],["add",481,286,1,1,[388,72,41,25]],["add",273,56,1,1,[388,81,48,3]],["add",275,287,1,1,[391,72,41,26]],["add",299,297,1,1,[273,145,51]],["add",293,297,-1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",54,101,1,1,[324,196,51]],["add",289,101,-1,1,[273,145,85,51]],["add",102,301,1,1,[273,196,51]],["add",298,301,-1,1,[273,145,85,51]],["scale",298,-1,1,[273,145,85,51]],["add",303,55,1,1,[324,145,51]],["add",291,55,-1,1,[273,145,85,51]],["add",55,101,1,2,[273,145,85,51]],["add",101,55,-1,1,[273,145,85,51]],["add",484,299,1,1,[273,145,51]],["add",484,448,1,1,[260,132,71,38,21,12]],["add",485,54,1,1,[324,196,51]],["add",485,449,1,1,[260,132,64,33,18,11]],["add",486,295,1,1,[273,136,85,42]],["add",487,290,1,1,[264,145,85,42]],["add",488,294,1,1,[264,136,76,42]],["add",489,292,1,1,[273,145,76,42]],["add",490,296,1,1,[290,136,102,25]],["add",491,19,1,1,[264,162,102,25]],["add",492,300,1,1,[264,136,76,25]],["add",493,302,1,1,[290,162,76,25]],["add",289,102,1,1,[273,136,76,51]],["add",291,303,1,1,[264,145,76,51]],["add",315,313,1,1,[385,44,30]],["add",309,313,-1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",48,98,1,1,[429,74,30]],["add",305,98,-1,1,[385,74,44,30]],["add",32,317,1,1,[385,74,30]],["add",314,317,-1,1,[385,74,44,30]],["scale",314,-1,1,[385,74,44,30]],["add",319,85,1,1,[459,44,30]],["add",307,85,-1,1,[385,74,44,30]],["add",85,98,1,2,[385,74,44,30]],["add",98,85,-1,1,[385,74,44,30]],["add",496,315,1,1,[385,44,30]],["add",496,230,1,1,[385,65,32,18,10,6]],["add",497,48,1,1,[429,74,30]],["add",497,228,1,1,[390,64,32,20,10,1]],["add",498,311,1,1,[385,74,50]],["add",499,306,1,1,[415,84,44]],["add",500,310,1,1,[415,84,50]],["add",501,308,1,1,[385,74,44]],["add",502,312,1,1,[415,74,44]],["add",503,24,1,1,[385,84,50]],["add",504,316,1,1,[385,84,44]],["add",505,318,1,1,[415,74,50]],["add",506,32,1,1,[385,74,30]],["add",305,319,1,1,[391,76,44,30]],["add",331,329,1,1,[321,193,30]],["add",325,329,-1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",34,49,1,1,[266,138,30]],["add",321,49,-1,1,[266,138,75,30]],["add",50,333,1,1,[266,193,30]],["add",330,333,-1,1,[266,138,75,30]],["scale",330,-1,1,[266,138,75,30]],["add",335,33,1,1,[321,138,30]],["add",323,33,-1,1,[266,138,75,30]],["add",33,49,1,2,[266,138,75,30]],["add",49,33,-1,1,[266,138,75,30]],["add",508,331,1,1,[321,193,30]],["add",508,450,1,1,[257,129,64,38,18,12]],["add",509,34,1,1,[266,138,30]],["add",509,451,1,1,[257,129,71,33,21,11]],["add",510,327,1,1,[276,138,85]],["add",511,322,1,1,[266,148,85]],["add",512,326,1,1,[266,138,75]],["add",513,324,1,1,[276,148,75]],["add",514,328,1,1,[276,138,75]],["add",515,109,1,1,[266,148,75]],["add",516,332,1,1,[266,138,85]],["add",517,334,1,1,[276,148,85]],["add",518,50,1,1,[266,193,30]],["add",321,335,1,1,[288,138,97,30]],["add",347,345,1,1,[429,70,30]],["add",341,345,-1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",82,6,1,1,[416,19,13]],["add",337,6,-1,1,[416,70,19,13]],["add",75,349,1,1,[416,70,30]],["add",346,349,-1,1,[416,70,19,13]],["scale",346,-1,1,[416,70,19,13]],["add",351,1,1,1,[486,19,13]],["add",339,1,-1,1,[416,70,19,13]],["add",520,347,1,1,[429,70,30]],["add",520,232,-2,1,[394,64,32,24,6,1]],["add",521,82,1,1,[416,19,13]],["add",521,7,-2,1,[416,96,18,10,6,1]],["add",522,343,1,1,[416,65,19,7]],["add",523,338,1,1,[435,82,10,7]],["add",524,342,1,1,[426,75,19,7]],["add",525,340,1,1,[416,65,10,7]],["add",526,344,1,1,[416,65,19,10]],["add",527,28,1,1,[423,70,20,13]],["add",528,348,1,1,[423,70,19,10]],["add",529,350,1,1,[416,65,20,13]],["add",530,75,1,1,[416,70,30]],["add",531,351,1,1,[486,19,13]],["add",363,361,1,1,[262,134,30]],["add",357,361,-1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",73,83,1,1,[352,224,30]],["add",353,83,-1,1,[262,134,102,30]],["add",84,365,1,1,[262,224,30]],["add",362,365,-1,1,[262,134,102,30]],["scale",362,-1,1,[262,134,102,30]],["add",367,74,1,1,[352,134,30]],["add",355,74,-1,1,[262,134,102,30]],["add",74,83,1,2,[262,134,102,30]],["add",83,74,-1,1,[262,134,102,30]],["add",532,363,1,1,[262,134,30]],["add",532,452,-2,1,[257,129,75,33,25,7]],["add",533,73,1,1,[352,224,30]],["add",533,453,-2,1,[288,160,64,18,11,7]],["add",534,359,1,1,[280,129,120,7]],["add",535,354,1,1,[257,152,120,7]],["add",536,358,1,1,[257,129,97,7]],["add",537,356,1,1,[280,152,97,7]],["add",538,360,1,1,[262,129,102,25]],["add",539,60,1,1,[257,134,102,25]],["add",540,364,1,1,[257,129,97,25]],["add",541,366,1,1,[262,134,97,25]],["add",542,84,1,1,[262,224,30]],["add",543,367,1,1,[352,134,30]],["add",379,377,1,1,[392,37,22]],["add",373,377,-1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",67,80,1,1,[414,67,51]],["add",369,80,-1,1,[392,67,37,22]],["add",3,381,1,1,[392,67,51]],["add",378,381,-1,1,[392,67,37,22]],["scale",378,-1,1,[392,67,37,22]],["add",383,88,1,1,[459,37,22]],["add",371,88,-1,1,[392,67,37,22]],["add",88,80,1,2,[392,67,37,22]],["add",80,88,-1,1,[392,67,37,22]],["add",544,379,1,1,[392,37,22]],["add",544,236,-2,1,[392,72,33,17,4,3]],["add",545,67,1,1,[414,67,51]],["add",545,238,-2,1,[401,64,48,8,4,3]],["add",546,375,1,1,[392,67,22]],["add",547,370,1,1,[414,85,37]],["add",548,374,1,1,[429,102,22]],["add",549,372,1,1,[392,67,37]],["add",550,376,1,1,[414,67,37]],["add",551,66,1,1,[392,102,22]],["add",552,380,1,1,[392,85,37]],["add",553,382,1,1,[429,67,22]],["add",554,3,1,1,[392,67,51]],["add",555,383,1,1,[459,37,22]],["add",395,393,1,1,[328,200,51]],["add",389,393,-1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",5,68,1,1,[259,131,51]],["add",385,68,-1,1,[259,131,75,51]],["add",69,397,1,1,[259,200,51]],["add",394,397,-1,1,[259,131,75,51]],["scale",394,-1,1,[259,131,75,51]],["add",399,4,1,1,[328,131,51]],["add",387,4,-1,1,[259,131,75,51]],["add",556,395,1,1,[328,200,51]],["add",556,454,-2,1,[264,136,64,33,18,7]],["add",557,5,1,1,[259,131,51]],["add",557,455,-2,1,[259,131,82,51,11,7]],["add",558,391,1,1,[304,131,120]],["add",559,386,1,1,[259,176,120]],["add",560,390,1,1,[259,131,75]],["add",561,388,1,1,[304,176,75]],["add",562,392,1,1,[304,131,75]],["add",563,97,1,1,[259,176,75]],["add",564,396,1,1,[259,131,120]],["add",565,398,1,1,[304,176,120]],["add",566,69,1,1,[259,200,51]],["add",567,399,1,1,[328,131,51]],["add",568,407,1,1,[292,164,75]],["add",569,402,1,1,[265,137,75]],["add",570,406,1,1,[292,137,102]],["add",571,404,1,1,[265,164,102]],["add",572,408,1,1,[292,164,102]],["add",573,105,1,1,[265,137,102]],["add",574,412,1,1,[292,137,75]],["add",575,414,1,1,[265,164,75]],["add",576,423,1,1,[431,100,28]],["add",577,418,1,1,[386,73,49]],["add",578,422,1,1,[414,85,49]],["add",579,420,1,1,[386,73,28]],["add",580,424,1,1,[386,85,49]],["add",581,44,1,1,[431,73,28]],["add",582,428,1,1,[386,100,28]],["add",583,430,1,1,[414,73,49]],["add",584,439,1,1,[268,140,51]],["add",585,434,1,1,[274,146,51]],["add",383,585,-1,2,[260,132,68,37,22,15]],["add",287,434,-1,2,[264,136,72,41,26,7]],["add",586,438,1,1,[289,161,30]],["add",587,436,1,1,[268,140,30]],["add",351,587,-1,2,[257,129,65,39,19,13]],["add",319,436,-1,2,[267,139,75,43,25,7]],["add",588,440,1,1,[268,161,30]],["add",589,46,1,1,[289,140,30]],["add",367,589,1,1,[257,134,65,32,20,10]],["add",335,46,1,1,[288,138,96,24,6,1]],["add",590,444,1,1,[274,140,51]],["add",591,446,1,1,[268,146,51]],["add",399,591,1,1,[260,131,68,34,17,8]],["add",303,446,1,1,[264,145,72,48,4,3]],["add",129,299,-1,2,[273,145,79,51]],["add",212,54,-1,2,[324,196,41,26]],["add",168,554,1,1,[392,64,33,17,3]],["add",150,439,-1,2,[264,136,51,4]],["add",143,555,1,1,[395,64,33,18,4]],["add",152,283,-1,2,[271,145,81,51]],["add",166,100,-1,2,[324,192,41,26]],["add",214,566,1,1,[259,132,76,33,18]],["add",131,444,1,1,[274,136,72,51,4]],["add",167,567,1,1,[260,131,76,33,18]],["add",219,331,-1,2,[321,193,44,30]],["add",160,34,-1,2,[266,138,103,30]],["add",144,530,1,1,[385,70,33,30]],["add",136,586,-1,2,[289,161,64,18,10,6]],["add",197,531,1,1,[390,65,33,19,13]],["add",134,315,-1,2,[321,192,44,30]],["add",146,48,-1,2,[295,138,74,30]],["add",162,542,1,1,[262,193,33,30]],["add",221,588,1,1,[256,161,97,18,10,6]],["add",145,543,1,1,[257,134,64,33,30]],["add",170,363,-1,2,[262,134,107,30]],["add",194,73,-1,2,[352,224,19,13]],["add",187,506,1,1,[385,70,18,12]],["add",140,438,-1,2,[256,128,76,32,30,1]],["add",113,305,1,1,[391,64,32,18,12]],["add",142,347,-1,2,[299,134,70,30]],["add",185,82,-1,2,[352,192,19,13]],["add",196,518,1,1,[262,193,18,12]],["add",172,440,1,1,[268,128,64,32,30,1]],["add",186,321,1,1,[288,134,97,18,12]],["add",207,395,-1,2,[328,200,37,22]],["add",179,5,-1,2,[259,131,93,51]],["add",115,273,1,1,[388,81,48,12,3]],["add",56,439,-1,2,[264,136,81,48,4,3]],["add",200,275,1,1,[391,68,37,22,12]],["add",176,379,-1,2,[328,192,37,22]],["add",117,67,-1,2,[285,131,67,51]],["add",181,289,1,1,[273,132,64,51,12]],["add",102,444,1,1,[273,136,72,48,4,3]],["add",116,291,1,1,[260,145,64,51,12]],["add",283,299,1,1,[271,143,79,45,30]],["add",100,54,1,1,[320,192,41,26,4]],["add",315,331,1,1,[320,192,44,30,1]],["add",48,34,1,1,[266,138,74,45,30]],["add",347,363,1,1,[262,134,70,45,30]],["add",82,73,1,1,[320,192,32,19,13]],["add",379,395,1,1,[320,192,37,22,8]],["add",67,5,1,1,[259,131,67,45,30]],["add",279,311,1,1,[385,72,40,24,5,2]],["add",274,306,1,1,[408,80,40,4,2,1]],["add",295,327,1,1,[273,136,80,40,5,2]],["add",290,322,1,1,[264,145,80,40,5,2]],["add",343,375,1,1,[392,65,40,17,5,2]],["add",338,370,1,1,[401,80,32,8,5,2]],["add",359,391,1,1,[280,129,80,40,5,2]],["add",354,386,1,1,[257,152,80,40,5,2]],["add",278,326,1,1,[266,138,75,42,26,7]],["add",276,324,1,1,[272,144,72,41,4,3]],["add",294,310,1,1,[264,136,75,42,24,7]],["add",292,308,1,1,[272,144,74,42,6,1]],["add",358,374,1,1,[257,129,75,42,17,7]],["add",356,372,1,1,[272,144,67,34,8,7]],["add",342,390,1,1,[259,131,75,42,19,7]],["add",340,388,1,1,[272,144,65,32,10,7]],["add",247,498,1,1,[260,132,74,42,24,1]],["add",242,499,1,1,[258,130,75,42,25,6]],["add",263,512,1,1,[260,132,69,36,23,14]],["add",258,513,1,1,[260,132,66,35,16,9]],["add",344,407,-1,2,[260,132,65,32,19,10]],["add",28,402,-1,2,[260,132,70,39,20,13]],["add",364,423,-1,2,[257,129,75,42,25,5]],["add",366,418,-1,2,[260,132,73,40,25,2]],["add",246,510,1,1,[261,130,68,34,17,8]],["add",244,511,1,1,[258,133,68,34,17,8]],["add",262,500,1,1,[390,68,34,16,8,1]],["add",260,501,1,1,[385,66,34,17,8,6]],["add",360,406,-1,2,[262,129,68,34,17,8]],["add",60,404,-1,2,[257,134,68,34,17,8]],["add",348,422,-1,2,[389,68,32,17,8,2]],["add",350,420,-1,2,[386,65,34,17,8,5]],["add",456,474,1,1,[257,129,72,42,26,4]],["add",457,475,1,1,[257,129,76,41,29,3]],["add",466,488,1,1,[257,129,69,35,23,9]],["add",467,489,1,1,[257,129,66,36,16,14]],["add",376,408,1,1,[257,129,67,37,30]],["add",66,105,1,1,[257,129,102,22,8]],["add",396,428,1,1,[257,129,100,28,2]],["add",398,430,1,1,[257,129,73,47,30]],["add",458,486,1,1,[261,130,65,32,20,10]],["add",459,487,1,1,[258,133,65,32,20,10]],["add",464,476,1,1,[387,65,32,16,10,4]],["add",465,477,1,1,[388,65,32,20,9,3]],["add",392,412,1,1,[292,131,65,20,10]],["add",97,414,1,1,[259,164,65,20,10]],["add",380,424,1,1,[386,65,37,20,10]],["add",382,44,1,1,[421,65,20,8,2]],["add",248,546,-1,2,[288,160,67,17,8,7]],["add",10,547,-1,2,[258,130,75,34,25,7]],["add",268,560,-1,2,[259,131,75,35,25,7]],["add",270,561,-1,2,[288,160,66,16,9,7]],["add",280,568,-1,2,[288,160,72,25,4,3]],["add",38,569,-1,2,[265,137,75,41,25,7]],["add",300,578,-1,2,[264,136,75,40,25,7]],["add",302,579,-1,2,[288,160,73,25,5,2]],["add",252,558,-1,2,[296,130,96,24,6,1]],["add",254,559,-1,2,[258,168,96,24,6,1]],["add",264,548,-1,2,[418,96,16,8,6,1]],["add",79,549,-1,2,[392,66,34,24,6,1]],["add",296,570,-1,2,[290,136,96,24,6,1]],["add",19,571,-1,2,[264,162,96,24,6,1]],["add",284,576,-1,2,[424,96,24,4,2,1]],["add",286,577,-1,2,[386,72,40,24,6,1]],["add",460,522,-1,2,[264,136,65,32,19,7]],["add",461,523,-1,2,[258,130,82,51,10,7]],["add",468,536,-1,2,[257,129,82,51,9,7]],["add",469,537,-1,2,[264,136,66,35,16,7]],["add",312,572,1,1,[264,136,74,44,31]],["add",24,573,1,1,[264,136,84,50,1]],["add",332,580,1,1,[264,136,85,49,2]],["add",334,581,1,1,[264,136,73,47,28]],["add",462,534,-1,2,[280,129,72,48,4,3]],["add",463,535,-1,2,[257,152,72,48,4,3]],["add",470,524,-1,2,[393,72,32,16,4,3]],["add",471,525,-1,2,[400,65,48,9,4,3]],["add",328,574,1,1,[276,137,72,48,3]],["add",109,575,1,1,[265,148,72,48,3]],["add",316,582,1,1,[385,72,44,28,3]],["add",318,583,1,1,[412,72,48,2,1]],["add",478,526,1,1,[388,65,36,16,9,3]],["add",479,527,1,1,[387,66,32,16,9,4]],["add",490,538,1,1,[262,129,66,36,16,9]],["add",491,539,1,1,[257,134,66,36,16,9]],["add",502,550,1,1,[406,66,36,8,1]],["add",503,551,1,1,[385,66,36,22,9]],["add",514,562,1,1,[276,131,66,36,9]],["add",515,563,1,1,[259,148,66,36,9]],["add",480,540,1,1,[257,129,76,45,25,3]],["add",481,541,1,1,[258,130,72,41,25,4]],["add",492,528,1,1,[258,130,70,39,19,10]],["add",493,529,1,1,[258,130,65,32,20,13]],["add",516,552,1,1,[258,130,85,37,8]],["add",517,553,1,1,[258,130,67,45,22]],["add",504,564,1,1,[258,130,84,44,1]],["add",505,565,1,1,[258,130,74,45,31]],["add",273,554,1,1,[388,64,33,17,12,3]],["add",275,555,1,1,[387,64,33,18,8,4]],["add",506,530,1,1,[385,70,33,18,12]],["add",305,531,1,1,[390,64,32,18,12,1]],["add",518,542,1,1,[262,193,33,18,12]],["add",321,543,1,1,[257,134,64,33,18,12]],["add",289,566,1,1,[259,132,64,33,18,12]],["add",291,567,1,1,[260,131,64,33,18,12]],["add",592,349,-1,1,[320,192,45,30]],["add",593,349,-1,1,[320,192,45,30]],["add",594,349,1,1,[320,192,45,30]],["add",592,243,1,1,[320,192,45,30]],["add",593,243,-1,1,[320,192,45,30]],["add",596,243,-1,1,[320,192,45,30]],["add",592,365,1,1,[320,192,45,30]],["add",594,365,-1,1,[320,192,45,30]],["add",596,365,-1,1,[320,192,45,30]],["add",593,361,-1,1,[320,192,45,30]],["add",594,361,1,1,[320,192,45,30]],["add",596,361,-1,1,[320,192,45,30]],["add",592,283,1,1,[271,143,79,45,30]],["add",593,100,1,1,[320,192,41,26,4]],["add",594,315,1,1,[320,192,44,30,1]],["add",349,48,1,1,[266,138,74,45,30]],["add",596,347,1,1,[262,134,70,45,30]],["add",243,82,1,1,[320,192,32,19,13]],["add",365,379,1,1,[320,192,37,22,8]],["add",361,67,1,1,[259,131,67,45,30]],["add",600,564,-1,1,[409,80,40,5,2]],["add",601,564,-1,1,[409,80,40,5,2]],["add",602,564,1,1,[409,80,40,5,2]],["add",600,565,1,1,[409,80,40,5,2]],["add",601,565,-1,1,[409,80,40,5,2]],["add",604,565,-1,1,[409,80,40,5,2]],["add",600,550,1,1,[409,80,40,5,2]],["add",602,550,-1,1,[409,80,40,5,2]],["add",604,550,-1,1,[409,80,40,5,2]],["add",601,405,-1,1,[409,80,40,5,2]],["add",602,405,1,1,[409,80,40,5,2]],["add",604,405,-1,1,[409,80,40,5,2]],["add",600,279,1,1,[385,72,40,24,5,2]],["add",601,274,1,1,[408,80,40,4,2,1]],["add",602,295,1,1,[273,136,80,40,5,2]],["add",564,290,1,1,[264,145,80,40,5,2]],["add",604,343,1,1,[392,65,40,17,5,2]],["add",565,338,1,1,[401,80,32,8,5,2]],["add",550,359,1,1,[280,129,80,40,5,2]],["add",405,354,1,1,[257,152,80,40,5,2]],["add",608,410,-1,1,[144,75,42,7]],["add",609,410,-1,1,[144,75,42,7]],["add",610,410,1,1,[144,75,42,7]],["add",608,417,1,1,[144,75,42,7]],["add",609,417,-1,1,[144,75,42,7]],["add",612,417,-1,1,[144,75,42,7]],["add",608,419,1,1,[144,75,42,7]],["add",610,419,-1,1,[144,75,42,7]],["add",612,419,-1,1,[144,75,42,7]],["add",609,421,-1,1,[144,75,42,7]],["add",610,421,1,1,[144,75,42,7]],["add",612,421,-1,1,[144,75,42,7]],["add",608,278,1,1,[266,138,75,42,26,7]],["add",609,276,1,1,[272,144,72,41,4,3]],["add",610,294,1,1,[264,136,75,42,24,7]],["add",410,292,1,1,[272,144,74,42,6,1]],["add",612,358,1,1,[257,129,75,42,17,7]],["add",417,356,1,1,[272,144,67,34,8,7]],["add",419,342,1,1,[259,131,75,42,19,7]],["add",421,340,1,1,[272,144,65,32,10,7]],["scale",68,1,2,[259,131,75,51]],["add",68,4,-1,1,[259,131,75,51]],["add",31,12,1,2,[388,75,41,26]],["add",616,1,-1,1,[260,132,75,51]],["add",617,1,-1,1,[260,132,75,51]],["add",618,1,1,1,[260,132,75,51]],["add",616,4,-2,1,[260,132,75,51]],["add",617,4,2,1,[260,132,75,51]],["add",620,4,-1,1,[260,132,75,51]],["add",616,6,-2,1,[260,132,75,51]],["add",618,6,2,1,[260,132,75,51]],["add",620,6,-1,1,[260,132,75,51]],["add",617,12,2,1,[260,132,75,51]],["add",618,12,-2,1,[260,132,75,51]],["add",620,12,-1,1,[260,132,75,51]],["add",616,247,1,1,[260,132,74,42,24,1]],["add",617,242,1,1,[258,130,75,42,25,6]],["add",618,263,1,1,[260,132,69,36,23,14]],["add",1,258,1,1,[260,132,66,35,16,9]],["add",620,344,1,1,[260,132,65,32,19,10]],["add",4,28,1,1,[260,132,70,39,20,13]],["add",6,364,1,1,[257,129,75,42,25,5]],["add",12,366,1,1,[260,132,73,40,25,2]],["add",624,426,-1,1,[391,68,34,17]],["add",625,426,-1,1,[391,68,34,17]],["add",626,426,1,1,[391,68,34,17]],["add",624,433,-2,1,[391,68,34,17]],["add",625,433,2,1,[391,68,34,17]],["add",628,433,-1,1,[391,68,34,17]],["add",624,435,-2,1,[391,68,34,17]],["add",626,435,2,1,[391,68,34,17]],["add",628,435,-1,1,[391,68,34,17]],["add",625,437,2,1,[391,68,34,17]],["add",626,437,-2,1,[391,68,34,17]],["add",628,437,-1,1,[391,68,34,17]],["add",624,246,1,1,[261,130,68,34,17,8]],["add",625,244,1,1,[258,133,68,34,17,8]],["add",626,262,1,1,[390,68,34,16,8,1]],["add",426,260,1,1,[385,66,34,17,8,6]],["add",628,360,1,1,[262,129,68,34,17,8]],["add",433,60,1,1,[257,134,68,34,17,8]],["add",435,348,1,1,[389,68,32,17,8,2]],["add",437,350,1,1,[386,65,34,17,8,5]],["add",632,551,-1,1,[257,129,76,42,30]],["add",633,551,-1,1,[257,129,76,42,30]],["add",634,551,1,1,[257,129,76,42,30]],["add",632,552,-2,1,[257,129,76,42,30]],["add",633,552,2,1,[257,129,76,42,30]],["add",636,552,-1,1,[257,129,76,42,30]],["add",632,553,-2,1,[257,129,76,42,30]],["add",634,553,2,1,[257,129,76,42,30]],["add",636,553,-1,1,[257,129,76,42,30]],["add",633,562,2,1,[257,129,76,42,30]],["add",634,562,-2,1,[257,129,76,42,30]],["add",636,562,-1,1,[257,129,76,42,30]],["add",632,456,1,1,[257,129,72,42,26,4]],["add",633,457,1,1,[257,129,76,41,29,3]],["add",634,466,1,1,[257,129,69,35,23,9]],["add",551,467,1,1,[257,129,66,36,16,14]],["add",636,376,1,1,[257,129,67,37,17,15]],["add",552,66,1,1,[257,129,68,34,22,8]],["add",553,396,1,1,[257,129,76,40,28,2]],["add",562,398,1,1,[257,129,73,42,27,5]],["add",640,250,-1,1,[423,65,20,10]],["add",641,250,-1,1,[423,65,20,10]],["add",642,250,1,1,[423,65,20,10]],["add",640,266,-2,1,[423,65,20,10]],["add",641,266,2,1,[423,65,20,10]],["add",644,266,-1,1,[423,65,20,10]],["add",640,259,-2,1,[423,65,20,10]],["add",642,259,2,1,[423,65,20,10]],["add",644,259,-1,1,[423,65,20,10]],["add",641,261,2,1,[423,65,20,10]],["add",642,261,-2,1,[423,65,20,10]],["add",644,261,-1,1,[423,65,20,10]],["add",640,458,1,1,[261,130,65,32,20,10]],["add",641,459,1,1,[258,133,65,32,20,10]],["add",642,464,1,1,[387,65,32,16,10,4]],["add",250,465,1,1,[388,65,32,20,9,3]],["add",644,392,1,1,[292,131,65,20,10]],["add",266,97,1,1,[259,164,65,20,10]],["add",259,380,1,1,[386,65,37,20,10]],["add",261,382,1,1,[421,65,20,8,2]],["add",648,530,-1,1,[288,160,75,25,7]],["add",649,530,-1,1,[288,160,75,25,7]],["add",650,530,1,1,[288,160,75,25,7]],["add",648,563,1,1,[288,160,75,25,7]],["add",649,563,-1,1,[288,160,75,25,7]],["add",652,563,-1,1,[288,160,75,25,7]],["add",648,542,1,1,[288,160,75,25,7]],["add",650,542,-1,1,[288,160,75,25,7]],["add",652,542,-1,1,[288,160,75,25,7]],["add",649,442,-1,1,[288,160,75,25,7]],["add",650,442,1,1,[288,160,75,25,7]],["add",652,442,-1,1,[288,160,75,25,7]],["add",648,248,1,1,[288,160,67,17,8,7]],["add",649,10,1,1,[258,130,75,34,25,7]],["add",650,268,1,1,[259,131,75,35,25,7]],["add",530,270,1,1,[288,160,66,16,9,7]],["add",652,280,1,1,[288,160,72,25,4,3]],["add",563,38,1,1,[265,137,75,41,25,7]],["add",542,300,1,1,[264,136,75,40,25,7]],["add",442,302,1,1,[288,160,73,25,5,2]],["add",656,333,-1,1,[427,96,24,6]],["add",657,333,-1,1,[427,96,24,6]],["add",658,333,1,1,[427,96,24,6]],["add",656,317,1,1,[427,96,24,6]],["add",657,317,-1,1,[427,96,24,6]],["add",660,317,-1,1,[427,96,24,6]],["add",656,257,1,1,[427,96,24,6]],["add",658,257,-1,1,[427,96,24,6]],["add",660,257,-1,1,[427,96,24,6]],["add",657,245,-1,1,[427,96,24,6]],["add",658,245,1,1,[427,96,24,6]],["add",660,245,-1,1,[427,96,24,6]],["add",656,252,1,1,[296,130,96,24,6,1]],["add",657,254,1,1,[258,168,96,24,6,1]],["add",658,264,1,1,[418,96,16,8,6,1]],["add",333,79,1,1,[392,66,34,24,6,1]],["add",660,296,1,1,[290,136,96,24,6,1]],["add",317,19,1,1,[264,162,96,24,6,1]],["add",257,284,1,1,[424,96,24,4,2,1]],["add",245,286,1,1,[386,72,40,24,6,1]],["add",664,460,1,1,[264,136,65,32,19,7]],["add",665,461,1,1,[258,130,82,51,10,7]],["add",666,468,1,1,[257,129,82,51,9,7]],["add",401,469,1,1,[264,136,66,35,16,7]],["add",668,312,1,1,[264,136,74,44,31]],["add",403,24,1,1,[264,136,84,50,1]],["add",670,332,1,1,[264,136,85,49,2]],["add",671,334,1,1,[264,136,73,47,28]],["add",672,241,-1,1,[413,72,48,3]],["add",673,241,-1,1,[413,72,48,3]],["add",674,241,1,1,[413,72,48,3]],["add",672,234,1,1,[413,72,48,3]],["add",673,234,-1,1,[413,72,48,3]],["add",676,234,-1,1,[413,72,48,3]],["add",672,229,1,1,[413,72,48,3]],["add",674,229,-1,1,[413,72,48,3]],["add",676,229,-1,1,[413,72,48,3]],["add",673,227,-1,1,[413,72,48,3]],["add",674,227,1,1,[413,72,48,3]],["add",676,227,-1,1,[413,72,48,3]],["add",672,462,1,1,[280,129,72,48,4,3]],["add",673,463,1,1,[257,152,72,48,4,3]],["add",674,470,1,1,[393,72,32,16,4,3]],["add",241,471,1,1,[400,65,48,9,4,3]],["add",676,328,1,1,[276,137,72,48,3]],["add",234,109,1,1,[265,148,72,48,3]],["add",229,316,1,1,[385,72,44,28,3]],["add",227,318,1,1,[412,72,48,2,1]],["add",49,285,-1,1,[407,66,36,9]],["add",83,285,-1,1,[407,66,36,9]],["add",98,285,1,1,[407,66,36,9]],["add",49,225,1,1,[407,66,36,9]],["add",83,225,-1,1,[407,66,36,9]],["add",101,225,-1,1,[407,66,36,9]],["add",49,281,1,1,[407,66,36,9]],["add",98,281,-1,1,[407,66,36,9]],["add",101,281,-1,1,[407,66,36,9]],["add",83,393,-1,1,[407,66,36,9]],["add",98,393,1,1,[407,66,36,9]],["add",101,393,-1,1,[407,66,36,9]],["add",49,478,1,1,[388,65,36,16,9,3]],["add",83,479,1,1,[387,66,32,16,9,4]],["add",98,490,1,1,[262,129,66,36,16,9]],["add",285,491,1,1,[257,134,66,36,16,9]],["add",101,502,1,1,[406,66,36,8,1]],["add",225,503,1,1,[385,66,36,22,9]],["add",281,514,1,1,[276,131,66,36,9]],["add",393,515,1,1,[259,148,66,36,9]],["add",68,397,-1,1,[258,130,85,45]],["add",80,397,-1,1,[258,130,85,45]],["add",88,397,1,1,[258,130,85,45]],["add",68,377,1,1,[258,130,85,45]],["add",80,377,-1,1,[258,130,85,45]],["add",31,377,-1,1,[258,130,85,45]],["add",68,381,1,1,[258,130,85,45]],["add",88,381,-1,1,[258,130,85,45]],["add",31,381,-1,1,[258,130,85,45]],["add",80,345,-1,1,[258,130,85,45]],["add",88,345,1,1,[258,130,85,45]],["add",31,345,-1,1,[258,130,85,45]],["add",68,480,1,1,[257,129,76,45,25,3]],["add",80,481,1,1,[258,130,72,41,25,4]],["add",88,492,1,1,[258,130,70,39,19,10]],["add",397,493,1,1,[258,130,65,32,20,13]],["add",31,516,1,1,[258,130,85,37,8]],["add",377,517,1,1,[258,130,67,45,22]],["add",381,504,1,1,[258,130,84,44,1]],["add",345,505,1,1,[258,130,74,45,31]],["add",33,301,-1,1,[455,33,18,12]],["add",55,301,-1,1,[455,33,18,12]],["add",74,301,1,1,[455,33,18,12]],["add",33,329,1,1,[455,33,18,12]],["add",55,329,-1,1,[455,33,18,12]],["add",85,329,-1,1,[455,33,18,12]],["add",33,297,1,1,[455,33,18,12]],["add",74,297,-1,1,[455,33,18,12]],["add",85,297,-1,1,[455,33,18,12]],["add",55,313,-1,1,[455,33,18,12]],["add",74,313,1,1,[455,33,18,12]],["add",85,313,-1,1,[455,33,18,12]],["add",33,273,1,1,[388,64,33,17,12,3]],["add",55,275,1,1,[387,64,33,18,8,4]],["add",74,506,1,1,[385,70,33,18,12]],["add",301,305,1,1,[390,64,32,18,12,1]],["add",85,518,1,1,[262,193,33,18,12]],["add",329,321,1,1,[257,134,64,33,18,12]],["add",297,289,1,1,[259,132,64,33,18,12]],["add",313,291,1,1,[260,131,64,33,18,12]],["add",215,484,-1,2,[260,132,68,37,21,12,3]],["add",129,448,-1,2,[256,128,67,34,17,8,4]],["add",124,485,-1,2,[256,128,64,33,18,11,4]],["add",212,449,-1,2,[260,132,64,33,17,8,3]],["add",168,584,-1,2,[260,132,64,33,17,8,3]],["add",150,3,1,1,[256,128,67,34,17,8,4]],["add",143,585,-1,2,[256,128,64,33,18,11,4]],["add",189,383,1,1,[260,132,68,37,21,12,3]],["add",130,472,-1,2,[256,131,64,34,17,8,4]],["add",152,231,-1,2,[259,128,64,34,17,8,4]],["add",213,473,-1,2,[260,128,68,33,17,8,3]],["add",166,226,-1,2,[256,132,68,33,17,8,3]],["add",214,590,1,1,[256,132,68,33,17,8,3]],["add",131,69,1,1,[259,128,64,34,17,8,4]],["add",167,591,1,1,[260,128,68,33,17,8,3]],["add",151,399,1,1,[256,131,64,34,17,8,4]],["add",157,508,-1,2,[256,128,64,38,18,12,1]],["add",219,450,-1,2,[257,129,64,32,18,10,6]],["add",210,509,-1,2,[257,129,65,33,19,11,6]],["add",160,451,-1,2,[256,128,70,32,20,10,1]],["add",144,438,-1,2,[256,128,70,32,20,10,1]],["add",136,75,1,1,[257,129,64,32,18,10,6]],["add",197,587,-1,2,[257,129,65,33,19,11,6]],["add",147,351,1,1,[256,128,64,38,18,12,1]],["add",220,496,-1,2,[257,128,65,32,18,10,6]],["add",134,230,-1,2,[256,129,65,32,18,10,6]],["add",161,497,-1,2,[256,134,64,32,20,10,1]],["add",146,228,-1,2,[262,128,64,32,20,10,1]],["add",162,440,1,1,[262,128,64,32,20,10,1]],["add",221,84,1,1,[256,129,65,32,18,10,6]],["add",145,589,1,1,[256,134,64,32,20,10,1]],["add",135,367,1,1,[257,128,65,32,18,10,6]],["add",205,532,-1,2,[257,129,65,33,19,10,7]],["add",170,452,1,1,[256,128,74,32,24,6,1]],["add",118,533,-1,2,[256,128,64,32,18,11,7]],["add",194,453,1,1,[288,160,64,18,10,6,1]],["add",187,586,-1,2,[288,160,64,18,10,6,1]],["add",140,32,1,1,[256,128,74,32,24,6,1]],["add",113,436,-1,2,[256,128,64,32,18,11,7]],["add",198,319,1,1,[257,129,65,33,19,10,7]],["add",171,520,-1,2,[256,138,64,32,24,6,1]],["add",142,232,1,1,[266,128,64,32,24,6,1]],["add",195,521,-1,2,[288,128,96,18,10,6,1]],["add",185,7,1,1,[256,160,96,18,10,6,1]],["add",196,588,1,1,[256,160,96,18,10,6,1]],["add",172,50,1,1,[266,128,64,32,24,6,1]],["add",186,46,1,1,[288,128,96,18,10,6,1]],["add",141,335,1,1,[256,138,64,32,24,6,1]],["add",120,556,-1,2,[256,128,64,33,18,8,7]],["add",207,454,1,1,[264,136,64,33,17,4,3]],["add",192,557,-1,2,[259,131,67,34,17,11,7]],["add",179,455,1,1,[256,128,81,48,8,4,3]],["add",115,439,-1,2,[256,128,81,48,8,4,3]],["add",178,56,1,1,[264,136,64,33,17,4,3]],["add",200,434,-1,2,[259,131,67,34,17,11,7]],["add",138,287,1,1,[256,128,64,33,18,8,7]],["add",208,544,-1,2,[264,128,72,33,17,4,3]],["add",176,236,1,1,[256,136,72,33,17,4,3]],["add",180,545,-1,2,[256,145,64,48,8,4,3]],["add",117,238,1,1,[273,128,64,48,8,4,3]],["add",181,444,1,1,[273,128,64,48,8,4,3]],["add",209,102,1,1,[256,136,72,33,17,4,3]],["add",116,446,1,1,[256,145,64,48,8,4,3]],["add",177,303,1,1,[264,128,72,33,17,4,3]],["add",169,119,1,1,[256,128,64,40,25,5,2]],["add",119,169,-1,2,[256,128,64,40,25,5,2]],["scale",119,-2,1,[256,128,64,32,17,8,5,2]],["add",112,139,1,1,[256,128,64,35,16,9,7]],["add",139,112,-1,2,[256,128,64,35,16,9,7]],["scale",139,-2,1,[256,128,64,34,16,8,6,1]],["add",204,193,1,1,[258,130,66,33,18,11,7]],["add",193,204,-1,2,[258,130,66,33,18,11,7]],["scale",193,-2,1,[258,130,66,32,18,10,6,1]],["add",188,199,1,1,[320,192,33,16,9,5,2]],["add",199,188,-1,2,[320,192,33,16,9,5,2]],["scale",199,-2,1,[257,129,65,33,16,9,5,2]],["add",174,122,1,1,[256,137,64,40,16,5,2]],["add",122,174,-1,2,[256,137,64,40,16,5,2]],["scale",122,-2,1,[256,129,64,32,16,8,5,2]],["add",182,203,1,1,[256,144,80,33,9,5,2]],["add",203,182,-1,2,[256,144,80,33,9,5,2]],["scale",203,-2,1,[256,129,65,33,17,9,5,2]],["add",175,123,1,1,[265,128,64,40,16,5,2]],["add",123,175,-1,2,[265,128,64,40,16,5,2]],["scale",123,-2,1,[257,128,64,32,16,8,5,2]],["add",183,202,1,1,[272,128,80,33,9,5,2]],["add",202,183,-1,2,[272,128,80,33,9,5,2]],["scale",202,-2,1,[257,128,65,33,17,9,5,2]],["add",206,191,1,1,[258,130,66,35,18,9,7]],["add",191,206,-1,2,[258,130,66,35,18,9,7]],["scale",191,-2,1,[258,130,66,34,18,8,6,1]],["add",184,201,1,1,[272,144,64,33,9,5,2]],["add",201,184,-1,2,[272,144,64,33,9,5,2]],["scale",201,-2,1,[257,129,64,33,17,9,5,2]],["add",173,121,1,1,[256,128,73,40,16,5,2]],["add",121,173,-1,2,[256,128,73,40,16,5,2]],["scale",121,-2,1,[256,128,65,32,16,8,5,2]],["add",114,137,1,1,[256,128,64,33,16,11,7]],["add",137,114,-1,2,[256,128,64,33,16,11,7]],["scale",137,-2,1,[256,128,64,32,16,10,6,1]],["add",129,150,1,1,[256,128,67,34,17,8,4]],["add",150,129,-1,2,[256,128,67,34,17,8,4]],["scale",150,-2,1,[256,128,66,34,16,8,4,1]],["add",124,143,1,1,[256,128,64,33,18,11,4]],["add",143,124,-1,2,[256,128,64,33,18,11,4]],["scale",143,-2,1,[256,128,64,32,18,10,4,1]],["add",215,189,1,1,[260,132,68,37,21,12,3]],["add",189,215,-1,2,[260,132,68,37,21,12,3]],["scale",189,-2,1,[260,132,68,36,20,12,2,1]],["add",212,168,1,1,[260,132,64,33,17,8,3]],["add",168,212,-1,2,[260,132,64,33,17,8,3]],["scale",168,-2,1,[260,132,64,32,16,8,2,1]],["add",152,131,1,1,[259,128,64,34,17,8,4]],["add",131,152,-1,2,[259,128,64,34,17,8,4]],["scale",131,-2,1,[257,128,64,32,17,8,4,2]],["add",213,167,1,1,[260,128,68,33,17,8,3]],["add",167,213,-1,2,[260,128,68,33,17,8,3]],["scale",167,-2,1,[260,128,68,32,16,8,2,1]],["add",130,151,1,1,[256,131,64,34,17,8,4]],["add",151,130,-1,2,[256,131,64,34,17,8,4]],["scale",151,-2,1,[256,130,64,34,16,8,4,1]],["add",166,214,1,1,[256,132,68,33,17,8,3]],["add",214,166,-1,2,[256,132,68,33,17,8,3]],["scale",214,-2,1,[256,129,65,33,17,8,5,3]],["add",219,136,1,1,[257,129,64,32,18,10,6]],["add",136,219,-1,2,[257,129,64,32,18,10,6]],["scale",136,-2,1,[257,129,64,32,16,8,4,2]],["add",210,197,1,1,[257,129,65,33,19,11,6]],["add",197,210,-1,2,[257,129,65,33,19,11,6]],["scale",197,-2,1,[257,129,65,33,17,9,4,2]],["add",157,147,1,1,[256,128,64,38,18,12,1]],["add",147,157,-1,2,[256,128,64,38,18,12,1]],["scale",147,-2,1,[256,128,64,34,18,8,4,1]],["add",160,144,1,1,[256,128,70,32,20,10,1]],["add",144,160,-1,2,[256,128,70,32,20,10,1]],["scale",144,-2,1,[256,128,66,32,16,10,4,1]],["add",134,221,1,1,[256,129,65,32,18,10,6]],["add",221,134,-1,2,[256,129,65,32,18,10,6]],["scale",221,-2,1,[256,129,65,32,17,9,5,3]],["add",161,145,1,1,[256,134,64,32,20,10,1]],["add",145,161,-1,2,[256,134,64,32,20,10,1]],["scale",145,-2,1,[256,130,64,32,16,10,4,1]],["add",220,135,1,1,[257,128,65,32,18,10,6]],["add",135,220,-1,2,[257,128,65,32,18,10,6]],["scale",135,-2,1,[257,128,65,32,16,8,4,2]],["add",146,162,1,1,[262,128,64,32,20,10,1]],["add",162,146,-1,2,[262,128,64,32,20,10,1]],["scale",162,-2,1,[260,128,64,32,20,8,2,1]],["add",170,140,1,1,[256,128,74,32,24,6,1]],["add",140,170,-1,2,[256,128,74,32,24,6,1]],["scale",140,-2,1,[256,128,66,32,16,8,6,1]],["add",118,113,1,1,[256,128,64,32,18,11,7]],["add",113,118,-1,2,[256,128,64,32,18,11,7]],["scale",113,-2,1,[256,128,64,32,17,8,4,3]],["add",205,198,1,1,[257,129,65,33,19,10,7]],["add",198,205,-1,2,[257,129,65,33,19,10,7]],["scale",198,-2,1,[257,129,65,33,17,8,5,2]],["add",194,187,1,1,[288,160,64,18,10,6,1]],["add",187,194,-1,2,[288,160,64,18,10,6,1]],["scale",187,-2,1,[288,160,64,16,8,4,2,1]],["add",142,172,1,1,[266,128,64,32,24,6,1]],["add",172,142,-1,2,[266,128,64,32,24,6,1]],["scale",172,-2,1,[264,128,64,32,24,4,2,1]],["add",195,186,1,1,[288,128,96,18,10,6,1]],["add",186,195,-1,2,[288,128,96,18,10,6,1]],["scale",186,-2,1,[288,128,96,16,8,4,2,1]],["add",171,141,1,1,[256,138,64,32,24,6,1]],["add",141,171,-1,2,[256,138,64,32,24,6,1]],["scale",141,-2,1,[256,130,64,32,16,8,6,1]],["add",185,196,1,1,[256,160,96,18,10,6,1]],["add",196,185,-1,2,[256,160,96,18,10,6,1]],["scale",196,-2,1,[256,130,66,34,18,10,6,1]],["add",207,178,1,1,[264,136,64,33,17,4,3]],["add",178,207,-1,2,[264,136,64,33,17,4,3]],["scale",178,-2,1,[264,136,64,32,16,4,2,1]],["add",192,200,1,1,[259,131,67,34,17,11,7]],["add",200,192,-1,2,[259,131,67,34,17,11,7]],["scale",200,-2,1,[257,129,65,32,17,9,5,2]],["add",120,138,1,1,[256,128,64,33,18,8,7]],["add",138,120,-1,2,[256,128,64,33,18,8,7]],["scale",138,-2,1,[256,128,64,32,18,8,6,1]],["add",179,115,1,1,[256,128,81,48,8,4,3]],["add",115,179,-1,2,[256,128,81,48,8,4,3]],["scale",115,-2,1,[256,128,65,32,16,8,4,3]],["add",176,209,1,1,[256,136,72,33,17,4,3]],["add",209,176,-1,2,[256,136,72,33,17,4,3]],["scale",209,-2,1,[256,129,65,33,17,9,4,3]],["add",180,116,1,1,[256,145,64,48,8,4,3]],["add",116,180,-1,2,[256,145,64,48,8,4,3]],["scale",116,-2,1,[256,129,64,32,16,8,4,3]],["add",208,177,1,1,[264,128,72,33,17,4,3]],["add",177,208,-1,2,[264,128,72,33,17,4,3]],["scale",177,-2,1,[264,128,72,32,16,4,2,1]],["add",117,181,1,1,[273,128,64,48,8,4,3]],["add",181,117,-1,2,[273,128,64,48,8,4,3]],["scale",181,-2,1,[272,128,64,48,8,4,2,1]],["add",154,217,1,1,[258,128,66,33,16,9,5]],["add",217,154,-1,2,[258,128,66,33,16,9,5]],["scale",217,-2,1,[257,128,65,33,16,9,5,3]],["add",127,165,1,1,[261,128,64,36,16,9,2]],["add",165,127,-1,2,[261,128,64,36,16,9,2]],["scale",165,-2,1,[260,128,64,36,16,8,2,1]],["add",153,218,1,1,[256,130,66,33,16,9,5]],["add",218,153,-1,2,[256,130,66,33,16,9,5]],["scale",218,-2,1,[256,129,65,33,16,9,5,3]],["add",126,164,1,1,[256,133,64,36,16,9,2]],["add",164,126,-1,2,[256,133,64,36,16,9,2]],["scale",164,-2,1,[256,132,64,36,16,8,2,1]],["add",128,156,1,1,[256,128,64,33,21,12,2]],["add",156,128,-1,2,[256,128,64,33,21,12,2]],["scale",156,-2,1,[256,128,64,32,20,12,2,1]],["add",125,163,1,1,[256,128,69,36,16,9,2]],["add",163,125,-1,2,[256,128,69,36,16,9,2]],["scale",163,-2,1,[256,128,68,36,16,8,2,1]],["add",155,216,1,1,[258,130,64,33,16,9,5]],["add",216,155,-1,2,[258,130,64,33,16,9,5]],["scale",216,-2,1,[257,129,64,33,16,9,5,3]],["add",190,211,1,1,[258,130,66,35,18,11,5]],["add",211,190,-1,2,[258,130,66,35,18,11,5]],["scale",211,-2,1,[257,129,65,32,17,8,5,3]],["add",132,158,1,1,[256,133,64,33,16,12,2]],["add",158,132,-1,2,[256,133,64,33,16,12,2]],["scale",158,-2,1,[256,132,64,32,16,12,2,1]],["add",148,223,1,1,[256,130,64,33,18,9,5]],["add",223,148,-1,2,[256,130,64,33,18,9,5]],["scale",223,-2,1,[256,129,64,33,17,9,5,3]],["add",149,222,1,1,[258,128,64,33,18,9,5]],["add",222,149,-1,2,[258,128,64,33,18,9,5]],["scale",222,-2,1,[257,128,64,33,17,9,5,3]],["add",133,159,1,1,[261,128,64,33,16,12,2]],["add",159,133,-1,2,[261,128,64,33,16,12,2]],["scale",159,-2,1,[260,128,64,32,16,12,2,1]],["add",283,379,1,1,[256,128,64,34,17,8,7]],["add",379,283,-1,2,[256,128,64,34,17,8,7]],["add",139,283,-1,2,[256,128,64,34,16,8,6,1]],["add",119,379,1,1,[256,128,64,32,17,8,5,2]],["add",100,67,1,1,[256,128,64,41,25,4,3]],["add",67,100,-1,2,[256,128,64,41,25,4,3]],["add",112,100,-1,2,[256,128,64,32,16,9,4,3]],["add",169,67,1,1,[256,128,64,40,24,4,2,1]],["add",315,347,1,1,[256,128,64,42,24,6,1]],["add",347,315,-1,2,[256,128,64,42,24,6,1]],["add",139,315,-1,2,[256,128,64,34,16,8,6,1]],["add",169,347,1,1,[256,128,64,40,24,4,2,1]],["add",48,82,1,1,[256,128,64,32,19,10,7]],["add",82,48,-1,2,[256,128,64,32,19,10,7]],["add",112,48,-1,2,[256,128,64,32,16,9,4,3]],["add",119,82,1,1,[256,128,64,32,17,8,5,2]],["add",592,361,1,1,[259,131,67,33,18,11,7]],["add",361,592,-1,2,[259,131,67,33,18,11,7]],["add",199,592,-1,2,[257,129,65,33,16,9,5,2]],["add",193,361,1,1,[258,130,66,32,18,10,6,1]],["add",593,365,1,1,[320,192,33,17,8,4,3]],["add",365,593,-1,2,[320,192,33,17,8,4,3]],["add",188,593,-1,2,[320,192,32,16,8,4,2,1]],["add",204,365,1,1,[257,129,65,33,17,8,4,3]],["add",594,243,1,1,[320,192,32,18,10,6,1]],["add",243,594,-1,2,[320,192,32,18,10,6,1]],["add",188,594,-1,2,[320,192,32,16,8,4,2,1]],["add",193,243,1,1,[258,130,66,32,18,10,6,1]],["add",349,596,1,1,[257,129,65,33,18,11,7]],["add",596,349,-1,2,[257,129,65,33,18,11,7]],["add",199,349,-1,2,[257,129,65,33,16,9,5,2]],["add",204,596,1,1,[257,129,65,33,17,8,4,3]],["add",279,359,1,1,[256,129,72,40,24,5,2]],["add",359,279,-1,2,[256,129,72,40,24,5,2]],["add",203,279,-1,2,[256,129,65,33,17,9,5,2]],["add",122,359,1,1,[256,129,64,32,16,8,5,2]],["add",274,354,1,1,[256,152,80,40,4,2,1]],["add",354,274,-1,2,[256,152,80,40,4,2,1]],["add",182,274,-1,2,[256,144,80,32,8,4,2,1]],["add",174,354,1,1,[256,136,64,40,16,4,2,1]],["add",295,343,1,1,[256,136,65,40,17,5,2]],["add",343,295,-1,2,[256,136,65,40,17,5,2]],["add",203,295,-1,2,[256,129,65,33,17,9,5,2]],["add",174,343,1,1,[256,136,64,40,16,4,2,1]],["add",290,338,1,1,[256,145,80,32,8,5,2]],["add",338,290,-1,2,[256,145,80,32,8,5,2]],["add",182,290,-1,2,[256,144,80,32,8,4,2,1]],["add",122,338,1,1,[256,129,64,32,16,8,5,2]],["add",600,405,1,1,[257,128,72,40,24,5,2]],["add",405,600,-1,2,[257,128,72,40,24,5,2]],["add",202,600,-1,2,[257,128,65,33,17,9,5,2]],["add",123,405,1,1,[257,128,64,32,16,8,5,2]],["add",601,550,1,1,[280,128,80,40,4,2,1]],["add",550,601,-1,2,[280,128,80,40,4,2,1]],["add",183,601,-1,2,[272,128,80,32,8,4,2,1]],["add",175,550,1,1,[264,128,64,40,16,4,2,1]],["add",602,565,1,1,[273,128,80,32,8,5,2]],["add",565,602,-1,2,[273,128,80,32,8,5,2]],["add",183,602,-1,2,[272,128,80,32,8,4,2,1]],["add",123,565,1,1,[257,128,64,32,16,8,5,2]],["add",564,604,1,1,[264,128,65,40,17,5,2]],["add",604,564,-1,2,[264,128,65,40,17,5,2]],["add",202,564,-1,2,[257,128,65,33,17,9,5,2]],["add",175,604,1,1,[264,128,64,40,16,4,2,1]],["add",278,342,1,1,[259,131,66,35,19,9,7]],["add",342,278,-1,2,[259,131,66,35,19,9,7]],["add",201,278,-1,2,[257,129,64,33,17,9,5,2]],["add",191,342,1,1,[258,130,66,34,18,8,6,1]],["add",276,340,1,1,[272,144,65,32,9,4,3]],["add",340,276,-1,2,[272,144,65,32,9,4,3]],["add",184,276,-1,2,[272,144,64,32,8,4,2,1]],["add",206,340,1,1,[257,129,65,32,17,9,4,3]],["add",294,358,1,1,[257,129,66,35,17,9,7]],["add",358,294,-1,2,[257,129,66,35,17,9,7]],["add",201,294,-1,2,[257,129,64,33,17,9,5,2]],["add",206,358,1,1,[257,129,65,32,17,9,4,3]],["add",292,356,1,1,[272,144,66,34,8,6,1]],["add",356,292,-1,2,[272,144,66,34,8,6,1]],["add",184,292,-1,2,[272,144,64,32,8,4,2,1]],["add",191,356,1,1,[258,130,66,34,18,8,6,1]],["add",608,421,1,1,[256,128,65,32,16,10,7]],["add",421,608,-1,2,[256,128,65,32,16,10,7]],["add",137,608,-1,2,[256,128,64,32,16,10,6,1]],["add",121,421,1,1,[256,128,65,32,16,8,5,2]],["add",609,419,1,1,[256,128,72,41,16,4,3]],["add",419,609,-1,2,[256,128,72,41,16,4,3]],["add",114,609,-1,2,[256,128,64,33,16,8,4,3]],["add",173,419,1,1,[256,128,72,40,16,4,2,1]],["add",610,417,1,1,[256,128,67,34,16,8,7]],["add",417,610,-1,2,[256,128,67,34,16,8,7]],["add",114,610,-1,2,[256,128,64,33,16,8,4,3]],["add",121,417,1,1,[256,128,65,32,16,8,5,2]],["add",410,612,1,1,[256,128,74,42,16,6,1]],["add",612,410,-1,2,[256,128,74,42,16,6,1]],["add",137,410,-1,2,[256,128,64,32,16,10,6,1]],["add",173,612,1,1,[256,128,72,40,16,4,2,1]],["add",247,364,-2,1,[256,128,74,42,24,4,1]],["add",364,247,1,4,[256,128,74,42,24,4,1]],["add",143,247,-1,2,[256,128,64,32,18,10,4,1]],["add",150,364,-2,1,[256,128,66,34,16,8,4,1]],["add",242,366,-2,1,[256,128,73,40,25,4,2]],["add",366,242,1,4,[256,128,73,40,25,4,2]],["add",124,242,-1,2,[256,128,64,33,16,9,4,2]],["add",129,366,-2,1,[256,128,65,32,17,8,4,2]],["add",263,344,-2,1,[256,128,65,32,19,10,4]],["add",344,263,1,4,[256,128,65,32,19,10,4]],["add",143,263,-1,2,[256,128,64,32,18,10,4,1]],["add",129,344,-2,1,[256,128,65,32,17,8,4,2]],["add",258,28,-2,1,[256,128,66,35,16,9,4]],["add",28,258,1,4,[256,128,66,35,16,9,4]],["add",124,258,-1,2,[256,128,64,33,16,9,4,2]],["add",150,28,-2,1,[256,128,66,34,16,8,4,1]],["add",616,12,-2,1,[260,132,72,40,24,2,1]],["add",12,616,1,4,[260,132,72,40,24,2,1]],["add",168,616,-1,2,[260,132,64,32,16,8,2,1]],["add",189,12,-2,1,[260,132,68,36,20,12,2,1]],["add",617,6,-2,1,[257,129,72,41,25,5,3]],["add",6,617,1,4,[257,129,72,41,25,5,3]],["add",212,617,-1,2,[257,129,64,33,17,8,5,3]],["add",215,6,-2,1,[257,129,65,32,16,9,5,3]],["add",618,4,-2,1,[260,132,69,36,20,13,3]],["add",4,618,1,4,[260,132,69,36,20,13,3]],["add",212,618,-1,2,[257,129,64,33,17,8,5,3]],["add",189,4,-2,1,[260,132,68,36,20,12,2,1]],["add",1,620,-2,1,[260,132,65,32,16,9,3]],["add",620,1,1,4,[260,132,65,32,16,9,3]],["add",168,1,-1,2,[260,132,64,32,16,8,2,1]],["add",215,620,-2,1,[257,129,65,32,16,9,5,3]],["add",246,348,-2,1,[261,128,68,32,17,8,2]],["add",348,246,1,4,[261,128,68,32,17,8,2]],["add",167,246,-1,2,[260,128,68,32,16,8,2,1]],["add",131,348,-2,1,[257,128,64,32,17,8,4,2]],["add",244,350,-2,1,[258,128,65,34,17,8,5]],["add",350,244,1,4,[258,128,65,34,17,8,5]],["add",213,244,-1,2,[257,128,65,33,17,8,5,3]],["add",152,350,-2,1,[258,128,64,34,16,8,4,1]],["add",262,360,-2,1,[262,128,68,34,16,8,1]],["add",360,262,1,4,[262,128,68,34,16,8,1]],["add",167,262,-1,2,[260,128,68,32,16,8,2,1]],["add",152,360,-2,1,[258,128,64,34,16,8,4,1]],["add",260,60,-2,1,[257,128,66,34,17,8,6]],["add",60,260,1,4,[257,128,66,34,17,8,6]],["add",213,260,-1,2,[257,128,65,33,17,8,5,3]],["add",131,60,-2,1,[257,128,64,32,17,8,4,2]],["add",624,437,-2,1,[256,130,65,34,17,8,5]],["add",437,624,1,4,[256,130,65,34,17,8,5]],["add",214,624,-1,2,[256,129,65,33,17,8,5,3]],["add",151,437,-2,1,[256,130,64,34,16,8,4,1]],["add",625,435,-2,1,[256,133,68,32,17,8,2]],["add",435,625,1,4,[256,133,68,32,17,8,2]],["add",166,625,-1,2,[256,132,68,32,16,8,2,1]],["add",130,435,-2,1,[256,129,64,32,17,8,4,2]],["add",626,433,-2,1,[256,134,68,34,16,8,1]],["add",433,626,1,4,[256,134,68,34,16,8,1]],["add",166,626,-1,2,[256,132,68,32,16,8,2,1]],["add",151,433,-2,1,[256,130,64,34,16,8,4,1]],["add",426,628,-2,1,[256,129,66,34,17,8,6]],["add",628,426,1,4,[256,129,66,34,17,8,6]],["add",214,426,-1,2,[256,129,65,33,17,8,5,3]],["add",130,628,-2,1,[256,129,64,32,17,8,4,2]],["add",456,396,-2,1,[257,129,72,40,24,4,2]],["add",396,456,1,4,[257,129,72,40,24,4,2]],["add",197,456,-1,2,[257,129,65,33,17,9,4,2]],["add",136,396,-2,1,[257,129,64,32,16,8,4,2]],["add",457,398,-2,1,[257,129,73,41,24,5,3]],["add",398,457,1,4,[257,129,73,41,24,5,3]],["add",210,457,-1,2,[257,129,65,33,16,8,5,3]],["add",219,398,-2,1,[257,129,64,32,17,9,5,3]],["add",466,376,-2,1,[257,129,67,35,17,9,6]],["add",376,466,1,4,[257,129,67,35,17,9,6]],["add",197,466,-1,2,[257,129,65,33,17,9,4,2]],["add",219,376,-2,1,[257,129,64,32,17,9,5,3]],["add",467,66,-2,1,[257,129,66,34,16,8,6]],["add",66,467,1,4,[257,129,66,34,16,8,6]],["add",210,467,-1,2,[257,129,65,33,16,8,5,3]],["add",136,66,-2,1,[257,129,64,32,16,8,4,2]],["add",632,562,-2,1,[256,128,72,42,26,4,1]],["add",562,632,1,4,[256,128,72,42,26,4,1]],["add",144,632,-1,2,[256,128,66,32,16,10,4,1]],["add",147,562,-2,1,[256,128,64,34,18,8,4,1]],["add",633,553,-2,1,[256,128,76,40,28,2,1]],["add",553,633,1,4,[256,128,76,40,28,2,1]],["add",160,633,-1,2,[256,128,68,32,20,8,2,1]],["add",157,553,-2,1,[256,128,64,36,16,12,2,1]],["add",634,552,-2,1,[256,128,68,34,22,8,1]],["add",552,634,1,4,[256,128,68,34,22,8,1]],["add",160,634,-1,2,[256,128,68,32,20,8,2,1]],["add",147,552,-2,1,[256,128,64,34,18,8,4,1]],["add",551,636,-2,1,[256,128,66,36,16,14,1]],["add",636,551,1,4,[256,128,66,36,16,14,1]],["add",144,551,-1,2,[256,128,66,32,16,10,4,1]],["add",157,636,-2,1,[256,128,64,36,16,12,2,1]],["add",458,380,-2,1,[256,130,65,32,17,10,5]],["add",380,458,1,4,[256,130,65,32,17,10,5]],["add",145,458,-1,2,[256,130,64,32,16,10,4,1]],["add",221,380,-2,1,[256,129,65,32,17,9,5,3]],["add",459,382,-2,1,[256,133,65,32,20,8,2]],["add",382,459,1,4,[256,133,65,32,20,8,2]],["add",161,459,-1,2,[256,132,64,32,20,8,2,1]],["add",134,382,-2,1,[256,129,65,32,16,8,4,2]],["add",464,392,-2,1,[256,131,65,32,16,10,4]],["add",392,464,1,4,[256,131,65,32,16,10,4]],["add",145,464,-1,2,[256,130,64,32,16,10,4,1]],["add",134,392,-2,1,[256,129,65,32,16,8,4,2]],["add",465,97,-2,1,[256,132,65,32,20,9,3]],["add",97,465,1,4,[256,132,65,32,20,9,3]],["add",161,465,-1,2,[256,132,64,32,20,8,2,1]],["add",221,97,-2,1,[256,129,65,32,17,9,5,3]],["add",640,261,-2,1,[261,128,65,32,20,8,2]],["add",261,640,1,4,[261,128,65,32,20,8,2]],["add",162,640,-1,2,[260,128,64,32,20,8,2,1]],["add",135,261,-2,1,[257,128,65,32,16,8,4,2]],["add",641,259,-2,1,[258,128,65,32,17,10,5]],["add",259,641,1,4,[258,128,65,32,17,10,5]],["add",146,641,-1,2,[258,128,64,32,16,10,4,1]],["add",220,259,-2,1,[257,128,65,32,17,9,5,3]],["add",642,266,-2,1,[259,128,65,32,16,10,4]],["add",266,642,1,4,[259,128,65,32,16,10,4]],["add",146,642,-1,2,[258,128,64,32,16,10,4,1]],["add",135,266,-2,1,[257,128,65,32,16,8,4,2]],["add",250,644,-2,1,[260,128,65,32,20,9,3]],["add",644,250,1,4,[260,128,65,32,20,9,3]],["add",162,250,-1,2,[260,128,64,32,20,8,2,1]],["add",220,644,-2,1,[257,128,65,32,17,9,5,3]],["add",248,300,1,1,[256,128,67,32,17,8,7]],["add",300,248,-1,2,[256,128,67,32,17,8,7]],["add",113,248,1,1,[256,128,64,32,17,8,4,3]],["add",140,300,-2,1,[256,128,66,32,16,8,6,1]],["add",10,302,1,1,[256,128,73,32,25,5,2]],["add",302,10,-1,2,[256,128,73,32,25,5,2]],["add",118,10,1,1,[256,128,64,32,16,9,5,2]],["add",170,302,-2,1,[256,128,72,32,24,4,2,1]],["add",268,280,1,1,[256,128,72,32,25,4,3]],["add",280,268,-1,2,[256,128,72,32,25,4,3]],["add",113,268,1,1,[256,128,64,32,17,8,4,3]],["add",170,280,-2,1,[256,128,72,32,24,4,2,1]],["add",270,38,1,1,[256,128,66,32,16,9,7]],["add",38,270,-1,2,[256,128,66,32,16,9,7]],["add",118,270,1,1,[256,128,64,32,16,9,5,2]],["add",140,38,-2,1,[256,128,66,32,16,8,6,1]],["add",648,442,1,1,[288,160,65,17,8,5,2]],["add",442,648,-1,2,[288,160,65,17,8,5,2]],["add",187,648,1,1,[288,160,64,16,8,4,2,1]],["add",198,442,-2,1,[257,129,65,33,17,8,5,2]],["add",649,542,1,1,[258,130,65,34,19,10,7]],["add",542,649,-1,2,[258,130,65,34,19,10,7]],["add",194,649,1,1,[258,130,64,34,18,10,6,1]],["add",205,542,-2,1,[257,129,65,33,16,9,4,3]],["add",650,563,1,1,[259,131,65,35,19,10,7]],["add",563,650,-1,2,[259,131,65,35,19,10,7]],["add",194,650,1,1,[258,130,64,34,18,10,6,1]],["add",198,563,-2,1,[257,129,65,33,17,8,5,2]],["add",530,652,1,1,[288,160,65,16,9,4,3]],["add",652,530,-1,2,[288,160,65,16,9,4,3]],["add",187,530,1,1,[288,160,64,16,8,4,2,1]],["add",205,652,-2,1,[257,129,65,33,16,9,4,3]],["add",252,284,1,1,[296,128,96,24,4,2,1]],["add",284,252,-1,2,[296,128,96,24,4,2,1]],["add",186,252,1,1,[288,128,96,16,8,4,2,1]],["add",172,284,-2,1,[264,128,64,32,24,4,2,1]],["add",254,286,1,1,[258,128,72,40,24,6,1]],["add",286,254,-1,2,[258,128,72,40,24,6,1]],["add",195,254,1,1,[258,128,66,34,18,10,6,1]],["add",142,286,-2,1,[258,128,64,32,16,8,6,1]],["add",264,296,1,1,[290,128,96,16,8,6,1]],["add",296,264,-1,2,[290,128,96,16,8,6,1]],["add",186,264,1,1,[288,128,96,16,8,4,2,1]],["add",142,296,-2,1,[258,128,64,32,16,8,6,1]],["add",79,19,1,1,[264,128,66,34,24,6,1]],["add",19,79,-1,2,[264,128,66,34,24,6,1]],["add",195,79,1,1,[258,128,66,34,18,10,6,1]],["add",172,19,-2,1,[264,128,64,32,24,4,2,1]],["add",656,245,1,1,[256,130,72,40,24,6,1]],["add",245,656,-1,2,[256,130,72,40,24,6,1]],["add",196,656,1,1,[256,130,66,34,18,10,6,1]],["add",141,245,-2,1,[256,130,64,32,16,8,6,1]],["add",657,257,1,1,[256,168,96,24,4,2,1]],["add",257,657,-1,2,[256,168,96,24,4,2,1]],["add",185,657,1,1,[256,160,96,16,8,4,2,1]],["add",171,257,-2,1,[256,136,64,32,24,4,2,1]],["add",658,317,1,1,[256,162,96,16,8,6,1]],["add",317,658,-1,2,[256,162,96,16,8,6,1]],["add",185,658,1,1,[256,160,96,16,8,4,2,1]],["add",141,317,-2,1,[256,130,64,32,16,8,6,1]],["add",333,660,1,1,[256,136,66,34,24,6,1]],["add",660,333,-1,2,[256,136,66,34,24,6,1]],["add",196,333,1,1,[256,130,66,34,18,10,6,1]],["add",171,660,-2,1,[256,136,64,32,24,4,2,1]],["add",460,332,1,1,[264,136,65,32,17,5,2]],["add",332,460,-1,2,[264,136,65,32,17,5,2]],["add",200,460,1,1,[257,129,65,32,17,9,5,2]],["add",178,332,-2,1,[264,136,64,32,16,4,2,1]],["add",461,334,1,1,[258,130,67,34,17,10,7]],["add",334,461,-1,2,[258,130,67,34,17,10,7]],["add",192,461,1,1,[258,130,66,34,16,10,6,1]],["add",207,334,-2,1,[257,129,64,33,17,9,4,3]],["add",468,312,1,1,[257,129,67,34,17,9,7]],["add",312,468,-1,2,[257,129,67,34,17,9,7]],["add",200,468,1,1,[257,129,65,32,17,9,5,2]],["add",207,312,-2,1,[257,129,64,33,17,9,4,3]],["add",469,24,1,1,[264,136,66,34,16,6,1]],["add",24,469,-1,2,[264,136,66,34,16,6,1]],["add",192,469,1,1,[258,130,66,34,16,10,6,1]],["add",178,24,-2,1,[264,136,64,32,16,4,2,1]],["add",664,671,1,1,[256,128,65,32,19,8,7]],["add",671,664,-1,2,[256,128,65,32,19,8,7]],["add",115,664,1,1,[256,128,65,32,16,8,4,3]],["add",138,671,-2,1,[256,128,64,32,18,8,6,1]],["add",665,670,1,1,[256,128,80,49,8,5,2]],["add",670,665,-1,2,[256,128,80,49,8,5,2]],["add",179,665,1,1,[256,128,80,48,8,4,2,1]],["add",120,670,-2,1,[256,128,64,33,16,8,5,2]],["add",666,403,1,1,[256,128,82,50,8,6,1]],["add",403,666,-1,2,[256,128,82,50,8,6,1]],["add",179,666,1,1,[256,128,80,48,8,4,2,1]],["add",138,403,-2,1,[256,128,64,32,18,8,6,1]],["add",401,668,1,1,[256,128,66,35,16,8,7]],["add",668,401,-1,2,[256,128,66,35,16,8,7]],["add",115,401,1,1,[256,128,65,32,16,8,4,3]],["add",120,668,-2,1,[256,128,64,33,16,8,5,2]],["add",462,316,1,1,[256,129,72,40,24,4,3]],["add",316,462,-1,2,[256,129,72,40,24,4,3]],["add",116,462,1,1,[256,129,64,32,16,8,4,3]],["add",209,316,-2,1,[256,129,65,33,17,9,4,3]],["add",463,318,1,1,[256,152,72,48,4,2,1]],["add",318,463,-1,2,[256,152,72,48,4,2,1]],["add",180,463,1,1,[256,144,64,48,8,4,2,1]],["add",176,318,-2,1,[256,136,72,32,16,4,2,1]],["add",470,328,1,1,[256,137,72,32,16,4,3]],["add",328,470,-1,2,[256,137,72,32,16,4,3]],["add",116,470,1,1,[256,129,64,32,16,8,4,3]],["add",176,328,-2,1,[256,136,72,32,16,4,2,1]],["add",471,109,1,1,[256,144,65,48,9,4,3]],["add",109,471,-1,2,[256,144,65,48,9,4,3]],["add",180,471,1,1,[256,144,64,48,8,4,2,1]],["add",209,109,-2,1,[256,129,65,33,17,9,4,3]],["add",672,227,1,1,[280,128,72,48,4,2,1]],["add",227,672,-1,2,[280,128,72,48,4,2,1]],["add",181,672,1,1,[272,128,64,48,8,4,2,1]],["add",177,227,-2,1,[264,128,72,32,16,4,2,1]],["add",673,229,1,1,[257,128,72,40,24,4,3]],["add",229,673,-1,2,[257,128,72,40,24,4,3]],["add",117,673,1,1,[257,128,64,32,16,8,4,3]],["add",208,229,-2,1,[257,128,65,33,17,9,4,3]],["add",674,234,1,1,[265,128,72,32,16,4,3]],["add",234,674,-1,2,[265,128,72,32,16,4,3]],["add",117,674,1,1,[257,128,64,32,16,8,4,3]],["add",177,234,-2,1,[264,128,72,32,16,4,2,1]],["add",241,676,1,1,[272,128,65,48,9,4,3]],["add",676,241,-1,2,[272,128,65,48,9,4,3]],["add",181,241,1,1,[272,128,64,48,8,4,2,1]],["add",208,676,-2,1,[257,128,65,33,17,9,4,3]],["add",478,514,1,1,[260,128,65,36,16,9,3]],["add",514,478,-1,2,[260,128,65,36,16,9,3]],["add",165,478,1,1,[260,128,64,36,16,8,2,1]],["add",217,514,-2,1,[257,128,65,33,16,9,5,3]],["add",479,515,1,1,[259,128,66,32,16,9,4]],["add",515,479,-1,2,[259,128,66,32,16,9,4]],["add",127,479,1,1,[257,128,64,32,16,9,4,2]],["add",154,515,-2,1,[258,128,66,32,16,8,4,1]],["add",490,502,1,1,[262,128,66,36,16,8,1]],["add",502,490,-1,2,[262,128,66,36,16,8,1]],["add",165,490,1,1,[260,128,64,36,16,8,2,1]],["add",154,502,-2,1,[258,128,66,32,16,8,4,1]],["add",491,503,1,1,[257,128,66,34,16,9,6]],["add",503,491,-1,2,[257,128,66,34,16,9,6]],["add",127,491,1,1,[257,128,64,32,16,9,4,2]],["add",217,503,-2,1,[257,128,65,33,16,9,5,3]],["add",49,393,1,1,[256,132,65,36,16,9,3]],["add",393,49,-1,2,[256,132,65,36,16,9,3]],["add",164,49,1,1,[256,132,64,36,16,8,2,1]],["add",218,393,-2,1,[256,129,65,33,16,9,5,3]],["add",83,281,1,1,[256,131,66,32,16,9,4]],["add",281,83,-1,2,[256,131,66,32,16,9,4]],["add",126,83,1,1,[256,129,64,32,16,9,4,2]],["add",153,281,-2,1,[256,130,66,32,16,8,4,1]],["add",98,225,1,1,[256,129,66,34,16,9,6]],["add",225,98,-1,2,[256,129,66,34,16,9,6]],["add",126,98,1,1,[256,129,64,32,16,9,4,2]],["add",218,225,-2,1,[256,129,65,33,16,9,5,3]],["add",285,101,1,1,[256,134,66,36,16,8,1]],["add",101,285,-1,2,[256,134,66,36,16,8,1]],["add",164,285,1,1,[256,132,64,36,16,8,2,1]],["add",153,101,-2,1,[256,130,66,32,16,8,4,1]],["add",480,504,1,1,[256,128,76,44,24,2,1]],["add",504,480,-1,2,[256,128,76,44,24,2,1]],["add",163,480,1,1,[256,128,68,36,16,8,2,1]],["add",156,504,-2,1,[256,128,64,32,20,12,2,1]],["add",481,505,1,1,[256,128,72,41,25,4,2]],["add",505,481,-1,2,[256,128,72,41,25,4,2]],["add",125,481,1,1,[256,128,65,32,16,9,4,2]],["add",128,505,-2,1,[256,128,64,33,17,8,4,2]],["add",492,516,1,1,[256,128,68,37,17,8,2]],["add",516,492,-1,2,[256,128,68,37,17,8,2]],["add",163,492,1,1,[256,128,68,36,16,8,2,1]],["add",128,516,-2,1,[256,128,64,33,17,8,4,2]],["add",493,517,1,1,[256,128,65,32,20,13,2]],["add",517,493,-1,2,[256,128,65,32,20,13,2]],["add",125,493,1,1,[256,128,65,32,16,9,4,2]],["add",156,517,-2,1,[256,128,64,32,20,12,2,1]],["add",68,345,1,1,[257,129,73,40,25,5,3]],["add",345,68,-1,2,[257,129,73,40,25,5,3]],["add",211,68,1,1,[257,129,65,32,17,8,5,3]],["add",216,345,-2,1,[257,129,64,33,16,9,5,3]],["add",80,381,1,1,[258,130,72,40,24,4,1]],["add",381,80,-1,2,[258,130,72,40,24,4,1]],["add",190,80,1,1,[258,130,66,34,18,10,4,1]],["add",155,381,-2,1,[258,130,64,32,16,8,4,1]],["add",88,377,1,1,[258,130,67,34,19,10,5]],["add",377,88,-1,2,[258,130,67,34,19,10,5]],["add",190,88,1,1,[258,130,66,34,18,10,4,1]],["add",216,377,-2,1,[257,129,64,33,16,9,5,3]],["add",397,31,1,1,[258,130,65,32,17,8,5]],["add",31,397,-1,2,[258,130,65,32,17,8,5]],["add",211,397,1,1,[257,129,65,32,17,8,5,3]],["add",155,31,-2,1,[258,130,64,32,16,8,4,1]],["add",273,289,1,1,[256,132,64,33,17,12,3]],["add",289,273,-1,2,[256,132,64,33,17,12,3]],["add",223,273,1,1,[256,129,64,33,17,9,5,3]],["add",158,289,-2,1,[256,132,64,32,16,12,2,1]],["add",275,291,1,1,[256,131,64,33,18,8,4]],["add",291,275,-1,2,[256,131,64,33,18,8,4]],["add",148,275,1,1,[256,130,64,32,18,8,4,1]],["add",132,291,-2,1,[256,129,64,33,16,8,4,2]],["add",506,518,1,1,[256,129,64,33,18,10,6]],["add",518,506,-1,2,[256,129,64,33,18,10,6]],["add",223,506,1,1,[256,129,64,33,17,9,5,3]],["add",132,518,-2,1,[256,129,64,33,16,8,4,2]],["add",305,321,1,1,[256,134,64,32,18,12,1]],["add",321,305,-1,2,[256,134,64,32,18,12,1]],["add",148,305,1,1,[256,130,64,32,18,8,4,1]],["add",158,321,-2,1,[256,132,64,32,16,12,2,1]],["add",33,313,1,1,[260,128,64,33,17,12,3]],["add",313,33,-1,2,[260,128,64,33,17,12,3]],["add",159,33,1,1,[260,128,64,32,16,12,2,1]],["add",222,313,-2,1,[257,128,64,33,17,9,5,3]],["add",55,297,1,1,[259,128,64,33,18,8,4]],["add",297,55,-1,2,[259,128,64,33,18,8,4]],["add",133,55,1,1,[257,128,64,33,16,8,4,2]],["add",149,297,-2,1,[258,128,64,32,18,8,4,1]],["add",74,329,1,1,[257,128,64,33,18,10,6]],["add",329,74,-1,2,[257,128,64,33,18,10,6]],["add",133,74,1,1,[257,128,64,33,16,8,4,2]],["add",222,329,-2,1,[257,128,64,33,17,9,5,3]],["add",301,85,1,1,[262,128,64,32,18,12,1]],["add",85,301,-1,2,[262,128,64,32,18,12,1]],["add",159,301,1,1,[260,128,64,32,16,12,2,1]],["add",149,85,-2,1,[258,128,64,32,18,8,4,1]]],"removed":[595,597,598,599,603,605,607,611,613,614,615,619,621,622,623,627,629,630,631,643,645,646,647,651,654,655,659,661,662,663,675,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,482,483,494,495,507,519,653,606,635,637,638,639,667,669],"start_extra":{"448":[51],"449":[51],"450":[30],"451":[30],"452":[30],"453":[30],"454":[51],"455":[51],"472":[51],"473":[51],"474":[82,42],"475":[82,42],"476":[75,42],"477":[75,42],"484":[51],"485":[51],"486":[85,42],"487":[85,42],"488":[76,42],"489":[76,42],"496":[30],"497":[30],"506":[30],"508":[30],"509":[30],"518":[30],"520":[30],"521":[30],"522":[82,7],"523":[82,7],"524":[75,7],"525":[75,7],"526":[75,25],"527":[75,25],"528":[76,25],"529":[76,25],"531":[30],"532":[30],"533":[30],"534":[120,7],"535":[120,7],"536":[97,7],"537":[97,7],"538":[102,25],"539":[102,25],"540":[97,25],"541":[97,25],"543":[30],"544":[51],"545":[51],"550":[102],"551":[102],"552":[85],"553":[85],"554":[51],"555":[51],"556":[51],"557":[51],"559":[459],"561":[459],"562":[75],"563":[75],"564":[120],"565":[120],"566":[51],"567":[51],"569":[459],"571":[459],"576":[459],"577":[459],"578":[459],"579":[459],"584":[51],"585":[51],"586":[30],"587":[30],"588":[30],"589":[30],"590":[51],"591":[51],"592":[45],"593":[45],"594":[45],"596":[45],"600":[45],"601":[45],"602":[45],"604":[45],"608":[45],"609":[45],"610":[45],"612":[45],"616":[51],"617":[51],"618":[51],"620":[51],"624":[51],"625":[51],"626":[51],"628":[51],"632":[30],"633":[30],"634":[30],"636":[30],"640":[30],"641":[30],"642":[30],"644":[30],"648":[30],"649":[30],"650":[30],"652":[30],"656":[30],"657":[30],"658":[30],"660":[30],"664":[51],"665":[51],"666":[51],"668":[51],"670":[264,136,85,51],"671":[264,136,85,51],"672":[51],"673":[51],"674":[51],"676":[51]},"warps":[[921,243,[1,2,4,8,64,19,104,197,325],[384,133,85,45],[320,192,45,30]],[1044,250,[1,2,4,32,128,47,145,68,483],[384,133,85,45],[486,65,20,10]],[1044,266,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1044,259,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1084,333,[1,2,8,32,44,128,59,66,489],[384,193,75,30],[459,96,24,6]],[1084,317,[1,2,8,32,44,48,66,128,330],[385,74,44,30],[459,96,24,6]],[1064,530,[1,2,8,15,27,74,170,32,417],[385,70,33,18,12],[384,160,75,25,7]],[1132,285,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1132,281,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1172,301,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,297,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,313,[1,2,4,64,74,86,99,128,326],[385,74,44,30],[455,33,18,12]],[1172,329,[1,2,4,64,74,128,81,99,389],[384,193,75,30],[455,33,18,12]],[921,349,[1,2,4,27,46,8,198,64,264],[416,70,19,13],[320,192,45,30]],[1152,345,[1,2,4,40,86,8,132,16,408],[416,70,19,13],[384,130,85,45]],[921,365,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[921,361,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[1152,381,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,377,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,397,[1,2,4,8,16,62,94,129,387],[384,131,75,51],[384,130,85,45]],[1132,393,[1,2,4,16,128,138,55,65,470],[384,131,75,51],[469,66,36,9]],[1132,225,[1,2,4,10,33,68,16,128,325],[448,38,21,11],[469,66,36,9]],[1112,227,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,229,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,234,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,241,[1,4,8,16,128,26,185,65,476],[384,133,85,45],[469,72,48,3]],[1084,245,[1,2,8,32,128,47,145,105,450],[384,133,85,45],[459,96,24,6]],[1084,257,[1,2,8,12,32,27,105,128,363],[400,69,35,14],[459,96,24,6]],[1044,261,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[941,564,[2,1,8,16,128,29,160,81,408],[258,130,84,44,1],[409,80,40,5,2]],[944,565,[1,8,16,128,155,148,160,88,401],[258,130,74,45,31],[409,80,40,5,2]],[941,405,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[961,410,[1,2,8,16,256,30,57,90,129],[384,194,75,45],[144,75,42,7]],[961,417,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,419,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,421,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[1004,426,[1,2,4,8,29,47,77,128,261],[386,73,45,28],[391,68,34,17]],[1004,433,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1004,435,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1004,437,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1064,442,[1,2,4,8,23,70,32,172,396],[384,191,51,30],[384,160,75,25]],[1064,542,[1,2,8,15,27,74,32,129,394],[262,193,33,18,12],[384,160,75,25,7]],[984,1,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,4,[1,2,4,8,16,32,64,135,263],[384,131,75,51],[384,132,75,51]],[984,6,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,12,[1,2,4,8,57,66,143,16,272],[388,75,41,26],[384,132,75,51]],[1172,33,[1,2,4,64,84,128,98,111,389],[266,138,75,30],[455,45,33,18]],[1173,55,[1,2,4,64,128,145,367,160,326],[273,145,85,51],[455,33,490,18]],[1174,74,[1,2,4,64,84,128,364,39,449],[262,134,102,30],[455,33,490,18]],[1177,85,[1,2,4,64,415,86,99,128,326],[385,74,44,30],[455,33,18,473]],[1132,49,[1,2,4,16,121,128,55,80,389],[266,138,75,30],[407,66,36,111]],[1133,83,[1,2,4,16,392,128,162,68,401],[262,134,102,30],[407,66,36,414]],[1134,98,[1,2,4,16,50,492,80,128,278],[385,74,44,30],[407,66,504,36]],[1137,101,[1,2,4,16,128,285,161,195,278],[273,145,85,51],[407,66,36,414]],[1152,68,[1,2,4,8,16,188,94,129,257],[259,131,75,51],[258,130,85,175]],[1153,80,[1,2,4,8,83,424,129,16,282],[392,67,37,22],[258,130,429,85]],[1154,88,[1,2,4,8,427,80,129,16,282],[392,67,37,22],[258,130,85,429]],[1157,31,[1,2,4,8,39,92,137,16,278],[388,75,41,26],[258,130,85,45]],[557,273,[1,4,8,16,23,33,68,128,268],[388,75,41,26],[388,81,48,3]],[558,275,[1,2,4,8,16,32,67,128,259],[388,75,41,26],[391,72,41,26]],[583,289,[1,2,4,8,16,32,89,153,256],[273,145,85,51],[273,136,76,51]],[584,291,[1,2,4,8,16,32,89,128,281],[273,145,85,51],[264,145,76,51]],[610,305,[1,2,4,8,16,32,70,128,262],[385,74,44,30],[391,76,44,30]],[636,321,[1,2,4,8,16,32,106,128,298],[266,138,75,30],[288,138,97,30]],[1067,563,[1,2,8,6,32,17,73,136,291],[259,148,66,36,9],[288,160,75,25,7]],[947,550,[2,1,8,5,16,32,81,128,256],[406,66,36,8,1],[409,80,40,5,2]],[1024,551,[1,2,4,31,44,72,131,8,264],[385,66,36,22,9],[257,129,76,42,30]],[1027,552,[1,2,4,30,8,47,65,131,259],[258,130,85,37,8],[257,129,76,42,30]],[1030,553,[1,2,4,8,24,39,79,131,259],[258,130,67,45,22],[257,129,76,42,30]],[1033,562,[1,2,4,31,8,46,78,130,269],[276,131,66,36,9],[257,129,76,42,30]],[259,401,[1,2,4,8,16,62,94,129,257],[265,137,75,45],[264,136,85,51]],[262,403,[1,2,4,8,16,62,94,129,257],[265,137,75,45],[264,136,85,51]]]},"report":{"R":480,"h":9,"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8},"v":112,"width_inventory":{"4":26,"5":2,"7":62,"8":78,"9":240}},"declared_gate_edit":[["delete",259,["add",664,667,-1,1]],["delete",260,["add",665,667,-1,1]],["delete",261,["add",666,667,1,1]],["delete",262,["add",664,669,1,1]],["delete",263,["add",665,669,-1,1]],["delete",264,["add",668,669,-1,1]],["insert",259,["add",664,401,-1,1]],["insert",260,["add",665,401,-1,1]],["insert",261,["add",666,401,1,1]],["insert",262,["add",664,403,1,1]],["insert",263,["add",665,403,-1,1]],["insert",264,["add",668,403,-1,1]],["delete",941,["add",600,401,-1,1]],["delete",942,["add",601,401,-1,1]],["delete",943,["add",602,401,1,1]],["delete",944,["add",600,403,1,1]],["delete",945,["add",601,403,-1,1]],["delete",946,["add",604,403,-1,1]],["delete",947,["add",600,606,1,1]],["delete",948,["add",602,606,-1,1]],["delete",949,["add",604,606,-1,1]],["insert",941,["add",600,564,-1,1]],["insert",942,["add",601,564,-1,1]],["insert",943,["add",602,564,1,1]],["insert",944,["add",600,565,1,1]],["insert",945,["add",601,565,-1,1]],["insert",946,["add",604,565,-1,1]],["insert",947,["add",600,550,1,1]],["insert",948,["add",602,550,-1,1]],["insert",949,["add",604,550,-1,1]],["delete",956,["add",401,290,1,1]],["insert",956,["add",564,290,1,1]],["delete",958,["add",403,338,1,1]],["delete",959,["add",606,359,1,1]],["insert",958,["add",565,338,1,1]],["insert",959,["add",550,359,1,1]],["delete",1024,["add",632,635,-1,1]],["delete",1025,["add",633,635,-1,1]],["delete",1026,["add",634,635,1,1]],["delete",1027,["add",632,637,-2,1]],["delete",1028,["add",633,637,2,1]],["delete",1029,["add",636,637,-1,1]],["delete",1030,["add",632,638,-2,1]],["delete",1031,["add",634,638,2,1]],["delete",1032,["add",636,638,-1,1]],["delete",1033,["add",633,639,2,1]],["delete",1034,["add",634,639,-2,1]],["delete",1035,["add",636,639,-1,1]],["insert",1024,["add",632,551,-1,1]],["insert",1025,["add",633,551,-1,1]],["insert",1026,["add",634,551,1,1]],["insert",1027,["add",632,552,-2,1]],["insert",1028,["add",633,552,2,1]],["insert",1029,["add",636,552,-1,1]],["insert",1030,["add",632,553,-2,1]],["insert",1031,["add",634,553,2,1]],["insert",1032,["add",636,553,-1,1]],["insert",1033,["add",633,562,2,1]],["insert",1034,["add",634,562,-2,1]],["insert",1035,["add",636,562,-1,1]],["delete",1039,["add",635,467,1,1]],["insert",1039,["add",551,467,1,1]],["delete",1041,["add",637,66,1,1]],["delete",1042,["add",638,396,1,1]],["delete",1043,["add",639,398,1,1]],["insert",1041,["add",552,66,1,1]],["insert",1042,["add",553,396,1,1]],["insert",1043,["add",562,398,1,1]],["delete",1107,["add",667,469,1,1]],["insert",1107,["add",401,469,1,1]],["delete",1109,["add",669,24,1,1]],["insert",1109,["add",403,24,1,1]],["delete",1476,["add",601,606,1,1]],["delete",1477,["add",606,601,-1,2]],["insert",1476,["add",601,550,1,1]],["insert",1477,["add",550,601,-1,2]],["delete",1479,["add",175,606,1,1]],["delete",1480,["add",602,403,1,1]],["delete",1481,["add",403,602,-1,2]],["insert",1479,["add",175,550,1,1]],["insert",1480,["add",602,565,1,1]],["insert",1481,["add",565,602,-1,2]],["delete",1483,["add",123,403,1,1]],["delete",1484,["add",401,604,1,1]],["delete",1485,["add",604,401,-1,2]],["delete",1486,["add",202,401,-1,2]],["insert",1483,["add",123,565,1,1]],["insert",1484,["add",564,604,1,1]],["insert",1485,["add",604,564,-1,2]],["insert",1486,["add",202,564,-1,2]],["delete",1600,["add",632,639,-2,1]],["delete",1601,["add",639,632,1,4]],["insert",1600,["add",632,562,-2,1]],["insert",1601,["add",562,632,1,4]],["delete",1603,["add",147,639,-2,1]],["delete",1604,["add",633,638,-2,1]],["delete",1605,["add",638,633,1,4]],["insert",1603,["add",147,562,-2,1]],["insert",1604,["add",633,553,-2,1]],["insert",1605,["add",553,633,1,4]],["delete",1607,["add",157,638,-2,1]],["delete",1608,["add",634,637,-2,1]],["delete",1609,["add",637,634,1,4]],["insert",1607,["add",157,553,-2,1]],["insert",1608,["add",634,552,-2,1]],["insert",1609,["add",552,634,1,4]],["delete",1611,["add",147,637,-2,1]],["delete",1612,["add",635,636,-2,1]],["delete",1613,["add",636,635,1,4]],["delete",1614,["add",144,635,-1,2]],["insert",1611,["add",147,552,-2,1]],["insert",1612,["add",551,636,-2,1]],["insert",1613,["add",636,551,1,4]],["insert",1614,["add",144,551,-1,2]],["delete",1736,["add",666,669,1,1]],["delete",1737,["add",669,666,-1,2]],["insert",1736,["add",666,403,1,1]],["insert",1737,["add",403,666,-1,2]],["delete",1739,["add",138,669,-2,1]],["delete",1740,["add",667,668,1,1]],["delete",1741,["add",668,667,-1,2]],["delete",1742,["add",115,667,1,1]],["insert",1739,["add",138,403,-2,1]],["insert",1740,["add",401,668,1,1]],["insert",1741,["add",668,401,-1,2]],["insert",1742,["add",115,401,1,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43extra.json new file mode 100644 index 0000000000..2e02c6a627 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/retired7_43extra.json @@ -0,0 +1 @@ +{"kind":"T74_RETIRED7_ALIASES_AND_HOSTEE_MOVES","credit":"PR2802 (mdumitrean, Marius-Paul Dumitrean): seven retired-lender aliases (606<-550, 635<-551, 637<-552, 638<-553, 639<-562, 667<-401, 669<-403) and two hostee moves (401->564, 403->565) on the PR2751 words, with the certified frames of the final program; applied here as one declared patch stage","fields":{"A":[["scale",126,1,1,[]],["scale",133,1,1,[]],["scale",149,1,1,[]],["scale",153,1,1,[]],["scale",155,1,1,[]],["scale",159,1,1,[]],["scale",164,1,1,[]],["scale",190,1,1,[]],["scale",211,1,1,[]],["scale",216,1,1,[]],["scale",218,1,1,[]],["scale",222,1,1,[]],["warp",83,52,[382],[45]],["add",126,83,-1,2,[45]],["add",153,83,-1,2,[45]],["add",164,83,-1,2,[45]],["add",218,83,-1,2,[45]],["warp",83,-52,[45],[382]],["warp",98,53,[487],[45]],["add",126,98,-1,2,[45]],["add",153,98,-1,2,[45]],["add",164,98,-1,2,[45]],["add",218,98,1,2,[45]],["warp",98,-53,[45],[487]],["warp",55,48,[324],[45]],["add",133,55,-1,2,[45]],["add",149,55,-1,2,[45]],["add",159,55,-1,2,[45]],["add",222,55,-1,2,[45]],["warp",55,-48,[45],[324]],["warp",74,49,[352],[45]],["add",133,74,-1,2,[45]],["add",149,74,-1,2,[45]],["add",159,74,-1,2,[45]],["add",222,74,1,2,[45]],["warp",74,-49,[45],[352]],["warp",85,50,[505],[45]],["add",133,85,-1,2,[45]],["add",149,85,1,2,[45]],["add",159,85,1,2,[45]],["add",222,85,1,2,[45]],["warp",85,-50,[45],[505]],["warp",101,54,[375],[45]],["add",126,101,-1,2,[45]],["add",153,101,1,2,[45]],["add",164,101,1,2,[45]],["add",218,101,1,2,[45]],["warp",101,-54,[45],[375]],["warp",80,56,[494],[45]],["add",155,80,-1,2,[45]],["add",190,80,-1,2,[45]],["add",211,80,-1,2,[45]],["add",216,80,-1,2,[45]],["warp",80,-56,[45],[494]],["warp",31,58,[26],[45]],["add",155,31,1,2,[45]],["add",190,31,-1,2,[45]],["add",211,31,1,2,[45]],["add",216,31,1,2,[45]],["warp",31,-58,[45],[26]],["warp",33,47,[138],[45]],["add",133,33,-1,2,[45]],["add",149,33,-1,2,[45]],["add",159,33,1,2,[45]],["add",222,33,1,2,[45]],["warp",33,-47,[45],[138]],["warp",49,51,[148],[45]],["add",126,49,-1,2,[45]],["add",153,49,-1,2,[45]],["add",164,49,1,2,[45]],["add",218,49,1,2,[45]],["warp",49,-51,[45],[148]],["warp",88,57,[477],[45]],["add",155,88,-1,2,[45]],["add",190,88,-1,2,[45]],["add",211,88,-1,2,[45]],["add",216,88,1,2,[45]],["warp",88,-57,[45],[477]],["warp",68,55,[176],[45]],["add",155,68,-1,2,[45]],["add",190,68,-1,2,[45]],["add",211,68,1,2,[45]],["add",216,68,1,2,[45]],["warp",68,-55,[45],[176]],["add",499,498,1,1,[]],["add",457,498,1,1,[]],["add",456,498,1,1,[]],["add",311,498,-1,1,[]],["add",252,498,-1,2,[]],["add",249,498,-1,2,[]],["add",247,498,-1,2,[]],["add",243,498,1,2,[]],["add",242,498,-1,2,[]],["add",511,327,1,1,[]],["add",459,327,1,1,[]],["add",248,327,-1,2,[]],["add",244,327,-1,2,[]],["scale",327,-1,1,[]],["add",250,510,-1,2,[]],["add",246,510,-1,2,[]],["add",458,510,1,1,[]],["add",467,501,1,1,[]],["add",264,501,-1,2,[]],["add",260,501,-1,2,[]],["add",266,500,-1,2,[]],["add",466,500,1,1,[]],["add",262,500,-1,2,[]],["add",498,311,1,1,[]],["add",456,311,1,1,[]],["add",252,311,-1,2,[]],["add",247,311,-1,2,[]],["add",311,498,-1,1,[]],["add",327,511,1,1,[]],["add",511,327,-1,1,[]],["add",311,499,1,1,[]],["add",499,311,-1,1,[]],["add",318,583,-1,1,[]],["add",308,583,1,1,[]],["add",505,583,1,1,[]],["add",332,580,-1,1,[]],["add",326,580,1,1,[]],["add",516,580,1,1,[]],["add",311,572,-1,1,[]],["add",306,572,1,1,[]],["add",502,572,1,1,[]],["add",464,512,1,1,[]],["add",268,512,-1,2,[]],["add",263,512,-1,2,[]],["add",465,513,1,1,[]],["add",265,513,-1,2,[]],["add",259,513,1,2,[]],["add",258,513,-1,2,[]],["add",504,582,1,1,[]],["add",316,582,-1,1,[]],["add",310,582,1,1,[]],["add",324,581,1,1,[]],["add",334,581,-1,1,[]],["add",517,581,1,1,[]],["add",514,574,1,1,[]],["add",322,574,1,1,[]],["add",327,574,-1,1,[]],["add",333,575,-1,1,[]],["add",515,575,1,1,[]],["add",317,573,-1,1,[]],["add",503,573,1,1,[]],["add",588,518,1,1,[30]],["add",586,506,1,1,[30]],["scale",506,-1,2,[30]],["add",666,554,1,1,[51]],["add",664,554,-1,1,[51]],["add",618,554,2,1,[51]],["add",616,554,-2,1,[51]],["scale",554,-1,1,[51]],["add",286,287,1,1,[]],["add",285,287,-1,1,[]],["add",284,287,-1,1,[]],["add",283,287,-1,1,[]],["add",281,287,-1,1,[]],["add",280,287,1,1,[]],["add",279,287,1,1,[]],["add",277,287,2,1,[]],["scale",287,2,1,[]],["add",284,285,1,1,[]],["add",283,285,-1,1,[]],["add",282,285,1,1,[]],["add",281,285,-1,1,[]],["add",276,285,-1,1,[]],["add",274,285,-1,1,[]],["add",272,285,1,1,[]],["scale",285,2,1,[]],["add",285,283,1,1,[]],["add",284,283,1,1,[]],["add",282,283,1,1,[]],["add",281,283,-1,1,[]],["add",276,283,-1,1,[]],["add",274,283,-1,1,[]],["add",272,283,1,1,[]],["add",287,282,-2,1,[]],["add",286,282,-2,1,[]],["add",281,282,2,1,[]],["add",278,282,2,1,[]],["add",277,282,-2,1,[]],["add",275,282,-1,1,[]],["add",273,282,-2,1,[]],["add",272,282,-2,1,[]],["scale",282,2,1,[]],["scale",283,-1,1,[]],["add",282,283,-1,1,[]],["add",283,282,1,1,[]],["add",282,283,-1,1,[]],["add",287,281,1,1,[]],["add",286,281,1,1,[]],["add",285,281,-1,2,[]],["add",284,281,-1,2,[]],["add",283,281,-1,2,[]],["add",278,281,-1,1,[]],["add",277,281,1,1,[]],["add",276,281,1,2,[]],["add",275,281,1,2,[]],["add",274,281,1,2,[]],["add",273,281,1,1,[]],["add",272,281,1,2,[]],["scale",281,1,2,[]],["scale",282,-1,1,[]],["add",281,282,-1,1,[]],["add",282,281,1,1,[]],["add",281,282,-1,1,[]],["add",287,280,-1,1,[]],["add",286,280,-1,1,[]],["add",285,280,1,1,[]],["add",284,280,1,1,[]],["add",283,280,1,1,[]],["add",282,280,1,1,[]],["add",279,280,-1,1,[]],["add",277,280,-2,1,[]],["scale",280,-1,1,[]],["add",287,279,-1,1,[]],["add",286,279,-1,1,[]],["add",285,279,1,1,[]],["add",284,279,1,1,[]],["add",283,279,1,1,[]],["add",282,279,1,1,[]],["add",277,279,-2,1,[]],["scale",279,-1,1,[]],["scale",281,-1,1,[]],["add",279,281,-1,1,[]],["add",281,279,1,1,[]],["add",279,281,-1,1,[]],["scale",279,-1,1,[]],["add",278,279,-1,1,[]],["add",279,278,1,1,[]],["add",278,279,-1,1,[]],["add",287,277,-1,2,[]],["add",286,277,-1,2,[]],["add",285,277,1,2,[]],["add",284,277,1,2,[]],["add",283,277,1,2,[]],["add",282,277,1,2,[]],["add",281,277,-1,2,[]],["scale",277,-1,2,[]],["scale",280,-1,1,[]],["add",277,280,-1,1,[]],["add",280,277,1,1,[]],["add",277,280,-1,1,[]],["add",287,276,-1,1,[]],["add",286,276,-1,1,[]],["add",281,276,1,1,[]],["add",280,276,1,1,[]],["add",279,276,2,1,[]],["add",275,276,-1,1,[]],["add",274,276,-1,1,[]],["add",273,276,-2,1,[]],["add",272,276,-1,1,[]],["scale",276,2,1,[]],["scale",278,-1,1,[]],["add",276,278,-1,1,[]],["add",278,276,1,1,[]],["add",276,278,-1,1,[]],["add",287,275,-1,1,[]],["add",286,275,-1,1,[]],["add",281,275,1,1,[]],["add",280,275,1,1,[]],["add",279,275,2,1,[]],["add",278,275,2,1,[]],["add",274,275,-1,1,[]],["add",273,275,-2,1,[]],["add",272,275,-1,1,[]],["scale",275,-1,1,[]],["scale",277,-1,1,[]],["add",275,277,-1,1,[]],["add",277,275,1,1,[]],["add",275,277,-1,1,[]],["scale",276,-1,1,[]],["add",274,276,-1,1,[]],["add",276,274,1,1,[]],["add",274,276,-1,1,[]],["add",279,273,1,2,[]],["add",278,273,1,2,[]],["add",277,273,-1,2,[]],["add",276,273,-1,2,[]],["add",272,273,-1,2,[]],["scale",273,1,2,[]],["scale",274,-1,1,[]],["add",273,274,-1,1,[]],["add",274,273,1,1,[]],["add",273,274,-1,1,[]],["scale",274,-1,1,[]],["add",272,274,-1,1,[]],["add",274,272,1,1,[]],["add",272,274,-1,1,[]],["add",302,303,1,1,[]],["add",301,303,-1,1,[]],["add",300,303,-1,1,[]],["add",299,303,-1,1,[]],["add",297,303,-1,1,[]],["add",296,303,1,1,[]],["add",295,303,1,1,[]],["add",293,303,2,1,[]],["scale",303,2,1,[]],["add",300,301,1,1,[]],["add",299,301,-1,1,[]],["add",298,301,1,1,[]],["add",297,301,-1,1,[]],["add",292,301,-1,1,[]],["add",290,301,-1,1,[]],["add",288,301,1,1,[]],["scale",301,2,1,[]],["add",301,299,1,1,[]],["add",300,299,1,1,[]],["add",298,299,1,1,[]],["add",297,299,-1,1,[]],["add",292,299,-1,1,[]],["add",290,299,-1,1,[]],["add",288,299,1,1,[]],["add",303,298,-2,1,[]],["add",302,298,-2,1,[]],["add",297,298,2,1,[]],["add",294,298,2,1,[]],["add",293,298,-2,1,[]],["add",291,298,-1,1,[]],["add",289,298,-2,1,[]],["add",288,298,-2,1,[]],["scale",298,2,1,[]],["scale",299,-1,1,[]],["add",298,299,-1,1,[]],["add",299,298,1,1,[]],["add",298,299,-1,1,[]],["add",303,297,1,1,[]],["add",302,297,1,1,[]],["add",301,297,-1,2,[]],["add",300,297,-1,2,[]],["add",299,297,-1,2,[]],["add",294,297,-1,1,[]],["add",293,297,1,1,[]],["add",292,297,1,2,[]],["add",291,297,1,2,[]],["add",290,297,1,2,[]],["add",289,297,1,1,[]],["add",288,297,1,2,[]],["scale",297,1,2,[]],["scale",298,-1,1,[]],["add",297,298,-1,1,[]],["add",298,297,1,1,[]],["add",297,298,-1,1,[]],["add",303,296,-1,1,[]],["add",302,296,-1,1,[]],["add",301,296,1,1,[]],["add",300,296,1,1,[]],["add",299,296,1,1,[]],["add",298,296,1,1,[]],["add",295,296,-1,1,[]],["add",293,296,-2,1,[]],["scale",296,-1,1,[]],["add",303,295,-1,1,[]],["add",302,295,-1,1,[]],["add",301,295,1,1,[]],["add",300,295,1,1,[]],["add",299,295,1,1,[]],["add",298,295,1,1,[]],["add",293,295,-2,1,[]],["scale",295,-1,1,[]],["scale",297,-1,1,[]],["add",295,297,-1,1,[]],["add",297,295,1,1,[]],["add",295,297,-1,1,[]],["scale",295,-1,1,[]],["add",294,295,-1,1,[]],["add",295,294,1,1,[]],["add",294,295,-1,1,[]],["add",303,293,-1,2,[]],["add",302,293,-1,2,[]],["add",301,293,1,2,[]],["add",300,293,1,2,[]],["add",299,293,1,2,[]],["add",298,293,1,2,[]],["add",297,293,-1,2,[]],["scale",293,-1,2,[]],["scale",296,-1,1,[]],["add",293,296,-1,1,[]],["add",296,293,1,1,[]],["add",293,296,-1,1,[]],["add",303,292,-1,1,[]],["add",302,292,-1,1,[]],["add",297,292,1,1,[]],["add",296,292,1,1,[]],["add",295,292,2,1,[]],["add",291,292,-1,1,[]],["add",290,292,-1,1,[]],["add",289,292,-2,1,[]],["add",288,292,-1,1,[]],["scale",292,2,1,[]],["scale",294,-1,1,[]],["add",292,294,-1,1,[]],["add",294,292,1,1,[]],["add",292,294,-1,1,[]],["add",303,291,-1,1,[]],["add",302,291,-1,1,[]],["add",297,291,1,1,[]],["add",296,291,1,1,[]],["add",295,291,2,1,[]],["add",294,291,2,1,[]],["add",290,291,-1,1,[]],["add",289,291,-2,1,[]],["add",288,291,-1,1,[]],["scale",291,-1,1,[]],["scale",293,-1,1,[]],["add",291,293,-1,1,[]],["add",293,291,1,1,[]],["add",291,293,-1,1,[]],["scale",292,-1,1,[]],["add",290,292,-1,1,[]],["add",292,290,1,1,[]],["add",290,292,-1,1,[]],["add",295,289,1,2,[]],["add",294,289,1,2,[]],["add",293,289,-1,2,[]],["add",292,289,-1,2,[]],["add",288,289,-1,2,[]],["scale",289,1,2,[]],["scale",290,-1,1,[]],["add",289,290,-1,1,[]],["add",290,289,1,1,[]],["add",289,290,-1,1,[]],["scale",290,-1,1,[]],["add",288,290,-1,1,[]],["add",290,288,1,1,[]],["add",288,290,-1,1,[]],["add",318,319,1,1,[]],["add",317,319,-1,1,[]],["add",316,319,-1,1,[]],["add",315,319,-1,1,[]],["add",313,319,-1,1,[]],["add",312,319,1,1,[]],["add",311,319,1,1,[]],["add",309,319,2,1,[]],["scale",319,2,1,[]],["add",316,317,1,1,[]],["add",315,317,-1,1,[]],["add",314,317,1,1,[]],["add",313,317,-1,1,[]],["add",308,317,-1,1,[]],["add",306,317,-1,1,[]],["add",304,317,1,1,[]],["scale",317,2,1,[]],["add",317,315,1,1,[]],["add",316,315,1,1,[]],["add",314,315,1,1,[]],["add",313,315,-1,1,[]],["add",308,315,-1,1,[]],["add",306,315,-1,1,[]],["add",304,315,1,1,[]],["add",319,314,-2,1,[]],["add",318,314,-2,1,[]],["add",313,314,2,1,[]],["add",310,314,2,1,[]],["add",309,314,-2,1,[]],["add",307,314,-1,1,[]],["add",305,314,-2,1,[]],["add",304,314,-2,1,[]],["scale",314,2,1,[]],["scale",315,-1,1,[]],["add",314,315,-1,1,[]],["add",315,314,1,1,[]],["add",314,315,-1,1,[]],["add",319,313,1,1,[]],["add",318,313,1,1,[]],["add",317,313,-1,2,[]],["add",316,313,-1,2,[]],["add",315,313,-1,2,[]],["add",310,313,-1,1,[]],["add",309,313,1,1,[]],["add",308,313,1,2,[]],["add",307,313,1,2,[]],["add",306,313,1,2,[]],["add",305,313,1,1,[]],["add",304,313,1,2,[]],["scale",313,1,2,[]],["scale",314,-1,1,[]],["add",313,314,-1,1,[]],["add",314,313,1,1,[]],["add",313,314,-1,1,[]],["add",319,312,-1,1,[]],["add",318,312,-1,1,[]],["add",317,312,1,1,[]],["add",316,312,1,1,[]],["add",315,312,1,1,[]],["add",314,312,1,1,[]],["add",311,312,-1,1,[]],["add",309,312,-2,1,[]],["scale",312,-1,1,[]],["add",319,311,-1,1,[]],["add",318,311,-1,1,[]],["add",317,311,1,1,[]],["add",316,311,1,1,[]],["add",315,311,1,1,[]],["add",314,311,1,1,[]],["add",309,311,-2,1,[]],["scale",311,-1,1,[]],["scale",313,-1,1,[]],["add",311,313,-1,1,[]],["add",313,311,1,1,[]],["add",311,313,-1,1,[]],["scale",311,-1,1,[]],["add",310,311,-1,1,[]],["add",311,310,1,1,[]],["add",310,311,-1,1,[]],["add",319,309,-1,2,[]],["add",318,309,-1,2,[]],["add",317,309,1,2,[]],["add",316,309,1,2,[]],["add",315,309,1,2,[]],["add",314,309,1,2,[]],["add",313,309,-1,2,[]],["scale",309,-1,2,[]],["scale",312,-1,1,[]],["add",309,312,-1,1,[]],["add",312,309,1,1,[]],["add",309,312,-1,1,[]],["add",319,308,-1,1,[]],["add",318,308,-1,1,[]],["add",313,308,1,1,[]],["add",312,308,1,1,[]],["add",311,308,2,1,[]],["add",307,308,-1,1,[]],["add",306,308,-1,1,[]],["add",305,308,-2,1,[]],["add",304,308,-1,1,[]],["scale",308,2,1,[]],["scale",310,-1,1,[]],["add",308,310,-1,1,[]],["add",310,308,1,1,[]],["add",308,310,-1,1,[]],["add",319,307,-1,1,[]],["add",318,307,-1,1,[]],["add",313,307,1,1,[]],["add",312,307,1,1,[]],["add",311,307,2,1,[]],["add",310,307,2,1,[]],["add",306,307,-1,1,[]],["add",305,307,-2,1,[]],["add",304,307,-1,1,[]],["scale",307,-1,1,[]],["scale",309,-1,1,[]],["add",307,309,-1,1,[]],["add",309,307,1,1,[]],["add",307,309,-1,1,[]],["scale",308,-1,1,[]],["add",306,308,-1,1,[]],["add",308,306,1,1,[]],["add",306,308,-1,1,[]],["add",311,305,1,2,[]],["add",310,305,1,2,[]],["add",309,305,-1,2,[]],["add",308,305,-1,2,[]],["add",304,305,-1,2,[]],["scale",305,1,2,[]],["scale",306,-1,1,[]],["add",305,306,-1,1,[]],["add",306,305,1,1,[]],["add",305,306,-1,1,[]],["scale",306,-1,1,[]],["add",304,306,-1,1,[]],["add",306,304,1,1,[]],["add",304,306,-1,1,[]],["add",334,335,1,1,[]],["add",333,335,-1,1,[]],["add",332,335,-1,1,[]],["add",331,335,-1,1,[]],["add",329,335,-1,1,[]],["add",328,335,1,1,[]],["add",327,335,1,1,[]],["add",325,335,2,1,[]],["scale",335,2,1,[]],["add",332,333,1,1,[]],["add",331,333,-1,1,[]],["add",330,333,1,1,[]],["add",329,333,-1,1,[]],["add",324,333,-1,1,[]],["add",322,333,-1,1,[]],["add",320,333,1,1,[]],["scale",333,2,1,[]],["add",335,331,-1,1,[]],["add",334,331,-1,1,[]],["add",333,331,2,1,[]],["add",332,331,2,1,[]],["add",330,331,3,2,[]],["add",329,331,-1,1,[]],["add",325,331,-1,1,[]],["add",324,331,-1,1,[]],["add",323,331,-1,2,[]],["add",322,331,-1,1,[]],["add",321,331,1,1,[]],["add",320,331,2,1,[]],["scale",331,-1,1,[]],["add",335,330,-2,1,[]],["add",334,330,-2,1,[]],["add",329,330,2,1,[]],["add",326,330,2,1,[]],["add",325,330,-2,1,[]],["add",323,330,-1,1,[]],["add",321,330,-2,1,[]],["add",320,330,-2,1,[]],["scale",330,2,1,[]],["scale",331,-1,1,[]],["add",330,331,-1,1,[]],["add",331,330,1,1,[]],["add",330,331,-1,1,[]],["add",335,329,1,1,[]],["add",334,329,1,1,[]],["add",333,329,-1,2,[]],["add",332,329,-1,2,[]],["add",331,329,-1,2,[]],["add",326,329,-1,1,[]],["add",325,329,1,1,[]],["add",324,329,1,2,[]],["add",323,329,1,2,[]],["add",322,329,1,2,[]],["add",321,329,1,1,[]],["add",320,329,1,2,[]],["scale",329,1,2,[]],["scale",330,-1,1,[]],["add",329,330,-1,1,[]],["add",330,329,1,1,[]],["add",329,330,-1,1,[]],["add",335,328,-1,1,[]],["add",334,328,-1,1,[]],["add",333,328,1,1,[]],["add",332,328,1,1,[]],["add",331,328,1,1,[]],["add",330,328,1,1,[]],["add",327,328,-1,1,[]],["add",325,328,-2,1,[]],["add",320,328,1,1,[]],["scale",328,-1,1,[]],["add",335,327,-1,1,[]],["add",334,327,-1,1,[]],["add",333,327,1,1,[]],["add",332,327,1,1,[]],["add",331,327,1,1,[]],["add",330,327,1,1,[]],["add",325,327,-2,1,[]],["scale",327,-1,1,[]],["scale",329,-1,1,[]],["add",327,329,-1,1,[]],["add",329,327,1,1,[]],["add",327,329,-1,1,[]],["scale",327,-1,1,[]],["add",326,327,-1,1,[]],["add",327,326,1,1,[]],["add",326,327,-1,1,[]],["add",335,325,-1,2,[]],["add",334,325,-1,2,[]],["add",333,325,1,2,[]],["add",332,325,1,2,[]],["add",331,325,1,2,[]],["add",330,325,1,2,[]],["add",329,325,-1,2,[]],["scale",325,-1,2,[]],["scale",328,-1,1,[]],["add",325,328,-1,1,[]],["add",328,325,1,1,[]],["add",325,328,-1,1,[]],["add",335,324,-1,1,[]],["add",334,324,-1,1,[]],["add",329,324,1,1,[]],["add",328,324,1,1,[]],["add",327,324,2,1,[]],["add",323,324,-1,1,[]],["add",322,324,-1,1,[]],["add",321,324,-2,1,[]],["add",320,324,-1,1,[]],["scale",324,2,1,[]],["scale",326,-1,1,[]],["add",324,326,-1,1,[]],["add",326,324,1,1,[]],["add",324,326,-1,1,[]],["add",335,323,-1,1,[]],["add",334,323,-1,1,[]],["add",329,323,1,1,[]],["add",328,323,1,1,[]],["add",327,323,2,1,[]],["add",326,323,2,1,[]],["add",322,323,-1,1,[]],["add",321,323,-2,1,[]],["add",320,323,-1,1,[]],["scale",323,-1,1,[]],["scale",325,-1,1,[]],["add",323,325,-1,1,[]],["add",325,323,1,1,[]],["add",323,325,-1,1,[]],["scale",324,-1,1,[]],["add",322,324,-1,1,[]],["add",324,322,1,1,[]],["add",322,324,-1,1,[]],["add",327,321,1,2,[]],["add",326,321,1,2,[]],["add",325,321,-1,2,[]],["add",324,321,-1,2,[]],["add",322,321,1,2,[]],["add",320,321,-1,2,[]],["scale",321,1,2,[]],["add",323,320,1,1,[]],["scale",322,-1,1,[]],["add",320,322,-1,1,[]],["add",322,320,1,1,[]],["add",320,322,-1,1,[]],["add",350,351,1,1,[]],["add",349,351,-1,1,[]],["add",348,351,-1,1,[]],["add",347,351,-1,1,[]],["add",345,351,-1,1,[]],["add",344,351,1,1,[]],["add",343,351,1,1,[]],["add",341,351,2,1,[]],["scale",351,2,1,[]],["add",348,349,1,1,[]],["add",347,349,-1,1,[]],["add",346,349,1,1,[]],["add",345,349,-1,1,[]],["add",340,349,-1,1,[]],["add",338,349,-1,1,[]],["add",336,349,1,1,[]],["scale",349,2,1,[]],["add",351,347,-1,1,[]],["add",350,347,-1,1,[]],["add",349,347,2,1,[]],["add",348,347,2,1,[]],["add",346,347,3,2,[]],["add",345,347,-1,1,[]],["add",341,347,-1,1,[]],["add",340,347,-1,1,[]],["add",339,347,-1,2,[]],["add",338,347,-1,1,[]],["add",337,347,1,1,[]],["add",336,347,2,1,[]],["scale",347,-1,1,[]],["add",351,346,-2,1,[]],["add",350,346,-2,1,[]],["add",345,346,2,1,[]],["add",342,346,2,1,[]],["add",341,346,-2,1,[]],["add",339,346,-1,1,[]],["add",337,346,-2,1,[]],["add",336,346,-2,1,[]],["scale",346,2,1,[]],["scale",347,-1,1,[]],["add",346,347,-1,1,[]],["add",347,346,1,1,[]],["add",346,347,-1,1,[]],["add",351,345,1,1,[]],["add",350,345,1,1,[]],["add",349,345,-1,2,[]],["add",348,345,-1,2,[]],["add",347,345,-1,2,[]],["add",342,345,-1,1,[]],["add",341,345,1,1,[]],["add",340,345,1,2,[]],["add",339,345,1,2,[]],["add",338,345,1,2,[]],["add",337,345,1,1,[]],["add",336,345,1,2,[]],["scale",345,1,2,[]],["scale",346,-1,1,[]],["add",345,346,-1,1,[]],["add",346,345,1,1,[]],["add",345,346,-1,1,[]],["add",351,344,-1,1,[]],["add",350,344,-1,1,[]],["add",349,344,1,1,[]],["add",348,344,1,1,[]],["add",347,344,1,1,[]],["add",346,344,1,1,[]],["add",343,344,-1,1,[]],["add",341,344,-2,1,[]],["add",336,344,1,1,[]],["scale",344,-1,1,[]],["add",351,343,-1,1,[]],["add",350,343,-1,1,[]],["add",349,343,1,1,[]],["add",348,343,1,1,[]],["add",347,343,1,1,[]],["add",346,343,1,1,[]],["add",341,343,-2,1,[]],["scale",343,-1,1,[]],["scale",345,-1,1,[]],["add",343,345,-1,1,[]],["add",345,343,1,1,[]],["add",343,345,-1,1,[]],["scale",343,-1,1,[]],["add",342,343,-1,1,[]],["add",343,342,1,1,[]],["add",342,343,-1,1,[]],["add",351,341,-1,2,[]],["add",350,341,-1,2,[]],["add",349,341,1,2,[]],["add",348,341,1,2,[]],["add",347,341,1,2,[]],["add",346,341,1,2,[]],["add",345,341,-1,2,[]],["scale",341,-1,2,[]],["scale",344,-1,1,[]],["add",341,344,-1,1,[]],["add",344,341,1,1,[]],["add",341,344,-1,1,[]],["add",351,340,-1,1,[]],["add",350,340,-1,1,[]],["add",345,340,1,1,[]],["add",344,340,1,1,[]],["add",343,340,2,1,[]],["add",339,340,-1,1,[]],["add",338,340,-1,1,[]],["add",337,340,-2,1,[]],["add",336,340,-1,1,[]],["scale",340,2,1,[]],["scale",342,-1,1,[]],["add",340,342,-1,1,[]],["add",342,340,1,1,[]],["add",340,342,-1,1,[]],["add",351,339,-1,1,[]],["add",350,339,-1,1,[]],["add",345,339,1,1,[]],["add",344,339,1,1,[]],["add",343,339,2,1,[]],["add",342,339,2,1,[]],["add",338,339,-1,1,[]],["add",337,339,-2,1,[]],["add",336,339,-1,1,[]],["scale",339,-1,1,[]],["scale",341,-1,1,[]],["add",339,341,-1,1,[]],["add",341,339,1,1,[]],["add",339,341,-1,1,[]],["scale",340,-1,1,[]],["add",338,340,-1,1,[]],["add",340,338,1,1,[]],["add",338,340,-1,1,[]],["add",343,337,1,2,[]],["add",342,337,1,2,[]],["add",341,337,-1,2,[]],["add",340,337,-1,2,[]],["add",338,337,1,2,[]],["add",336,337,-1,2,[]],["scale",337,1,2,[]],["add",339,336,1,1,[]],["scale",338,-1,1,[]],["add",336,338,-1,1,[]],["add",338,336,1,1,[]],["add",336,338,-1,1,[]],["add",366,367,1,1,[]],["add",365,367,-1,1,[]],["add",364,367,-1,1,[]],["add",363,367,-1,1,[]],["add",361,367,-1,1,[]],["add",360,367,1,1,[]],["add",359,367,1,1,[]],["add",357,367,2,1,[]],["scale",367,2,1,[]],["add",364,365,1,1,[]],["add",363,365,-1,1,[]],["add",362,365,1,1,[]],["add",361,365,-1,1,[]],["add",356,365,-1,1,[]],["add",354,365,-1,1,[]],["add",352,365,1,1,[]],["scale",365,2,1,[]],["add",367,363,-1,1,[]],["add",366,363,-1,1,[]],["add",365,363,2,1,[]],["add",364,363,2,1,[]],["add",362,363,3,2,[]],["add",361,363,-1,1,[]],["add",357,363,-1,1,[]],["add",356,363,-1,1,[]],["add",355,363,-1,2,[]],["add",354,363,-1,1,[]],["add",353,363,1,1,[]],["add",352,363,2,1,[]],["scale",363,-1,1,[]],["add",367,362,-2,1,[]],["add",366,362,-2,1,[]],["add",361,362,2,1,[]],["add",358,362,2,1,[]],["add",357,362,-2,1,[]],["add",355,362,-1,1,[]],["add",353,362,-2,1,[]],["add",352,362,-2,1,[]],["scale",362,2,1,[]],["scale",363,-1,1,[]],["add",362,363,-1,1,[]],["add",363,362,1,1,[]],["add",362,363,-1,1,[]],["add",367,361,1,1,[]],["add",366,361,1,1,[]],["add",365,361,-1,2,[]],["add",364,361,-1,2,[]],["add",363,361,-1,2,[]],["add",358,361,-1,1,[]],["add",357,361,1,1,[]],["add",356,361,1,2,[]],["add",355,361,1,2,[]],["add",354,361,1,2,[]],["add",353,361,1,1,[]],["add",352,361,1,2,[]],["scale",361,1,2,[]],["scale",362,-1,1,[]],["add",361,362,-1,1,[]],["add",362,361,1,1,[]],["add",361,362,-1,1,[]],["add",367,360,-1,1,[]],["add",366,360,-1,1,[]],["add",365,360,1,1,[]],["add",364,360,1,1,[]],["add",363,360,1,1,[]],["add",362,360,1,1,[]],["add",359,360,-1,1,[]],["add",357,360,-2,1,[]],["add",352,360,1,1,[]],["scale",360,-1,1,[]],["add",367,359,-1,1,[]],["add",366,359,-1,1,[]],["add",365,359,1,1,[]],["add",364,359,1,1,[]],["add",363,359,1,1,[]],["add",362,359,1,1,[]],["add",357,359,-2,1,[]],["scale",359,-1,1,[]],["scale",361,-1,1,[]],["add",359,361,-1,1,[]],["add",361,359,1,1,[]],["add",359,361,-1,1,[]],["scale",359,-1,1,[]],["add",358,359,-1,1,[]],["add",359,358,1,1,[]],["add",358,359,-1,1,[]],["add",367,357,-1,2,[]],["add",366,357,-1,2,[]],["add",365,357,1,2,[]],["add",364,357,1,2,[]],["add",363,357,1,2,[]],["add",362,357,1,2,[]],["add",361,357,-1,2,[]],["scale",357,-1,2,[]],["scale",360,-1,1,[]],["add",357,360,-1,1,[]],["add",360,357,1,1,[]],["add",357,360,-1,1,[]],["add",367,356,-1,1,[]],["add",366,356,-1,1,[]],["add",361,356,1,1,[]],["add",360,356,1,1,[]],["add",359,356,2,1,[]],["add",355,356,-1,1,[]],["add",354,356,-1,1,[]],["add",353,356,-2,1,[]],["add",352,356,-1,1,[]],["scale",356,2,1,[]],["scale",358,-1,1,[]],["add",356,358,-1,1,[]],["add",358,356,1,1,[]],["add",356,358,-1,1,[]],["add",367,355,-1,1,[]],["add",366,355,-1,1,[]],["add",361,355,1,1,[]],["add",360,355,1,1,[]],["add",359,355,2,1,[]],["add",358,355,2,1,[]],["add",354,355,-1,1,[]],["add",353,355,-2,1,[]],["add",352,355,-1,1,[]],["scale",355,-1,1,[]],["scale",357,-1,1,[]],["add",355,357,-1,1,[]],["add",357,355,1,1,[]],["add",355,357,-1,1,[]],["scale",356,-1,1,[]],["add",354,356,-1,1,[]],["add",356,354,1,1,[]],["add",354,356,-1,1,[]],["add",359,353,1,2,[]],["add",358,353,1,2,[]],["add",357,353,-1,2,[]],["add",356,353,-1,2,[]],["add",354,353,1,2,[]],["add",352,353,-1,2,[]],["scale",353,1,2,[]],["add",355,352,1,1,[]],["scale",354,-1,1,[]],["add",352,354,-1,1,[]],["add",354,352,1,1,[]],["add",352,354,-1,1,[]],["add",382,383,1,1,[]],["add",381,383,-1,1,[]],["add",380,383,-1,1,[]],["add",379,383,-1,1,[]],["add",377,383,-1,1,[]],["add",376,383,1,1,[]],["add",375,383,1,1,[]],["add",373,383,2,1,[]],["scale",383,2,1,[]],["add",380,381,1,1,[]],["add",379,381,-1,1,[]],["add",378,381,1,1,[]],["add",377,381,-1,1,[]],["add",372,381,-1,1,[]],["add",370,381,-1,1,[]],["add",368,381,1,1,[]],["scale",381,2,1,[]],["add",383,379,-1,1,[]],["add",382,379,-1,1,[]],["add",381,379,2,1,[]],["add",380,379,2,1,[]],["add",378,379,3,2,[]],["add",377,379,-1,1,[]],["add",373,379,-1,1,[]],["add",372,379,-1,1,[]],["add",371,379,-1,2,[]],["add",370,379,-1,1,[]],["add",369,379,1,1,[]],["add",368,379,2,1,[]],["scale",379,-1,1,[]],["add",383,378,-2,1,[]],["add",382,378,-2,1,[]],["add",377,378,2,1,[]],["add",374,378,2,1,[]],["add",373,378,-2,1,[]],["add",371,378,-1,1,[]],["add",369,378,-2,1,[]],["add",368,378,-2,1,[]],["scale",378,2,1,[]],["scale",379,-1,1,[]],["add",378,379,-1,1,[]],["add",379,378,1,1,[]],["add",378,379,-1,1,[]],["add",383,377,1,1,[]],["add",382,377,1,1,[]],["add",381,377,-1,2,[]],["add",380,377,-1,2,[]],["add",379,377,-1,2,[]],["add",374,377,-1,1,[]],["add",373,377,1,1,[]],["add",372,377,1,2,[]],["add",371,377,1,2,[]],["add",370,377,1,2,[]],["add",369,377,1,1,[]],["add",368,377,1,2,[]],["scale",377,1,2,[]],["scale",378,-1,1,[]],["add",377,378,-1,1,[]],["add",378,377,1,1,[]],["add",377,378,-1,1,[]],["add",383,376,-1,1,[]],["add",382,376,-1,1,[]],["add",381,376,1,1,[]],["add",380,376,1,1,[]],["add",379,376,1,1,[]],["add",378,376,1,1,[]],["add",375,376,-1,1,[]],["add",373,376,-2,1,[]],["add",368,376,1,1,[]],["scale",376,-1,1,[]],["add",383,375,-1,1,[]],["add",382,375,-1,1,[]],["add",381,375,1,1,[]],["add",380,375,1,1,[]],["add",379,375,1,1,[]],["add",378,375,1,1,[]],["add",373,375,-2,1,[]],["scale",375,-1,1,[]],["scale",377,-1,1,[]],["add",375,377,-1,1,[]],["add",377,375,1,1,[]],["add",375,377,-1,1,[]],["scale",375,-1,1,[]],["add",374,375,-1,1,[]],["add",375,374,1,1,[]],["add",374,375,-1,1,[]],["add",383,373,-1,2,[]],["add",382,373,-1,2,[]],["add",381,373,1,2,[]],["add",380,373,1,2,[]],["add",379,373,1,2,[]],["add",378,373,1,2,[]],["add",377,373,-1,2,[]],["scale",373,-1,2,[]],["scale",376,-1,1,[]],["add",373,376,-1,1,[]],["add",376,373,1,1,[]],["add",373,376,-1,1,[]],["add",383,372,-1,1,[]],["add",382,372,-1,1,[]],["add",377,372,1,1,[]],["add",376,372,1,1,[]],["add",375,372,2,1,[]],["add",371,372,-1,1,[]],["add",370,372,-1,1,[]],["add",369,372,-2,1,[]],["add",368,372,-1,1,[]],["scale",372,2,1,[]],["scale",374,-1,1,[]],["add",372,374,-1,1,[]],["add",374,372,1,1,[]],["add",372,374,-1,1,[]],["add",383,371,-1,1,[]],["add",382,371,-1,1,[]],["add",377,371,1,1,[]],["add",376,371,1,1,[]],["add",375,371,2,1,[]],["add",374,371,2,1,[]],["add",370,371,-1,1,[]],["add",369,371,-2,1,[]],["add",368,371,-1,1,[]],["scale",371,-1,1,[]],["scale",373,-1,1,[]],["add",371,373,-1,1,[]],["add",373,371,1,1,[]],["add",371,373,-1,1,[]],["scale",372,-1,1,[]],["add",370,372,-1,1,[]],["add",372,370,1,1,[]],["add",370,372,-1,1,[]],["add",375,369,1,2,[]],["add",374,369,1,2,[]],["add",373,369,-1,2,[]],["add",372,369,-1,2,[]],["add",370,369,1,2,[]],["add",368,369,-1,2,[]],["scale",369,1,2,[]],["add",371,368,1,1,[]],["scale",370,-1,1,[]],["add",368,370,-1,1,[]],["add",370,368,1,1,[]],["add",368,370,-1,1,[]],["add",398,399,1,1,[]],["add",397,399,-1,1,[]],["add",396,399,-1,1,[]],["add",395,399,-1,1,[]],["add",393,399,-1,1,[]],["add",392,399,1,1,[]],["add",391,399,1,1,[]],["add",389,399,2,1,[]],["scale",399,2,1,[]],["add",396,397,1,1,[]],["add",395,397,-1,1,[]],["add",394,397,1,1,[]],["add",393,397,-1,1,[]],["add",388,397,-1,1,[]],["add",386,397,-1,1,[]],["add",384,397,1,1,[]],["scale",397,2,1,[]],["add",399,395,-1,1,[]],["add",398,395,-1,1,[]],["add",397,395,2,1,[]],["add",396,395,2,1,[]],["add",394,395,3,2,[]],["add",393,395,-1,1,[]],["add",389,395,-1,1,[]],["add",388,395,-1,1,[]],["add",387,395,-1,2,[]],["add",386,395,-1,1,[]],["add",385,395,1,1,[]],["add",384,395,2,1,[]],["scale",395,-1,1,[]],["add",399,394,-2,1,[]],["add",398,394,-2,1,[]],["add",393,394,2,1,[]],["add",390,394,2,1,[]],["add",389,394,-2,1,[]],["add",387,394,-1,1,[]],["add",385,394,-2,1,[]],["add",384,394,-2,1,[]],["scale",394,2,1,[]],["scale",395,-1,1,[]],["add",394,395,-1,1,[]],["add",395,394,1,1,[]],["add",394,395,-1,1,[]],["add",399,393,1,1,[]],["add",398,393,1,1,[]],["add",397,393,-1,2,[]],["add",396,393,-1,2,[]],["add",395,393,-1,2,[]],["add",390,393,-1,1,[]],["add",389,393,1,1,[]],["add",388,393,1,2,[]],["add",387,393,1,2,[]],["add",386,393,1,2,[]],["add",385,393,1,1,[]],["add",384,393,1,2,[]],["scale",393,1,2,[]],["scale",394,-1,1,[]],["add",393,394,-1,1,[]],["add",394,393,1,1,[]],["add",393,394,-1,1,[]],["add",399,392,-1,1,[]],["add",398,392,-1,1,[]],["add",397,392,1,1,[]],["add",396,392,1,1,[]],["add",395,392,1,1,[]],["add",394,392,1,1,[]],["add",391,392,-1,1,[]],["add",389,392,-2,1,[]],["add",384,392,1,1,[]],["scale",392,-1,1,[]],["add",399,391,-1,1,[]],["add",398,391,-1,1,[]],["add",397,391,1,1,[]],["add",396,391,1,1,[]],["add",395,391,1,1,[]],["add",394,391,1,1,[]],["add",389,391,-2,1,[]],["scale",391,-1,1,[]],["scale",393,-1,1,[]],["add",391,393,-1,1,[]],["add",393,391,1,1,[]],["add",391,393,-1,1,[]],["scale",391,-1,1,[]],["add",390,391,-1,1,[]],["add",391,390,1,1,[]],["add",390,391,-1,1,[]],["add",399,389,-1,2,[]],["add",398,389,-1,2,[]],["add",397,389,1,2,[]],["add",396,389,1,2,[]],["add",395,389,1,2,[]],["add",394,389,1,2,[]],["add",393,389,-1,2,[]],["scale",389,-1,2,[]],["scale",392,-1,1,[]],["add",389,392,-1,1,[]],["add",392,389,1,1,[]],["add",389,392,-1,1,[]],["add",399,388,-1,1,[]],["add",398,388,-1,1,[]],["add",393,388,1,1,[]],["add",392,388,1,1,[]],["add",391,388,2,1,[]],["add",387,388,-1,1,[]],["add",386,388,-1,1,[]],["add",385,388,-2,1,[]],["add",384,388,-1,1,[]],["scale",388,2,1,[]],["scale",390,-1,1,[]],["add",388,390,-1,1,[]],["add",390,388,1,1,[]],["add",388,390,-1,1,[]],["add",399,387,-1,1,[]],["add",398,387,-1,1,[]],["add",393,387,1,1,[]],["add",392,387,1,1,[]],["add",391,387,2,1,[]],["add",390,387,2,1,[]],["add",386,387,-1,1,[]],["add",385,387,-2,1,[]],["add",384,387,-1,1,[]],["scale",387,-1,1,[]],["scale",389,-1,1,[]],["add",387,389,-1,1,[]],["add",389,387,1,1,[]],["add",387,389,-1,1,[]],["scale",388,-1,1,[]],["add",386,388,-1,1,[]],["add",388,386,1,1,[]],["add",386,388,-1,1,[]],["add",391,385,1,2,[]],["add",390,385,1,2,[]],["add",389,385,-1,2,[]],["add",388,385,-1,2,[]],["add",386,385,1,2,[]],["add",384,385,-1,2,[]],["scale",385,1,2,[]],["add",387,384,1,1,[]],["scale",386,-1,1,[]],["add",384,386,-1,1,[]],["add",386,384,1,1,[]],["add",384,386,-1,1,[]],["add",546,561,-1,1,[459]],["add",560,561,1,1,[459]],["add",547,561,-1,1,[459]],["add",547,569,-1,1,[459]],["add",568,569,-1,1,[459]],["add",546,569,1,1,[459]],["add",560,578,-1,1,[459]],["add",568,578,-1,1,[459]],["add",546,578,1,1,[459]],["add",560,579,1,1,[459]],["add",547,579,-1,1,[459]],["add",568,579,-1,1,[459]],["add",548,559,-1,1,[459]],["add",558,559,1,1,[459]],["add",549,559,-1,1,[459]],["add",548,571,-1,1,[459]],["add",558,571,2,1,[459]],["add",549,571,-1,1,[459]],["add",570,571,-1,1,[459]],["add",548,576,-1,1,[459]],["add",570,576,-1,1,[459]],["add",558,576,1,1,[459]],["add",549,577,-1,1,[459]],["add",570,577,-1,1,[459]],["add",558,577,1,1,[459]],["add",464,476,-1,1,[75,42]],["add",465,477,-1,1,[75,42]],["add",470,524,1,2,[75,7]],["add",471,525,1,2,[75,7]],["add",478,526,-1,1,[75,25]],["add",479,527,-1,1,[75,25]],["add",514,562,-1,1,[75]],["add",515,563,-1,1,[75]],["add",468,536,1,2,[97,7]],["add",469,537,1,2,[97,7]],["add",480,540,-1,1,[97,25]],["add",481,541,-1,1,[97,25]],["add",516,552,-1,1,[85]],["add",517,553,-1,1,[85]],["add",466,488,-1,1,[76,42]],["add",467,489,-1,1,[76,42]],["add",490,538,-1,1,[102,25]],["add",491,539,-1,1,[102,25]],["add",502,550,-1,1,[102]],["add",503,551,-1,1,[102]],["add",492,528,-1,1,[76,25]],["add",493,529,-1,1,[76,25]],["add",504,564,-1,1,[120]],["add",505,565,-1,1,[120]],["add",456,474,-1,1,[82,42]],["add",457,475,-1,1,[82,42]],["add",462,534,1,2,[120,7]],["add",463,535,1,2,[120,7]],["add",460,522,1,2,[82,7]],["add",461,523,1,2,[82,7]],["add",458,486,-1,1,[85,42]],["add",459,487,-1,1,[85,42]],["add",224,0,1,1,[11]],["add",225,0,1,1,[11]],["add",226,76,1,1,[448]],["add",227,76,1,1,[448]],["add",228,87,1,1,[493]],["add",229,87,1,1,[493]],["add",230,27,1,1,[38]],["add",231,27,1,1,[38]],["add",232,92,1,1,[499]],["add",233,92,1,1,[499]],["add",234,57,1,1,[56]],["add",235,57,1,1,[56]],["add",236,7,1,1,[21]],["add",237,7,1,1,[21]],["add",238,81,1,1,[478]],["add",239,81,1,1,[478]],["add",92,233,1,1,[499]],["add",233,92,-1,1,[499]],["add",92,233,1,1,[499]],["scale",233,-1,1,[478,45]],["add",57,235,1,1,[56]],["add",235,57,-1,1,[56]],["add",57,235,1,1,[56]],["scale",235,-1,1,[45,21]],["add",7,237,1,1,[21]],["add",237,7,-1,1,[21]],["add",7,237,1,1,[21]],["scale",237,-1,1,[21]],["add",81,239,1,1,[478]],["add",239,81,-1,1,[478]],["add",81,239,1,1,[478]],["scale",239,-1,1,[478]],["add",0,27,1,1,[38,11]],["add",27,0,-1,2,[38,11]],["add",224,57,1,1,[51,11]],["add",57,224,-1,2,[51,11]],["add",225,7,1,1,[21,11]],["add",7,225,-1,2,[21,11]],["add",76,87,1,1,[448,45]],["add",87,76,-1,2,[448,45]],["add",226,92,1,1,[448,51]],["add",92,226,-1,2,[448,51]],["add",227,81,1,1,[448,30]],["add",81,227,-1,2,[448,30]],["add",228,232,1,1,[493,30]],["add",232,228,-1,2,[493,30]],["add",229,238,1,1,[478,51]],["add",238,229,-1,2,[478,51]],["add",230,234,1,1,[38,30]],["add",234,230,-1,2,[38,30]],["add",231,236,1,1,[38,21]],["add",236,231,-1,2,[38,21]],["add",233,239,1,1,[478,45]],["add",239,233,-1,2,[478,45]],["add",235,237,1,1,[45,21]],["add",237,235,-1,2,[45,21]],["add",231,229,1,1,[459,38,21]],["add",226,224,1,1,[448,51,11]],["add",230,227,1,1,[448,38,30]],["add",228,225,1,1,[486,21,11]],["add",232,234,1,1,[459,38,30]],["add",7,81,1,1,[448,21,11]],["add",236,92,1,1,[448,38,21]],["add",238,57,1,1,[469,51,11]],["add",57,92,1,1,[448,38,21,11]],["add",92,57,-1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["scale",92,-1,1,[448,38,21,11]],["scale",92,-2,1,[448,38,21,11]],["add",224,92,-1,1,[448,38,21,11]],["add",225,92,-1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",81,57,1,2,[448,38,21,11]],["add",227,57,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["add",81,229,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["scale",81,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["add",224,234,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["scale",224,-2,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["add",225,227,-1,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["scale",225,-1,1,[448,38,21,11]],["add",57,225,1,1,[448,38,21,11]],["add",229,225,1,2,[448,38,21,11]],["add",92,227,1,1,[448,38,21,11]],["add",224,227,1,1,[448,38,21,11]],["add",234,227,-2,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["scale",229,-1,2,[448,38,21,11]],["add",92,229,-1,1,[448,38,21,11]],["add",224,229,-1,1,[448,38,21,11]],["add",227,229,-1,1,[448,38,21,11]],["add",57,234,-1,1,[448,38,21,11]],["add",81,234,-1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["add",229,234,1,1,[448,38,21,11]],["add",227,234,1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["scale",234,2,1,[448,38,21,11]],["add",227,229,1,1,[448,38,21,11]],["add",81,229,1,1,[448,38,21,11]],["add",57,229,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["add",234,227,-1,2,[448,38,21,11]],["add",229,227,-1,1,[448,38,21,11]],["add",225,227,1,1,[448,38,21,11]],["add",224,227,1,2,[448,38,21,11]],["add",81,227,-1,2,[448,38,21,11]],["add",57,227,1,2,[448,38,21,11]],["add",92,227,-1,2,[448,38,21,11]],["scale",227,-1,2,[448,38,21,11]],["add",229,225,1,1,[448,38,21,11]],["add",227,225,1,2,[448,38,21,11]],["add",224,225,-1,2,[448,38,21,11]],["add",81,225,1,2,[448,38,21,11]],["add",57,225,1,2,[448,38,21,11]],["add",92,225,1,2,[448,38,21,11]],["scale",225,-2,1,[448,38,21,11]],["add",81,224,1,1,[448,38,21,11]],["add",57,224,1,1,[448,38,21,11]],["add",92,224,-1,1,[448,38,21,11]],["scale",224,2,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["add",224,225,-1,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["add",227,81,1,2,[448,38,21,11]],["add",225,81,-1,1,[448,38,21,11]],["add",92,81,1,1,[448,38,21,11]],["scale",81,-2,1,[448,38,21,11]],["add",227,57,1,2,[448,38,21,11]],["add",225,57,-1,1,[448,38,21,11]],["add",92,57,1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["add",57,224,-1,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["scale",57,-1,1,[448,38,21,11]],["add",227,92,-1,2,[448,38,21,11]],["add",225,92,1,1,[448,38,21,11]],["add",224,92,1,1,[448,38,21,11]],["add",81,92,1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["add",240,70,1,1,[208]],["add",241,240,1,1,[208]],["add",242,71,1,1,[336]],["add",243,242,1,1,[336]],["add",244,90,1,1,[381]],["add",245,90,1,1,[381]],["add",246,91,1,1,[253]],["add",247,91,1,1,[253]],["add",248,63,1,1,[296]],["add",249,63,1,1,[296]],["add",250,62,1,1,[168]],["add",251,62,1,1,[168]],["add",252,10,1,1,[133]],["add",253,10,1,1,[133]],["add",254,11,1,1,[261]],["add",255,11,1,1,[261]],["add",63,249,1,1,[296]],["add",249,63,-1,1,[296]],["add",63,249,1,1,[296]],["scale",249,-1,1,[261,45]],["add",62,251,1,1,[168]],["add",251,62,-1,1,[168]],["add",62,251,1,1,[168]],["scale",251,-1,1,[133,45]],["add",10,253,1,1,[133]],["add",253,10,-1,1,[133]],["add",10,253,1,1,[133]],["scale",253,-1,1,[133]],["add",11,255,1,1,[261]],["add",255,11,-1,1,[261]],["add",11,255,1,1,[261]],["scale",255,-1,1,[261]],["add",70,91,1,1,[208,45]],["add",91,70,-1,2,[208,45]],["add",240,62,1,1,[168,120]],["add",62,240,-1,2,[168,120]],["add",241,10,1,1,[133,85]],["add",10,241,-1,2,[133,85]],["add",71,90,1,1,[336,45]],["add",90,71,-1,2,[336,45]],["add",242,63,1,1,[296,120]],["add",63,242,-1,2,[296,120]],["add",243,11,1,1,[261,85]],["add",11,243,-1,2,[261,85]],["add",244,248,1,1,[296,85]],["add",248,244,-1,2,[296,85]],["add",245,254,1,1,[261,120]],["add",254,245,-1,2,[261,120]],["add",246,250,1,1,[168,85]],["add",250,246,-1,2,[168,85]],["add",247,252,1,1,[133,120]],["add",252,247,-1,2,[133,120]],["add",249,255,1,1,[261,45]],["add",255,249,-1,2,[261,45]],["add",251,253,1,1,[133,45]],["add",253,251,-1,2,[133,45]],["add",247,245,1,1,[261,133,120]],["add",242,240,1,1,[296,168,120]],["add",246,243,1,1,[261,168,85]],["add",244,241,1,1,[296,133,85]],["add",248,250,1,1,[296,168,85]],["add",10,11,1,1,[261,133,85]],["add",252,63,1,1,[296,133,120]],["add",254,62,1,1,[261,168,120]],["add",62,63,1,1,[261,133,85,45]],["add",63,62,-1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["scale",63,-1,1,[261,133,85,45]],["scale",63,-2,1,[261,133,85,45]],["add",240,63,-1,1,[261,133,85,45]],["add",241,63,-1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",11,62,1,2,[261,133,85,45]],["add",243,62,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["add",11,245,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["scale",11,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["add",240,250,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["scale",240,-2,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["add",241,243,-1,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["scale",241,-1,1,[261,133,85,45]],["add",62,241,1,1,[261,133,85,45]],["add",245,241,1,2,[261,133,85,45]],["add",63,243,1,1,[261,133,85,45]],["add",240,243,1,1,[261,133,85,45]],["add",250,243,-2,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["scale",245,-1,2,[261,133,85,45]],["add",63,245,-1,1,[261,133,85,45]],["add",240,245,-1,1,[261,133,85,45]],["add",243,245,-1,1,[261,133,85,45]],["add",62,250,-1,1,[261,133,85,45]],["add",11,250,-1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["add",245,250,1,1,[261,133,85,45]],["add",243,250,1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["scale",250,2,1,[261,133,85,45]],["add",243,245,1,1,[261,133,85,45]],["add",11,245,1,1,[261,133,85,45]],["add",62,245,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["add",250,243,-1,2,[261,133,85,45]],["add",245,243,-1,1,[261,133,85,45]],["add",241,243,1,1,[261,133,85,45]],["add",240,243,1,2,[261,133,85,45]],["add",11,243,-1,2,[261,133,85,45]],["add",62,243,1,2,[261,133,85,45]],["add",63,243,-1,2,[261,133,85,45]],["scale",243,-1,2,[261,133,85,45]],["add",245,241,1,1,[261,133,85,45]],["add",243,241,1,2,[261,133,85,45]],["add",240,241,-1,2,[261,133,85,45]],["add",11,241,1,2,[261,133,85,45]],["add",62,241,1,2,[261,133,85,45]],["add",63,241,1,2,[261,133,85,45]],["scale",241,-2,1,[261,133,85,45]],["add",11,240,1,1,[261,133,85,45]],["add",62,240,1,1,[261,133,85,45]],["add",63,240,-1,1,[261,133,85,45]],["scale",240,2,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["add",240,241,-1,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["add",243,11,1,2,[261,133,85,45]],["add",241,11,-1,1,[261,133,85,45]],["add",63,11,1,1,[261,133,85,45]],["scale",11,-2,1,[261,133,85,45]],["add",243,62,1,2,[261,133,85,45]],["add",241,62,-1,1,[261,133,85,45]],["add",63,62,1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["add",62,240,-1,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["scale",62,-1,1,[261,133,85,45]],["add",243,63,-1,2,[261,133,85,45]],["add",241,63,1,1,[261,133,85,45]],["add",240,63,1,1,[261,133,85,45]],["add",11,63,1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["add",256,72,1,1,[400]],["add",257,256,1,1,[400]],["add",258,2,1,1,[35]],["add",259,258,1,1,[35]],["add",260,25,1,1,[14]],["add",261,25,1,1,[14]],["add",262,89,1,1,[445]],["add",263,89,1,1,[445]],["add",264,61,1,1,[104]],["add",265,61,1,1,[104]],["add",266,94,1,1,[475]],["add",267,94,1,1,[475]],["add",268,79,1,1,[502]],["add",269,79,1,1,[502]],["add",270,9,1,1,[69]],["add",271,9,1,1,[69]],["add",61,265,1,1,[104]],["add",265,61,-1,1,[104]],["add",61,265,1,1,[104]],["scale",265,-1,1,[69,45]],["add",94,267,1,1,[475]],["add",267,94,-1,1,[475]],["add",94,267,1,1,[475]],["scale",267,-1,1,[475]],["add",79,269,1,1,[502]],["add",269,79,-1,1,[502]],["add",79,269,1,1,[502]],["scale",269,-1,1,[475,45]],["add",9,271,1,1,[69]],["add",271,9,-1,1,[69]],["add",9,271,1,1,[69]],["scale",271,-1,1,[69]],["add",72,89,1,1,[400,45]],["add",89,72,-1,2,[400,45]],["add",256,94,1,1,[400,75]],["add",94,256,-1,2,[400,75]],["add",257,79,1,1,[400,102]],["add",79,257,-1,2,[400,102]],["add",2,25,1,1,[35,14]],["add",25,2,-1,2,[35,14]],["add",258,61,1,1,[75,35]],["add",61,258,-1,2,[75,35]],["add",259,9,1,1,[69,35]],["add",9,259,-1,2,[69,35]],["add",260,264,1,1,[102,14]],["add",264,260,-1,2,[102,14]],["add",261,270,1,1,[69,14]],["add",270,261,-1,2,[69,14]],["add",262,266,1,1,[445,102]],["add",266,262,-1,2,[445,102]],["add",263,268,1,1,[445,75]],["add",268,263,-1,2,[445,75]],["add",265,271,1,1,[69,45]],["add",271,265,-1,2,[69,45]],["add",267,269,1,1,[475,45]],["add",269,267,-1,2,[475,45]],["add",263,261,1,1,[435,69,14]],["add",258,256,1,1,[400,75,35]],["add",262,259,1,1,[414,69,35]],["add",260,257,1,1,[400,102,14]],["add",264,266,1,1,[435,102,14]],["add",79,9,1,1,[400,69,35]],["add",268,61,1,1,[414,75,35]],["add",270,94,1,1,[400,69,14]],["add",94,61,1,1,[400,69,35,14]],["add",61,94,-1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["scale",61,-1,1,[400,69,35,14]],["scale",61,-2,1,[400,69,35,14]],["add",256,61,-1,1,[400,69,35,14]],["add",257,61,-1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",9,94,1,2,[400,69,35,14]],["add",259,94,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["add",9,261,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["scale",9,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["add",256,266,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["scale",256,-2,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["add",257,259,-1,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["scale",257,-1,1,[400,69,35,14]],["add",94,257,1,1,[400,69,35,14]],["add",261,257,1,2,[400,69,35,14]],["add",61,259,1,1,[400,69,35,14]],["add",256,259,1,1,[400,69,35,14]],["add",266,259,-2,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["scale",261,-1,2,[400,69,35,14]],["add",61,261,-1,1,[400,69,35,14]],["add",256,261,-1,1,[400,69,35,14]],["add",259,261,-1,1,[400,69,35,14]],["add",94,266,-1,1,[400,69,35,14]],["add",9,266,-1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["add",261,266,1,1,[400,69,35,14]],["add",259,266,1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["scale",266,2,1,[400,69,35,14]],["add",259,261,1,1,[400,69,35,14]],["add",9,261,1,1,[400,69,35,14]],["add",94,261,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["add",266,259,-1,2,[400,69,35,14]],["add",261,259,-1,1,[400,69,35,14]],["add",257,259,1,1,[400,69,35,14]],["add",256,259,1,2,[400,69,35,14]],["add",9,259,-1,2,[400,69,35,14]],["add",94,259,1,2,[400,69,35,14]],["add",61,259,-1,2,[400,69,35,14]],["scale",259,-1,2,[400,69,35,14]],["add",261,257,1,1,[400,69,35,14]],["add",259,257,1,2,[400,69,35,14]],["add",256,257,-1,2,[400,69,35,14]],["add",9,257,1,2,[400,69,35,14]],["add",94,257,1,2,[400,69,35,14]],["add",61,257,1,2,[400,69,35,14]],["scale",257,-2,1,[400,69,35,14]],["add",9,256,1,1,[400,69,35,14]],["add",94,256,1,1,[400,69,35,14]],["add",61,256,-1,1,[400,69,35,14]],["scale",256,2,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["add",256,257,-1,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["add",259,9,1,2,[400,69,35,14]],["add",257,9,-1,1,[400,69,35,14]],["add",61,9,1,1,[400,69,35,14]],["scale",9,-2,1,[400,69,35,14]],["add",259,94,1,2,[400,69,35,14]],["add",257,94,-1,1,[400,69,35,14]],["add",61,94,1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["add",94,256,-1,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["scale",94,-1,1,[400,69,35,14]],["add",259,61,-1,2,[400,69,35,14]],["add",257,61,1,1,[400,69,35,14]],["add",256,61,1,1,[400,69,35,14]],["add",9,61,1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["add",272,12,1,1,[41]],["add",273,272,1,1,[41]],["add",274,100,1,1,[439]],["add",275,274,1,1,[439]],["add",276,56,1,1,[388]],["add",277,56,1,1,[388]],["add",278,31,1,1,[26]],["add",279,31,1,1,[26]],["add",280,103,1,1,[463]],["add",281,103,1,1,[463]],["add",282,17,1,1,[81]],["add",283,17,1,1,[81]],["add",284,38,1,1,[98]],["add",285,38,1,1,[98]],["add",286,77,1,1,[508]],["add",287,77,1,1,[508]],["add",103,281,1,1,[463]],["add",281,103,-1,1,[463]],["add",103,281,1,1,[463]],["scale",281,-1,1,[463]],["add",17,283,1,1,[81]],["add",283,17,-1,1,[81]],["add",17,283,1,1,[81]],["scale",283,-1,1,[81]],["add",38,285,1,1,[98]],["add",285,38,-1,1,[98]],["add",38,285,1,1,[98]],["scale",285,-1,1,[81,51]],["add",77,287,1,1,[508]],["add",287,77,-1,1,[508]],["add",77,287,1,1,[508]],["scale",287,-1,1,[463,51]],["add",12,31,1,1,[41,26]],["add",31,12,-1,2,[41,26]],["add",272,17,1,1,[81,41]],["add",17,272,-1,2,[81,41]],["add",273,38,1,1,[75,41]],["add",38,273,-1,2,[75,41]],["add",100,56,1,1,[388,51]],["add",56,100,-1,2,[388,51]],["add",274,103,1,1,[439,120]],["add",103,274,-1,2,[439,120]],["add",275,77,1,1,[439,75]],["add",77,275,-1,2,[439,75]],["add",276,280,1,1,[388,75]],["add",280,276,-1,2,[388,75]],["add",277,286,1,1,[388,120]],["add",286,277,-1,2,[388,120]],["add",278,282,1,1,[75,26]],["add",282,278,-1,2,[75,26]],["add",279,284,1,1,[98,26]],["add",284,279,-1,2,[98,26]],["add",281,287,1,1,[463,51]],["add",287,281,-1,2,[463,51]],["add",283,285,1,1,[81,51]],["add",285,283,-1,2,[81,51]],["add",279,277,1,1,[388,98,26]],["add",274,272,1,1,[414,81,41]],["add",278,275,1,1,[429,75,26]],["add",276,273,1,1,[388,75,41]],["add",280,282,1,1,[388,75,26]],["add",38,77,1,1,[414,75,41]],["add",284,103,1,1,[429,98,26]],["add",286,17,1,1,[388,81,41]],["add",17,103,1,1,[388,75,41,26]],["add",103,17,-1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["scale",103,-1,1,[388,75,41,26]],["scale",103,-2,1,[388,75,41,26]],["add",272,103,-1,1,[388,75,41,26]],["add",273,103,-1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",77,17,1,2,[388,75,41,26]],["add",275,17,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["add",77,277,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["scale",77,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["add",272,282,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["scale",272,-2,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["add",273,275,-1,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["scale",273,-1,1,[388,75,41,26]],["add",17,273,1,1,[388,75,41,26]],["add",277,273,1,2,[388,75,41,26]],["add",103,275,1,1,[388,75,41,26]],["add",272,275,1,1,[388,75,41,26]],["add",282,275,-2,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["scale",277,-1,2,[388,75,41,26]],["add",103,277,-1,1,[388,75,41,26]],["add",272,277,-1,1,[388,75,41,26]],["add",275,277,-1,1,[388,75,41,26]],["add",17,282,-1,1,[388,75,41,26]],["add",77,282,-1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["add",277,282,1,1,[388,75,41,26]],["add",275,282,1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["scale",282,2,1,[388,75,41,26]],["add",275,277,1,1,[388,75,41,26]],["add",77,277,1,1,[388,75,41,26]],["add",17,277,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",282,275,-1,2,[388,75,41,26]],["add",277,275,-1,1,[388,75,41,26]],["add",273,275,1,1,[388,75,41,26]],["add",272,275,1,2,[388,75,41,26]],["add",77,275,-1,2,[388,75,41,26]],["add",17,275,1,2,[388,75,41,26]],["add",103,275,-1,2,[388,75,41,26]],["scale",275,-1,2,[388,75,41,26]],["add",277,273,1,1,[388,75,41,26]],["add",275,273,1,2,[388,75,41,26]],["add",272,273,-1,2,[388,75,41,26]],["add",77,273,1,2,[388,75,41,26]],["add",17,273,1,2,[388,75,41,26]],["add",103,273,1,2,[388,75,41,26]],["scale",273,-2,1,[388,75,41,26]],["add",77,272,1,1,[388,75,41,26]],["add",17,272,1,1,[388,75,41,26]],["add",103,272,-1,1,[388,75,41,26]],["scale",272,2,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["add",272,273,-1,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["add",275,77,1,2,[388,75,41,26]],["add",273,77,-1,1,[388,75,41,26]],["add",103,77,1,1,[388,75,41,26]],["scale",77,-2,1,[388,75,41,26]],["add",275,17,1,2,[388,75,41,26]],["add",273,17,-1,1,[388,75,41,26]],["add",103,17,1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["add",17,272,-1,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["scale",17,-1,1,[388,75,41,26]],["add",275,103,-1,2,[388,75,41,26]],["add",273,103,1,1,[388,75,41,26]],["add",272,103,1,1,[388,75,41,26]],["add",77,103,1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["add",288,101,1,1,[375]],["add",289,288,1,1,[375]],["add",290,54,1,1,[196]],["add",291,290,1,1,[196]],["add",292,102,1,1,[247]],["add",293,102,1,1,[247]],["add",294,55,1,1,[324]],["add",295,55,1,1,[324]],["add",296,18,1,1,[145]],["add",297,18,1,1,[145]],["add",298,40,1,1,[290]],["add",299,40,1,1,[290]],["add",300,19,1,1,[273]],["add",301,19,1,1,[273]],["add",302,39,1,1,[162]],["add",303,39,1,1,[162]],["add",18,297,1,1,[145]],["add",297,18,-1,1,[145]],["add",18,297,1,1,[145]],["scale",297,-1,1,[145]],["add",40,299,1,1,[290]],["add",299,40,-1,1,[290]],["add",40,299,1,1,[290]],["scale",299,-1,1,[273,51]],["add",19,301,1,1,[273]],["add",301,19,-1,1,[273]],["add",19,301,1,1,[273]],["scale",301,-1,1,[273]],["add",39,303,1,1,[162]],["add",303,39,-1,1,[162]],["add",39,303,1,1,[162]],["scale",303,-1,1,[145,51]],["add",101,55,1,1,[324,51]],["add",55,101,-1,2,[324,51]],["add",288,40,1,1,[290,85]],["add",40,288,-1,2,[290,85]],["add",289,19,1,1,[273,102]],["add",19,289,-1,2,[273,102]],["add",54,102,1,1,[196,51]],["add",102,54,-1,2,[196,51]],["add",290,18,1,1,[145,85]],["add",18,290,-1,2,[145,85]],["add",291,39,1,1,[162,102]],["add",39,291,-1,2,[162,102]],["add",292,296,1,1,[145,102]],["add",296,292,-1,2,[145,102]],["add",293,302,1,1,[162,85]],["add",302,293,-1,2,[162,85]],["add",294,298,1,1,[290,102]],["add",298,294,-1,2,[290,102]],["add",295,300,1,1,[273,85]],["add",300,295,-1,2,[273,85]],["add",297,303,1,1,[145,51]],["add",303,297,-1,2,[145,51]],["add",299,301,1,1,[273,51]],["add",301,299,-1,2,[273,51]],["add",295,293,1,1,[273,162,85]],["add",290,288,1,1,[290,145,85]],["add",294,291,1,1,[290,162,102]],["add",292,289,1,1,[273,145,102]],["add",296,298,1,1,[290,145,102]],["add",19,39,1,1,[273,162,102]],["add",300,18,1,1,[273,145,85]],["add",302,40,1,1,[290,162,85]],["add",40,18,1,1,[273,145,85,51]],["add",18,40,-1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["scale",18,-1,1,[273,145,85,51]],["scale",18,-2,1,[273,145,85,51]],["add",288,18,-1,1,[273,145,85,51]],["add",289,18,-1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",39,40,1,2,[273,145,85,51]],["add",291,40,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["add",39,293,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["scale",39,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["add",288,298,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["scale",288,-2,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["add",289,291,-1,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["scale",289,-1,1,[273,145,85,51]],["add",40,289,1,1,[273,145,85,51]],["add",293,289,1,2,[273,145,85,51]],["add",18,291,1,1,[273,145,85,51]],["add",288,291,1,1,[273,145,85,51]],["add",298,291,-2,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["scale",293,-1,2,[273,145,85,51]],["add",18,293,-1,1,[273,145,85,51]],["add",288,293,-1,1,[273,145,85,51]],["add",291,293,-1,1,[273,145,85,51]],["add",40,298,-1,1,[273,145,85,51]],["add",39,298,-1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["add",293,298,1,1,[273,145,85,51]],["add",291,298,1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["scale",298,2,1,[273,145,85,51]],["add",291,293,1,1,[273,145,85,51]],["add",39,293,1,1,[273,145,85,51]],["add",40,293,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",298,291,-1,2,[273,145,85,51]],["add",293,291,-1,1,[273,145,85,51]],["add",289,291,1,1,[273,145,85,51]],["add",288,291,1,2,[273,145,85,51]],["add",39,291,-1,2,[273,145,85,51]],["add",40,291,1,2,[273,145,85,51]],["add",18,291,-1,2,[273,145,85,51]],["scale",291,-1,2,[273,145,85,51]],["add",293,289,1,1,[273,145,85,51]],["add",291,289,1,2,[273,145,85,51]],["add",288,289,-1,2,[273,145,85,51]],["add",39,289,1,2,[273,145,85,51]],["add",40,289,1,2,[273,145,85,51]],["add",18,289,1,2,[273,145,85,51]],["scale",289,-2,1,[273,145,85,51]],["add",39,288,1,1,[273,145,85,51]],["add",40,288,1,1,[273,145,85,51]],["add",18,288,-1,1,[273,145,85,51]],["scale",288,2,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["add",288,289,-1,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["add",291,39,1,2,[273,145,85,51]],["add",289,39,-1,1,[273,145,85,51]],["add",18,39,1,1,[273,145,85,51]],["scale",39,-2,1,[273,145,85,51]],["add",291,40,1,2,[273,145,85,51]],["add",289,40,-1,1,[273,145,85,51]],["add",18,40,1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["add",40,288,-1,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["scale",40,-1,1,[273,145,85,51]],["add",291,18,-1,2,[273,145,85,51]],["add",289,18,1,1,[273,145,85,51]],["add",288,18,1,1,[273,145,85,51]],["add",39,18,1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["add",304,98,1,1,[487]],["add",305,304,1,1,[487]],["add",306,48,1,1,[84]],["add",307,306,1,1,[84]],["add",308,32,1,1,[74]],["add",309,32,1,1,[74]],["add",310,85,1,1,[505]],["add",311,85,1,1,[505]],["add",312,45,1,1,[44]],["add",313,45,1,1,[44]],["add",314,107,1,1,[415]],["add",315,107,1,1,[415]],["add",316,24,1,1,[385]],["add",317,24,1,1,[385]],["add",318,35,1,1,[50]],["add",319,35,1,1,[50]],["add",45,313,1,1,[44]],["add",313,45,-1,1,[44]],["add",45,313,1,1,[44]],["scale",313,-1,1,[44]],["add",107,315,1,1,[415]],["add",315,107,-1,1,[415]],["add",107,315,1,1,[415]],["scale",315,-1,1,[385,30]],["add",24,317,1,1,[385]],["add",317,24,-1,1,[385]],["add",24,317,1,1,[385]],["scale",317,-1,1,[385]],["add",35,319,1,1,[50]],["add",319,35,-1,1,[50]],["add",35,319,1,1,[50]],["scale",319,-1,1,[44,30]],["add",98,85,1,1,[487,30]],["add",85,98,-1,2,[487,30]],["add",304,107,1,1,[415,120]],["add",107,304,-1,2,[415,120]],["add",305,24,1,1,[385,102]],["add",24,305,-1,2,[385,102]],["add",48,32,1,1,[74,30]],["add",32,48,-1,2,[74,30]],["add",306,45,1,1,[84,44]],["add",45,306,-1,2,[84,44]],["add",307,35,1,1,[84,50]],["add",35,307,-1,2,[84,50]],["add",308,312,1,1,[74,44]],["add",312,308,-1,2,[74,44]],["add",309,318,1,1,[74,50]],["add",318,309,-1,2,[74,50]],["add",310,314,1,1,[415,102]],["add",314,310,-1,2,[415,102]],["add",311,316,1,1,[385,120]],["add",316,311,-1,2,[385,120]],["add",313,319,1,1,[44,30]],["add",319,313,-1,2,[44,30]],["add",315,317,1,1,[385,30]],["add",317,315,-1,2,[385,30]],["add",311,309,1,1,[385,74,50]],["add",306,304,1,1,[415,84,44]],["add",310,307,1,1,[415,84,50]],["add",308,305,1,1,[385,74,44]],["add",312,314,1,1,[415,74,44]],["add",24,35,1,1,[385,84,50]],["add",316,45,1,1,[385,84,44]],["add",318,107,1,1,[415,74,50]],["add",107,45,1,1,[385,74,44,30]],["add",45,107,-1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["scale",45,-1,1,[385,74,44,30]],["scale",45,-2,1,[385,74,44,30]],["add",304,45,-1,1,[385,74,44,30]],["add",305,45,-1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",35,107,1,2,[385,74,44,30]],["add",307,107,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["add",35,309,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["scale",35,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["add",304,314,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["scale",304,-2,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["add",305,307,-1,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["scale",305,-1,1,[385,74,44,30]],["add",107,305,1,1,[385,74,44,30]],["add",309,305,1,2,[385,74,44,30]],["add",45,307,1,1,[385,74,44,30]],["add",304,307,1,1,[385,74,44,30]],["add",314,307,-2,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["scale",309,-1,2,[385,74,44,30]],["add",45,309,-1,1,[385,74,44,30]],["add",304,309,-1,1,[385,74,44,30]],["add",307,309,-1,1,[385,74,44,30]],["add",107,314,-1,1,[385,74,44,30]],["add",35,314,-1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["add",309,314,1,1,[385,74,44,30]],["add",307,314,1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["scale",314,2,1,[385,74,44,30]],["add",307,309,1,1,[385,74,44,30]],["add",35,309,1,1,[385,74,44,30]],["add",107,309,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",314,307,-1,2,[385,74,44,30]],["add",309,307,-1,1,[385,74,44,30]],["add",305,307,1,1,[385,74,44,30]],["add",304,307,1,2,[385,74,44,30]],["add",35,307,-1,2,[385,74,44,30]],["add",107,307,1,2,[385,74,44,30]],["add",45,307,-1,2,[385,74,44,30]],["scale",307,-1,2,[385,74,44,30]],["add",309,305,1,1,[385,74,44,30]],["add",307,305,1,2,[385,74,44,30]],["add",304,305,-1,2,[385,74,44,30]],["add",35,305,1,2,[385,74,44,30]],["add",107,305,1,2,[385,74,44,30]],["add",45,305,1,2,[385,74,44,30]],["scale",305,-2,1,[385,74,44,30]],["add",35,304,1,1,[385,74,44,30]],["add",107,304,1,1,[385,74,44,30]],["add",45,304,-1,1,[385,74,44,30]],["scale",304,2,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["add",304,305,-1,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["add",307,35,1,2,[385,74,44,30]],["add",305,35,-1,1,[385,74,44,30]],["add",45,35,1,1,[385,74,44,30]],["scale",35,-2,1,[385,74,44,30]],["add",307,107,1,2,[385,74,44,30]],["add",305,107,-1,1,[385,74,44,30]],["add",45,107,1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["add",107,304,-1,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["scale",107,-1,1,[385,74,44,30]],["add",307,45,-1,2,[385,74,44,30]],["add",305,45,1,1,[385,74,44,30]],["add",304,45,1,1,[385,74,44,30]],["add",35,45,1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["add",320,49,1,1,[148]],["add",321,49,1,1,[148]],["add",322,34,1,1,[266]],["add",323,34,1,1,[266]],["add",324,50,1,1,[276]],["add",325,50,1,1,[276]],["add",326,33,1,1,[138]],["add",327,33,1,1,[138]],["add",328,108,1,1,[351]],["add",329,108,1,1,[351]],["add",330,22,1,1,[193]],["add",331,22,1,1,[193]],["add",332,109,1,1,[223]],["add",333,109,1,1,[223]],["add",334,23,1,1,[321]],["add",335,23,1,1,[321]],["add",108,329,1,1,[351]],["add",329,108,-1,1,[351]],["add",108,329,1,1,[351]],["scale",329,-1,1,[321,30]],["add",22,331,1,1,[193]],["add",331,22,-1,1,[193]],["add",22,331,1,1,[193]],["scale",331,-1,1,[193]],["add",109,333,1,1,[223]],["add",333,109,-1,1,[223]],["add",109,333,1,1,[223]],["scale",333,-1,1,[193,30]],["add",23,335,1,1,[321]],["add",335,23,-1,1,[321]],["add",23,335,1,1,[321]],["scale",335,-1,1,[321]],["add",49,33,1,1,[138,30]],["add",33,49,-1,2,[138,30]],["add",320,22,1,1,[148,85]],["add",22,320,-1,2,[148,85]],["add",321,109,1,1,[148,75]],["add",109,321,-1,2,[148,75]],["add",34,50,1,1,[266,30]],["add",50,34,-1,2,[266,30]],["add",322,108,1,1,[266,85]],["add",108,322,-1,2,[266,85]],["add",323,23,1,1,[266,75]],["add",23,323,-1,2,[266,75]],["add",324,328,1,1,[276,75]],["add",328,324,-1,2,[276,75]],["add",325,334,1,1,[276,85]],["add",334,325,-1,2,[276,85]],["add",326,330,1,1,[138,75]],["add",330,326,-1,2,[138,75]],["add",327,332,1,1,[138,85]],["add",332,327,-1,2,[138,85]],["add",329,335,1,1,[321,30]],["add",335,329,-1,2,[321,30]],["add",331,333,1,1,[193,30]],["add",333,331,-1,2,[193,30]],["add",327,325,1,1,[276,138,85]],["add",322,320,1,1,[266,148,85]],["add",326,323,1,1,[266,138,75]],["add",324,321,1,1,[276,148,75]],["add",328,330,1,1,[276,138,75]],["add",109,23,1,1,[266,148,75]],["add",332,108,1,1,[266,138,85]],["add",334,22,1,1,[276,148,85]],["add",22,108,1,1,[266,138,75,30]],["add",108,22,-1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["scale",108,-1,1,[266,138,75,30]],["scale",108,-2,1,[266,138,75,30]],["add",320,108,-1,1,[266,138,75,30]],["add",321,108,-1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",23,22,1,2,[266,138,75,30]],["add",323,22,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["add",23,325,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["scale",23,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["add",320,330,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["scale",320,-2,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["add",321,323,-1,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["scale",321,-1,1,[266,138,75,30]],["add",22,321,1,1,[266,138,75,30]],["add",325,321,1,2,[266,138,75,30]],["add",108,323,1,1,[266,138,75,30]],["add",320,323,1,1,[266,138,75,30]],["add",330,323,-2,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["scale",325,-1,2,[266,138,75,30]],["add",108,325,-1,1,[266,138,75,30]],["add",320,325,-1,1,[266,138,75,30]],["add",323,325,-1,1,[266,138,75,30]],["add",22,330,-1,1,[266,138,75,30]],["add",23,330,-1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["add",325,330,1,1,[266,138,75,30]],["add",323,330,1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["scale",330,2,1,[266,138,75,30]],["add",323,325,1,1,[266,138,75,30]],["add",23,325,1,1,[266,138,75,30]],["add",22,325,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",330,323,-1,2,[266,138,75,30]],["add",325,323,-1,1,[266,138,75,30]],["add",321,323,1,1,[266,138,75,30]],["add",320,323,1,2,[266,138,75,30]],["add",23,323,-1,2,[266,138,75,30]],["add",22,323,1,2,[266,138,75,30]],["add",108,323,-1,2,[266,138,75,30]],["scale",323,-1,2,[266,138,75,30]],["add",325,321,1,1,[266,138,75,30]],["add",323,321,1,2,[266,138,75,30]],["add",320,321,-1,2,[266,138,75,30]],["add",23,321,1,2,[266,138,75,30]],["add",22,321,1,2,[266,138,75,30]],["add",108,321,1,2,[266,138,75,30]],["scale",321,-2,1,[266,138,75,30]],["add",23,320,1,1,[266,138,75,30]],["add",22,320,1,1,[266,138,75,30]],["add",108,320,-1,1,[266,138,75,30]],["scale",320,2,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["add",320,321,-1,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["add",323,23,1,2,[266,138,75,30]],["add",321,23,-1,1,[266,138,75,30]],["add",108,23,1,1,[266,138,75,30]],["scale",23,-2,1,[266,138,75,30]],["add",323,22,1,2,[266,138,75,30]],["add",321,22,-1,1,[266,138,75,30]],["add",108,22,1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["add",22,320,-1,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["scale",22,-1,1,[266,138,75,30]],["add",323,108,-1,2,[266,138,75,30]],["add",321,108,1,1,[266,138,75,30]],["add",320,108,1,1,[266,138,75,30]],["add",23,108,1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["add",336,6,1,1,[13]],["add",337,6,1,1,[13]],["add",338,82,1,1,[446]],["add",339,82,1,1,[446]],["add",340,75,1,1,[416]],["add",341,75,1,1,[416]],["add",342,1,1,1,[19]],["add",343,1,1,1,[19]],["add",344,93,1,1,[491]],["add",345,93,1,1,[491]],["add",346,58,1,1,[88]],["add",347,58,1,1,[88]],["add",348,28,1,1,[70]],["add",349,28,1,1,[70]],["add",350,86,1,1,[501]],["add",351,86,1,1,[501]],["add",93,345,1,1,[491]],["add",345,93,-1,1,[491]],["add",93,345,1,1,[491]],["scale",345,-1,1,[491]],["add",58,347,1,1,[88]],["add",347,58,-1,1,[88]],["add",58,347,1,1,[88]],["scale",347,-1,1,[70,30]],["add",28,349,1,1,[70]],["add",349,28,-1,1,[70]],["add",28,349,1,1,[70]],["scale",349,-1,1,[70]],["add",86,351,1,1,[501]],["add",351,86,-1,1,[501]],["add",86,351,1,1,[501]],["scale",351,-1,1,[491,30]],["add",6,1,1,1,[19,13]],["add",1,6,-1,2,[19,13]],["add",336,58,1,1,[85,13]],["add",58,336,-1,2,[85,13]],["add",337,28,1,1,[70,13]],["add",28,337,-1,2,[70,13]],["add",82,75,1,1,[416,30]],["add",75,82,-1,2,[416,30]],["add",338,93,1,1,[446,85]],["add",93,338,-1,2,[446,85]],["add",339,86,1,1,[446,75]],["add",86,339,-1,2,[446,75]],["add",340,344,1,1,[416,75]],["add",344,340,-1,2,[416,75]],["add",341,350,1,1,[416,85]],["add",350,341,-1,2,[416,85]],["add",342,346,1,1,[75,19]],["add",346,342,-1,2,[75,19]],["add",343,348,1,1,[70,19]],["add",348,343,-1,2,[70,19]],["add",345,351,1,1,[491,30]],["add",351,345,-1,2,[491,30]],["add",347,349,1,1,[70,30]],["add",349,347,-1,2,[70,30]],["add",343,341,1,1,[416,70,19]],["add",338,336,1,1,[435,85,13]],["add",342,339,1,1,[429,75,19]],["add",340,337,1,1,[416,70,13]],["add",344,346,1,1,[416,75,19]],["add",28,86,1,1,[435,70,13]],["add",348,93,1,1,[429,70,19]],["add",350,58,1,1,[416,85,13]],["add",58,93,1,1,[416,70,19,13]],["add",93,58,-1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["scale",93,-1,1,[416,70,19,13]],["scale",93,-2,1,[416,70,19,13]],["add",336,93,-1,1,[416,70,19,13]],["add",337,93,-1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",86,58,1,2,[416,70,19,13]],["add",339,58,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["add",86,341,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["scale",86,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["add",336,346,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["scale",336,-2,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["add",337,339,-1,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["scale",337,-1,1,[416,70,19,13]],["add",58,337,1,1,[416,70,19,13]],["add",341,337,1,2,[416,70,19,13]],["add",93,339,1,1,[416,70,19,13]],["add",336,339,1,1,[416,70,19,13]],["add",346,339,-2,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["scale",341,-1,2,[416,70,19,13]],["add",93,341,-1,1,[416,70,19,13]],["add",336,341,-1,1,[416,70,19,13]],["add",339,341,-1,1,[416,70,19,13]],["add",58,346,-1,1,[416,70,19,13]],["add",86,346,-1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["add",341,346,1,1,[416,70,19,13]],["add",339,346,1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["scale",346,2,1,[416,70,19,13]],["add",339,341,1,1,[416,70,19,13]],["add",86,341,1,1,[416,70,19,13]],["add",58,341,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",346,339,-1,2,[416,70,19,13]],["add",341,339,-1,1,[416,70,19,13]],["add",337,339,1,1,[416,70,19,13]],["add",336,339,1,2,[416,70,19,13]],["add",86,339,-1,2,[416,70,19,13]],["add",58,339,1,2,[416,70,19,13]],["add",93,339,-1,2,[416,70,19,13]],["scale",339,-1,2,[416,70,19,13]],["add",341,337,1,1,[416,70,19,13]],["add",339,337,1,2,[416,70,19,13]],["add",336,337,-1,2,[416,70,19,13]],["add",86,337,1,2,[416,70,19,13]],["add",58,337,1,2,[416,70,19,13]],["add",93,337,1,2,[416,70,19,13]],["scale",337,-2,1,[416,70,19,13]],["add",86,336,1,1,[416,70,19,13]],["add",58,336,1,1,[416,70,19,13]],["add",93,336,-1,1,[416,70,19,13]],["scale",336,2,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["add",336,337,-1,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["add",339,86,1,2,[416,70,19,13]],["add",337,86,-1,1,[416,70,19,13]],["add",93,86,1,1,[416,70,19,13]],["scale",86,-2,1,[416,70,19,13]],["add",339,58,1,2,[416,70,19,13]],["add",337,58,-1,1,[416,70,19,13]],["add",93,58,1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["add",58,336,-1,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["scale",58,-1,1,[416,70,19,13]],["add",339,93,-1,2,[416,70,19,13]],["add",337,93,1,1,[416,70,19,13]],["add",336,93,1,1,[416,70,19,13]],["add",86,93,1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["add",352,83,1,1,[382]],["add",353,83,1,1,[382]],["add",354,73,1,1,[224]],["add",355,73,1,1,[224]],["add",356,84,1,1,[254]],["add",357,84,1,1,[254]],["add",358,74,1,1,[352]],["add",359,74,1,1,[352]],["add",360,59,1,1,[152]],["add",361,59,1,1,[152]],["add",362,30,1,1,[262]],["add",363,30,1,1,[262]],["add",364,60,1,1,[280]],["add",365,60,1,1,[280]],["add",366,29,1,1,[134]],["add",367,29,1,1,[134]],["add",59,361,1,1,[152]],["add",361,59,-1,1,[152]],["add",59,361,1,1,[152]],["scale",361,-1,1,[134,30]],["add",30,363,1,1,[262]],["add",363,30,-1,1,[262]],["add",30,363,1,1,[262]],["scale",363,-1,1,[262]],["add",60,365,1,1,[280]],["add",365,60,-1,1,[280]],["add",60,365,1,1,[280]],["scale",365,-1,1,[262,30]],["add",29,367,1,1,[134]],["add",367,29,-1,1,[134]],["add",29,367,1,1,[134]],["scale",367,-1,1,[134]],["add",83,74,1,1,[352,30]],["add",74,83,-1,2,[352,30]],["add",352,30,1,1,[262,120]],["add",30,352,-1,2,[262,120]],["add",353,60,1,1,[280,102]],["add",60,353,-1,2,[280,102]],["add",73,84,1,1,[224,30]],["add",84,73,-1,2,[224,30]],["add",354,59,1,1,[152,120]],["add",59,354,-1,2,[152,120]],["add",355,29,1,1,[134,102]],["add",29,355,-1,2,[134,102]],["add",356,360,1,1,[152,102]],["add",360,356,-1,2,[152,102]],["add",357,366,1,1,[134,120]],["add",366,357,-1,2,[134,120]],["add",358,362,1,1,[262,102]],["add",362,358,-1,2,[262,102]],["add",359,364,1,1,[280,120]],["add",364,359,-1,2,[280,120]],["add",361,367,1,1,[134,30]],["add",367,361,-1,2,[134,30]],["add",363,365,1,1,[262,30]],["add",365,363,-1,2,[262,30]],["add",359,357,1,1,[280,134,120]],["add",354,352,1,1,[262,152,120]],["add",358,355,1,1,[262,134,102]],["add",356,353,1,1,[280,152,102]],["add",360,362,1,1,[262,152,102]],["add",60,29,1,1,[280,134,102]],["add",364,59,1,1,[280,152,120]],["add",366,30,1,1,[262,134,120]],["add",30,59,1,1,[262,134,102,30]],["add",59,30,-1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["scale",59,-1,1,[262,134,102,30]],["scale",59,-2,1,[262,134,102,30]],["add",352,59,-1,1,[262,134,102,30]],["add",353,59,-1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",29,30,1,2,[262,134,102,30]],["add",355,30,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["add",29,357,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["scale",29,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["add",352,362,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["scale",352,-2,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["add",353,355,-1,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["scale",353,-1,1,[262,134,102,30]],["add",30,353,1,1,[262,134,102,30]],["add",357,353,1,2,[262,134,102,30]],["add",59,355,1,1,[262,134,102,30]],["add",352,355,1,1,[262,134,102,30]],["add",362,355,-2,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["scale",357,-1,2,[262,134,102,30]],["add",59,357,-1,1,[262,134,102,30]],["add",352,357,-1,1,[262,134,102,30]],["add",355,357,-1,1,[262,134,102,30]],["add",30,362,-1,1,[262,134,102,30]],["add",29,362,-1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["add",357,362,1,1,[262,134,102,30]],["add",355,362,1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["scale",362,2,1,[262,134,102,30]],["add",355,357,1,1,[262,134,102,30]],["add",29,357,1,1,[262,134,102,30]],["add",30,357,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",362,355,-1,2,[262,134,102,30]],["add",357,355,-1,1,[262,134,102,30]],["add",353,355,1,1,[262,134,102,30]],["add",352,355,1,2,[262,134,102,30]],["add",29,355,-1,2,[262,134,102,30]],["add",30,355,1,2,[262,134,102,30]],["add",59,355,-1,2,[262,134,102,30]],["scale",355,-1,2,[262,134,102,30]],["add",357,353,1,1,[262,134,102,30]],["add",355,353,1,2,[262,134,102,30]],["add",352,353,-1,2,[262,134,102,30]],["add",29,353,1,2,[262,134,102,30]],["add",30,353,1,2,[262,134,102,30]],["add",59,353,1,2,[262,134,102,30]],["scale",353,-2,1,[262,134,102,30]],["add",29,352,1,1,[262,134,102,30]],["add",30,352,1,1,[262,134,102,30]],["add",59,352,-1,1,[262,134,102,30]],["scale",352,2,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["add",352,353,-1,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["add",355,29,1,2,[262,134,102,30]],["add",353,29,-1,1,[262,134,102,30]],["add",59,29,1,1,[262,134,102,30]],["scale",29,-2,1,[262,134,102,30]],["add",355,30,1,2,[262,134,102,30]],["add",353,30,-1,1,[262,134,102,30]],["add",59,30,1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["add",30,352,-1,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["scale",30,-1,1,[262,134,102,30]],["add",355,59,-1,2,[262,134,102,30]],["add",353,59,1,1,[262,134,102,30]],["add",352,59,1,1,[262,134,102,30]],["add",29,59,1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["add",368,80,1,1,[494]],["add",369,80,1,1,[494]],["add",370,67,1,1,[112]],["add",371,67,1,1,[112]],["add",372,3,1,1,[67]],["add",373,3,1,1,[67]],["add",374,88,1,1,[477]],["add",375,88,1,1,[477]],["add",376,8,1,1,[37]],["add",377,8,1,1,[37]],["add",378,95,1,1,[443]],["add",379,95,1,1,[443]],["add",380,66,1,1,[392]],["add",381,66,1,1,[392]],["add",382,26,1,1,[22]],["add",383,26,1,1,[22]],["add",8,377,1,1,[37]],["add",377,8,-1,1,[37]],["add",8,377,1,1,[37]],["scale",377,-1,1,[37]],["add",95,379,1,1,[443]],["add",379,95,-1,1,[443]],["add",95,379,1,1,[443]],["scale",379,-1,1,[392,51]],["add",66,381,1,1,[392]],["add",381,66,-1,1,[392]],["add",66,381,1,1,[392]],["scale",381,-1,1,[392]],["add",26,383,1,1,[22]],["add",383,26,-1,1,[22]],["add",26,383,1,1,[22]],["scale",383,-1,1,[22]],["add",80,88,1,1,[477,51]],["add",88,80,-1,2,[477,51]],["add",368,95,1,1,[443,85]],["add",95,368,-1,2,[443,85]],["add",369,66,1,1,[392,102]],["add",66,369,-1,2,[392,102]],["add",67,3,1,1,[67,51]],["add",3,67,-1,2,[67,51]],["add",370,8,1,1,[85,37]],["add",8,370,-1,2,[85,37]],["add",371,26,1,1,[102,22]],["add",26,371,-1,2,[102,22]],["add",372,376,1,1,[67,37]],["add",376,372,-1,2,[67,37]],["add",373,382,1,1,[67,22]],["add",382,373,-1,2,[67,22]],["add",374,378,1,1,[443,102]],["add",378,374,-1,2,[443,102]],["add",375,380,1,1,[392,85]],["add",380,375,-1,2,[392,85]],["add",377,383,1,1,[37,22]],["add",383,377,-1,2,[37,22]],["add",379,381,1,1,[392,51]],["add",381,379,-1,2,[392,51]],["add",375,373,1,1,[392,67,22]],["add",370,368,1,1,[414,85,37]],["add",374,371,1,1,[429,102,22]],["add",372,369,1,1,[392,67,37]],["add",376,378,1,1,[414,67,37]],["add",66,26,1,1,[392,102,22]],["add",380,8,1,1,[392,85,37]],["add",382,95,1,1,[429,67,22]],["add",95,8,1,1,[392,67,37,22]],["add",8,95,-1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["scale",8,-1,1,[392,67,37,22]],["scale",8,-2,1,[392,67,37,22]],["add",368,8,-1,1,[392,67,37,22]],["add",369,8,-1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",26,95,1,2,[392,67,37,22]],["add",371,95,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["add",26,373,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["scale",26,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["add",368,378,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["scale",368,-2,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["add",369,371,-1,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["scale",369,-1,1,[392,67,37,22]],["add",95,369,1,1,[392,67,37,22]],["add",373,369,1,2,[392,67,37,22]],["add",8,371,1,1,[392,67,37,22]],["add",368,371,1,1,[392,67,37,22]],["add",378,371,-2,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["scale",373,-1,2,[392,67,37,22]],["add",8,373,-1,1,[392,67,37,22]],["add",368,373,-1,1,[392,67,37,22]],["add",371,373,-1,1,[392,67,37,22]],["add",95,378,-1,1,[392,67,37,22]],["add",26,378,-1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["add",373,378,1,1,[392,67,37,22]],["add",371,378,1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["scale",378,2,1,[392,67,37,22]],["add",371,373,1,1,[392,67,37,22]],["add",26,373,1,1,[392,67,37,22]],["add",95,373,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",378,371,-1,2,[392,67,37,22]],["add",373,371,-1,1,[392,67,37,22]],["add",369,371,1,1,[392,67,37,22]],["add",368,371,1,2,[392,67,37,22]],["add",26,371,-1,2,[392,67,37,22]],["add",95,371,1,2,[392,67,37,22]],["add",8,371,-1,2,[392,67,37,22]],["scale",371,-1,2,[392,67,37,22]],["add",373,369,1,1,[392,67,37,22]],["add",371,369,1,2,[392,67,37,22]],["add",368,369,-1,2,[392,67,37,22]],["add",26,369,1,2,[392,67,37,22]],["add",95,369,1,2,[392,67,37,22]],["add",8,369,1,2,[392,67,37,22]],["scale",369,-2,1,[392,67,37,22]],["add",26,368,1,1,[392,67,37,22]],["add",95,368,1,1,[392,67,37,22]],["add",8,368,-1,1,[392,67,37,22]],["scale",368,2,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["add",368,369,-1,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["add",371,26,1,2,[392,67,37,22]],["add",369,26,-1,1,[392,67,37,22]],["add",8,26,1,1,[392,67,37,22]],["scale",26,-2,1,[392,67,37,22]],["add",371,95,1,2,[392,67,37,22]],["add",369,95,-1,1,[392,67,37,22]],["add",8,95,1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["add",95,368,-1,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["scale",95,-1,1,[392,67,37,22]],["add",371,8,-1,2,[392,67,37,22]],["add",369,8,1,1,[392,67,37,22]],["add",368,8,1,1,[392,67,37,22]],["add",26,8,1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["add",384,68,1,1,[176]],["add",385,68,1,1,[176]],["add",386,5,1,1,[259]],["add",387,5,1,1,[259]],["add",388,69,1,1,[304]],["add",389,69,1,1,[304]],["add",390,4,1,1,[131]],["add",391,4,1,1,[131]],["add",392,96,1,1,[379]],["add",393,96,1,1,[379]],["add",394,64,1,1,[200]],["add",395,64,1,1,[200]],["add",396,97,1,1,[251]],["add",397,97,1,1,[251]],["add",398,65,1,1,[328]],["add",399,65,1,1,[328]],["add",96,393,1,1,[379]],["add",393,96,-1,1,[379]],["add",96,393,1,1,[379]],["scale",393,-1,1,[328,51]],["add",64,395,1,1,[200]],["add",395,64,-1,1,[200]],["add",64,395,1,1,[200]],["scale",395,-1,1,[200]],["add",97,397,1,1,[251]],["add",397,97,-1,1,[251]],["add",97,397,1,1,[251]],["scale",397,-1,1,[200,51]],["add",65,399,1,1,[328]],["add",399,65,-1,1,[328]],["add",65,399,1,1,[328]],["scale",399,-1,1,[328]],["add",68,4,1,1,[131,51]],["add",4,68,-1,2,[131,51]],["add",384,64,1,1,[176,120]],["add",64,384,-1,2,[176,120]],["add",385,97,1,1,[176,75]],["add",97,385,-1,2,[176,75]],["add",5,69,1,1,[259,51]],["add",69,5,-1,2,[259,51]],["add",386,96,1,1,[259,120]],["add",96,386,-1,2,[259,120]],["add",387,65,1,1,[259,75]],["add",65,387,-1,2,[259,75]],["add",388,392,1,1,[304,75]],["add",392,388,-1,2,[304,75]],["add",389,398,1,1,[304,120]],["add",398,389,-1,2,[304,120]],["add",390,394,1,1,[131,75]],["add",394,390,-1,2,[131,75]],["add",391,396,1,1,[131,120]],["add",396,391,-1,2,[131,120]],["add",393,399,1,1,[328,51]],["add",399,393,-1,2,[328,51]],["add",395,397,1,1,[200,51]],["add",397,395,-1,2,[200,51]],["add",391,389,1,1,[304,131,120]],["add",386,384,1,1,[259,176,120]],["add",390,387,1,1,[259,131,75]],["add",388,385,1,1,[304,176,75]],["add",392,394,1,1,[304,131,75]],["add",97,65,1,1,[259,176,75]],["add",396,96,1,1,[259,131,120]],["add",398,64,1,1,[304,176,120]],["add",64,96,1,1,[259,131,75,51]],["add",96,64,-1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["scale",96,-1,1,[259,131,75,51]],["scale",96,-2,1,[259,131,75,51]],["add",384,96,-1,1,[259,131,75,51]],["add",385,96,-1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",65,64,1,2,[259,131,75,51]],["add",387,64,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["add",65,389,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["scale",65,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["add",384,394,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["scale",384,-2,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["add",385,387,-1,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["scale",385,-1,1,[259,131,75,51]],["add",64,385,1,1,[259,131,75,51]],["add",389,385,1,2,[259,131,75,51]],["add",96,387,1,1,[259,131,75,51]],["add",384,387,1,1,[259,131,75,51]],["add",394,387,-2,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["scale",389,-1,2,[259,131,75,51]],["add",96,389,-1,1,[259,131,75,51]],["add",384,389,-1,1,[259,131,75,51]],["add",387,389,-1,1,[259,131,75,51]],["add",64,394,-1,1,[259,131,75,51]],["add",65,394,-1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["add",389,394,1,1,[259,131,75,51]],["add",387,394,1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["scale",394,2,1,[259,131,75,51]],["add",387,389,1,1,[259,131,75,51]],["add",65,389,1,1,[259,131,75,51]],["add",64,389,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",394,387,-1,2,[259,131,75,51]],["add",389,387,-1,1,[259,131,75,51]],["add",385,387,1,1,[259,131,75,51]],["add",384,387,1,2,[259,131,75,51]],["add",65,387,-1,2,[259,131,75,51]],["add",64,387,1,2,[259,131,75,51]],["add",96,387,-1,2,[259,131,75,51]],["scale",387,-1,2,[259,131,75,51]],["add",389,385,1,1,[259,131,75,51]],["add",387,385,1,2,[259,131,75,51]],["add",384,385,-1,2,[259,131,75,51]],["add",65,385,1,2,[259,131,75,51]],["add",64,385,1,2,[259,131,75,51]],["add",96,385,1,2,[259,131,75,51]],["scale",385,-2,1,[259,131,75,51]],["add",65,384,1,1,[259,131,75,51]],["add",64,384,1,1,[259,131,75,51]],["add",96,384,-1,1,[259,131,75,51]],["scale",384,2,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["add",384,385,-1,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["add",387,65,1,2,[259,131,75,51]],["add",385,65,-1,1,[259,131,75,51]],["add",96,65,1,1,[259,131,75,51]],["scale",65,-2,1,[259,131,75,51]],["add",387,64,1,2,[259,131,75,51]],["add",385,64,-1,1,[259,131,75,51]],["add",96,64,1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["add",64,384,-1,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["scale",64,-1,1,[259,131,75,51]],["add",387,96,-1,2,[259,131,75,51]],["add",385,96,1,1,[259,131,75,51]],["add",384,96,1,1,[259,131,75,51]],["add",65,96,1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["add",400,15,1,1,[265]],["add",401,400,1,1,[265]],["add",402,14,1,1,[137]],["add",403,14,1,1,[137]],["add",404,52,1,1,[164]],["add",405,52,1,1,[164]],["add",406,53,1,1,[292]],["add",407,53,1,1,[292]],["add",408,41,1,1,[194]],["add",409,41,1,1,[194]],["add",410,42,1,1,[322]],["add",411,42,1,1,[322]],["add",412,105,1,1,[367]],["add",413,105,1,1,[367]],["add",414,106,1,1,[239]],["add",415,106,1,1,[239]],["add",41,409,1,1,[194]],["add",409,41,-1,1,[194]],["add",41,409,1,1,[194]],["scale",409,-1,1,[194]],["add",42,411,1,1,[322]],["add",411,42,-1,1,[322]],["add",42,411,1,1,[322]],["scale",411,-1,1,[322]],["add",105,413,1,1,[367]],["add",413,105,-1,1,[367]],["add",105,413,1,1,[367]],["scale",413,-1,1,[322,45]],["add",106,415,1,1,[239]],["add",415,106,-1,1,[239]],["add",106,415,1,1,[239]],["scale",415,-1,1,[194,45]],["add",15,53,1,1,[265,45]],["add",53,15,-1,2,[265,45]],["add",400,42,1,1,[265,75]],["add",42,400,-1,2,[265,75]],["add",401,105,1,1,[265,102]],["add",105,401,-1,2,[265,102]],["add",14,52,1,1,[137,45]],["add",52,14,-1,2,[137,45]],["add",402,41,1,1,[137,75]],["add",41,402,-1,2,[137,75]],["add",403,106,1,1,[137,102]],["add",106,403,-1,2,[137,102]],["add",404,408,1,1,[164,102]],["add",408,404,-1,2,[164,102]],["add",405,414,1,1,[164,75]],["add",414,405,-1,2,[164,75]],["add",406,410,1,1,[292,102]],["add",410,406,-1,2,[292,102]],["add",407,412,1,1,[292,75]],["add",412,407,-1,2,[292,75]],["add",409,415,1,1,[194,45]],["add",415,409,-1,2,[194,45]],["add",411,413,1,1,[322,45]],["add",413,411,-1,2,[322,45]],["add",407,405,1,1,[292,164,75]],["add",402,400,1,1,[265,137,75]],["add",406,403,1,1,[292,137,102]],["add",404,401,1,1,[265,164,102]],["add",408,410,1,1,[292,164,102]],["add",105,106,1,1,[265,137,102]],["add",412,41,1,1,[292,137,75]],["add",414,42,1,1,[265,164,75]],["add",42,41,1,1,[265,137,75,45]],["add",41,42,-1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["scale",41,-1,1,[265,137,75,45]],["scale",41,-2,1,[265,137,75,45]],["add",400,41,-1,1,[265,137,75,45]],["add",401,41,-1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",106,42,1,2,[265,137,75,45]],["add",403,42,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["add",106,405,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["scale",106,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["add",400,410,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["scale",400,-2,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["add",401,403,-1,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["scale",401,-1,1,[265,137,75,45]],["add",42,401,1,1,[265,137,75,45]],["add",405,401,1,2,[265,137,75,45]],["add",41,403,1,1,[265,137,75,45]],["add",400,403,1,1,[265,137,75,45]],["add",410,403,-2,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["scale",405,-1,2,[265,137,75,45]],["add",41,405,-1,1,[265,137,75,45]],["add",400,405,-1,1,[265,137,75,45]],["add",403,405,-1,1,[265,137,75,45]],["add",42,410,-1,1,[265,137,75,45]],["add",106,410,-1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["add",405,410,1,1,[265,137,75,45]],["add",403,410,1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["scale",410,2,1,[265,137,75,45]],["add",403,405,1,1,[265,137,75,45]],["add",106,405,1,1,[265,137,75,45]],["add",42,405,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["add",410,403,-1,2,[265,137,75,45]],["add",405,403,-1,1,[265,137,75,45]],["add",401,403,1,1,[265,137,75,45]],["add",400,403,1,2,[265,137,75,45]],["add",106,403,-1,2,[265,137,75,45]],["add",42,403,1,2,[265,137,75,45]],["add",41,403,-1,2,[265,137,75,45]],["scale",403,-1,2,[265,137,75,45]],["add",405,401,1,1,[265,137,75,45]],["add",403,401,1,2,[265,137,75,45]],["add",400,401,-1,2,[265,137,75,45]],["add",106,401,1,2,[265,137,75,45]],["add",42,401,1,2,[265,137,75,45]],["add",41,401,1,2,[265,137,75,45]],["scale",401,-2,1,[265,137,75,45]],["add",106,400,1,1,[265,137,75,45]],["add",42,400,1,1,[265,137,75,45]],["add",41,400,-1,1,[265,137,75,45]],["scale",400,2,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["add",400,401,-1,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["add",403,106,1,2,[265,137,75,45]],["add",401,106,-1,1,[265,137,75,45]],["add",41,106,1,1,[265,137,75,45]],["scale",106,-2,1,[265,137,75,45]],["add",403,42,1,2,[265,137,75,45]],["add",401,42,-1,1,[265,137,75,45]],["add",41,42,1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["add",42,400,-1,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["scale",42,-1,1,[265,137,75,45]],["add",403,41,-1,2,[265,137,75,45]],["add",401,41,1,1,[265,137,75,45]],["add",400,41,1,1,[265,137,75,45]],["add",106,41,1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["add",416,13,1,1,[73]],["add",417,416,1,1,[73]],["add",418,78,1,1,[506]],["add",419,78,1,1,[506]],["add",420,99,1,1,[471]],["add",421,99,1,1,[471]],["add",422,51,1,1,[100]],["add",423,51,1,1,[100]],["add",424,43,1,1,[386]],["add",425,43,1,1,[386]],["add",426,16,1,1,[49]],["add",427,16,1,1,[49]],["add",428,44,1,1,[28]],["add",429,44,1,1,[28]],["add",430,104,1,1,[431]],["add",431,104,1,1,[431]],["add",43,425,1,1,[386]],["add",425,43,-1,1,[386]],["add",43,425,1,1,[386]],["scale",425,-1,1,[386]],["add",16,427,1,1,[49]],["add",427,16,-1,1,[49]],["add",16,427,1,1,[49]],["scale",427,-1,1,[45,28]],["add",44,429,1,1,[28]],["add",429,44,-1,1,[28]],["add",44,429,1,1,[28]],["scale",429,-1,1,[28]],["add",104,431,1,1,[431]],["add",431,104,-1,1,[431]],["add",104,431,1,1,[431]],["scale",431,-1,1,[386,45]],["add",13,51,1,1,[73,45]],["add",51,13,-1,2,[73,45]],["add",416,16,1,1,[73,49]],["add",16,416,-1,2,[73,49]],["add",417,44,1,1,[73,28]],["add",44,417,-1,2,[73,28]],["add",78,99,1,1,[471,45]],["add",99,78,-1,2,[471,45]],["add",418,43,1,1,[386,120]],["add",43,418,-1,2,[386,120]],["add",419,104,1,1,[431,85]],["add",104,419,-1,2,[431,85]],["add",420,424,1,1,[386,85]],["add",424,420,-1,2,[386,85]],["add",421,430,1,1,[431,120]],["add",430,421,-1,2,[431,120]],["add",422,426,1,1,[85,49]],["add",426,422,-1,2,[85,49]],["add",423,428,1,1,[100,28]],["add",428,423,-1,2,[100,28]],["add",425,431,1,1,[386,45]],["add",431,425,-1,2,[386,45]],["add",427,429,1,1,[45,28]],["add",429,427,-1,2,[45,28]],["add",423,421,1,1,[431,100,28]],["add",418,416,1,1,[386,73,49]],["add",422,419,1,1,[414,85,49]],["add",420,417,1,1,[386,73,28]],["add",424,426,1,1,[386,85,49]],["add",44,104,1,1,[431,73,28]],["add",428,43,1,1,[386,100,28]],["add",430,16,1,1,[414,73,49]],["add",16,43,1,1,[386,73,45,28]],["add",43,16,-1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["scale",43,-1,1,[386,73,45,28]],["scale",43,-2,1,[386,73,45,28]],["add",416,43,-1,1,[386,73,45,28]],["add",417,43,-1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",104,16,1,2,[386,73,45,28]],["add",419,16,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["add",104,421,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["scale",104,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["add",416,426,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["scale",416,-2,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["add",417,419,-1,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["scale",417,-1,1,[386,73,45,28]],["add",16,417,1,1,[386,73,45,28]],["add",421,417,1,2,[386,73,45,28]],["add",43,419,1,1,[386,73,45,28]],["add",416,419,1,1,[386,73,45,28]],["add",426,419,-2,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["scale",421,-1,2,[386,73,45,28]],["add",43,421,-1,1,[386,73,45,28]],["add",416,421,-1,1,[386,73,45,28]],["add",419,421,-1,1,[386,73,45,28]],["add",16,426,-1,1,[386,73,45,28]],["add",104,426,-1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["add",421,426,1,1,[386,73,45,28]],["add",419,426,1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["scale",426,2,1,[386,73,45,28]],["add",419,421,1,1,[386,73,45,28]],["add",104,421,1,1,[386,73,45,28]],["add",16,421,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["add",426,419,-1,2,[386,73,45,28]],["add",421,419,-1,1,[386,73,45,28]],["add",417,419,1,1,[386,73,45,28]],["add",416,419,1,2,[386,73,45,28]],["add",104,419,-1,2,[386,73,45,28]],["add",16,419,1,2,[386,73,45,28]],["add",43,419,-1,2,[386,73,45,28]],["scale",419,-1,2,[386,73,45,28]],["add",421,417,1,1,[386,73,45,28]],["add",419,417,1,2,[386,73,45,28]],["add",416,417,-1,2,[386,73,45,28]],["add",104,417,1,2,[386,73,45,28]],["add",16,417,1,2,[386,73,45,28]],["add",43,417,1,2,[386,73,45,28]],["scale",417,-2,1,[386,73,45,28]],["add",104,416,1,1,[386,73,45,28]],["add",16,416,1,1,[386,73,45,28]],["add",43,416,-1,1,[386,73,45,28]],["scale",416,2,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["add",416,417,-1,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["add",419,104,1,2,[386,73,45,28]],["add",417,104,-1,1,[386,73,45,28]],["add",43,104,1,1,[386,73,45,28]],["scale",104,-2,1,[386,73,45,28]],["add",419,16,1,2,[386,73,45,28]],["add",417,16,-1,1,[386,73,45,28]],["add",43,16,1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["add",16,416,-1,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["scale",16,-1,1,[386,73,45,28]],["add",419,43,-1,2,[386,73,45,28]],["add",417,43,1,1,[386,73,45,28]],["add",416,43,1,1,[386,73,45,28]],["add",104,43,1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["add",432,36,1,1,[146]],["add",433,36,1,1,[146]],["add",434,21,1,1,[289]],["add",435,21,1,1,[289]],["add",436,47,1,1,[268]],["add",437,47,1,1,[268]],["add",438,111,1,1,[191]],["add",439,111,1,1,[191]],["add",440,37,1,1,[274]],["add",441,37,1,1,[274]],["add",442,20,1,1,[161]],["add",443,20,1,1,[161]],["add",444,46,1,1,[140]],["add",445,46,1,1,[140]],["add",446,110,1,1,[319]],["add",447,110,1,1,[319]],["add",37,441,1,1,[274]],["add",441,37,-1,1,[274]],["add",37,441,1,1,[274]],["scale",441,-1,1,[274]],["add",20,443,1,1,[161]],["add",443,20,-1,1,[161]],["add",20,443,1,1,[161]],["scale",443,-1,1,[140,45]],["add",46,445,1,1,[140]],["add",445,46,-1,1,[140]],["add",46,445,1,1,[140]],["scale",445,-1,1,[140]],["add",110,447,1,1,[319]],["add",447,110,-1,1,[319]],["add",110,447,1,1,[319]],["scale",447,-1,1,[274,45]],["add",36,111,1,1,[146,45]],["add",111,36,-1,2,[146,45]],["add",432,20,1,1,[146,51]],["add",20,432,-1,2,[146,51]],["add",433,46,1,1,[140,30]],["add",46,433,-1,2,[140,30]],["add",21,47,1,1,[268,45]],["add",47,21,-1,2,[268,45]],["add",434,37,1,1,[274,51]],["add",37,434,-1,2,[274,51]],["add",435,110,1,1,[289,30]],["add",110,435,-1,2,[289,30]],["add",436,440,1,1,[268,30]],["add",440,436,-1,2,[268,30]],["add",437,446,1,1,[268,51]],["add",446,437,-1,2,[268,51]],["add",438,442,1,1,[161,30]],["add",442,438,-1,2,[161,30]],["add",439,444,1,1,[140,51]],["add",444,439,-1,2,[140,51]],["add",441,447,1,1,[274,45]],["add",447,441,-1,2,[274,45]],["add",443,445,1,1,[140,45]],["add",445,443,-1,2,[140,45]],["add",439,437,1,1,[268,140,51]],["add",434,432,1,1,[274,146,51]],["add",438,435,1,1,[289,161,30]],["add",436,433,1,1,[268,140,30]],["add",440,442,1,1,[268,161,30]],["add",46,110,1,1,[289,140,30]],["add",444,37,1,1,[274,140,51]],["add",446,20,1,1,[268,146,51]],["add",20,37,1,1,[268,140,45,30]],["add",37,20,-1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["scale",37,-1,1,[268,140,45,30]],["scale",37,-2,1,[268,140,45,30]],["add",432,37,-1,1,[268,140,45,30]],["add",433,37,-1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",110,20,1,2,[268,140,45,30]],["add",435,20,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["add",110,437,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["scale",110,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["add",432,442,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["scale",432,-2,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["add",433,435,-1,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["scale",433,-1,1,[268,140,45,30]],["add",20,433,1,1,[268,140,45,30]],["add",437,433,1,2,[268,140,45,30]],["add",37,435,1,1,[268,140,45,30]],["add",432,435,1,1,[268,140,45,30]],["add",442,435,-2,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["scale",437,-1,2,[268,140,45,30]],["add",37,437,-1,1,[268,140,45,30]],["add",432,437,-1,1,[268,140,45,30]],["add",435,437,-1,1,[268,140,45,30]],["add",20,442,-1,1,[268,140,45,30]],["add",110,442,-1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["add",437,442,1,1,[268,140,45,30]],["add",435,442,1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["scale",442,2,1,[268,140,45,30]],["add",435,437,1,1,[268,140,45,30]],["add",110,437,1,1,[268,140,45,30]],["add",20,437,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["add",442,435,-1,2,[268,140,45,30]],["add",437,435,-1,1,[268,140,45,30]],["add",433,435,1,1,[268,140,45,30]],["add",432,435,1,2,[268,140,45,30]],["add",110,435,-1,2,[268,140,45,30]],["add",20,435,1,2,[268,140,45,30]],["add",37,435,-1,2,[268,140,45,30]],["scale",435,-1,2,[268,140,45,30]],["add",437,433,1,1,[268,140,45,30]],["add",435,433,1,2,[268,140,45,30]],["add",432,433,-1,2,[268,140,45,30]],["add",110,433,1,2,[268,140,45,30]],["add",20,433,1,2,[268,140,45,30]],["add",37,433,1,2,[268,140,45,30]],["scale",433,-2,1,[268,140,45,30]],["add",110,432,1,1,[268,140,45,30]],["add",20,432,1,1,[268,140,45,30]],["add",37,432,-1,1,[268,140,45,30]],["scale",432,2,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["add",432,433,-1,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["add",435,110,1,2,[268,140,45,30]],["add",433,110,-1,1,[268,140,45,30]],["add",37,110,1,1,[268,140,45,30]],["scale",110,-2,1,[268,140,45,30]],["add",435,20,1,2,[268,140,45,30]],["add",433,20,-1,1,[268,140,45,30]],["add",37,20,1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["add",20,432,-1,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["scale",20,-1,1,[268,140,45,30]],["add",435,37,-1,2,[268,140,45,30]],["add",433,37,1,1,[268,140,45,30]],["add",432,37,1,1,[268,140,45,30]],["add",110,37,1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["add",92,63,1,1,[256,128,64,34,16,10,4,1]],["add",92,61,1,1,[256,128,64,34,16,10,4,1]],["add",92,103,1,1,[256,128,64,34,16,10,4,1]],["add",92,18,1,1,[256,128,64,34,16,10,4,1]],["add",92,45,1,1,[256,128,64,34,16,10,4,1]],["add",92,108,1,1,[256,128,64,34,16,10,4,1]],["add",57,62,1,1,[256,128,64,32,16,8,5,3]],["add",57,94,1,1,[256,128,64,32,16,8,5,3]],["add",57,93,1,1,[256,128,64,32,16,8,5,3]],["add",57,59,1,1,[256,128,64,32,16,8,5,3]],["add",57,8,1,1,[256,128,64,32,16,8,5,3]],["add",57,96,1,1,[256,128,64,32,16,8,5,3]],["add",81,17,1,1,[256,128,64,32,17,9,4,2]],["add",81,40,1,1,[256,128,64,32,17,9,4,2]],["add",81,58,1,1,[256,128,64,32,17,9,4,2]],["add",81,30,1,1,[256,128,64,32,17,9,4,2]],["add",81,41,1,1,[256,128,64,32,17,9,4,2]],["add",81,43,1,1,[256,128,64,32,17,9,4,2]],["add",224,107,1,1,[256,128,64,36,20,8,2,1]],["add",224,22,1,1,[256,128,64,36,20,8,2,1]],["add",224,95,1,1,[256,128,64,36,20,8,2,1]],["add",224,64,1,1,[256,128,64,36,20,8,2,1]],["add",224,42,1,1,[256,128,64,36,20,8,2,1]],["add",224,16,1,1,[256,128,64,36,20,8,2,1]],["add",11,77,1,1,[256,128,66,32,18,8,4,1]],["add",11,35,1,1,[256,128,66,32,18,8,4,1]],["add",11,86,1,1,[256,128,66,32,18,8,4,1]],["add",11,26,1,1,[256,128,66,32,18,8,4,1]],["add",11,106,1,1,[256,128,66,32,18,8,4,1]],["add",11,37,1,1,[256,128,66,32,18,8,4,1]],["add",240,39,1,1,[256,128,65,33,17,9,5,3]],["add",240,23,1,1,[256,128,65,33,17,9,5,3]],["add",240,29,1,1,[256,128,65,33,17,9,5,3]],["add",240,65,1,1,[256,128,65,33,17,9,5,3]],["add",240,400,1,1,[256,128,65,33,17,9,5,3]],["add",240,20,1,1,[256,128,65,33,17,9,5,3]],["add",9,272,1,1,[256,128,65,33,16,8,4,2]],["add",9,320,1,1,[256,128,65,33,16,8,4,2]],["add",9,352,1,1,[256,128,65,33,16,8,4,2]],["add",9,368,1,1,[256,128,65,33,16,8,4,2]],["add",9,104,1,1,[256,128,65,33,16,8,4,2]],["add",9,110,1,1,[256,128,65,33,16,8,4,2]],["add",256,288,1,1,[256,128,68,32,16,12,2,1]],["add",256,304,1,1,[256,128,68,32,16,12,2,1]],["add",256,336,1,1,[256,128,68,32,16,12,2,1]],["add",256,384,1,1,[256,128,68,32,16,12,2,1]],["add",256,416,1,1,[256,128,68,32,16,12,2,1]],["add",256,432,1,1,[256,128,68,32,16,12,2,1]]],"B":[["add",162,518,-1,1,[30]],["add",172,518,1,1,[30]],["add",196,518,1,1,[30]],["add",140,506,1,1,[30]],["add",144,506,-1,1,[30]],["add",187,506,1,1,[30]],["add",168,554,1,1,[51]],["add",150,554,1,1,[51]],["add",115,554,-1,1,[51]],["add",131,566,1,1,[51]],["add",117,566,-1,1,[51]],["add",590,566,-1,1,[51]],["add",672,566,-2,1,[51]],["add",215,448,1,2,[51]],["add",129,448,1,2,[51]],["add",124,449,1,2,[51]],["add",212,449,1,2,[51]],["add",157,450,1,2,[30]],["add",219,450,1,2,[30]],["add",210,451,1,2,[30]],["add",160,451,1,2,[30]],["add",205,452,-1,1,[30]],["add",170,452,-1,1,[30]],["add",118,453,-1,1,[30]],["add",194,453,-1,1,[30]],["add",120,454,-1,1,[51]],["add",207,454,-1,1,[51]],["add",192,455,-1,1,[51]],["add",179,455,-1,1,[51]],["add",130,472,1,2,[51]],["add",213,473,1,2,[51]],["add",215,484,1,2,[51]],["add",124,485,1,2,[51]],["add",220,496,1,2,[30]],["add",161,497,1,2,[30]],["add",157,508,1,2,[30]],["add",210,509,1,2,[30]],["add",171,520,1,2,[30]],["add",195,521,1,2,[30]],["add",205,532,1,2,[30]],["add",118,533,1,2,[30]],["add",208,544,1,2,[51]],["add",180,545,1,2,[51]],["add",120,556,1,2,[51]],["add",192,557,1,2,[51]],["add",143,585,1,2,[51]],["add",168,584,1,2,[51]],["add",189,585,1,2,[51]],["add",187,586,1,2,[30]],["add",586,506,2,1,[30]],["add",136,586,1,2,[30]],["add",197,587,1,2,[30]],["add",147,587,1,2,[30]],["add",196,588,-1,1,[30]],["add",588,518,-1,1,[30]],["add",221,588,-1,1,[30]],["add",145,589,-1,1,[30]],["add",135,589,-1,1,[30]],["add",167,591,-1,1,[51]],["add",214,590,-1,1,[51]],["add",590,566,1,1,[51]],["add",151,591,-1,1,[51]],["add",188,592,1,4,[45]],["add",199,592,-1,4,[45]],["add",204,592,1,4,[45]],["add",193,592,-1,4,[45]],["add",188,593,1,4,[45]],["add",199,593,1,4,[45]],["add",204,593,1,4,[45]],["add",193,593,1,4,[45]],["add",188,594,1,4,[45]],["add",199,594,1,4,[45]],["add",204,594,1,4,[45]],["add",193,594,-1,4,[45]],["add",188,596,1,4,[45]],["add",199,596,-1,4,[45]],["add",204,596,-1,4,[45]],["add",193,596,-1,4,[45]],["add",183,600,1,4,[45]],["add",202,600,-1,4,[45]],["add",175,600,1,4,[45]],["add",123,600,-1,4,[45]],["add",183,601,1,4,[45]],["add",202,601,1,4,[45]],["add",175,601,1,4,[45]],["add",123,601,1,4,[45]],["add",183,602,1,4,[45]],["add",202,602,1,4,[45]],["add",175,602,1,4,[45]],["add",123,602,-1,4,[45]],["add",183,604,1,4,[45]],["add",202,604,-1,4,[45]],["add",175,604,-1,4,[45]],["add",123,604,-1,4,[45]],["add",114,608,1,4,[45]],["add",137,608,-1,4,[45]],["add",173,608,1,4,[45]],["add",121,608,-1,4,[45]],["add",114,609,1,4,[45]],["add",137,609,1,4,[45]],["add",173,609,1,4,[45]],["add",121,609,1,4,[45]],["add",114,610,1,4,[45]],["add",137,610,1,4,[45]],["add",173,610,1,4,[45]],["add",121,610,-1,4,[45]],["add",114,612,1,4,[45]],["add",137,612,-1,4,[45]],["add",173,612,-1,4,[45]],["add",121,612,-1,4,[45]],["add",212,616,1,4,[51]],["add",168,616,-1,4,[51]],["add",215,616,1,4,[51]],["add",189,616,-1,4,[51]],["add",212,617,1,4,[51]],["add",168,617,1,4,[51]],["add",215,617,1,4,[51]],["add",189,617,1,4,[51]],["add",212,618,1,4,[51]],["add",168,618,1,4,[51]],["add",215,618,1,4,[51]],["add",189,618,-1,4,[51]],["add",212,620,-1,2,[51]],["add",168,620,1,2,[51]],["add",215,620,1,2,[51]],["add",620,555,2,1,[51]],["add",189,620,1,2,[51]],["add",620,555,-2,1,[51]],["add",166,624,1,4,[51]],["add",214,624,-1,4,[51]],["add",130,624,1,4,[51]],["add",151,624,-1,4,[51]],["add",166,625,1,4,[51]],["add",214,625,1,4,[51]],["add",130,625,1,4,[51]],["add",151,625,1,4,[51]],["add",166,626,1,4,[51]],["add",214,626,1,4,[51]],["add",130,626,1,4,[51]],["add",151,626,-1,4,[51]],["add",166,628,-1,2,[51]],["add",628,566,-2,1,[51]],["add",214,628,1,2,[51]],["add",628,566,2,1,[51]],["add",130,628,1,2,[51]],["add",628,567,2,1,[51]],["add",151,628,1,2,[51]],["add",628,567,-2,1,[51]],["add",160,632,1,4,[30]],["add",144,632,-1,4,[30]],["add",157,632,1,4,[30]],["add",147,632,-1,4,[30]],["add",160,633,1,4,[30]],["add",144,633,1,4,[30]],["add",157,633,1,4,[30]],["add",147,633,1,4,[30]],["add",160,634,1,4,[30]],["add",144,634,1,4,[30]],["add",157,634,1,4,[30]],["add",147,634,-1,4,[30]],["add",160,636,-1,2,[30]],["add",636,506,2,1,[30]],["add",144,636,1,2,[30]],["add",636,506,-2,1,[30]],["add",157,636,1,2,[30]],["add",636,531,2,1,[30]],["add",147,636,1,2,[30]],["add",636,531,-2,1,[30]],["add",146,640,1,4,[30]],["add",162,640,-1,4,[30]],["add",220,640,1,4,[30]],["add",135,640,-1,4,[30]],["add",146,641,1,4,[30]],["add",641,518,4,1,[30]],["add",162,641,1,4,[30]],["add",641,518,-4,1,[30]],["add",220,641,1,4,[30]],["add",641,543,4,1,[30]],["add",135,641,1,4,[30]],["add",641,543,-4,1,[30]],["add",146,642,1,4,[30]],["add",162,642,1,4,[30]],["add",220,642,1,4,[30]],["add",135,642,-1,4,[30]],["add",146,644,-1,2,[30]],["add",162,644,1,2,[30]],["add",220,644,1,2,[30]],["add",135,644,1,2,[30]],["add",194,648,-1,2,[30]],["add",187,648,1,2,[30]],["add",205,648,-1,2,[30]],["add",198,648,1,2,[30]],["add",194,649,-1,2,[30]],["add",187,649,-1,2,[30]],["add",205,649,-1,2,[30]],["add",198,649,-1,2,[30]],["add",194,650,-1,2,[30]],["add",187,650,-1,2,[30]],["add",205,650,-1,2,[30]],["add",198,650,1,2,[30]],["add",194,652,-1,2,[30]],["add",187,652,1,2,[30]],["add",205,652,1,2,[30]],["add",198,652,1,2,[30]],["add",185,656,-1,2,[30]],["add",196,656,1,2,[30]],["add",171,656,-1,2,[30]],["add",141,656,1,2,[30]],["add",185,657,-1,2,[30]],["add",196,657,-1,2,[30]],["add",171,657,-1,2,[30]],["add",141,657,-1,2,[30]],["add",185,658,-1,2,[30]],["add",196,658,-1,2,[30]],["add",171,658,-1,2,[30]],["add",141,658,1,2,[30]],["add",185,660,-1,2,[30]],["add",196,660,1,2,[30]],["add",171,660,1,2,[30]],["add",141,660,1,2,[30]],["add",179,664,-1,2,[51]],["add",115,664,1,2,[51]],["add",120,664,-1,2,[51]],["add",138,664,1,2,[51]],["add",179,665,-1,2,[51]],["add",115,665,-1,2,[51]],["add",120,665,-1,2,[51]],["add",138,665,-1,2,[51]],["add",179,666,-1,2,[51]],["add",115,666,-1,2,[51]],["add",120,666,-1,2,[51]],["add",138,666,1,2,[51]],["add",179,668,-1,2,[51]],["add",115,668,1,2,[51]],["add",120,668,1,2,[51]],["add",138,668,1,2,[51]],["add",117,672,-1,2,[51]],["add",181,672,1,2,[51]],["add",672,566,2,1,[51]],["add",208,672,-1,2,[51]],["add",177,672,1,2,[51]],["add",117,673,-1,2,[51]],["add",181,673,-1,2,[51]],["add",208,673,-1,2,[51]],["add",177,673,-1,2,[51]],["add",117,674,-1,2,[51]],["add",181,674,-1,2,[51]],["add",208,674,-1,2,[51]],["add",177,674,1,2,[51]],["add",117,676,-1,2,[51]],["add",676,566,2,1,[51]],["add",181,676,1,2,[51]],["add",676,566,-2,1,[51]],["add",208,676,1,2,[51]],["add",177,676,1,2,[51]],["add",616,554,-2,1,[51]],["add",618,554,2,1,[51]],["add",664,554,-1,1,[51]],["add",666,554,1,1,[51]],["add",664,401,-1,1,[264,136,85,51]],["add",665,401,-1,1,[264,136,85,51]],["add",666,401,1,1,[264,136,85,51]],["add",664,403,1,1,[264,136,85,51]],["add",665,403,-1,1,[264,136,85,51]],["add",668,403,-1,1,[264,136,85,51]],["add",664,670,1,1,[264,136,85,51]],["add",666,670,-1,1,[264,136,85,51]],["add",668,670,-1,1,[264,136,85,51]],["add",665,671,-1,1,[264,136,85,51]],["add",666,671,1,1,[264,136,85,51]],["add",668,671,-1,1,[264,136,85,51]],["add",118,82,-1,2,[416,30]],["add",194,6,-1,2,[19,13]],["add",187,349,1,1,[70,30]],["add",113,351,1,1,[491,30]],["add",351,531,-1,1,[486,19,13]],["add",205,347,-1,2,[70,30]],["add",170,345,-1,2,[491,30]],["add",140,75,1,1,[416,30]],["add",198,1,1,1,[19,13]],["add",124,100,-1,2,[388,51]],["add",212,12,-1,2,[41,26]],["add",168,285,1,1,[81,51]],["add",143,287,1,1,[463,51]],["add",215,283,-1,2,[81,51]],["add",129,281,-1,2,[463,51]],["add",150,56,1,1,[388,51]],["add",189,31,1,1,[41,26]],["add",213,54,-1,2,[196,51]],["add",166,101,-1,2,[324,51]],["add",214,301,1,1,[273,51]],["add",167,303,1,1,[145,51]],["add",130,299,-1,2,[273,51]],["add",152,297,-1,2,[145,51]],["add",131,102,1,1,[196,51]],["add",151,55,1,1,[324,51]],["add",195,73,-1,2,[224,30]],["add",185,83,-1,2,[352,30]],["add",196,365,1,1,[262,30]],["add",186,367,1,1,[134,30]],["add",367,543,-1,1,[352,134,30]],["add",171,363,-1,2,[262,30]],["add",142,361,-1,2,[134,30]],["add",172,84,1,1,[224,30]],["add",141,74,1,1,[352,30]],["add",210,48,-1,2,[74,30]],["add",160,98,-1,2,[487,30]],["add",144,317,1,1,[385,30]],["add",197,319,1,1,[44,30]],["add",157,315,-1,2,[385,30]],["add",219,313,-1,2,[44,30]],["add",136,32,1,1,[74,30]],["add",32,506,-1,1,[385,74,30]],["add",147,85,1,1,[487,30]],["add",192,67,-1,2,[67,51]],["add",179,80,-1,2,[477,51]],["add",115,381,1,1,[392,51]],["add",200,383,1,1,[37,22]],["add",383,555,-1,1,[459,37,22]],["add",120,379,-1,2,[392,51]],["add",207,377,-1,2,[37,22]],["add",178,3,1,1,[67,51]],["add",3,554,-1,1,[392,67,51]],["add",138,88,1,1,[477,51]],["add",180,5,-1,2,[259,51]],["add",117,68,-1,2,[131,51]],["add",181,397,1,1,[200,51]],["add",116,399,1,1,[328,51]],["add",399,567,-1,1,[328,131,51]],["add",208,395,-1,2,[200,51]],["add",176,393,-1,2,[328,51]],["add",209,69,1,1,[259,51]],["add",69,566,-1,1,[259,200,51]],["add",177,4,1,1,[131,51]],["add",161,34,-1,2,[266,30]],["add",146,49,-1,2,[138,30]],["add",162,333,1,1,[193,30]],["add",145,335,1,1,[321,30]],["add",220,331,-1,2,[193,30]],["add",134,329,-1,2,[321,30]],["add",221,50,1,1,[266,30]],["add",50,518,-1,1,[266,193,30]],["add",135,33,1,1,[138,30]],["add",112,76,-1,2,[448,45]],["add",188,0,-1,2,[38,11]],["add",183,72,-1,2,[400,45]],["add",182,2,-1,2,[35,14]],["add",114,70,-1,2,[208,45]],["add",184,71,-1,2,[336,45]],["add",76,0,1,1,[448,38,11]],["add",71,72,1,1,[336,192,45]],["add",2,70,1,1,[208,35,14]],["add",112,71,-1,2,[256,144,80,42,7]],["add",182,76,-1,2,[448,33,9,5,2]],["add",184,2,-1,2,[336,208,35,9,7]],["add",188,184,1,1,[336,208,33,9,5,2]],["add",183,182,1,1,[400,80,33,9,5,2]],["add",114,112,1,1,[256,128,64,42,16,7]],["add",112,2,-1,2,[256,128,64,35,16,9,7]],["add",188,72,-1,2,[320,192,33,16,9,5,2]],["add",183,70,-1,2,[272,128,80,33,9,5,2]],["add",182,71,-1,2,[256,144,80,33,9,5,2]],["add",114,0,-1,2,[256,128,64,33,16,11,7]],["add",184,76,-1,2,[272,144,64,33,9,5,2]],["add",139,239,1,1,[478,45]],["add",193,27,1,1,[38,11]],["add",126,13,-1,2,[73,45]],["add",127,78,-1,2,[471,45]],["add",190,15,-1,2,[265,45]],["add",125,14,-1,2,[137,45]],["add",239,27,1,1,[469,38,11]],["add",14,13,1,1,[137,73,45]],["add",78,15,1,1,[265,222,45]],["add",139,14,-1,2,[263,137,73,45,25]],["add",127,239,1,1,[453,36,16,9,2]],["add",125,78,-1,2,[265,137,78,45,25]],["add",193,125,1,1,[258,130,69,38,18,11]],["add",126,127,1,1,[389,64,36,16,9,2]],["add",190,139,1,1,[263,135,71,35,23,14]],["add",139,78,-1,2,[256,128,64,35,16,9,7]],["add",193,13,-1,2,[258,130,66,33,18,11,7]],["add",126,15,-1,2,[256,133,64,36,16,9,2]],["add",127,14,-1,2,[261,128,64,36,16,9,2]],["add",190,27,1,1,[258,130,66,35,18,11,5]],["add",125,239,1,1,[256,128,69,36,16,9,2]],["add",203,255,1,1,[261,45]],["add",123,91,1,1,[208,45]],["add",218,36,-1,2,[146,45]],["add",165,21,-1,2,[268,45]],["add",133,53,1,1,[265,45]],["add",148,415,1,1,[194,45]],["add",255,91,1,1,[261,208,45]],["add",415,36,-1,2,[146,80,45]],["add",21,53,-2,1,[265,40,5]],["add",203,415,1,1,[261,144,80,45,2]],["add",165,255,1,1,[261,130,82,36,9]],["add",148,21,-1,2,[265,144,82,40,5]],["add",123,148,1,1,[265,130,64,40,18,5]],["add",218,165,1,1,[261,130,66,36,16,9]],["add",133,203,1,1,[261,144,80,33,12,2]],["add",203,21,-1,2,[256,144,80,33,9,5,2]],["add",123,36,-1,2,[265,128,64,40,16,5,2]],["add",218,53,1,1,[256,130,66,33,16,9,5]],["add",165,415,1,1,[261,128,64,36,16,9,2]],["add",133,91,1,1,[261,128,64,33,16,12,2]],["add",148,255,1,1,[256,130,64,33,18,9,5]],["add",201,271,1,1,[69,45]],["add",121,89,1,1,[400,45]],["add",216,111,1,1,[146,45]],["add",163,447,1,1,[274,45]],["add",222,51,1,1,[73,45]],["add",223,431,1,1,[386,45]],["add",271,89,1,1,[400,69,45]],["add",431,111,1,1,[272,146,45]],["add",447,51,1,1,[274,73,45]],["add",201,431,1,1,[272,146,69,36,9]],["add",163,271,1,1,[274,130,69,36,9]],["add",223,447,1,1,[274,144,73,40,5]],["add",121,223,1,1,[256,130,73,40,18,5]],["add",216,163,1,1,[258,130,69,36,16,9]],["add",222,201,1,1,[272,146,64,33,9,5]],["add",201,447,1,1,[272,144,64,33,9,5,2]],["add",121,111,1,1,[256,128,73,40,16,5,2]],["add",216,51,1,1,[258,130,64,33,16,9,5]],["add",163,431,1,1,[256,128,69,36,16,9,2]],["add",222,89,1,1,[258,128,64,33,18,9,5]],["add",223,271,1,1,[256,130,64,33,18,9,5]],["add",191,25,1,1,[35,14]],["add",137,269,1,1,[475,45]],["add",211,445,1,1,[140,45]],["add",156,47,1,1,[268,45]],["add",159,429,1,1,[45,28]],["add",158,99,1,1,[471,45]],["add",25,269,1,1,[469,35,14]],["add",99,445,1,1,[347,140,45]],["add",47,429,1,1,[268,45,28]],["add",191,99,1,1,[279,130,66,35,14]],["add",156,25,1,1,[258,149,66,35,14]],["add",158,47,1,1,[268,139,76,45,28]],["add",137,158,1,1,[256,135,64,33,16,12]],["add",211,156,1,1,[258,130,66,35,23,14]],["add",159,191,1,1,[261,130,66,35,18,14]],["add",191,47,1,1,[258,130,66,35,18,9,7]],["add",137,445,1,1,[256,128,64,33,16,11,7]],["add",211,429,1,1,[258,130,66,35,18,11,5]],["add",156,99,1,1,[256,128,64,33,21,12,2]],["add",159,269,1,1,[261,128,64,33,16,12,2]],["add",158,25,1,1,[256,133,64,33,16,12,2]],["add",169,233,-1,2,[478,45]],["add",204,235,-1,2,[45,21]],["add",175,267,-1,2,[475,45]],["add",174,265,-1,2,[69,45]],["add",173,251,-1,2,[133,45]],["add",206,249,-1,2,[261,45]],["add",233,235,1,1,[459,45,21]],["add",249,267,1,1,[261,222,45]],["add",265,251,1,1,[133,69,45]],["add",169,249,-1,2,[256,217,40,5,2]],["add",174,233,-1,2,[393,66,42,18,7]],["add",206,265,-1,2,[258,130,66,42,7]],["add",204,206,1,1,[258,130,66,42,18,7]],["add",175,174,1,1,[393,64,40,16,5,2]],["add",173,169,1,1,[256,128,89,40,5,2]],["add",169,265,-1,2,[256,128,64,40,25,5,2]],["add",204,267,-1,2,[258,130,66,33,18,11,7]],["add",175,251,-1,2,[265,128,64,40,16,5,2]],["add",174,249,-1,2,[256,137,64,40,16,5,2]],["add",173,235,-1,2,[256,128,73,40,16,5,2]],["add",206,233,-1,2,[258,130,66,35,18,9,7]],["add",119,87,1,1,[448,45]],["add",199,237,1,1,[45,21]],["add",153,427,-1,2,[45,28]],["add",154,425,-1,2,[386,45]],["add",155,411,-1,2,[322,45]],["add",128,409,-1,2,[194,45]],["add",87,237,1,1,[448,45,21]],["add",409,427,1,1,[194,45,28]],["add",425,411,1,1,[322,192,45]],["add",119,409,-1,2,[258,194,40,25,5]],["add",154,87,1,1,[386,66,33,21,12]],["add",128,425,-1,2,[320,192,45,2]],["add",199,128,1,1,[320,192,33,21,12,2]],["add",153,154,1,1,[386,66,33,16,9,5]],["add",155,119,1,1,[258,130,64,40,25,5]],["add",119,425,-1,2,[256,128,64,40,25,5,2]],["add",199,427,-1,2,[320,192,33,16,9,5,2]],["add",153,411,-1,2,[256,130,66,33,16,9,5]],["add",154,409,-1,2,[258,128,66,33,16,9,5]],["add",155,237,1,1,[258,130,64,33,16,9,5]],["add",128,87,1,1,[256,128,64,33,21,12,2]],["add",122,90,1,1,[336,45]],["add",202,253,1,1,[133,45]],["add",164,443,-1,2,[140,45]],["add",217,441,-1,2,[274,45]],["add",149,413,1,1,[322,45]],["add",132,52,1,1,[137,45]],["add",90,253,1,1,[336,133,45]],["add",52,443,-1,2,[137,40,5]],["add",441,413,-2,1,[274,80,45]],["add",122,52,1,1,[258,137,82,40,5]],["add",217,90,1,1,[258,133,66,45,16]],["add",132,441,-1,2,[272,137,80,45,2]],["add",202,132,1,1,[272,133,80,33,12,2]],["add",164,217,1,1,[258,133,66,36,16,9]],["add",149,122,1,1,[258,137,64,40,18,5]],["add",122,441,-1,2,[256,137,64,40,16,5,2]],["add",202,443,-1,2,[272,128,80,33,9,5,2]],["add",164,413,1,1,[256,133,64,36,16,9,2]],["add",217,52,1,1,[258,128,66,33,16,9,5]],["add",149,253,1,1,[258,128,64,33,18,9,5]],["add",132,90,1,1,[256,133,64,33,16,12,2]],["add",448,231,1,1,[459,38,21]],["add",449,226,1,1,[448,51,11]],["add",450,230,1,1,[448,38,30]],["add",451,228,1,1,[486,21,11]],["add",452,232,1,1,[459,38,30]],["add",453,7,1,1,[448,21,11]],["add",454,236,1,1,[448,38,21]],["add",455,238,1,1,[469,51,11]],["add",456,247,1,1,[261,133,82,42]],["add",457,242,1,1,[258,130,82,42]],["add",458,246,1,1,[261,130,85,42]],["add",459,244,1,1,[258,133,85,42]],["add",460,248,1,1,[296,168,82,7]],["add",461,10,1,1,[258,130,82,7]],["add",462,252,1,1,[296,130,120,7]],["add",463,254,1,1,[258,168,120,7]],["add",464,263,1,1,[407,69,36,14]],["add",465,258,1,1,[400,66,35,9]],["add",466,262,1,1,[407,69,35,9]],["add",467,260,1,1,[400,66,36,14]],["add",468,264,1,1,[435,97,9,7]],["add",469,79,1,1,[400,66,35,7]],["add",470,268,1,1,[409,75,35,7]],["add",471,270,1,1,[400,66,9,7]],["add",283,281,1,1,[414,81,51]],["add",277,281,-1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",100,12,1,1,[388,41,26]],["add",273,12,-1,1,[388,75,41,26]],["add",56,285,1,1,[388,81,51]],["add",282,285,-1,1,[388,75,41,26]],["scale",282,-1,1,[388,75,41,26]],["add",287,31,1,1,[463,41,26]],["add",275,31,-1,1,[388,75,41,26]],["add",472,283,1,1,[414,81,51]],["add",472,231,1,1,[387,64,34,17,8,4]],["add",473,100,1,1,[388,41,26]],["add",473,226,1,1,[388,68,33,17,8,3]],["add",474,279,1,1,[388,72,42,26]],["add",475,274,1,1,[413,81,41,3]],["add",476,278,1,1,[391,75,42,26]],["add",477,276,1,1,[388,72,41,3]],["add",478,280,1,1,[388,72,25,3]],["add",479,38,1,1,[391,75,41,25]],["add",480,284,1,1,[429,97,25,3]],["add",481,286,1,1,[388,72,41,25]],["add",273,56,1,1,[388,81,48,3]],["add",275,287,1,1,[391,72,41,26]],["add",299,297,1,1,[273,145,51]],["add",293,297,-1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",54,101,1,1,[324,196,51]],["add",289,101,-1,1,[273,145,85,51]],["add",102,301,1,1,[273,196,51]],["add",298,301,-1,1,[273,145,85,51]],["scale",298,-1,1,[273,145,85,51]],["add",303,55,1,1,[324,145,51]],["add",291,55,-1,1,[273,145,85,51]],["add",55,101,1,2,[273,145,85,51]],["add",101,55,-1,1,[273,145,85,51]],["add",484,299,1,1,[273,145,51]],["add",484,448,1,1,[260,132,71,38,21,12]],["add",485,54,1,1,[324,196,51]],["add",485,449,1,1,[260,132,64,33,18,11]],["add",486,295,1,1,[273,136,85,42]],["add",487,290,1,1,[264,145,85,42]],["add",488,294,1,1,[264,136,76,42]],["add",489,292,1,1,[273,145,76,42]],["add",490,296,1,1,[290,136,102,25]],["add",491,19,1,1,[264,162,102,25]],["add",492,300,1,1,[264,136,76,25]],["add",493,302,1,1,[290,162,76,25]],["add",289,102,1,1,[273,136,76,51]],["add",291,303,1,1,[264,145,76,51]],["add",315,313,1,1,[385,44,30]],["add",309,313,-1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",48,98,1,1,[429,74,30]],["add",305,98,-1,1,[385,74,44,30]],["add",32,317,1,1,[385,74,30]],["add",314,317,-1,1,[385,74,44,30]],["scale",314,-1,1,[385,74,44,30]],["add",319,85,1,1,[459,44,30]],["add",307,85,-1,1,[385,74,44,30]],["add",85,98,1,2,[385,74,44,30]],["add",98,85,-1,1,[385,74,44,30]],["add",496,315,1,1,[385,44,30]],["add",496,230,1,1,[385,65,32,18,10,6]],["add",497,48,1,1,[429,74,30]],["add",497,228,1,1,[390,64,32,20,10,1]],["add",498,311,1,1,[385,74,50]],["add",499,306,1,1,[415,84,44]],["add",500,310,1,1,[415,84,50]],["add",501,308,1,1,[385,74,44]],["add",502,312,1,1,[415,74,44]],["add",503,24,1,1,[385,84,50]],["add",504,316,1,1,[385,84,44]],["add",505,318,1,1,[415,74,50]],["add",506,32,1,1,[385,74,30]],["add",305,319,1,1,[391,76,44,30]],["add",331,329,1,1,[321,193,30]],["add",325,329,-1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",34,49,1,1,[266,138,30]],["add",321,49,-1,1,[266,138,75,30]],["add",50,333,1,1,[266,193,30]],["add",330,333,-1,1,[266,138,75,30]],["scale",330,-1,1,[266,138,75,30]],["add",335,33,1,1,[321,138,30]],["add",323,33,-1,1,[266,138,75,30]],["add",33,49,1,2,[266,138,75,30]],["add",49,33,-1,1,[266,138,75,30]],["add",508,331,1,1,[321,193,30]],["add",508,450,1,1,[257,129,64,38,18,12]],["add",509,34,1,1,[266,138,30]],["add",509,451,1,1,[257,129,71,33,21,11]],["add",510,327,1,1,[276,138,85]],["add",511,322,1,1,[266,148,85]],["add",512,326,1,1,[266,138,75]],["add",513,324,1,1,[276,148,75]],["add",514,328,1,1,[276,138,75]],["add",515,109,1,1,[266,148,75]],["add",516,332,1,1,[266,138,85]],["add",517,334,1,1,[276,148,85]],["add",518,50,1,1,[266,193,30]],["add",321,335,1,1,[288,138,97,30]],["add",347,345,1,1,[429,70,30]],["add",341,345,-1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",82,6,1,1,[416,19,13]],["add",337,6,-1,1,[416,70,19,13]],["add",75,349,1,1,[416,70,30]],["add",346,349,-1,1,[416,70,19,13]],["scale",346,-1,1,[416,70,19,13]],["add",351,1,1,1,[486,19,13]],["add",339,1,-1,1,[416,70,19,13]],["add",520,347,1,1,[429,70,30]],["add",520,232,-2,1,[394,64,32,24,6,1]],["add",521,82,1,1,[416,19,13]],["add",521,7,-2,1,[416,96,18,10,6,1]],["add",522,343,1,1,[416,65,19,7]],["add",523,338,1,1,[435,82,10,7]],["add",524,342,1,1,[426,75,19,7]],["add",525,340,1,1,[416,65,10,7]],["add",526,344,1,1,[416,65,19,10]],["add",527,28,1,1,[423,70,20,13]],["add",528,348,1,1,[423,70,19,10]],["add",529,350,1,1,[416,65,20,13]],["add",530,75,1,1,[416,70,30]],["add",531,351,1,1,[486,19,13]],["add",363,361,1,1,[262,134,30]],["add",357,361,-1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",73,83,1,1,[352,224,30]],["add",353,83,-1,1,[262,134,102,30]],["add",84,365,1,1,[262,224,30]],["add",362,365,-1,1,[262,134,102,30]],["scale",362,-1,1,[262,134,102,30]],["add",367,74,1,1,[352,134,30]],["add",355,74,-1,1,[262,134,102,30]],["add",74,83,1,2,[262,134,102,30]],["add",83,74,-1,1,[262,134,102,30]],["add",532,363,1,1,[262,134,30]],["add",532,452,-2,1,[257,129,75,33,25,7]],["add",533,73,1,1,[352,224,30]],["add",533,453,-2,1,[288,160,64,18,11,7]],["add",534,359,1,1,[280,129,120,7]],["add",535,354,1,1,[257,152,120,7]],["add",536,358,1,1,[257,129,97,7]],["add",537,356,1,1,[280,152,97,7]],["add",538,360,1,1,[262,129,102,25]],["add",539,60,1,1,[257,134,102,25]],["add",540,364,1,1,[257,129,97,25]],["add",541,366,1,1,[262,134,97,25]],["add",542,84,1,1,[262,224,30]],["add",543,367,1,1,[352,134,30]],["add",379,377,1,1,[392,37,22]],["add",373,377,-1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",67,80,1,1,[414,67,51]],["add",369,80,-1,1,[392,67,37,22]],["add",3,381,1,1,[392,67,51]],["add",378,381,-1,1,[392,67,37,22]],["scale",378,-1,1,[392,67,37,22]],["add",383,88,1,1,[459,37,22]],["add",371,88,-1,1,[392,67,37,22]],["add",88,80,1,2,[392,67,37,22]],["add",80,88,-1,1,[392,67,37,22]],["add",544,379,1,1,[392,37,22]],["add",544,236,-2,1,[392,72,33,17,4,3]],["add",545,67,1,1,[414,67,51]],["add",545,238,-2,1,[401,64,48,8,4,3]],["add",546,375,1,1,[392,67,22]],["add",547,370,1,1,[414,85,37]],["add",548,374,1,1,[429,102,22]],["add",549,372,1,1,[392,67,37]],["add",550,376,1,1,[414,67,37]],["add",551,66,1,1,[392,102,22]],["add",552,380,1,1,[392,85,37]],["add",553,382,1,1,[429,67,22]],["add",554,3,1,1,[392,67,51]],["add",555,383,1,1,[459,37,22]],["add",395,393,1,1,[328,200,51]],["add",389,393,-1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",5,68,1,1,[259,131,51]],["add",385,68,-1,1,[259,131,75,51]],["add",69,397,1,1,[259,200,51]],["add",394,397,-1,1,[259,131,75,51]],["scale",394,-1,1,[259,131,75,51]],["add",399,4,1,1,[328,131,51]],["add",387,4,-1,1,[259,131,75,51]],["add",556,395,1,1,[328,200,51]],["add",556,454,-2,1,[264,136,64,33,18,7]],["add",557,5,1,1,[259,131,51]],["add",557,455,-2,1,[259,131,82,51,11,7]],["add",558,391,1,1,[304,131,120]],["add",559,386,1,1,[259,176,120]],["add",560,390,1,1,[259,131,75]],["add",561,388,1,1,[304,176,75]],["add",562,392,1,1,[304,131,75]],["add",563,97,1,1,[259,176,75]],["add",564,396,1,1,[259,131,120]],["add",565,398,1,1,[304,176,120]],["add",566,69,1,1,[259,200,51]],["add",567,399,1,1,[328,131,51]],["add",568,407,1,1,[292,164,75]],["add",569,402,1,1,[265,137,75]],["add",570,406,1,1,[292,137,102]],["add",571,404,1,1,[265,164,102]],["add",572,408,1,1,[292,164,102]],["add",573,105,1,1,[265,137,102]],["add",574,412,1,1,[292,137,75]],["add",575,414,1,1,[265,164,75]],["add",576,423,1,1,[431,100,28]],["add",577,418,1,1,[386,73,49]],["add",578,422,1,1,[414,85,49]],["add",579,420,1,1,[386,73,28]],["add",580,424,1,1,[386,85,49]],["add",581,44,1,1,[431,73,28]],["add",582,428,1,1,[386,100,28]],["add",583,430,1,1,[414,73,49]],["add",584,439,1,1,[268,140,51]],["add",585,434,1,1,[274,146,51]],["add",383,585,-1,2,[260,132,68,37,22,15]],["add",287,434,-1,2,[264,136,72,41,26,7]],["add",586,438,1,1,[289,161,30]],["add",587,436,1,1,[268,140,30]],["add",351,587,-1,2,[257,129,65,39,19,13]],["add",319,436,-1,2,[267,139,75,43,25,7]],["add",588,440,1,1,[268,161,30]],["add",589,46,1,1,[289,140,30]],["add",367,589,1,1,[257,134,65,32,20,10]],["add",335,46,1,1,[288,138,96,24,6,1]],["add",590,444,1,1,[274,140,51]],["add",591,446,1,1,[268,146,51]],["add",399,591,1,1,[260,131,68,34,17,8]],["add",303,446,1,1,[264,145,72,48,4,3]],["add",129,299,-1,2,[273,145,79,51]],["add",212,54,-1,2,[324,196,41,26]],["add",168,554,1,1,[392,64,33,17,3]],["add",150,439,-1,2,[264,136,51,4]],["add",143,555,1,1,[395,64,33,18,4]],["add",152,283,-1,2,[271,145,81,51]],["add",166,100,-1,2,[324,192,41,26]],["add",214,566,1,1,[259,132,76,33,18]],["add",131,444,1,1,[274,136,72,51,4]],["add",167,567,1,1,[260,131,76,33,18]],["add",219,331,-1,2,[321,193,44,30]],["add",160,34,-1,2,[266,138,103,30]],["add",144,530,1,1,[385,70,33,30]],["add",136,586,-1,2,[289,161,64,18,10,6]],["add",197,531,1,1,[390,65,33,19,13]],["add",134,315,-1,2,[321,192,44,30]],["add",146,48,-1,2,[295,138,74,30]],["add",162,542,1,1,[262,193,33,30]],["add",221,588,1,1,[256,161,97,18,10,6]],["add",145,543,1,1,[257,134,64,33,30]],["add",170,363,-1,2,[262,134,107,30]],["add",194,73,-1,2,[352,224,19,13]],["add",187,506,1,1,[385,70,18,12]],["add",140,438,-1,2,[256,128,76,32,30,1]],["add",113,305,1,1,[391,64,32,18,12]],["add",142,347,-1,2,[299,134,70,30]],["add",185,82,-1,2,[352,192,19,13]],["add",196,518,1,1,[262,193,18,12]],["add",172,440,1,1,[268,128,64,32,30,1]],["add",186,321,1,1,[288,134,97,18,12]],["add",207,395,-1,2,[328,200,37,22]],["add",179,5,-1,2,[259,131,93,51]],["add",115,273,1,1,[388,81,48,12,3]],["add",56,439,-1,2,[264,136,81,48,4,3]],["add",200,275,1,1,[391,68,37,22,12]],["add",176,379,-1,2,[328,192,37,22]],["add",117,67,-1,2,[285,131,67,51]],["add",181,289,1,1,[273,132,64,51,12]],["add",102,444,1,1,[273,136,72,48,4,3]],["add",116,291,1,1,[260,145,64,51,12]],["add",283,299,1,1,[271,143,79,45,30]],["add",100,54,1,1,[320,192,41,26,4]],["add",315,331,1,1,[320,192,44,30,1]],["add",48,34,1,1,[266,138,74,45,30]],["add",347,363,1,1,[262,134,70,45,30]],["add",82,73,1,1,[320,192,32,19,13]],["add",379,395,1,1,[320,192,37,22,8]],["add",67,5,1,1,[259,131,67,45,30]],["add",279,311,1,1,[385,72,40,24,5,2]],["add",274,306,1,1,[408,80,40,4,2,1]],["add",295,327,1,1,[273,136,80,40,5,2]],["add",290,322,1,1,[264,145,80,40,5,2]],["add",343,375,1,1,[392,65,40,17,5,2]],["add",338,370,1,1,[401,80,32,8,5,2]],["add",359,391,1,1,[280,129,80,40,5,2]],["add",354,386,1,1,[257,152,80,40,5,2]],["add",278,326,1,1,[266,138,75,42,26,7]],["add",276,324,1,1,[272,144,72,41,4,3]],["add",294,310,1,1,[264,136,75,42,24,7]],["add",292,308,1,1,[272,144,74,42,6,1]],["add",358,374,1,1,[257,129,75,42,17,7]],["add",356,372,1,1,[272,144,67,34,8,7]],["add",342,390,1,1,[259,131,75,42,19,7]],["add",340,388,1,1,[272,144,65,32,10,7]],["add",247,498,1,1,[260,132,74,42,24,1]],["add",242,499,1,1,[258,130,75,42,25,6]],["add",263,512,1,1,[260,132,69,36,23,14]],["add",258,513,1,1,[260,132,66,35,16,9]],["add",344,407,-1,2,[260,132,65,32,19,10]],["add",28,402,-1,2,[260,132,70,39,20,13]],["add",364,423,-1,2,[257,129,75,42,25,5]],["add",366,418,-1,2,[260,132,73,40,25,2]],["add",246,510,1,1,[261,130,68,34,17,8]],["add",244,511,1,1,[258,133,68,34,17,8]],["add",262,500,1,1,[390,68,34,16,8,1]],["add",260,501,1,1,[385,66,34,17,8,6]],["add",360,406,-1,2,[262,129,68,34,17,8]],["add",60,404,-1,2,[257,134,68,34,17,8]],["add",348,422,-1,2,[389,68,32,17,8,2]],["add",350,420,-1,2,[386,65,34,17,8,5]],["add",456,474,1,1,[257,129,72,42,26,4]],["add",457,475,1,1,[257,129,76,41,29,3]],["add",466,488,1,1,[257,129,69,35,23,9]],["add",467,489,1,1,[257,129,66,36,16,14]],["add",376,408,1,1,[257,129,67,37,30]],["add",66,105,1,1,[257,129,102,22,8]],["add",396,428,1,1,[257,129,100,28,2]],["add",398,430,1,1,[257,129,73,47,30]],["add",458,486,1,1,[261,130,65,32,20,10]],["add",459,487,1,1,[258,133,65,32,20,10]],["add",464,476,1,1,[387,65,32,16,10,4]],["add",465,477,1,1,[388,65,32,20,9,3]],["add",392,412,1,1,[292,131,65,20,10]],["add",97,414,1,1,[259,164,65,20,10]],["add",380,424,1,1,[386,65,37,20,10]],["add",382,44,1,1,[421,65,20,8,2]],["add",248,546,-1,2,[288,160,67,17,8,7]],["add",10,547,-1,2,[258,130,75,34,25,7]],["add",268,560,-1,2,[259,131,75,35,25,7]],["add",270,561,-1,2,[288,160,66,16,9,7]],["add",280,568,-1,2,[288,160,72,25,4,3]],["add",38,569,-1,2,[265,137,75,41,25,7]],["add",300,578,-1,2,[264,136,75,40,25,7]],["add",302,579,-1,2,[288,160,73,25,5,2]],["add",252,558,-1,2,[296,130,96,24,6,1]],["add",254,559,-1,2,[258,168,96,24,6,1]],["add",264,548,-1,2,[418,96,16,8,6,1]],["add",79,549,-1,2,[392,66,34,24,6,1]],["add",296,570,-1,2,[290,136,96,24,6,1]],["add",19,571,-1,2,[264,162,96,24,6,1]],["add",284,576,-1,2,[424,96,24,4,2,1]],["add",286,577,-1,2,[386,72,40,24,6,1]],["add",460,522,-1,2,[264,136,65,32,19,7]],["add",461,523,-1,2,[258,130,82,51,10,7]],["add",468,536,-1,2,[257,129,82,51,9,7]],["add",469,537,-1,2,[264,136,66,35,16,7]],["add",312,572,1,1,[264,136,74,44,31]],["add",24,573,1,1,[264,136,84,50,1]],["add",332,580,1,1,[264,136,85,49,2]],["add",334,581,1,1,[264,136,73,47,28]],["add",462,534,-1,2,[280,129,72,48,4,3]],["add",463,535,-1,2,[257,152,72,48,4,3]],["add",470,524,-1,2,[393,72,32,16,4,3]],["add",471,525,-1,2,[400,65,48,9,4,3]],["add",328,574,1,1,[276,137,72,48,3]],["add",109,575,1,1,[265,148,72,48,3]],["add",316,582,1,1,[385,72,44,28,3]],["add",318,583,1,1,[412,72,48,2,1]],["add",478,526,1,1,[388,65,36,16,9,3]],["add",479,527,1,1,[387,66,32,16,9,4]],["add",490,538,1,1,[262,129,66,36,16,9]],["add",491,539,1,1,[257,134,66,36,16,9]],["add",502,550,1,1,[406,66,36,8,1]],["add",503,551,1,1,[385,66,36,22,9]],["add",514,562,1,1,[276,131,66,36,9]],["add",515,563,1,1,[259,148,66,36,9]],["add",480,540,1,1,[257,129,76,45,25,3]],["add",481,541,1,1,[258,130,72,41,25,4]],["add",492,528,1,1,[258,130,70,39,19,10]],["add",493,529,1,1,[258,130,65,32,20,13]],["add",516,552,1,1,[258,130,85,37,8]],["add",517,553,1,1,[258,130,67,45,22]],["add",504,564,1,1,[258,130,84,44,1]],["add",505,565,1,1,[258,130,74,45,31]],["add",273,554,1,1,[388,64,33,17,12,3]],["add",275,555,1,1,[387,64,33,18,8,4]],["add",506,530,1,1,[385,70,33,18,12]],["add",305,531,1,1,[390,64,32,18,12,1]],["add",518,542,1,1,[262,193,33,18,12]],["add",321,543,1,1,[257,134,64,33,18,12]],["add",289,566,1,1,[259,132,64,33,18,12]],["add",291,567,1,1,[260,131,64,33,18,12]],["add",592,349,-1,1,[320,192,45,30]],["add",593,349,-1,1,[320,192,45,30]],["add",594,349,1,1,[320,192,45,30]],["add",592,243,1,1,[320,192,45,30]],["add",593,243,-1,1,[320,192,45,30]],["add",596,243,-1,1,[320,192,45,30]],["add",592,365,1,1,[320,192,45,30]],["add",594,365,-1,1,[320,192,45,30]],["add",596,365,-1,1,[320,192,45,30]],["add",593,361,-1,1,[320,192,45,30]],["add",594,361,1,1,[320,192,45,30]],["add",596,361,-1,1,[320,192,45,30]],["add",592,283,1,1,[271,143,79,45,30]],["add",593,100,1,1,[320,192,41,26,4]],["add",594,315,1,1,[320,192,44,30,1]],["add",349,48,1,1,[266,138,74,45,30]],["add",596,347,1,1,[262,134,70,45,30]],["add",243,82,1,1,[320,192,32,19,13]],["add",365,379,1,1,[320,192,37,22,8]],["add",361,67,1,1,[259,131,67,45,30]],["add",600,564,-1,1,[409,80,40,5,2]],["add",601,564,-1,1,[409,80,40,5,2]],["add",602,564,1,1,[409,80,40,5,2]],["add",600,565,1,1,[409,80,40,5,2]],["add",601,565,-1,1,[409,80,40,5,2]],["add",604,565,-1,1,[409,80,40,5,2]],["add",600,550,1,1,[409,80,40,5,2]],["add",602,550,-1,1,[409,80,40,5,2]],["add",604,550,-1,1,[409,80,40,5,2]],["add",601,405,-1,1,[409,80,40,5,2]],["add",602,405,1,1,[409,80,40,5,2]],["add",604,405,-1,1,[409,80,40,5,2]],["add",600,279,1,1,[385,72,40,24,5,2]],["add",601,274,1,1,[408,80,40,4,2,1]],["add",602,295,1,1,[273,136,80,40,5,2]],["add",564,290,1,1,[264,145,80,40,5,2]],["add",604,343,1,1,[392,65,40,17,5,2]],["add",565,338,1,1,[401,80,32,8,5,2]],["add",550,359,1,1,[280,129,80,40,5,2]],["add",405,354,1,1,[257,152,80,40,5,2]],["add",608,410,-1,1,[144,75,42,7]],["add",609,410,-1,1,[144,75,42,7]],["add",610,410,1,1,[144,75,42,7]],["add",608,417,1,1,[144,75,42,7]],["add",609,417,-1,1,[144,75,42,7]],["add",612,417,-1,1,[144,75,42,7]],["add",608,419,1,1,[144,75,42,7]],["add",610,419,-1,1,[144,75,42,7]],["add",612,419,-1,1,[144,75,42,7]],["add",609,421,-1,1,[144,75,42,7]],["add",610,421,1,1,[144,75,42,7]],["add",612,421,-1,1,[144,75,42,7]],["add",608,278,1,1,[266,138,75,42,26,7]],["add",609,276,1,1,[272,144,72,41,4,3]],["add",610,294,1,1,[264,136,75,42,24,7]],["add",410,292,1,1,[272,144,74,42,6,1]],["add",612,358,1,1,[257,129,75,42,17,7]],["add",417,356,1,1,[272,144,67,34,8,7]],["add",419,342,1,1,[259,131,75,42,19,7]],["add",421,340,1,1,[272,144,65,32,10,7]],["scale",68,1,2,[259,131,75,51]],["add",68,4,-1,1,[259,131,75,51]],["add",31,12,1,2,[388,75,41,26]],["add",616,1,-1,1,[260,132,75,51]],["add",617,1,-1,1,[260,132,75,51]],["add",618,1,1,1,[260,132,75,51]],["add",616,4,-2,1,[260,132,75,51]],["add",617,4,2,1,[260,132,75,51]],["add",620,4,-1,1,[260,132,75,51]],["add",616,6,-2,1,[260,132,75,51]],["add",618,6,2,1,[260,132,75,51]],["add",620,6,-1,1,[260,132,75,51]],["add",617,12,2,1,[260,132,75,51]],["add",618,12,-2,1,[260,132,75,51]],["add",620,12,-1,1,[260,132,75,51]],["add",616,247,1,1,[260,132,74,42,24,1]],["add",617,242,1,1,[258,130,75,42,25,6]],["add",618,263,1,1,[260,132,69,36,23,14]],["add",1,258,1,1,[260,132,66,35,16,9]],["add",620,344,1,1,[260,132,65,32,19,10]],["add",4,28,1,1,[260,132,70,39,20,13]],["add",6,364,1,1,[257,129,75,42,25,5]],["add",12,366,1,1,[260,132,73,40,25,2]],["add",624,426,-1,1,[68,34,17,8]],["add",625,426,-1,1,[68,34,17,8]],["add",626,426,1,1,[68,34,17,8]],["add",624,433,-2,1,[68,34,17,8]],["add",625,433,2,1,[68,34,17,8]],["add",628,433,-1,1,[68,34,17,8]],["add",624,435,-2,1,[68,34,17,8]],["add",626,435,2,1,[68,34,17,8]],["add",628,435,-1,1,[68,34,17,8]],["add",625,437,2,1,[68,34,17,8]],["add",626,437,-2,1,[68,34,17,8]],["add",628,437,-1,1,[68,34,17,8]],["add",624,246,1,1,[261,130,68,34,17,8]],["add",625,244,1,1,[258,133,68,34,17,8]],["add",626,262,1,1,[390,68,34,16,8,1]],["add",426,260,1,1,[385,66,34,17,8,6]],["add",628,360,1,1,[262,129,68,34,17,8]],["add",433,60,1,1,[257,134,68,34,17,8]],["add",435,348,1,1,[389,68,32,17,8,2]],["add",437,350,1,1,[386,65,34,17,8,5]],["add",632,551,-1,1,[257,129,76,42,30]],["add",633,551,-1,1,[257,129,76,42,30]],["add",634,551,1,1,[257,129,76,42,30]],["add",632,552,-2,1,[257,129,76,42,30]],["add",633,552,2,1,[257,129,76,42,30]],["add",636,552,-1,1,[257,129,76,42,30]],["add",632,553,-2,1,[257,129,76,42,30]],["add",634,553,2,1,[257,129,76,42,30]],["add",636,553,-1,1,[257,129,76,42,30]],["add",633,562,2,1,[257,129,76,42,30]],["add",634,562,-2,1,[257,129,76,42,30]],["add",636,562,-1,1,[257,129,76,42,30]],["add",632,456,1,1,[257,129,72,42,26,4]],["add",633,457,1,1,[257,129,76,41,29,3]],["add",634,466,1,1,[257,129,69,35,23,9]],["add",551,467,1,1,[257,129,66,36,16,14]],["add",636,376,1,1,[257,129,67,37,17,15]],["add",552,66,1,1,[257,129,68,34,22,8]],["add",553,396,1,1,[257,129,76,40,28,2]],["add",562,398,1,1,[257,129,73,42,27,5]],["add",640,250,-1,1,[423,65,20,10]],["add",641,250,-1,1,[423,65,20,10]],["add",642,250,1,1,[423,65,20,10]],["add",640,266,-2,1,[423,65,20,10]],["add",641,266,2,1,[423,65,20,10]],["add",644,266,-1,1,[423,65,20,10]],["add",640,259,-2,1,[423,65,20,10]],["add",642,259,2,1,[423,65,20,10]],["add",644,259,-1,1,[423,65,20,10]],["add",641,261,2,1,[423,65,20,10]],["add",642,261,-2,1,[423,65,20,10]],["add",644,261,-1,1,[423,65,20,10]],["add",640,458,1,1,[261,130,65,32,20,10]],["add",641,459,1,1,[258,133,65,32,20,10]],["add",642,464,1,1,[387,65,32,16,10,4]],["add",250,465,1,1,[388,65,32,20,9,3]],["add",644,392,1,1,[292,131,65,20,10]],["add",266,97,1,1,[259,164,65,20,10]],["add",259,380,1,1,[386,65,37,20,10]],["add",261,382,1,1,[421,65,20,8,2]],["add",648,530,-1,1,[288,160,75,25,7]],["add",649,530,-1,1,[288,160,75,25,7]],["add",650,530,1,1,[288,160,75,25,7]],["add",648,563,1,1,[288,160,75,25,7]],["add",649,563,-1,1,[288,160,75,25,7]],["add",652,563,-1,1,[288,160,75,25,7]],["add",648,542,1,1,[288,160,75,25,7]],["add",650,542,-1,1,[288,160,75,25,7]],["add",652,542,-1,1,[288,160,75,25,7]],["add",649,442,-1,1,[288,160,75,25,7]],["add",650,442,1,1,[288,160,75,25,7]],["add",652,442,-1,1,[288,160,75,25,7]],["add",648,248,1,1,[288,160,67,17,8,7]],["add",649,10,1,1,[258,130,75,34,25,7]],["add",650,268,1,1,[259,131,75,35,25,7]],["add",530,270,1,1,[288,160,66,16,9,7]],["add",652,280,1,1,[288,160,72,25,4,3]],["add",563,38,1,1,[265,137,75,41,25,7]],["add",542,300,1,1,[264,136,75,40,25,7]],["add",442,302,1,1,[288,160,73,25,5,2]],["add",656,333,-1,1,[427,96,24,6]],["add",657,333,-1,1,[427,96,24,6]],["add",658,333,1,1,[427,96,24,6]],["add",656,317,1,1,[427,96,24,6]],["add",657,317,-1,1,[427,96,24,6]],["add",660,317,-1,1,[427,96,24,6]],["add",656,257,1,1,[427,96,24,6]],["add",658,257,-1,1,[427,96,24,6]],["add",660,257,-1,1,[427,96,24,6]],["add",657,245,-1,1,[427,96,24,6]],["add",658,245,1,1,[427,96,24,6]],["add",660,245,-1,1,[427,96,24,6]],["add",656,252,1,1,[296,130,96,24,6,1]],["add",657,254,1,1,[258,168,96,24,6,1]],["add",658,264,1,1,[418,96,16,8,6,1]],["add",333,79,1,1,[392,66,34,24,6,1]],["add",660,296,1,1,[290,136,96,24,6,1]],["add",317,19,1,1,[264,162,96,24,6,1]],["add",257,284,1,1,[424,96,24,4,2,1]],["add",245,286,1,1,[386,72,40,24,6,1]],["add",664,460,1,1,[264,136,65,32,19,7]],["add",665,461,1,1,[258,130,82,51,10,7]],["add",666,468,1,1,[257,129,82,51,9,7]],["add",401,469,1,1,[264,136,66,35,16,7]],["add",668,312,1,1,[264,136,74,44,31]],["add",403,24,1,1,[264,136,84,50,1]],["add",670,332,1,1,[264,136,85,49,2]],["add",671,334,1,1,[264,136,73,47,28]],["add",672,241,-1,1,[413,72,48,3]],["add",673,241,-1,1,[413,72,48,3]],["add",674,241,1,1,[413,72,48,3]],["add",672,234,1,1,[413,72,48,3]],["add",673,234,-1,1,[413,72,48,3]],["add",676,234,-1,1,[413,72,48,3]],["add",672,229,1,1,[413,72,48,3]],["add",674,229,-1,1,[413,72,48,3]],["add",676,229,-1,1,[413,72,48,3]],["add",673,227,-1,1,[413,72,48,3]],["add",674,227,1,1,[413,72,48,3]],["add",676,227,-1,1,[413,72,48,3]],["add",672,462,1,1,[280,129,72,48,4,3]],["add",673,463,1,1,[257,152,72,48,4,3]],["add",674,470,1,1,[393,72,32,16,4,3]],["add",241,471,1,1,[400,65,48,9,4,3]],["add",676,328,1,1,[276,137,72,48,3]],["add",234,109,1,1,[265,148,72,48,3]],["add",229,316,1,1,[385,72,44,28,3]],["add",227,318,1,1,[412,72,48,2,1]],["add",49,285,-1,1,[407,66,36,9]],["add",83,285,-1,1,[407,66,36,9]],["add",98,285,1,1,[407,66,36,9]],["add",49,225,1,1,[407,66,36,9]],["add",83,225,-1,1,[407,66,36,9]],["add",101,225,-1,1,[407,66,36,9]],["add",49,281,1,1,[407,66,36,9]],["add",98,281,-1,1,[407,66,36,9]],["add",101,281,-1,1,[407,66,36,9]],["add",83,393,-1,1,[407,66,36,9]],["add",98,393,1,1,[407,66,36,9]],["add",101,393,-1,1,[407,66,36,9]],["add",49,478,1,1,[388,65,36,16,9,3]],["add",83,479,1,1,[387,66,32,16,9,4]],["add",98,490,1,1,[262,129,66,36,16,9]],["add",285,491,1,1,[257,134,66,36,16,9]],["add",101,502,1,1,[406,66,36,8,1]],["add",225,503,1,1,[385,66,36,22,9]],["add",281,514,1,1,[276,131,66,36,9]],["add",393,515,1,1,[259,148,66,36,9]],["add",68,397,-1,1,[258,130,85,45]],["add",80,397,-1,1,[258,130,85,45]],["add",88,397,1,1,[258,130,85,45]],["add",68,377,1,1,[258,130,85,45]],["add",80,377,-1,1,[258,130,85,45]],["add",31,377,-1,1,[258,130,85,45]],["add",68,381,1,1,[258,130,85,45]],["add",88,381,-1,1,[258,130,85,45]],["add",31,381,-1,1,[258,130,85,45]],["add",80,345,-1,1,[258,130,85,45]],["add",88,345,1,1,[258,130,85,45]],["add",31,345,-1,1,[258,130,85,45]],["add",68,480,1,1,[257,129,76,45,25,3]],["add",80,481,1,1,[258,130,72,41,25,4]],["add",88,492,1,1,[258,130,70,39,19,10]],["add",397,493,1,1,[258,130,65,32,20,13]],["add",31,516,1,1,[258,130,85,37,8]],["add",377,517,1,1,[258,130,67,45,22]],["add",381,504,1,1,[258,130,84,44,1]],["add",345,505,1,1,[258,130,74,45,31]],["add",33,301,-1,1,[455,33,18,12]],["add",55,301,-1,1,[455,33,18,12]],["add",74,301,1,1,[455,33,18,12]],["add",33,329,1,1,[455,33,18,12]],["add",55,329,-1,1,[455,33,18,12]],["add",85,329,-1,1,[455,33,18,12]],["add",33,297,1,1,[455,33,18,12]],["add",74,297,-1,1,[455,33,18,12]],["add",85,297,-1,1,[455,33,18,12]],["add",55,313,-1,1,[455,33,18,12]],["add",74,313,1,1,[455,33,18,12]],["add",85,313,-1,1,[455,33,18,12]],["add",33,273,1,1,[388,64,33,17,12,3]],["add",55,275,1,1,[387,64,33,18,8,4]],["add",74,506,1,1,[385,70,33,18,12]],["add",301,305,1,1,[390,64,32,18,12,1]],["add",85,518,1,1,[262,193,33,18,12]],["add",329,321,1,1,[257,134,64,33,18,12]],["add",297,289,1,1,[259,132,64,33,18,12]],["add",313,291,1,1,[260,131,64,33,18,12]],["add",215,484,-1,2,[260,132,68,37,21,12,3]],["add",129,448,-1,2,[256,128,67,34,17,8,4]],["add",124,485,-1,2,[256,128,64,33,18,11,4]],["add",212,449,-1,2,[260,132,64,33,17,8,3]],["add",168,584,-1,2,[260,132,64,33,17,8,3]],["add",150,3,1,1,[256,128,67,34,17,8,4]],["add",143,585,-1,2,[256,128,64,33,18,11,4]],["add",189,383,1,1,[260,132,68,37,21,12,3]],["add",130,472,-1,2,[256,131,64,34,17,8,4]],["add",152,231,-1,2,[259,128,64,34,17,8,4]],["add",213,473,-1,2,[260,128,68,33,17,8,3]],["add",166,226,-1,2,[256,132,68,33,17,8,3]],["add",214,590,1,1,[256,132,68,33,17,8,3]],["add",131,69,1,1,[259,128,64,34,17,8,4]],["add",167,591,1,1,[260,128,68,33,17,8,3]],["add",151,399,1,1,[256,131,64,34,17,8,4]],["add",157,508,-1,2,[256,128,64,38,18,12,1]],["add",219,450,-1,2,[257,129,64,32,18,10,6]],["add",210,509,-1,2,[257,129,65,33,19,11,6]],["add",160,451,-1,2,[256,128,70,32,20,10,1]],["add",144,438,-1,2,[256,128,70,32,20,10,1]],["add",136,75,1,1,[257,129,64,32,18,10,6]],["add",197,587,-1,2,[257,129,65,33,19,11,6]],["add",147,351,1,1,[256,128,64,38,18,12,1]],["add",220,496,-1,2,[257,128,65,32,18,10,6]],["add",134,230,-1,2,[256,129,65,32,18,10,6]],["add",161,497,-1,2,[256,134,64,32,20,10,1]],["add",146,228,-1,2,[262,128,64,32,20,10,1]],["add",162,440,1,1,[262,128,64,32,20,10,1]],["add",221,84,1,1,[256,129,65,32,18,10,6]],["add",145,589,1,1,[256,134,64,32,20,10,1]],["add",135,367,1,1,[257,128,65,32,18,10,6]],["add",205,532,-1,2,[257,129,65,33,19,10,7]],["add",170,452,1,1,[256,128,74,32,24,6,1]],["add",118,533,-1,2,[256,128,64,32,18,11,7]],["add",194,453,1,1,[288,160,64,18,10,6,1]],["add",187,586,-1,2,[288,160,64,18,10,6,1]],["add",140,32,1,1,[256,128,74,32,24,6,1]],["add",113,436,-1,2,[256,128,64,32,18,11,7]],["add",198,319,1,1,[257,129,65,33,19,10,7]],["add",171,520,-1,2,[256,138,64,32,24,6,1]],["add",142,232,1,1,[266,128,64,32,24,6,1]],["add",195,521,-1,2,[288,128,96,18,10,6,1]],["add",185,7,1,1,[256,160,96,18,10,6,1]],["add",196,588,1,1,[256,160,96,18,10,6,1]],["add",172,50,1,1,[266,128,64,32,24,6,1]],["add",186,46,1,1,[288,128,96,18,10,6,1]],["add",141,335,1,1,[256,138,64,32,24,6,1]],["add",120,556,-1,2,[256,128,64,33,18,8,7]],["add",207,454,1,1,[264,136,64,33,17,4,3]],["add",192,557,-1,2,[259,131,67,34,17,11,7]],["add",179,455,1,1,[256,128,81,48,8,4,3]],["add",115,439,-1,2,[256,128,81,48,8,4,3]],["add",178,56,1,1,[264,136,64,33,17,4,3]],["add",200,434,-1,2,[259,131,67,34,17,11,7]],["add",138,287,1,1,[256,128,64,33,18,8,7]],["add",208,544,-1,2,[264,128,72,33,17,4,3]],["add",176,236,1,1,[256,136,72,33,17,4,3]],["add",180,545,-1,2,[256,145,64,48,8,4,3]],["add",117,238,1,1,[273,128,64,48,8,4,3]],["add",181,444,1,1,[273,128,64,48,8,4,3]],["add",209,102,1,1,[256,136,72,33,17,4,3]],["add",116,446,1,1,[256,145,64,48,8,4,3]],["add",177,303,1,1,[264,128,72,33,17,4,3]],["add",169,119,1,1,[256,128,64,40,25,5,2]],["add",119,169,-1,2,[256,128,64,40,25,5,2]],["scale",119,-2,1,[256,128,64,32,17,8,5,2]],["add",112,139,1,1,[256,128,64,35,16,9,7]],["add",139,112,-1,2,[256,128,64,35,16,9,7]],["scale",139,-2,1,[256,128,64,34,16,8,6,1]],["add",204,193,1,1,[258,130,66,33,18,11,7]],["add",193,204,-1,2,[258,130,66,33,18,11,7]],["scale",193,-2,1,[258,130,66,32,18,10,6,1]],["add",188,199,1,1,[320,192,33,16,9,5,2]],["add",199,188,-1,2,[320,192,33,16,9,5,2]],["scale",199,-2,1,[257,129,65,33,16,9,5,2]],["add",174,122,1,1,[256,137,64,40,16,5,2]],["add",122,174,-1,2,[256,137,64,40,16,5,2]],["scale",122,-2,1,[256,129,64,32,16,8,5,2]],["add",182,203,1,1,[256,144,80,33,9,5,2]],["add",203,182,-1,2,[256,144,80,33,9,5,2]],["scale",203,-2,1,[256,129,65,33,17,9,5,2]],["add",175,123,1,1,[265,128,64,40,16,5,2]],["add",123,175,-1,2,[265,128,64,40,16,5,2]],["scale",123,-2,1,[257,128,64,32,16,8,5,2]],["add",183,202,1,1,[272,128,80,33,9,5,2]],["add",202,183,-1,2,[272,128,80,33,9,5,2]],["scale",202,-2,1,[257,128,65,33,17,9,5,2]],["add",206,191,1,1,[258,130,66,35,18,9,7]],["add",191,206,-1,2,[258,130,66,35,18,9,7]],["scale",191,-2,1,[258,130,66,34,18,8,6,1]],["add",184,201,1,1,[272,144,64,33,9,5,2]],["add",201,184,-1,2,[272,144,64,33,9,5,2]],["scale",201,-2,1,[257,129,64,33,17,9,5,2]],["add",173,121,1,1,[256,128,73,40,16,5,2]],["add",121,173,-1,2,[256,128,73,40,16,5,2]],["scale",121,-2,1,[256,128,65,32,16,8,5,2]],["add",114,137,1,1,[256,128,64,33,16,11,7]],["add",137,114,-1,2,[256,128,64,33,16,11,7]],["scale",137,-2,1,[256,128,64,32,16,10,6,1]],["add",129,150,1,1,[256,128,67,34,17,8,4]],["add",150,129,-1,2,[256,128,67,34,17,8,4]],["scale",150,-2,1,[256,128,66,34,16,8,4,1]],["add",124,143,1,1,[256,128,64,33,18,11,4]],["add",143,124,-1,2,[256,128,64,33,18,11,4]],["scale",143,-2,1,[256,128,64,32,18,10,4,1]],["add",215,189,1,1,[260,132,68,37,21,12,3]],["add",189,215,-1,2,[260,132,68,37,21,12,3]],["scale",189,-2,1,[260,132,68,36,20,12,2,1]],["add",212,168,1,1,[260,132,64,33,17,8,3]],["add",168,212,-1,2,[260,132,64,33,17,8,3]],["scale",168,-2,1,[260,132,64,32,16,8,2,1]],["add",152,131,1,1,[259,128,64,34,17,8,4]],["add",131,152,-1,2,[259,128,64,34,17,8,4]],["scale",131,-2,1,[257,128,64,32,17,8,4,2]],["add",213,167,1,1,[260,128,68,33,17,8,3]],["add",167,213,-1,2,[260,128,68,33,17,8,3]],["scale",167,-2,1,[260,128,68,32,16,8,2,1]],["add",130,151,1,1,[256,131,64,34,17,8,4]],["add",151,130,-1,2,[256,131,64,34,17,8,4]],["scale",151,-2,1,[256,130,64,34,16,8,4,1]],["add",166,214,1,1,[256,132,68,33,17,8,3]],["add",214,166,-1,2,[256,132,68,33,17,8,3]],["scale",214,-2,1,[256,129,65,33,17,8,5,3]],["add",219,136,1,1,[257,129,64,32,18,10,6]],["add",136,219,-1,2,[257,129,64,32,18,10,6]],["scale",136,-2,1,[257,129,64,32,16,8,4,2]],["add",210,197,1,1,[257,129,65,33,19,11,6]],["add",197,210,-1,2,[257,129,65,33,19,11,6]],["scale",197,-2,1,[257,129,65,33,17,9,4,2]],["add",157,147,1,1,[256,128,64,38,18,12,1]],["add",147,157,-1,2,[256,128,64,38,18,12,1]],["scale",147,-2,1,[256,128,64,34,18,8,4,1]],["add",160,144,1,1,[256,128,70,32,20,10,1]],["add",144,160,-1,2,[256,128,70,32,20,10,1]],["scale",144,-2,1,[256,128,66,32,16,10,4,1]],["add",134,221,1,1,[256,129,65,32,18,10,6]],["add",221,134,-1,2,[256,129,65,32,18,10,6]],["scale",221,-2,1,[256,129,65,32,17,9,5,3]],["add",161,145,1,1,[256,134,64,32,20,10,1]],["add",145,161,-1,2,[256,134,64,32,20,10,1]],["scale",145,-2,1,[256,130,64,32,16,10,4,1]],["add",220,135,1,1,[257,128,65,32,18,10,6]],["add",135,220,-1,2,[257,128,65,32,18,10,6]],["scale",135,-2,1,[257,128,65,32,16,8,4,2]],["add",146,162,1,1,[262,128,64,32,20,10,1]],["add",162,146,-1,2,[262,128,64,32,20,10,1]],["scale",162,-2,1,[260,128,64,32,20,8,2,1]],["add",170,140,1,1,[256,128,74,32,24,6,1]],["add",140,170,-1,2,[256,128,74,32,24,6,1]],["scale",140,-2,1,[256,128,66,32,16,8,6,1]],["add",118,113,1,1,[256,128,64,32,18,11,7]],["add",113,118,-1,2,[256,128,64,32,18,11,7]],["scale",113,-2,1,[256,128,64,32,17,8,4,3]],["add",205,198,1,1,[257,129,65,33,19,10,7]],["add",198,205,-1,2,[257,129,65,33,19,10,7]],["scale",198,-2,1,[257,129,65,33,17,8,5,2]],["add",194,187,1,1,[288,160,64,18,10,6,1]],["add",187,194,-1,2,[288,160,64,18,10,6,1]],["scale",187,-2,1,[288,160,64,16,8,4,2,1]],["add",142,172,1,1,[266,128,64,32,24,6,1]],["add",172,142,-1,2,[266,128,64,32,24,6,1]],["scale",172,-2,1,[264,128,64,32,24,4,2,1]],["add",195,186,1,1,[288,128,96,18,10,6,1]],["add",186,195,-1,2,[288,128,96,18,10,6,1]],["scale",186,-2,1,[288,128,96,16,8,4,2,1]],["add",171,141,1,1,[256,138,64,32,24,6,1]],["add",141,171,-1,2,[256,138,64,32,24,6,1]],["scale",141,-2,1,[256,130,64,32,16,8,6,1]],["add",185,196,1,1,[256,160,96,18,10,6,1]],["add",196,185,-1,2,[256,160,96,18,10,6,1]],["scale",196,-2,1,[256,130,66,34,18,10,6,1]],["add",207,178,1,1,[264,136,64,33,17,4,3]],["add",178,207,-1,2,[264,136,64,33,17,4,3]],["scale",178,-2,1,[264,136,64,32,16,4,2,1]],["add",192,200,1,1,[259,131,67,34,17,11,7]],["add",200,192,-1,2,[259,131,67,34,17,11,7]],["scale",200,-2,1,[257,129,65,32,17,9,5,2]],["add",120,138,1,1,[256,128,64,33,18,8,7]],["add",138,120,-1,2,[256,128,64,33,18,8,7]],["scale",138,-2,1,[256,128,64,32,18,8,6,1]],["add",179,115,1,1,[256,128,81,48,8,4,3]],["add",115,179,-1,2,[256,128,81,48,8,4,3]],["scale",115,-2,1,[256,128,65,32,16,8,4,3]],["add",176,209,1,1,[256,136,72,33,17,4,3]],["add",209,176,-1,2,[256,136,72,33,17,4,3]],["scale",209,-2,1,[256,129,65,33,17,9,4,3]],["add",180,116,1,1,[256,145,64,48,8,4,3]],["add",116,180,-1,2,[256,145,64,48,8,4,3]],["scale",116,-2,1,[256,129,64,32,16,8,4,3]],["add",208,177,1,1,[264,128,72,33,17,4,3]],["add",177,208,-1,2,[264,128,72,33,17,4,3]],["scale",177,-2,1,[264,128,72,32,16,4,2,1]],["add",117,181,1,1,[273,128,64,48,8,4,3]],["add",181,117,-1,2,[273,128,64,48,8,4,3]],["scale",181,-2,1,[272,128,64,48,8,4,2,1]],["add",154,217,1,1,[258,128,66,33,16,9,5]],["add",217,154,-1,2,[258,128,66,33,16,9,5]],["scale",217,-2,1,[257,128,65,33,16,9,5,3]],["add",127,165,1,1,[261,128,64,36,16,9,2]],["add",165,127,-1,2,[261,128,64,36,16,9,2]],["scale",165,-2,1,[260,128,64,36,16,8,2,1]],["add",153,218,1,1,[256,130,66,33,16,9,5]],["add",218,153,-1,2,[256,130,66,33,16,9,5]],["scale",218,-2,1,[256,129,65,33,16,9,5,3]],["add",126,164,1,1,[256,133,64,36,16,9,2]],["add",164,126,-1,2,[256,133,64,36,16,9,2]],["scale",164,-2,1,[256,132,64,36,16,8,2,1]],["add",128,156,1,1,[256,128,64,33,21,12,2]],["add",156,128,-1,2,[256,128,64,33,21,12,2]],["scale",156,-2,1,[256,128,64,32,20,12,2,1]],["add",125,163,1,1,[256,128,69,36,16,9,2]],["add",163,125,-1,2,[256,128,69,36,16,9,2]],["scale",163,-2,1,[256,128,68,36,16,8,2,1]],["add",155,216,1,1,[258,130,64,33,16,9,5]],["add",216,155,-1,2,[258,130,64,33,16,9,5]],["scale",216,-2,1,[257,129,64,33,16,9,5,3]],["add",190,211,1,1,[258,130,66,35,18,11,5]],["add",211,190,-1,2,[258,130,66,35,18,11,5]],["scale",211,-2,1,[257,129,65,32,17,8,5,3]],["add",132,158,1,1,[256,133,64,33,16,12,2]],["add",158,132,-1,2,[256,133,64,33,16,12,2]],["scale",158,-2,1,[256,132,64,32,16,12,2,1]],["add",148,223,1,1,[256,130,64,33,18,9,5]],["add",223,148,-1,2,[256,130,64,33,18,9,5]],["scale",223,-2,1,[256,129,64,33,17,9,5,3]],["add",149,222,1,1,[258,128,64,33,18,9,5]],["add",222,149,-1,2,[258,128,64,33,18,9,5]],["scale",222,-2,1,[257,128,64,33,17,9,5,3]],["add",133,159,1,1,[261,128,64,33,16,12,2]],["add",159,133,-1,2,[261,128,64,33,16,12,2]],["scale",159,-2,1,[260,128,64,32,16,12,2,1]],["add",283,379,1,1,[256,128,64,34,17,8,7]],["add",379,283,-1,2,[256,128,64,34,17,8,7]],["add",139,283,-1,2,[256,128,64,34,16,8,6,1]],["add",119,379,1,1,[256,128,64,32,17,8,5,2]],["add",100,67,1,1,[256,128,64,41,25,4,3]],["add",67,100,-1,2,[256,128,64,41,25,4,3]],["add",112,100,-1,2,[256,128,64,32,16,9,4,3]],["add",169,67,1,1,[256,128,64,40,24,4,2,1]],["add",315,347,1,1,[256,128,64,42,24,6,1]],["add",347,315,-1,2,[256,128,64,42,24,6,1]],["add",139,315,-1,2,[256,128,64,34,16,8,6,1]],["add",169,347,1,1,[256,128,64,40,24,4,2,1]],["add",48,82,1,1,[256,128,64,32,19,10,7]],["add",82,48,-1,2,[256,128,64,32,19,10,7]],["add",112,48,-1,2,[256,128,64,32,16,9,4,3]],["add",119,82,1,1,[256,128,64,32,17,8,5,2]],["add",592,361,1,1,[259,131,67,33,18,11,7]],["add",361,592,-1,2,[259,131,67,33,18,11,7]],["add",199,592,-1,2,[257,129,65,33,16,9,5,2]],["add",193,361,1,1,[258,130,66,32,18,10,6,1]],["add",593,365,1,1,[320,192,33,17,8,4,3]],["add",365,593,-1,2,[320,192,33,17,8,4,3]],["add",188,593,-1,2,[320,192,32,16,8,4,2,1]],["add",204,365,1,1,[257,129,65,33,17,8,4,3]],["add",594,243,1,1,[320,192,32,18,10,6,1]],["add",243,594,-1,2,[320,192,32,18,10,6,1]],["add",188,594,-1,2,[320,192,32,16,8,4,2,1]],["add",193,243,1,1,[258,130,66,32,18,10,6,1]],["add",349,596,1,1,[257,129,65,33,18,11,7]],["add",596,349,-1,2,[257,129,65,33,18,11,7]],["add",199,349,-1,2,[257,129,65,33,16,9,5,2]],["add",204,596,1,1,[257,129,65,33,17,8,4,3]],["add",279,359,1,1,[256,129,72,40,24,5,2]],["add",359,279,-1,2,[256,129,72,40,24,5,2]],["add",203,279,-1,2,[256,129,65,33,17,9,5,2]],["add",122,359,1,1,[256,129,64,32,16,8,5,2]],["add",274,354,1,1,[256,152,80,40,4,2,1]],["add",354,274,-1,2,[256,152,80,40,4,2,1]],["add",182,274,-1,2,[256,144,80,32,8,4,2,1]],["add",174,354,1,1,[256,136,64,40,16,4,2,1]],["add",295,343,1,1,[256,136,65,40,17,5,2]],["add",343,295,-1,2,[256,136,65,40,17,5,2]],["add",203,295,-1,2,[256,129,65,33,17,9,5,2]],["add",174,343,1,1,[256,136,64,40,16,4,2,1]],["add",290,338,1,1,[256,145,80,32,8,5,2]],["add",338,290,-1,2,[256,145,80,32,8,5,2]],["add",182,290,-1,2,[256,144,80,32,8,4,2,1]],["add",122,338,1,1,[256,129,64,32,16,8,5,2]],["add",600,405,1,1,[257,128,72,40,24,5,2]],["add",405,600,-1,2,[257,128,72,40,24,5,2]],["add",202,600,-1,2,[257,128,65,33,17,9,5,2]],["add",123,405,1,1,[257,128,64,32,16,8,5,2]],["add",601,550,1,1,[280,128,80,40,4,2,1]],["add",550,601,-1,2,[280,128,80,40,4,2,1]],["add",183,601,-1,2,[272,128,80,32,8,4,2,1]],["add",175,550,1,1,[264,128,64,40,16,4,2,1]],["add",602,565,1,1,[273,128,80,32,8,5,2]],["add",565,602,-1,2,[273,128,80,32,8,5,2]],["add",183,602,-1,2,[272,128,80,32,8,4,2,1]],["add",123,565,1,1,[257,128,64,32,16,8,5,2]],["add",564,604,1,1,[264,128,65,40,17,5,2]],["add",604,564,-1,2,[264,128,65,40,17,5,2]],["add",202,564,-1,2,[257,128,65,33,17,9,5,2]],["add",175,604,1,1,[264,128,64,40,16,4,2,1]],["add",278,342,1,1,[259,131,66,35,19,9,7]],["add",342,278,-1,2,[259,131,66,35,19,9,7]],["add",201,278,-1,2,[257,129,64,33,17,9,5,2]],["add",191,342,1,1,[258,130,66,34,18,8,6,1]],["add",276,340,1,1,[272,144,65,32,9,4,3]],["add",340,276,-1,2,[272,144,65,32,9,4,3]],["add",184,276,-1,2,[272,144,64,32,8,4,2,1]],["add",206,340,1,1,[257,129,65,32,17,9,4,3]],["add",294,358,1,1,[257,129,66,35,17,9,7]],["add",358,294,-1,2,[257,129,66,35,17,9,7]],["add",201,294,-1,2,[257,129,64,33,17,9,5,2]],["add",206,358,1,1,[257,129,65,32,17,9,4,3]],["add",292,356,1,1,[272,144,66,34,8,6,1]],["add",356,292,-1,2,[272,144,66,34,8,6,1]],["add",184,292,-1,2,[272,144,64,32,8,4,2,1]],["add",191,356,1,1,[258,130,66,34,18,8,6,1]],["add",608,421,1,1,[256,128,65,32,16,10,7]],["add",421,608,-1,2,[256,128,65,32,16,10,7]],["add",137,608,-1,2,[256,128,64,32,16,10,6,1]],["add",121,421,1,1,[256,128,65,32,16,8,5,2]],["add",609,419,1,1,[256,128,72,41,16,4,3]],["add",419,609,-1,2,[256,128,72,41,16,4,3]],["add",114,609,-1,2,[256,128,64,33,16,8,4,3]],["add",173,419,1,1,[256,128,72,40,16,4,2,1]],["add",610,417,1,1,[256,128,67,34,16,8,7]],["add",417,610,-1,2,[256,128,67,34,16,8,7]],["add",114,610,-1,2,[256,128,64,33,16,8,4,3]],["add",121,417,1,1,[256,128,65,32,16,8,5,2]],["add",410,612,1,1,[256,128,74,42,16,6,1]],["add",612,410,-1,2,[256,128,74,42,16,6,1]],["add",137,410,-1,2,[256,128,64,32,16,10,6,1]],["add",173,612,1,1,[256,128,72,40,16,4,2,1]],["add",247,364,-2,1,[256,128,74,42,24,4,1]],["add",364,247,1,4,[256,128,74,42,24,4,1]],["add",143,247,-1,2,[256,128,64,32,18,10,4,1]],["add",150,364,-2,1,[256,128,66,34,16,8,4,1]],["add",242,366,-2,1,[256,128,73,40,25,4,2]],["add",366,242,1,4,[256,128,73,40,25,4,2]],["add",124,242,-1,2,[256,128,64,33,16,9,4,2]],["add",129,366,-2,1,[256,128,65,32,17,8,4,2]],["add",263,344,-2,1,[256,128,65,32,19,10,4]],["add",344,263,1,4,[256,128,65,32,19,10,4]],["add",143,263,-1,2,[256,128,64,32,18,10,4,1]],["add",129,344,-2,1,[256,128,65,32,17,8,4,2]],["add",258,28,-2,1,[256,128,66,35,16,9,4]],["add",28,258,1,4,[256,128,66,35,16,9,4]],["add",124,258,-1,2,[256,128,64,33,16,9,4,2]],["add",150,28,-2,1,[256,128,66,34,16,8,4,1]],["add",616,12,-2,1,[260,132,72,40,24,2,1]],["add",12,616,1,4,[260,132,72,40,24,2,1]],["add",168,616,-1,2,[260,132,64,32,16,8,2,1]],["add",189,12,-2,1,[260,132,68,36,20,12,2,1]],["add",617,6,-2,1,[257,129,72,41,25,5,3]],["add",6,617,1,4,[257,129,72,41,25,5,3]],["add",212,617,-1,2,[257,129,64,33,17,8,5,3]],["add",215,6,-2,1,[257,129,65,32,16,9,5,3]],["add",618,4,-2,1,[260,132,69,36,20,13,3]],["add",4,618,1,4,[260,132,69,36,20,13,3]],["add",212,618,-1,2,[257,129,64,33,17,8,5,3]],["add",189,4,-2,1,[260,132,68,36,20,12,2,1]],["add",1,620,-2,1,[260,132,65,32,16,9,3]],["add",620,1,1,4,[260,132,65,32,16,9,3]],["add",168,1,-1,2,[260,132,64,32,16,8,2,1]],["add",215,620,-2,1,[257,129,65,32,16,9,5,3]],["add",246,348,-2,1,[261,128,68,32,17,8,2]],["add",348,246,1,4,[261,128,68,32,17,8,2]],["add",167,246,-1,2,[260,128,68,32,16,8,2,1]],["add",131,348,-2,1,[257,128,64,32,17,8,4,2]],["add",244,350,-2,1,[258,128,65,34,17,8,5]],["add",350,244,1,4,[258,128,65,34,17,8,5]],["add",213,244,-1,2,[257,128,65,33,17,8,5,3]],["add",152,350,-2,1,[258,128,64,34,16,8,4,1]],["add",262,360,-2,1,[262,128,68,34,16,8,1]],["add",360,262,1,4,[262,128,68,34,16,8,1]],["add",167,262,-1,2,[260,128,68,32,16,8,2,1]],["add",152,360,-2,1,[258,128,64,34,16,8,4,1]],["add",260,60,-2,1,[257,128,66,34,17,8,6]],["add",60,260,1,4,[257,128,66,34,17,8,6]],["add",213,260,-1,2,[257,128,65,33,17,8,5,3]],["add",131,60,-2,1,[257,128,64,32,17,8,4,2]],["add",624,437,-2,1,[256,130,65,34,17,8,5]],["add",437,624,1,4,[256,130,65,34,17,8,5]],["add",214,624,-1,2,[256,129,65,33,17,8,5,3]],["add",151,437,-2,1,[256,130,64,34,16,8,4,1]],["add",625,435,-2,1,[256,133,68,32,17,8,2]],["add",435,625,1,4,[256,133,68,32,17,8,2]],["add",166,625,-1,2,[256,132,68,32,16,8,2,1]],["add",130,435,-2,1,[256,129,64,32,17,8,4,2]],["add",626,433,-2,1,[256,134,68,34,16,8,1]],["add",433,626,1,4,[256,134,68,34,16,8,1]],["add",166,626,-1,2,[256,132,68,32,16,8,2,1]],["add",151,433,-2,1,[256,130,64,34,16,8,4,1]],["add",426,628,-2,1,[256,129,66,34,17,8,6]],["add",628,426,1,4,[256,129,66,34,17,8,6]],["add",214,426,-1,2,[256,129,65,33,17,8,5,3]],["add",130,628,-2,1,[256,129,64,32,17,8,4,2]],["add",456,396,-2,1,[257,129,72,40,24,4,2]],["add",396,456,1,4,[257,129,72,40,24,4,2]],["add",197,456,-1,2,[257,129,65,33,17,9,4,2]],["add",136,396,-2,1,[257,129,64,32,16,8,4,2]],["add",457,398,-2,1,[257,129,73,41,24,5,3]],["add",398,457,1,4,[257,129,73,41,24,5,3]],["add",210,457,-1,2,[257,129,65,33,16,8,5,3]],["add",219,398,-2,1,[257,129,64,32,17,9,5,3]],["add",466,376,-2,1,[257,129,67,35,17,9,6]],["add",376,466,1,4,[257,129,67,35,17,9,6]],["add",197,466,-1,2,[257,129,65,33,17,9,4,2]],["add",219,376,-2,1,[257,129,64,32,17,9,5,3]],["add",467,66,-2,1,[257,129,66,34,16,8,6]],["add",66,467,1,4,[257,129,66,34,16,8,6]],["add",210,467,-1,2,[257,129,65,33,16,8,5,3]],["add",136,66,-2,1,[257,129,64,32,16,8,4,2]],["add",632,562,-2,1,[256,128,72,42,26,4,1]],["add",562,632,1,4,[256,128,72,42,26,4,1]],["add",144,632,-1,2,[256,128,66,32,16,10,4,1]],["add",147,562,-2,1,[256,128,64,34,18,8,4,1]],["add",633,553,-2,1,[256,128,76,40,28,2,1]],["add",553,633,1,4,[256,128,76,40,28,2,1]],["add",160,633,-1,2,[256,128,68,32,20,8,2,1]],["add",157,553,-2,1,[256,128,64,36,16,12,2,1]],["add",634,552,-2,1,[256,128,68,34,22,8,1]],["add",552,634,1,4,[256,128,68,34,22,8,1]],["add",160,634,-1,2,[256,128,68,32,20,8,2,1]],["add",147,552,-2,1,[256,128,64,34,18,8,4,1]],["add",551,636,-2,1,[256,128,66,36,16,14,1]],["add",636,551,1,4,[256,128,66,36,16,14,1]],["add",144,551,-1,2,[256,128,66,32,16,10,4,1]],["add",157,636,-2,1,[256,128,64,36,16,12,2,1]],["add",458,380,-2,1,[256,130,65,32,17,10,5]],["add",380,458,1,4,[256,130,65,32,17,10,5]],["add",145,458,-1,2,[256,130,64,32,16,10,4,1]],["add",221,380,-2,1,[256,129,65,32,17,9,5,3]],["add",459,382,-2,1,[256,133,65,32,20,8,2]],["add",382,459,1,4,[256,133,65,32,20,8,2]],["add",161,459,-1,2,[256,132,64,32,20,8,2,1]],["add",134,382,-2,1,[256,129,65,32,16,8,4,2]],["add",464,392,-2,1,[256,131,65,32,16,10,4]],["add",392,464,1,4,[256,131,65,32,16,10,4]],["add",145,464,-1,2,[256,130,64,32,16,10,4,1]],["add",134,392,-2,1,[256,129,65,32,16,8,4,2]],["add",465,97,-2,1,[256,132,65,32,20,9,3]],["add",97,465,1,4,[256,132,65,32,20,9,3]],["add",161,465,-1,2,[256,132,64,32,20,8,2,1]],["add",221,97,-2,1,[256,129,65,32,17,9,5,3]],["add",640,261,-2,1,[261,128,65,32,20,8,2]],["add",261,640,1,4,[261,128,65,32,20,8,2]],["add",162,640,-1,2,[260,128,64,32,20,8,2,1]],["add",135,261,-2,1,[257,128,65,32,16,8,4,2]],["add",641,259,-2,1,[258,128,65,32,17,10,5]],["add",259,641,1,4,[258,128,65,32,17,10,5]],["add",146,641,-1,2,[258,128,64,32,16,10,4,1]],["add",220,259,-2,1,[257,128,65,32,17,9,5,3]],["add",642,266,-2,1,[259,128,65,32,16,10,4]],["add",266,642,1,4,[259,128,65,32,16,10,4]],["add",146,642,-1,2,[258,128,64,32,16,10,4,1]],["add",135,266,-2,1,[257,128,65,32,16,8,4,2]],["add",250,644,-2,1,[260,128,65,32,20,9,3]],["add",644,250,1,4,[260,128,65,32,20,9,3]],["add",162,250,-1,2,[260,128,64,32,20,8,2,1]],["add",220,644,-2,1,[257,128,65,32,17,9,5,3]],["add",248,300,1,1,[256,128,67,32,17,8,7]],["add",300,248,-1,2,[256,128,67,32,17,8,7]],["add",113,248,1,1,[256,128,64,32,17,8,4,3]],["add",140,300,-2,1,[256,128,66,32,16,8,6,1]],["add",10,302,1,1,[256,128,73,32,25,5,2]],["add",302,10,-1,2,[256,128,73,32,25,5,2]],["add",118,10,1,1,[256,128,64,32,16,9,5,2]],["add",170,302,-2,1,[256,128,72,32,24,4,2,1]],["add",268,280,1,1,[256,128,72,32,25,4,3]],["add",280,268,-1,2,[256,128,72,32,25,4,3]],["add",113,268,1,1,[256,128,64,32,17,8,4,3]],["add",170,280,-2,1,[256,128,72,32,24,4,2,1]],["add",270,38,1,1,[256,128,66,32,16,9,7]],["add",38,270,-1,2,[256,128,66,32,16,9,7]],["add",118,270,1,1,[256,128,64,32,16,9,5,2]],["add",140,38,-2,1,[256,128,66,32,16,8,6,1]],["add",648,442,1,1,[288,160,65,17,8,5,2]],["add",442,648,-1,2,[288,160,65,17,8,5,2]],["add",187,648,1,1,[288,160,64,16,8,4,2,1]],["add",198,442,-2,1,[257,129,65,33,17,8,5,2]],["add",649,542,1,1,[258,130,65,34,19,10,7]],["add",542,649,-1,2,[258,130,65,34,19,10,7]],["add",194,649,1,1,[258,130,64,34,18,10,6,1]],["add",205,542,-2,1,[257,129,65,33,16,9,4,3]],["add",650,563,1,1,[259,131,65,35,19,10,7]],["add",563,650,-1,2,[259,131,65,35,19,10,7]],["add",194,650,1,1,[258,130,64,34,18,10,6,1]],["add",198,563,-2,1,[257,129,65,33,17,8,5,2]],["add",530,652,1,1,[288,160,65,16,9,4,3]],["add",652,530,-1,2,[288,160,65,16,9,4,3]],["add",187,530,1,1,[288,160,64,16,8,4,2,1]],["add",205,652,-2,1,[257,129,65,33,16,9,4,3]],["add",252,284,1,1,[296,128,96,24,4,2,1]],["add",284,252,-1,2,[296,128,96,24,4,2,1]],["add",186,252,1,1,[288,128,96,16,8,4,2,1]],["add",172,284,-2,1,[264,128,64,32,24,4,2,1]],["add",254,286,1,1,[258,128,72,40,24,6,1]],["add",286,254,-1,2,[258,128,72,40,24,6,1]],["add",195,254,1,1,[258,128,66,34,18,10,6,1]],["add",142,286,-2,1,[258,128,64,32,16,8,6,1]],["add",264,296,1,1,[290,128,96,16,8,6,1]],["add",296,264,-1,2,[290,128,96,16,8,6,1]],["add",186,264,1,1,[288,128,96,16,8,4,2,1]],["add",142,296,-2,1,[258,128,64,32,16,8,6,1]],["add",79,19,1,1,[264,128,66,34,24,6,1]],["add",19,79,-1,2,[264,128,66,34,24,6,1]],["add",195,79,1,1,[258,128,66,34,18,10,6,1]],["add",172,19,-2,1,[264,128,64,32,24,4,2,1]],["add",656,245,1,1,[256,130,72,40,24,6,1]],["add",245,656,-1,2,[256,130,72,40,24,6,1]],["add",196,656,1,1,[256,130,66,34,18,10,6,1]],["add",141,245,-2,1,[256,130,64,32,16,8,6,1]],["add",657,257,1,1,[256,168,96,24,4,2,1]],["add",257,657,-1,2,[256,168,96,24,4,2,1]],["add",185,657,1,1,[256,160,96,16,8,4,2,1]],["add",171,257,-2,1,[256,136,64,32,24,4,2,1]],["add",658,317,1,1,[256,162,96,16,8,6,1]],["add",317,658,-1,2,[256,162,96,16,8,6,1]],["add",185,658,1,1,[256,160,96,16,8,4,2,1]],["add",141,317,-2,1,[256,130,64,32,16,8,6,1]],["add",333,660,1,1,[256,136,66,34,24,6,1]],["add",660,333,-1,2,[256,136,66,34,24,6,1]],["add",196,333,1,1,[256,130,66,34,18,10,6,1]],["add",171,660,-2,1,[256,136,64,32,24,4,2,1]],["add",460,332,1,1,[264,136,65,32,17,5,2]],["add",332,460,-1,2,[264,136,65,32,17,5,2]],["add",200,460,1,1,[257,129,65,32,17,9,5,2]],["add",178,332,-2,1,[264,136,64,32,16,4,2,1]],["add",461,334,1,1,[258,130,67,34,17,10,7]],["add",334,461,-1,2,[258,130,67,34,17,10,7]],["add",192,461,1,1,[258,130,66,34,16,10,6,1]],["add",207,334,-2,1,[257,129,64,33,17,9,4,3]],["add",468,312,1,1,[257,129,67,34,17,9,7]],["add",312,468,-1,2,[257,129,67,34,17,9,7]],["add",200,468,1,1,[257,129,65,32,17,9,5,2]],["add",207,312,-2,1,[257,129,64,33,17,9,4,3]],["add",469,24,1,1,[264,136,66,34,16,6,1]],["add",24,469,-1,2,[264,136,66,34,16,6,1]],["add",192,469,1,1,[258,130,66,34,16,10,6,1]],["add",178,24,-2,1,[264,136,64,32,16,4,2,1]],["add",664,671,1,1,[256,128,65,32,19,8,7]],["add",671,664,-1,2,[256,128,65,32,19,8,7]],["add",115,664,1,1,[256,128,65,32,16,8,4,3]],["add",138,671,-2,1,[256,128,64,32,18,8,6,1]],["add",665,670,1,1,[256,128,80,49,8,5,2]],["add",670,665,-1,2,[256,128,80,49,8,5,2]],["add",179,665,1,1,[256,128,80,48,8,4,2,1]],["add",120,670,-2,1,[256,128,64,33,16,8,5,2]],["add",666,403,1,1,[256,128,82,50,8,6,1]],["add",403,666,-1,2,[256,128,82,50,8,6,1]],["add",179,666,1,1,[256,128,80,48,8,4,2,1]],["add",138,403,-2,1,[256,128,64,32,18,8,6,1]],["add",401,668,1,1,[256,128,66,35,16,8,7]],["add",668,401,-1,2,[256,128,66,35,16,8,7]],["add",115,401,1,1,[256,128,65,32,16,8,4,3]],["add",120,668,-2,1,[256,128,64,33,16,8,5,2]],["add",462,316,1,1,[256,129,72,40,24,4,3]],["add",316,462,-1,2,[256,129,72,40,24,4,3]],["add",116,462,1,1,[256,129,64,32,16,8,4,3]],["add",209,316,-2,1,[256,129,65,33,17,9,4,3]],["add",463,318,1,1,[256,152,72,48,4,2,1]],["add",318,463,-1,2,[256,152,72,48,4,2,1]],["add",180,463,1,1,[256,144,64,48,8,4,2,1]],["add",176,318,-2,1,[256,136,72,32,16,4,2,1]],["add",470,328,1,1,[256,137,72,32,16,4,3]],["add",328,470,-1,2,[256,137,72,32,16,4,3]],["add",116,470,1,1,[256,129,64,32,16,8,4,3]],["add",176,328,-2,1,[256,136,72,32,16,4,2,1]],["add",471,109,1,1,[256,144,65,48,9,4,3]],["add",109,471,-1,2,[256,144,65,48,9,4,3]],["add",180,471,1,1,[256,144,64,48,8,4,2,1]],["add",209,109,-2,1,[256,129,65,33,17,9,4,3]],["add",672,227,1,1,[280,128,72,48,4,2,1]],["add",227,672,-1,2,[280,128,72,48,4,2,1]],["add",181,672,1,1,[272,128,64,48,8,4,2,1]],["add",177,227,-2,1,[264,128,72,32,16,4,2,1]],["add",673,229,1,1,[257,128,72,40,24,4,3]],["add",229,673,-1,2,[257,128,72,40,24,4,3]],["add",117,673,1,1,[257,128,64,32,16,8,4,3]],["add",208,229,-2,1,[257,128,65,33,17,9,4,3]],["add",674,234,1,1,[265,128,72,32,16,4,3]],["add",234,674,-1,2,[265,128,72,32,16,4,3]],["add",117,674,1,1,[257,128,64,32,16,8,4,3]],["add",177,234,-2,1,[264,128,72,32,16,4,2,1]],["add",241,676,1,1,[272,128,65,48,9,4,3]],["add",676,241,-1,2,[272,128,65,48,9,4,3]],["add",181,241,1,1,[272,128,64,48,8,4,2,1]],["add",208,676,-2,1,[257,128,65,33,17,9,4,3]],["add",478,514,1,1,[260,128,65,36,16,9,3]],["add",514,478,-1,2,[260,128,65,36,16,9,3]],["add",165,478,1,1,[260,128,64,36,16,8,2,1]],["add",217,514,-2,1,[257,128,65,33,16,9,5,3]],["add",479,515,1,1,[259,128,66,32,16,9,4]],["add",515,479,-1,2,[259,128,66,32,16,9,4]],["add",127,479,1,1,[257,128,64,32,16,9,4,2]],["add",154,515,-2,1,[258,128,66,32,16,8,4,1]],["add",490,502,1,1,[262,128,66,36,16,8,1]],["add",502,490,-1,2,[262,128,66,36,16,8,1]],["add",165,490,1,1,[260,128,64,36,16,8,2,1]],["add",154,502,-2,1,[258,128,66,32,16,8,4,1]],["add",491,503,1,1,[257,128,66,34,16,9,6]],["add",503,491,-1,2,[257,128,66,34,16,9,6]],["add",127,491,1,1,[257,128,64,32,16,9,4,2]],["add",217,503,-2,1,[257,128,65,33,16,9,5,3]],["add",49,393,1,1,[256,132,65,36,16,9,3]],["add",393,49,-1,2,[256,132,65,36,16,9,3]],["add",164,49,1,1,[256,132,64,36,16,8,2,1]],["add",218,393,-2,1,[256,129,65,33,16,9,5,3]],["add",83,281,1,1,[256,131,66,32,16,9,4]],["add",281,83,-1,2,[256,131,66,32,16,9,4]],["add",126,83,1,1,[256,129,64,32,16,9,4,2]],["add",153,281,-2,1,[256,130,66,32,16,8,4,1]],["add",98,225,1,1,[256,129,66,34,16,9,6]],["add",225,98,-1,2,[256,129,66,34,16,9,6]],["add",126,98,1,1,[256,129,64,32,16,9,4,2]],["add",218,225,-2,1,[256,129,65,33,16,9,5,3]],["add",285,101,1,1,[256,134,66,36,16,8,1]],["add",101,285,-1,2,[256,134,66,36,16,8,1]],["add",164,285,1,1,[256,132,64,36,16,8,2,1]],["add",153,101,-2,1,[256,130,66,32,16,8,4,1]],["add",480,504,1,1,[256,128,76,44,24,2,1]],["add",504,480,-1,2,[256,128,76,44,24,2,1]],["add",163,480,1,1,[256,128,68,36,16,8,2,1]],["add",156,504,-2,1,[256,128,64,32,20,12,2,1]],["add",481,505,1,1,[256,128,72,41,25,4,2]],["add",505,481,-1,2,[256,128,72,41,25,4,2]],["add",125,481,1,1,[256,128,65,32,16,9,4,2]],["add",128,505,-2,1,[256,128,64,33,17,8,4,2]],["add",492,516,1,1,[256,128,68,37,17,8,2]],["add",516,492,-1,2,[256,128,68,37,17,8,2]],["add",163,492,1,1,[256,128,68,36,16,8,2,1]],["add",128,516,-2,1,[256,128,64,33,17,8,4,2]],["add",493,517,1,1,[256,128,65,32,20,13,2]],["add",517,493,-1,2,[256,128,65,32,20,13,2]],["add",125,493,1,1,[256,128,65,32,16,9,4,2]],["add",156,517,-2,1,[256,128,64,32,20,12,2,1]],["add",68,345,1,1,[257,129,73,40,25,5,3]],["add",345,68,-1,2,[257,129,73,40,25,5,3]],["add",211,68,1,1,[257,129,65,32,17,8,5,3]],["add",216,345,-2,1,[257,129,64,33,16,9,5,3]],["add",80,381,1,1,[258,130,72,40,24,4,1]],["add",381,80,-1,2,[258,130,72,40,24,4,1]],["add",190,80,1,1,[258,130,66,34,18,10,4,1]],["add",155,381,-2,1,[258,130,64,32,16,8,4,1]],["add",88,377,1,1,[258,130,67,34,19,10,5]],["add",377,88,-1,2,[258,130,67,34,19,10,5]],["add",190,88,1,1,[258,130,66,34,18,10,4,1]],["add",216,377,-2,1,[257,129,64,33,16,9,5,3]],["add",397,31,1,1,[258,130,65,32,17,8,5]],["add",31,397,-1,2,[258,130,65,32,17,8,5]],["add",211,397,1,1,[257,129,65,32,17,8,5,3]],["add",155,31,-2,1,[258,130,64,32,16,8,4,1]],["add",273,289,1,1,[256,132,64,33,17,12,3]],["add",289,273,-1,2,[256,132,64,33,17,12,3]],["add",223,273,1,1,[256,129,64,33,17,9,5,3]],["add",158,289,-2,1,[256,132,64,32,16,12,2,1]],["add",275,291,1,1,[256,131,64,33,18,8,4]],["add",291,275,-1,2,[256,131,64,33,18,8,4]],["add",148,275,1,1,[256,130,64,32,18,8,4,1]],["add",132,291,-2,1,[256,129,64,33,16,8,4,2]],["add",506,518,1,1,[256,129,64,33,18,10,6]],["add",518,506,-1,2,[256,129,64,33,18,10,6]],["add",223,506,1,1,[256,129,64,33,17,9,5,3]],["add",132,518,-2,1,[256,129,64,33,16,8,4,2]],["add",305,321,1,1,[256,134,64,32,18,12,1]],["add",321,305,-1,2,[256,134,64,32,18,12,1]],["add",148,305,1,1,[256,130,64,32,18,8,4,1]],["add",158,321,-2,1,[256,132,64,32,16,12,2,1]],["add",33,313,1,1,[260,128,64,33,17,12,3]],["add",313,33,-1,2,[260,128,64,33,17,12,3]],["add",159,33,1,1,[260,128,64,32,16,12,2,1]],["add",222,313,-2,1,[257,128,64,33,17,9,5,3]],["add",55,297,1,1,[259,128,64,33,18,8,4]],["add",297,55,-1,2,[259,128,64,33,18,8,4]],["add",133,55,1,1,[257,128,64,33,16,8,4,2]],["add",149,297,-2,1,[258,128,64,32,18,8,4,1]],["add",74,329,1,1,[257,128,64,33,18,10,6]],["add",329,74,-1,2,[257,128,64,33,18,10,6]],["add",133,74,1,1,[257,128,64,33,16,8,4,2]],["add",222,329,-2,1,[257,128,64,33,17,9,5,3]],["add",301,85,1,1,[262,128,64,32,18,12,1]],["add",85,301,-1,2,[262,128,64,32,18,12,1]],["add",159,301,1,1,[260,128,64,32,16,12,2,1]],["add",149,85,-2,1,[258,128,64,32,18,8,4,1]]],"removed":[595,597,598,599,603,605,607,611,613,614,615,619,621,622,623,627,629,630,631,643,645,646,647,651,654,655,659,661,662,663,675,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,482,483,494,495,507,519,653,606,635,637,638,639,667,669],"start_extra":{"448":[51],"449":[51],"450":[30],"451":[30],"452":[30],"453":[30],"454":[51],"455":[51],"472":[51],"473":[51],"474":[82,42],"475":[82,42],"476":[75,42],"477":[75,42],"484":[51],"485":[51],"486":[85,42],"487":[85,42],"488":[76,42],"489":[76,42],"496":[30],"497":[30],"506":[30],"508":[30],"509":[30],"518":[30],"520":[30],"521":[30],"522":[82,7],"523":[82,7],"524":[75,7],"525":[75,7],"526":[75,25],"527":[75,25],"528":[76,25],"529":[76,25],"531":[30],"532":[30],"533":[30],"534":[120,7],"535":[120,7],"536":[97,7],"537":[97,7],"538":[102,25],"539":[102,25],"540":[97,25],"541":[97,25],"543":[30],"544":[51],"545":[51],"550":[102],"551":[102],"552":[85],"553":[85],"554":[51],"555":[51],"556":[51],"557":[51],"559":[459],"561":[459],"562":[75],"563":[75],"564":[120],"565":[120],"566":[51],"567":[51],"569":[459],"571":[459],"576":[459],"577":[459],"578":[459],"579":[459],"584":[51],"585":[51],"586":[30],"587":[30],"588":[30],"589":[30],"590":[51],"591":[51],"592":[45],"593":[45],"594":[45],"596":[45],"600":[45],"601":[45],"602":[45],"604":[45],"608":[45],"609":[45],"610":[45],"612":[45],"616":[51],"617":[51],"618":[51],"620":[51],"624":[51],"625":[51],"626":[51],"628":[51],"632":[30],"633":[30],"634":[30],"636":[30],"640":[30],"641":[30],"642":[30],"644":[30],"648":[30],"649":[30],"650":[30],"652":[30],"656":[30],"657":[30],"658":[30],"660":[30],"664":[51],"665":[51],"666":[51],"668":[51],"670":[264,136,85,51],"671":[264,136,85,51],"672":[51],"673":[51],"674":[51],"676":[51]},"warps":[[921,243,[1,2,4,8,64,19,104,197,325],[384,133,85,45],[320,192,45,30]],[1044,250,[1,2,4,32,128,47,145,68,483],[384,133,85,45],[486,65,20,10]],[1044,266,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1044,259,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1084,333,[1,2,8,32,44,128,59,66,489],[384,193,75,30],[459,96,24,6]],[1084,317,[1,2,8,32,44,48,66,128,330],[385,74,44,30],[459,96,24,6]],[1064,530,[1,2,8,15,27,74,170,32,417],[385,70,33,18,12],[384,160,75,25,7]],[1132,285,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1132,281,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1172,301,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,297,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,313,[1,2,4,64,74,86,99,128,326],[385,74,44,30],[455,33,18,12]],[1172,329,[1,2,4,64,74,128,81,99,389],[384,193,75,30],[455,33,18,12]],[921,349,[1,2,4,27,46,8,198,64,264],[416,70,19,13],[320,192,45,30]],[1152,345,[1,2,4,40,86,8,132,16,408],[416,70,19,13],[384,130,85,45]],[921,365,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[921,361,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[1152,381,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,377,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,397,[1,2,4,8,16,62,94,129,387],[384,131,75,51],[384,130,85,45]],[1132,393,[1,2,4,16,128,138,55,65,470],[384,131,75,51],[469,66,36,9]],[1132,225,[1,2,4,10,33,68,16,128,325],[448,38,21,11],[469,66,36,9]],[1112,227,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,229,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,234,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,241,[1,4,8,16,128,26,185,65,476],[384,133,85,45],[469,72,48,3]],[1084,245,[1,2,8,32,128,47,145,105,450],[384,133,85,45],[459,96,24,6]],[1084,257,[1,2,8,12,32,27,105,128,363],[400,69,35,14],[459,96,24,6]],[1044,261,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[941,564,[2,1,8,16,128,29,160,81,408],[258,130,84,44,1],[409,80,40,5,2]],[944,565,[1,8,16,128,155,148,160,88,401],[258,130,74,45,31],[409,80,40,5,2]],[941,405,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[961,410,[1,2,8,16,256,30,57,90,129],[384,194,75,45],[144,75,42,7]],[961,417,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,419,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,421,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[1004,426,[1,2,4,128,140,148,163,256,326],[386,73,45,28],[68,34,17,8]],[1004,433,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1004,435,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1004,437,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1064,442,[1,2,4,8,23,70,32,172,396],[384,191,51,30],[384,160,75,25]],[1064,542,[1,2,8,15,27,74,32,129,394],[262,193,33,18,12],[384,160,75,25,7]],[984,1,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,4,[1,2,4,8,16,32,64,135,263],[384,131,75,51],[384,132,75,51]],[984,6,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,12,[1,2,4,8,57,66,143,16,272],[388,75,41,26],[384,132,75,51]],[1172,33,[1,2,4,64,84,128,98,111,389],[266,138,75,30],[455,45,33,18]],[1173,55,[1,2,4,64,128,145,367,160,326],[273,145,85,51],[455,33,490,18]],[1174,74,[1,2,4,64,84,128,364,39,449],[262,134,102,30],[455,33,490,18]],[1177,85,[1,2,4,64,415,86,99,128,326],[385,74,44,30],[455,33,18,473]],[1132,49,[1,2,4,16,121,128,55,80,389],[266,138,75,30],[407,66,36,111]],[1133,83,[1,2,4,16,392,128,162,68,401],[262,134,102,30],[407,66,36,414]],[1134,98,[1,2,4,16,50,492,80,128,278],[385,74,44,30],[407,66,504,36]],[1137,101,[1,2,4,16,128,285,161,195,278],[273,145,85,51],[407,66,36,414]],[1152,68,[1,2,4,8,16,188,94,129,257],[259,131,75,51],[258,130,85,175]],[1153,80,[1,2,4,8,83,424,129,16,282],[392,67,37,22],[258,130,429,85]],[1154,88,[1,2,4,8,427,80,129,16,282],[392,67,37,22],[258,130,85,429]],[1157,31,[1,2,4,8,39,92,137,16,278],[388,75,41,26],[258,130,85,45]],[557,273,[1,4,8,16,23,33,68,128,268],[388,75,41,26],[388,81,48,3]],[558,275,[1,2,4,8,16,32,67,128,259],[388,75,41,26],[391,72,41,26]],[583,289,[1,2,4,8,16,32,89,153,256],[273,145,85,51],[273,136,76,51]],[584,291,[1,2,4,8,16,32,89,128,281],[273,145,85,51],[264,145,76,51]],[610,305,[1,2,4,8,16,32,70,128,262],[385,74,44,30],[391,76,44,30]],[636,321,[1,2,4,8,16,32,106,128,298],[266,138,75,30],[288,138,97,30]],[1067,563,[1,2,8,6,32,17,73,136,291],[259,148,66,36,9],[288,160,75,25,7]],[947,550,[2,1,8,5,16,32,81,128,256],[406,66,36,8,1],[409,80,40,5,2]],[1024,551,[1,2,4,31,44,72,131,8,264],[385,66,36,22,9],[257,129,76,42,30]],[1027,552,[1,2,4,30,8,47,65,131,259],[258,130,85,37,8],[257,129,76,42,30]],[1030,553,[1,2,4,8,24,39,79,131,259],[258,130,67,45,22],[257,129,76,42,30]],[1033,562,[1,2,4,31,8,46,78,130,269],[276,131,66,36,9],[257,129,76,42,30]],[259,401,[1,2,4,8,16,62,94,129,257],[265,137,75,45],[264,136,85,51]],[262,403,[1,2,4,8,16,62,94,129,257],[265,137,75,45],[264,136,85,51]]]},"report":{"R":480,"h":9,"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8},"v":112,"width_inventory":{"4":26,"5":2,"7":62,"8":78,"9":240}},"declared_gate_edit":[["delete",259,["add",664,667,-1,1]],["delete",260,["add",665,667,-1,1]],["delete",261,["add",666,667,1,1]],["delete",262,["add",664,669,1,1]],["delete",263,["add",665,669,-1,1]],["delete",264,["add",668,669,-1,1]],["insert",259,["add",664,401,-1,1]],["insert",260,["add",665,401,-1,1]],["insert",261,["add",666,401,1,1]],["insert",262,["add",664,403,1,1]],["insert",263,["add",665,403,-1,1]],["insert",264,["add",668,403,-1,1]],["delete",941,["add",600,401,-1,1]],["delete",942,["add",601,401,-1,1]],["delete",943,["add",602,401,1,1]],["delete",944,["add",600,403,1,1]],["delete",945,["add",601,403,-1,1]],["delete",946,["add",604,403,-1,1]],["delete",947,["add",600,606,1,1]],["delete",948,["add",602,606,-1,1]],["delete",949,["add",604,606,-1,1]],["insert",941,["add",600,564,-1,1]],["insert",942,["add",601,564,-1,1]],["insert",943,["add",602,564,1,1]],["insert",944,["add",600,565,1,1]],["insert",945,["add",601,565,-1,1]],["insert",946,["add",604,565,-1,1]],["insert",947,["add",600,550,1,1]],["insert",948,["add",602,550,-1,1]],["insert",949,["add",604,550,-1,1]],["delete",956,["add",401,290,1,1]],["insert",956,["add",564,290,1,1]],["delete",958,["add",403,338,1,1]],["delete",959,["add",606,359,1,1]],["insert",958,["add",565,338,1,1]],["insert",959,["add",550,359,1,1]],["delete",1024,["add",632,635,-1,1]],["delete",1025,["add",633,635,-1,1]],["delete",1026,["add",634,635,1,1]],["delete",1027,["add",632,637,-2,1]],["delete",1028,["add",633,637,2,1]],["delete",1029,["add",636,637,-1,1]],["delete",1030,["add",632,638,-2,1]],["delete",1031,["add",634,638,2,1]],["delete",1032,["add",636,638,-1,1]],["delete",1033,["add",633,639,2,1]],["delete",1034,["add",634,639,-2,1]],["delete",1035,["add",636,639,-1,1]],["insert",1024,["add",632,551,-1,1]],["insert",1025,["add",633,551,-1,1]],["insert",1026,["add",634,551,1,1]],["insert",1027,["add",632,552,-2,1]],["insert",1028,["add",633,552,2,1]],["insert",1029,["add",636,552,-1,1]],["insert",1030,["add",632,553,-2,1]],["insert",1031,["add",634,553,2,1]],["insert",1032,["add",636,553,-1,1]],["insert",1033,["add",633,562,2,1]],["insert",1034,["add",634,562,-2,1]],["insert",1035,["add",636,562,-1,1]],["delete",1039,["add",635,467,1,1]],["insert",1039,["add",551,467,1,1]],["delete",1041,["add",637,66,1,1]],["delete",1042,["add",638,396,1,1]],["delete",1043,["add",639,398,1,1]],["insert",1041,["add",552,66,1,1]],["insert",1042,["add",553,396,1,1]],["insert",1043,["add",562,398,1,1]],["delete",1107,["add",667,469,1,1]],["insert",1107,["add",401,469,1,1]],["delete",1109,["add",669,24,1,1]],["insert",1109,["add",403,24,1,1]],["delete",1476,["add",601,606,1,1]],["delete",1477,["add",606,601,-1,2]],["insert",1476,["add",601,550,1,1]],["insert",1477,["add",550,601,-1,2]],["delete",1479,["add",175,606,1,1]],["delete",1480,["add",602,403,1,1]],["delete",1481,["add",403,602,-1,2]],["insert",1479,["add",175,550,1,1]],["insert",1480,["add",602,565,1,1]],["insert",1481,["add",565,602,-1,2]],["delete",1483,["add",123,403,1,1]],["delete",1484,["add",401,604,1,1]],["delete",1485,["add",604,401,-1,2]],["delete",1486,["add",202,401,-1,2]],["insert",1483,["add",123,565,1,1]],["insert",1484,["add",564,604,1,1]],["insert",1485,["add",604,564,-1,2]],["insert",1486,["add",202,564,-1,2]],["delete",1600,["add",632,639,-2,1]],["delete",1601,["add",639,632,1,4]],["insert",1600,["add",632,562,-2,1]],["insert",1601,["add",562,632,1,4]],["delete",1603,["add",147,639,-2,1]],["delete",1604,["add",633,638,-2,1]],["delete",1605,["add",638,633,1,4]],["insert",1603,["add",147,562,-2,1]],["insert",1604,["add",633,553,-2,1]],["insert",1605,["add",553,633,1,4]],["delete",1607,["add",157,638,-2,1]],["delete",1608,["add",634,637,-2,1]],["delete",1609,["add",637,634,1,4]],["insert",1607,["add",157,553,-2,1]],["insert",1608,["add",634,552,-2,1]],["insert",1609,["add",552,634,1,4]],["delete",1611,["add",147,637,-2,1]],["delete",1612,["add",635,636,-2,1]],["delete",1613,["add",636,635,1,4]],["delete",1614,["add",144,635,-1,2]],["insert",1611,["add",147,552,-2,1]],["insert",1612,["add",551,636,-2,1]],["insert",1613,["add",636,551,1,4]],["insert",1614,["add",144,551,-1,2]],["delete",1736,["add",666,669,1,1]],["delete",1737,["add",669,666,-1,2]],["insert",1736,["add",666,403,1,1]],["insert",1737,["add",403,666,-1,2]],["delete",1739,["add",138,669,-2,1]],["delete",1740,["add",667,668,1,1]],["delete",1741,["add",668,667,-1,2]],["delete",1742,["add",115,667,1,1]],["insert",1739,["add",138,403,-2,1]],["insert",1740,["add",401,668,1,1]],["insert",1741,["add",668,401,-1,2]],["insert",1742,["add",115,401,1,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43base.json new file mode 100644 index 0000000000..7f0cde089a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43base.json @@ -0,0 +1 @@ +{"kind":"T74_TWELVE_ALIAS_REASSIGNMENT_WITH_FRAME_RESOLVE","credit":"PR2751 (tekuuu): the twelve-alias reassignment (all eight centres rank 8, no phase-B warps); frame re-solve of the final word (B1149 merge, found concurrently by PR2733 mdumitrean and PR2766 DavidAriasC; applied to PR2751's words here by Jeremy Kothe (jeremykothe2), with AI assistance)","fields":{"base":"PR2312-width-exchange-plus-coherent-joint616","target_levels":{"104":[45],"106":[45],"110":[45],"14":[45],"21":[45],"37":[45],"41":[45],"43":[45],"47":[45],"52":[45],"78":[45],"99":[45]},"start_extra":{"448":[51],"449":[51],"450":[30],"451":[30],"452":[30],"453":[30],"454":[51],"455":[51],"472":[51],"473":[51],"474":[82,42],"475":[82,42],"476":[75,42],"477":[75,42],"484":[51],"485":[51],"486":[85,42],"487":[85,42],"488":[76,42],"489":[76,42],"496":[30],"497":[30],"506":[30],"508":[30],"509":[30],"518":[30],"520":[30],"521":[30],"522":[82,7],"523":[82,7],"524":[75,7],"525":[75,7],"526":[75,25],"527":[75,25],"528":[76,25],"529":[76,25],"531":[30],"532":[30],"533":[30],"534":[120,7],"535":[120,7],"536":[97,7],"537":[97,7],"538":[102,25],"539":[102,25],"540":[97,25],"541":[97,25],"543":[30],"544":[51],"545":[51],"550":[102],"551":[102],"552":[85],"553":[85],"554":[51],"555":[51],"556":[51],"557":[51],"559":[459],"561":[459],"562":[75],"563":[75],"564":[120],"565":[120],"566":[51],"567":[51],"569":[459],"571":[459],"576":[459],"577":[459],"578":[459],"579":[459],"584":[51],"585":[51],"586":[30],"587":[30],"588":[30],"589":[30],"590":[51],"591":[51],"592":[45],"593":[45],"594":[45],"596":[45],"600":[45],"601":[45],"602":[45],"604":[45],"606":[80,40,5,2],"608":[45],"609":[45],"610":[45],"612":[45],"616":[51],"617":[51],"618":[51],"620":[51],"624":[51],"625":[51],"626":[51],"628":[51],"632":[30],"633":[30],"634":[30],"635":[257,129,102,30],"636":[30],"637":[257,129,102,30],"638":[257,129,102,30],"639":[257,129,102,30],"640":[30],"641":[30],"642":[30],"644":[30],"648":[30],"649":[30],"650":[30],"652":[30],"656":[30],"657":[30],"658":[30],"660":[30],"664":[51],"665":[51],"666":[51],"667":[264,136,85,51],"668":[51],"669":[264,136,85,51],"670":[264,136,85,51],"671":[264,136,85,51],"672":[51],"673":[51],"674":[51],"676":[51]},"removed":[595,597,598,599,603,605,607,611,613,614,615,619,621,622,623,627,629,630,631,643,645,646,647,651,654,655,659,661,662,663,675,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,482,483,494,495,507,519,653],"A":[["scale",126,1,1,[45]],["scale",133,1,1,[45]],["scale",149,1,1,[45]],["scale",153,1,1,[45]],["scale",155,1,1,[45]],["scale",159,1,1,[45]],["scale",164,1,1,[45]],["scale",190,1,1,[45]],["scale",211,1,1,[45]],["scale",216,1,1,[45]],["scale",218,1,1,[45]],["scale",222,1,1,[45]],["warp",83,52,[382],[45]],["add",126,83,-1,2,[45]],["add",153,83,-1,2,[45]],["add",164,83,-1,2,[45]],["add",218,83,-1,2,[45]],["warp",83,-52,[45],[382]],["warp",98,53,[487],[45]],["add",126,98,-1,2,[45]],["add",153,98,-1,2,[45]],["add",164,98,-1,2,[45]],["add",218,98,1,2,[45]],["warp",98,-53,[45],[487]],["warp",55,48,[324],[45]],["add",133,55,-1,2,[45]],["add",149,55,-1,2,[45]],["add",159,55,-1,2,[45]],["add",222,55,-1,2,[45]],["warp",55,-48,[45],[324]],["warp",74,49,[352],[45]],["add",133,74,-1,2,[45]],["add",149,74,-1,2,[45]],["add",159,74,-1,2,[45]],["add",222,74,1,2,[45]],["warp",74,-49,[45],[352]],["warp",85,50,[505],[45]],["add",133,85,-1,2,[45]],["add",149,85,1,2,[45]],["add",159,85,1,2,[45]],["add",222,85,1,2,[45]],["warp",85,-50,[45],[505]],["warp",101,54,[375],[45]],["add",126,101,-1,2,[45]],["add",153,101,1,2,[45]],["add",164,101,1,2,[45]],["add",218,101,1,2,[45]],["warp",101,-54,[45],[375]],["warp",80,56,[494],[45]],["add",155,80,-1,2,[45]],["add",190,80,-1,2,[45]],["add",211,80,-1,2,[45]],["add",216,80,-1,2,[45]],["warp",80,-56,[45],[494]],["warp",31,58,[26],[45]],["add",155,31,1,2,[45]],["add",190,31,-1,2,[45]],["add",211,31,1,2,[45]],["add",216,31,1,2,[45]],["warp",31,-58,[45],[26]],["warp",33,47,[138],[45]],["add",133,33,-1,2,[45]],["add",149,33,-1,2,[45]],["add",159,33,1,2,[45]],["add",222,33,1,2,[45]],["warp",33,-47,[45],[138]],["warp",49,51,[148],[45]],["add",126,49,-1,2,[45]],["add",153,49,-1,2,[45]],["add",164,49,1,2,[45]],["add",218,49,1,2,[45]],["warp",49,-51,[45],[148]],["warp",88,57,[477],[45]],["add",155,88,-1,2,[45]],["add",190,88,-1,2,[45]],["add",211,88,-1,2,[45]],["add",216,88,1,2,[45]],["warp",88,-57,[45],[477]],["warp",68,55,[176],[45]],["add",155,68,-1,2,[45]],["add",190,68,-1,2,[45]],["add",211,68,1,2,[45]],["add",216,68,1,2,[45]],["warp",68,-55,[45],[176]],["add",499,498,1,1,[]],["add",457,498,1,1,[]],["add",456,498,1,1,[]],["add",311,498,-1,1,[]],["add",252,498,-1,2,[]],["add",249,498,-1,2,[]],["add",247,498,-1,2,[]],["add",243,498,1,2,[]],["add",242,498,-1,2,[]],["add",511,327,1,1,[]],["add",459,327,1,1,[]],["add",248,327,-1,2,[]],["add",244,327,-1,2,[]],["scale",327,-1,1,[]],["add",250,510,-1,2,[]],["add",246,510,-1,2,[]],["add",458,510,1,1,[]],["add",467,501,1,1,[]],["add",264,501,-1,2,[]],["add",260,501,-1,2,[]],["add",266,500,-1,2,[]],["add",466,500,1,1,[]],["add",262,500,-1,2,[]],["add",498,311,1,1,[]],["add",456,311,1,1,[]],["add",252,311,-1,2,[]],["add",247,311,-1,2,[]],["add",311,498,-1,1,[]],["add",327,511,1,1,[]],["add",511,327,-1,1,[]],["add",311,499,1,1,[]],["add",499,311,-1,1,[]],["add",318,583,-1,1,[]],["add",308,583,1,1,[]],["add",505,583,1,1,[]],["add",332,580,-1,1,[]],["add",326,580,1,1,[]],["add",516,580,1,1,[]],["add",311,572,-1,1,[]],["add",306,572,1,1,[]],["add",502,572,1,1,[]],["add",464,512,1,1,[]],["add",268,512,-1,2,[]],["add",263,512,-1,2,[]],["add",465,513,1,1,[]],["add",265,513,-1,2,[]],["add",259,513,1,2,[]],["add",258,513,-1,2,[]],["add",504,582,1,1,[]],["add",316,582,-1,1,[]],["add",310,582,1,1,[]],["add",324,581,1,1,[]],["add",334,581,-1,1,[]],["add",517,581,1,1,[]],["add",514,574,1,1,[]],["add",322,574,1,1,[]],["add",327,574,-1,1,[]],["add",333,575,-1,1,[]],["add",515,575,1,1,[]],["add",317,573,-1,1,[]],["add",503,573,1,1,[]],["add",588,518,1,1,[30]],["add",586,506,1,1,[30]],["scale",506,-1,2,[30]],["add",666,554,1,1,[51]],["add",664,554,-1,1,[51]],["add",618,554,2,1,[51]],["add",616,554,-2,1,[51]],["scale",554,-1,1,[51]],["add",286,287,1,1,[]],["add",285,287,-1,1,[]],["add",284,287,-1,1,[]],["add",283,287,-1,1,[]],["add",281,287,-1,1,[]],["add",280,287,1,1,[]],["add",279,287,1,1,[]],["add",277,287,2,1,[]],["scale",287,2,1,[]],["add",284,285,1,1,[]],["add",283,285,-1,1,[]],["add",282,285,1,1,[]],["add",281,285,-1,1,[]],["add",276,285,-1,1,[]],["add",274,285,-1,1,[]],["add",272,285,1,1,[]],["scale",285,2,1,[]],["add",285,283,1,1,[]],["add",284,283,1,1,[]],["add",282,283,1,1,[]],["add",281,283,-1,1,[]],["add",276,283,-1,1,[]],["add",274,283,-1,1,[]],["add",272,283,1,1,[]],["add",287,282,-2,1,[]],["add",286,282,-2,1,[]],["add",281,282,2,1,[]],["add",278,282,2,1,[]],["add",277,282,-2,1,[]],["add",275,282,-1,1,[]],["add",273,282,-2,1,[]],["add",272,282,-2,1,[]],["scale",282,2,1,[]],["scale",283,-1,1,[]],["add",282,283,-1,1,[]],["add",283,282,1,1,[]],["add",282,283,-1,1,[]],["add",287,281,1,1,[]],["add",286,281,1,1,[]],["add",285,281,-1,2,[]],["add",284,281,-1,2,[]],["add",283,281,-1,2,[]],["add",278,281,-1,1,[]],["add",277,281,1,1,[]],["add",276,281,1,2,[]],["add",275,281,1,2,[]],["add",274,281,1,2,[]],["add",273,281,1,1,[]],["add",272,281,1,2,[]],["scale",281,1,2,[]],["scale",282,-1,1,[]],["add",281,282,-1,1,[]],["add",282,281,1,1,[]],["add",281,282,-1,1,[]],["add",287,280,-1,1,[]],["add",286,280,-1,1,[]],["add",285,280,1,1,[]],["add",284,280,1,1,[]],["add",283,280,1,1,[]],["add",282,280,1,1,[]],["add",279,280,-1,1,[]],["add",277,280,-2,1,[]],["scale",280,-1,1,[]],["add",287,279,-1,1,[]],["add",286,279,-1,1,[]],["add",285,279,1,1,[]],["add",284,279,1,1,[]],["add",283,279,1,1,[]],["add",282,279,1,1,[]],["add",277,279,-2,1,[]],["scale",279,-1,1,[]],["scale",281,-1,1,[]],["add",279,281,-1,1,[]],["add",281,279,1,1,[]],["add",279,281,-1,1,[]],["scale",279,-1,1,[]],["add",278,279,-1,1,[]],["add",279,278,1,1,[]],["add",278,279,-1,1,[]],["add",287,277,-1,2,[]],["add",286,277,-1,2,[]],["add",285,277,1,2,[]],["add",284,277,1,2,[]],["add",283,277,1,2,[]],["add",282,277,1,2,[]],["add",281,277,-1,2,[]],["scale",277,-1,2,[]],["scale",280,-1,1,[]],["add",277,280,-1,1,[]],["add",280,277,1,1,[]],["add",277,280,-1,1,[]],["add",287,276,-1,1,[]],["add",286,276,-1,1,[]],["add",281,276,1,1,[]],["add",280,276,1,1,[]],["add",279,276,2,1,[]],["add",275,276,-1,1,[]],["add",274,276,-1,1,[]],["add",273,276,-2,1,[]],["add",272,276,-1,1,[]],["scale",276,2,1,[]],["scale",278,-1,1,[]],["add",276,278,-1,1,[]],["add",278,276,1,1,[]],["add",276,278,-1,1,[]],["add",287,275,-1,1,[]],["add",286,275,-1,1,[]],["add",281,275,1,1,[]],["add",280,275,1,1,[]],["add",279,275,2,1,[]],["add",278,275,2,1,[]],["add",274,275,-1,1,[]],["add",273,275,-2,1,[]],["add",272,275,-1,1,[]],["scale",275,-1,1,[]],["scale",277,-1,1,[]],["add",275,277,-1,1,[]],["add",277,275,1,1,[]],["add",275,277,-1,1,[]],["scale",276,-1,1,[]],["add",274,276,-1,1,[]],["add",276,274,1,1,[]],["add",274,276,-1,1,[]],["add",279,273,1,2,[]],["add",278,273,1,2,[]],["add",277,273,-1,2,[]],["add",276,273,-1,2,[]],["add",272,273,-1,2,[]],["scale",273,1,2,[]],["scale",274,-1,1,[]],["add",273,274,-1,1,[]],["add",274,273,1,1,[]],["add",273,274,-1,1,[]],["scale",274,-1,1,[]],["add",272,274,-1,1,[]],["add",274,272,1,1,[]],["add",272,274,-1,1,[]],["add",302,303,1,1,[]],["add",301,303,-1,1,[]],["add",300,303,-1,1,[]],["add",299,303,-1,1,[]],["add",297,303,-1,1,[]],["add",296,303,1,1,[]],["add",295,303,1,1,[]],["add",293,303,2,1,[]],["scale",303,2,1,[]],["add",300,301,1,1,[]],["add",299,301,-1,1,[]],["add",298,301,1,1,[]],["add",297,301,-1,1,[]],["add",292,301,-1,1,[]],["add",290,301,-1,1,[]],["add",288,301,1,1,[]],["scale",301,2,1,[]],["add",301,299,1,1,[]],["add",300,299,1,1,[]],["add",298,299,1,1,[]],["add",297,299,-1,1,[]],["add",292,299,-1,1,[]],["add",290,299,-1,1,[]],["add",288,299,1,1,[]],["add",303,298,-2,1,[]],["add",302,298,-2,1,[]],["add",297,298,2,1,[]],["add",294,298,2,1,[]],["add",293,298,-2,1,[]],["add",291,298,-1,1,[]],["add",289,298,-2,1,[]],["add",288,298,-2,1,[]],["scale",298,2,1,[]],["scale",299,-1,1,[]],["add",298,299,-1,1,[]],["add",299,298,1,1,[]],["add",298,299,-1,1,[]],["add",303,297,1,1,[]],["add",302,297,1,1,[]],["add",301,297,-1,2,[]],["add",300,297,-1,2,[]],["add",299,297,-1,2,[]],["add",294,297,-1,1,[]],["add",293,297,1,1,[]],["add",292,297,1,2,[]],["add",291,297,1,2,[]],["add",290,297,1,2,[]],["add",289,297,1,1,[]],["add",288,297,1,2,[]],["scale",297,1,2,[]],["scale",298,-1,1,[]],["add",297,298,-1,1,[]],["add",298,297,1,1,[]],["add",297,298,-1,1,[]],["add",303,296,-1,1,[]],["add",302,296,-1,1,[]],["add",301,296,1,1,[]],["add",300,296,1,1,[]],["add",299,296,1,1,[]],["add",298,296,1,1,[]],["add",295,296,-1,1,[]],["add",293,296,-2,1,[]],["scale",296,-1,1,[]],["add",303,295,-1,1,[]],["add",302,295,-1,1,[]],["add",301,295,1,1,[]],["add",300,295,1,1,[]],["add",299,295,1,1,[]],["add",298,295,1,1,[]],["add",293,295,-2,1,[]],["scale",295,-1,1,[]],["scale",297,-1,1,[]],["add",295,297,-1,1,[]],["add",297,295,1,1,[]],["add",295,297,-1,1,[]],["scale",295,-1,1,[]],["add",294,295,-1,1,[]],["add",295,294,1,1,[]],["add",294,295,-1,1,[]],["add",303,293,-1,2,[]],["add",302,293,-1,2,[]],["add",301,293,1,2,[]],["add",300,293,1,2,[]],["add",299,293,1,2,[]],["add",298,293,1,2,[]],["add",297,293,-1,2,[]],["scale",293,-1,2,[]],["scale",296,-1,1,[]],["add",293,296,-1,1,[]],["add",296,293,1,1,[]],["add",293,296,-1,1,[]],["add",303,292,-1,1,[]],["add",302,292,-1,1,[]],["add",297,292,1,1,[]],["add",296,292,1,1,[]],["add",295,292,2,1,[]],["add",291,292,-1,1,[]],["add",290,292,-1,1,[]],["add",289,292,-2,1,[]],["add",288,292,-1,1,[]],["scale",292,2,1,[]],["scale",294,-1,1,[]],["add",292,294,-1,1,[]],["add",294,292,1,1,[]],["add",292,294,-1,1,[]],["add",303,291,-1,1,[]],["add",302,291,-1,1,[]],["add",297,291,1,1,[]],["add",296,291,1,1,[]],["add",295,291,2,1,[]],["add",294,291,2,1,[]],["add",290,291,-1,1,[]],["add",289,291,-2,1,[]],["add",288,291,-1,1,[]],["scale",291,-1,1,[]],["scale",293,-1,1,[]],["add",291,293,-1,1,[]],["add",293,291,1,1,[]],["add",291,293,-1,1,[]],["scale",292,-1,1,[]],["add",290,292,-1,1,[]],["add",292,290,1,1,[]],["add",290,292,-1,1,[]],["add",295,289,1,2,[]],["add",294,289,1,2,[]],["add",293,289,-1,2,[]],["add",292,289,-1,2,[]],["add",288,289,-1,2,[]],["scale",289,1,2,[]],["scale",290,-1,1,[]],["add",289,290,-1,1,[]],["add",290,289,1,1,[]],["add",289,290,-1,1,[]],["scale",290,-1,1,[]],["add",288,290,-1,1,[]],["add",290,288,1,1,[]],["add",288,290,-1,1,[]],["add",318,319,1,1,[]],["add",317,319,-1,1,[]],["add",316,319,-1,1,[]],["add",315,319,-1,1,[]],["add",313,319,-1,1,[]],["add",312,319,1,1,[]],["add",311,319,1,1,[]],["add",309,319,2,1,[]],["scale",319,2,1,[]],["add",316,317,1,1,[]],["add",315,317,-1,1,[]],["add",314,317,1,1,[]],["add",313,317,-1,1,[]],["add",308,317,-1,1,[]],["add",306,317,-1,1,[]],["add",304,317,1,1,[]],["scale",317,2,1,[]],["add",317,315,1,1,[]],["add",316,315,1,1,[]],["add",314,315,1,1,[]],["add",313,315,-1,1,[]],["add",308,315,-1,1,[]],["add",306,315,-1,1,[]],["add",304,315,1,1,[]],["add",319,314,-2,1,[]],["add",318,314,-2,1,[]],["add",313,314,2,1,[]],["add",310,314,2,1,[]],["add",309,314,-2,1,[]],["add",307,314,-1,1,[]],["add",305,314,-2,1,[]],["add",304,314,-2,1,[]],["scale",314,2,1,[]],["scale",315,-1,1,[]],["add",314,315,-1,1,[]],["add",315,314,1,1,[]],["add",314,315,-1,1,[]],["add",319,313,1,1,[]],["add",318,313,1,1,[]],["add",317,313,-1,2,[]],["add",316,313,-1,2,[]],["add",315,313,-1,2,[]],["add",310,313,-1,1,[]],["add",309,313,1,1,[]],["add",308,313,1,2,[]],["add",307,313,1,2,[]],["add",306,313,1,2,[]],["add",305,313,1,1,[]],["add",304,313,1,2,[]],["scale",313,1,2,[]],["scale",314,-1,1,[]],["add",313,314,-1,1,[]],["add",314,313,1,1,[]],["add",313,314,-1,1,[]],["add",319,312,-1,1,[]],["add",318,312,-1,1,[]],["add",317,312,1,1,[]],["add",316,312,1,1,[]],["add",315,312,1,1,[]],["add",314,312,1,1,[]],["add",311,312,-1,1,[]],["add",309,312,-2,1,[]],["scale",312,-1,1,[]],["add",319,311,-1,1,[]],["add",318,311,-1,1,[]],["add",317,311,1,1,[]],["add",316,311,1,1,[]],["add",315,311,1,1,[]],["add",314,311,1,1,[]],["add",309,311,-2,1,[]],["scale",311,-1,1,[]],["scale",313,-1,1,[]],["add",311,313,-1,1,[]],["add",313,311,1,1,[]],["add",311,313,-1,1,[]],["scale",311,-1,1,[]],["add",310,311,-1,1,[]],["add",311,310,1,1,[]],["add",310,311,-1,1,[]],["add",319,309,-1,2,[]],["add",318,309,-1,2,[]],["add",317,309,1,2,[]],["add",316,309,1,2,[]],["add",315,309,1,2,[]],["add",314,309,1,2,[]],["add",313,309,-1,2,[]],["scale",309,-1,2,[]],["scale",312,-1,1,[]],["add",309,312,-1,1,[]],["add",312,309,1,1,[]],["add",309,312,-1,1,[]],["add",319,308,-1,1,[]],["add",318,308,-1,1,[]],["add",313,308,1,1,[]],["add",312,308,1,1,[]],["add",311,308,2,1,[]],["add",307,308,-1,1,[]],["add",306,308,-1,1,[]],["add",305,308,-2,1,[]],["add",304,308,-1,1,[]],["scale",308,2,1,[]],["scale",310,-1,1,[]],["add",308,310,-1,1,[]],["add",310,308,1,1,[]],["add",308,310,-1,1,[]],["add",319,307,-1,1,[]],["add",318,307,-1,1,[]],["add",313,307,1,1,[]],["add",312,307,1,1,[]],["add",311,307,2,1,[]],["add",310,307,2,1,[]],["add",306,307,-1,1,[]],["add",305,307,-2,1,[]],["add",304,307,-1,1,[]],["scale",307,-1,1,[]],["scale",309,-1,1,[]],["add",307,309,-1,1,[]],["add",309,307,1,1,[]],["add",307,309,-1,1,[]],["scale",308,-1,1,[]],["add",306,308,-1,1,[]],["add",308,306,1,1,[]],["add",306,308,-1,1,[]],["add",311,305,1,2,[]],["add",310,305,1,2,[]],["add",309,305,-1,2,[]],["add",308,305,-1,2,[]],["add",304,305,-1,2,[]],["scale",305,1,2,[]],["scale",306,-1,1,[]],["add",305,306,-1,1,[]],["add",306,305,1,1,[]],["add",305,306,-1,1,[]],["scale",306,-1,1,[]],["add",304,306,-1,1,[]],["add",306,304,1,1,[]],["add",304,306,-1,1,[]],["add",334,335,1,1,[]],["add",333,335,-1,1,[]],["add",332,335,-1,1,[]],["add",331,335,-1,1,[]],["add",329,335,-1,1,[]],["add",328,335,1,1,[]],["add",327,335,1,1,[]],["add",325,335,2,1,[]],["scale",335,2,1,[]],["add",332,333,1,1,[]],["add",331,333,-1,1,[]],["add",330,333,1,1,[]],["add",329,333,-1,1,[]],["add",324,333,-1,1,[]],["add",322,333,-1,1,[]],["add",320,333,1,1,[]],["scale",333,2,1,[]],["add",335,331,-1,1,[]],["add",334,331,-1,1,[]],["add",333,331,2,1,[]],["add",332,331,2,1,[]],["add",330,331,3,2,[]],["add",329,331,-1,1,[]],["add",325,331,-1,1,[]],["add",324,331,-1,1,[]],["add",323,331,-1,2,[]],["add",322,331,-1,1,[]],["add",321,331,1,1,[]],["add",320,331,2,1,[]],["scale",331,-1,1,[]],["add",335,330,-2,1,[]],["add",334,330,-2,1,[]],["add",329,330,2,1,[]],["add",326,330,2,1,[]],["add",325,330,-2,1,[]],["add",323,330,-1,1,[]],["add",321,330,-2,1,[]],["add",320,330,-2,1,[]],["scale",330,2,1,[]],["scale",331,-1,1,[]],["add",330,331,-1,1,[]],["add",331,330,1,1,[]],["add",330,331,-1,1,[]],["add",335,329,1,1,[]],["add",334,329,1,1,[]],["add",333,329,-1,2,[]],["add",332,329,-1,2,[]],["add",331,329,-1,2,[]],["add",326,329,-1,1,[]],["add",325,329,1,1,[]],["add",324,329,1,2,[]],["add",323,329,1,2,[]],["add",322,329,1,2,[]],["add",321,329,1,1,[]],["add",320,329,1,2,[]],["scale",329,1,2,[]],["scale",330,-1,1,[]],["add",329,330,-1,1,[]],["add",330,329,1,1,[]],["add",329,330,-1,1,[]],["add",335,328,-1,1,[]],["add",334,328,-1,1,[]],["add",333,328,1,1,[]],["add",332,328,1,1,[]],["add",331,328,1,1,[]],["add",330,328,1,1,[]],["add",327,328,-1,1,[]],["add",325,328,-2,1,[]],["add",320,328,1,1,[]],["scale",328,-1,1,[]],["add",335,327,-1,1,[]],["add",334,327,-1,1,[]],["add",333,327,1,1,[]],["add",332,327,1,1,[]],["add",331,327,1,1,[]],["add",330,327,1,1,[]],["add",325,327,-2,1,[]],["scale",327,-1,1,[]],["scale",329,-1,1,[]],["add",327,329,-1,1,[]],["add",329,327,1,1,[]],["add",327,329,-1,1,[]],["scale",327,-1,1,[]],["add",326,327,-1,1,[]],["add",327,326,1,1,[]],["add",326,327,-1,1,[]],["add",335,325,-1,2,[]],["add",334,325,-1,2,[]],["add",333,325,1,2,[]],["add",332,325,1,2,[]],["add",331,325,1,2,[]],["add",330,325,1,2,[]],["add",329,325,-1,2,[]],["scale",325,-1,2,[]],["scale",328,-1,1,[]],["add",325,328,-1,1,[]],["add",328,325,1,1,[]],["add",325,328,-1,1,[]],["add",335,324,-1,1,[]],["add",334,324,-1,1,[]],["add",329,324,1,1,[]],["add",328,324,1,1,[]],["add",327,324,2,1,[]],["add",323,324,-1,1,[]],["add",322,324,-1,1,[]],["add",321,324,-2,1,[]],["add",320,324,-1,1,[]],["scale",324,2,1,[]],["scale",326,-1,1,[]],["add",324,326,-1,1,[]],["add",326,324,1,1,[]],["add",324,326,-1,1,[]],["add",335,323,-1,1,[]],["add",334,323,-1,1,[]],["add",329,323,1,1,[]],["add",328,323,1,1,[]],["add",327,323,2,1,[]],["add",326,323,2,1,[]],["add",322,323,-1,1,[]],["add",321,323,-2,1,[]],["add",320,323,-1,1,[]],["scale",323,-1,1,[]],["scale",325,-1,1,[]],["add",323,325,-1,1,[]],["add",325,323,1,1,[]],["add",323,325,-1,1,[]],["scale",324,-1,1,[]],["add",322,324,-1,1,[]],["add",324,322,1,1,[]],["add",322,324,-1,1,[]],["add",327,321,1,2,[]],["add",326,321,1,2,[]],["add",325,321,-1,2,[]],["add",324,321,-1,2,[]],["add",322,321,1,2,[]],["add",320,321,-1,2,[]],["scale",321,1,2,[]],["add",323,320,1,1,[]],["scale",322,-1,1,[]],["add",320,322,-1,1,[]],["add",322,320,1,1,[]],["add",320,322,-1,1,[]],["add",350,351,1,1,[]],["add",349,351,-1,1,[]],["add",348,351,-1,1,[]],["add",347,351,-1,1,[]],["add",345,351,-1,1,[]],["add",344,351,1,1,[]],["add",343,351,1,1,[]],["add",341,351,2,1,[]],["scale",351,2,1,[]],["add",348,349,1,1,[]],["add",347,349,-1,1,[]],["add",346,349,1,1,[]],["add",345,349,-1,1,[]],["add",340,349,-1,1,[]],["add",338,349,-1,1,[]],["add",336,349,1,1,[]],["scale",349,2,1,[]],["add",351,347,-1,1,[]],["add",350,347,-1,1,[]],["add",349,347,2,1,[]],["add",348,347,2,1,[]],["add",346,347,3,2,[]],["add",345,347,-1,1,[]],["add",341,347,-1,1,[]],["add",340,347,-1,1,[]],["add",339,347,-1,2,[]],["add",338,347,-1,1,[]],["add",337,347,1,1,[]],["add",336,347,2,1,[]],["scale",347,-1,1,[]],["add",351,346,-2,1,[]],["add",350,346,-2,1,[]],["add",345,346,2,1,[]],["add",342,346,2,1,[]],["add",341,346,-2,1,[]],["add",339,346,-1,1,[]],["add",337,346,-2,1,[]],["add",336,346,-2,1,[]],["scale",346,2,1,[]],["scale",347,-1,1,[]],["add",346,347,-1,1,[]],["add",347,346,1,1,[]],["add",346,347,-1,1,[]],["add",351,345,1,1,[]],["add",350,345,1,1,[]],["add",349,345,-1,2,[]],["add",348,345,-1,2,[]],["add",347,345,-1,2,[]],["add",342,345,-1,1,[]],["add",341,345,1,1,[]],["add",340,345,1,2,[]],["add",339,345,1,2,[]],["add",338,345,1,2,[]],["add",337,345,1,1,[]],["add",336,345,1,2,[]],["scale",345,1,2,[]],["scale",346,-1,1,[]],["add",345,346,-1,1,[]],["add",346,345,1,1,[]],["add",345,346,-1,1,[]],["add",351,344,-1,1,[]],["add",350,344,-1,1,[]],["add",349,344,1,1,[]],["add",348,344,1,1,[]],["add",347,344,1,1,[]],["add",346,344,1,1,[]],["add",343,344,-1,1,[]],["add",341,344,-2,1,[]],["add",336,344,1,1,[]],["scale",344,-1,1,[]],["add",351,343,-1,1,[]],["add",350,343,-1,1,[]],["add",349,343,1,1,[]],["add",348,343,1,1,[]],["add",347,343,1,1,[]],["add",346,343,1,1,[]],["add",341,343,-2,1,[]],["scale",343,-1,1,[]],["scale",345,-1,1,[]],["add",343,345,-1,1,[]],["add",345,343,1,1,[]],["add",343,345,-1,1,[]],["scale",343,-1,1,[]],["add",342,343,-1,1,[]],["add",343,342,1,1,[]],["add",342,343,-1,1,[]],["add",351,341,-1,2,[]],["add",350,341,-1,2,[]],["add",349,341,1,2,[]],["add",348,341,1,2,[]],["add",347,341,1,2,[]],["add",346,341,1,2,[]],["add",345,341,-1,2,[]],["scale",341,-1,2,[]],["scale",344,-1,1,[]],["add",341,344,-1,1,[]],["add",344,341,1,1,[]],["add",341,344,-1,1,[]],["add",351,340,-1,1,[]],["add",350,340,-1,1,[]],["add",345,340,1,1,[]],["add",344,340,1,1,[]],["add",343,340,2,1,[]],["add",339,340,-1,1,[]],["add",338,340,-1,1,[]],["add",337,340,-2,1,[]],["add",336,340,-1,1,[]],["scale",340,2,1,[]],["scale",342,-1,1,[]],["add",340,342,-1,1,[]],["add",342,340,1,1,[]],["add",340,342,-1,1,[]],["add",351,339,-1,1,[]],["add",350,339,-1,1,[]],["add",345,339,1,1,[]],["add",344,339,1,1,[]],["add",343,339,2,1,[]],["add",342,339,2,1,[]],["add",338,339,-1,1,[]],["add",337,339,-2,1,[]],["add",336,339,-1,1,[]],["scale",339,-1,1,[]],["scale",341,-1,1,[]],["add",339,341,-1,1,[]],["add",341,339,1,1,[]],["add",339,341,-1,1,[]],["scale",340,-1,1,[]],["add",338,340,-1,1,[]],["add",340,338,1,1,[]],["add",338,340,-1,1,[]],["add",343,337,1,2,[]],["add",342,337,1,2,[]],["add",341,337,-1,2,[]],["add",340,337,-1,2,[]],["add",338,337,1,2,[]],["add",336,337,-1,2,[]],["scale",337,1,2,[]],["add",339,336,1,1,[]],["scale",338,-1,1,[]],["add",336,338,-1,1,[]],["add",338,336,1,1,[]],["add",336,338,-1,1,[]],["add",366,367,1,1,[]],["add",365,367,-1,1,[]],["add",364,367,-1,1,[]],["add",363,367,-1,1,[]],["add",361,367,-1,1,[]],["add",360,367,1,1,[]],["add",359,367,1,1,[]],["add",357,367,2,1,[]],["scale",367,2,1,[]],["add",364,365,1,1,[]],["add",363,365,-1,1,[]],["add",362,365,1,1,[]],["add",361,365,-1,1,[]],["add",356,365,-1,1,[]],["add",354,365,-1,1,[]],["add",352,365,1,1,[]],["scale",365,2,1,[]],["add",367,363,-1,1,[]],["add",366,363,-1,1,[]],["add",365,363,2,1,[]],["add",364,363,2,1,[]],["add",362,363,3,2,[]],["add",361,363,-1,1,[]],["add",357,363,-1,1,[]],["add",356,363,-1,1,[]],["add",355,363,-1,2,[]],["add",354,363,-1,1,[]],["add",353,363,1,1,[]],["add",352,363,2,1,[]],["scale",363,-1,1,[]],["add",367,362,-2,1,[]],["add",366,362,-2,1,[]],["add",361,362,2,1,[]],["add",358,362,2,1,[]],["add",357,362,-2,1,[]],["add",355,362,-1,1,[]],["add",353,362,-2,1,[]],["add",352,362,-2,1,[]],["scale",362,2,1,[]],["scale",363,-1,1,[]],["add",362,363,-1,1,[]],["add",363,362,1,1,[]],["add",362,363,-1,1,[]],["add",367,361,1,1,[]],["add",366,361,1,1,[]],["add",365,361,-1,2,[]],["add",364,361,-1,2,[]],["add",363,361,-1,2,[]],["add",358,361,-1,1,[]],["add",357,361,1,1,[]],["add",356,361,1,2,[]],["add",355,361,1,2,[]],["add",354,361,1,2,[]],["add",353,361,1,1,[]],["add",352,361,1,2,[]],["scale",361,1,2,[]],["scale",362,-1,1,[]],["add",361,362,-1,1,[]],["add",362,361,1,1,[]],["add",361,362,-1,1,[]],["add",367,360,-1,1,[]],["add",366,360,-1,1,[]],["add",365,360,1,1,[]],["add",364,360,1,1,[]],["add",363,360,1,1,[]],["add",362,360,1,1,[]],["add",359,360,-1,1,[]],["add",357,360,-2,1,[]],["add",352,360,1,1,[]],["scale",360,-1,1,[]],["add",367,359,-1,1,[]],["add",366,359,-1,1,[]],["add",365,359,1,1,[]],["add",364,359,1,1,[]],["add",363,359,1,1,[]],["add",362,359,1,1,[]],["add",357,359,-2,1,[]],["scale",359,-1,1,[]],["scale",361,-1,1,[]],["add",359,361,-1,1,[]],["add",361,359,1,1,[]],["add",359,361,-1,1,[]],["scale",359,-1,1,[]],["add",358,359,-1,1,[]],["add",359,358,1,1,[]],["add",358,359,-1,1,[]],["add",367,357,-1,2,[]],["add",366,357,-1,2,[]],["add",365,357,1,2,[]],["add",364,357,1,2,[]],["add",363,357,1,2,[]],["add",362,357,1,2,[]],["add",361,357,-1,2,[]],["scale",357,-1,2,[]],["scale",360,-1,1,[]],["add",357,360,-1,1,[]],["add",360,357,1,1,[]],["add",357,360,-1,1,[]],["add",367,356,-1,1,[]],["add",366,356,-1,1,[]],["add",361,356,1,1,[]],["add",360,356,1,1,[]],["add",359,356,2,1,[]],["add",355,356,-1,1,[]],["add",354,356,-1,1,[]],["add",353,356,-2,1,[]],["add",352,356,-1,1,[]],["scale",356,2,1,[]],["scale",358,-1,1,[]],["add",356,358,-1,1,[]],["add",358,356,1,1,[]],["add",356,358,-1,1,[]],["add",367,355,-1,1,[]],["add",366,355,-1,1,[]],["add",361,355,1,1,[]],["add",360,355,1,1,[]],["add",359,355,2,1,[]],["add",358,355,2,1,[]],["add",354,355,-1,1,[]],["add",353,355,-2,1,[]],["add",352,355,-1,1,[]],["scale",355,-1,1,[]],["scale",357,-1,1,[]],["add",355,357,-1,1,[]],["add",357,355,1,1,[]],["add",355,357,-1,1,[]],["scale",356,-1,1,[]],["add",354,356,-1,1,[]],["add",356,354,1,1,[]],["add",354,356,-1,1,[]],["add",359,353,1,2,[]],["add",358,353,1,2,[]],["add",357,353,-1,2,[]],["add",356,353,-1,2,[]],["add",354,353,1,2,[]],["add",352,353,-1,2,[]],["scale",353,1,2,[]],["add",355,352,1,1,[]],["scale",354,-1,1,[]],["add",352,354,-1,1,[]],["add",354,352,1,1,[]],["add",352,354,-1,1,[]],["add",382,383,1,1,[]],["add",381,383,-1,1,[]],["add",380,383,-1,1,[]],["add",379,383,-1,1,[]],["add",377,383,-1,1,[]],["add",376,383,1,1,[]],["add",375,383,1,1,[]],["add",373,383,2,1,[]],["scale",383,2,1,[]],["add",380,381,1,1,[]],["add",379,381,-1,1,[]],["add",378,381,1,1,[]],["add",377,381,-1,1,[]],["add",372,381,-1,1,[]],["add",370,381,-1,1,[]],["add",368,381,1,1,[]],["scale",381,2,1,[]],["add",383,379,-1,1,[]],["add",382,379,-1,1,[]],["add",381,379,2,1,[]],["add",380,379,2,1,[]],["add",378,379,3,2,[]],["add",377,379,-1,1,[]],["add",373,379,-1,1,[]],["add",372,379,-1,1,[]],["add",371,379,-1,2,[]],["add",370,379,-1,1,[]],["add",369,379,1,1,[]],["add",368,379,2,1,[]],["scale",379,-1,1,[]],["add",383,378,-2,1,[]],["add",382,378,-2,1,[]],["add",377,378,2,1,[]],["add",374,378,2,1,[]],["add",373,378,-2,1,[]],["add",371,378,-1,1,[]],["add",369,378,-2,1,[]],["add",368,378,-2,1,[]],["scale",378,2,1,[]],["scale",379,-1,1,[]],["add",378,379,-1,1,[]],["add",379,378,1,1,[]],["add",378,379,-1,1,[]],["add",383,377,1,1,[]],["add",382,377,1,1,[]],["add",381,377,-1,2,[]],["add",380,377,-1,2,[]],["add",379,377,-1,2,[]],["add",374,377,-1,1,[]],["add",373,377,1,1,[]],["add",372,377,1,2,[]],["add",371,377,1,2,[]],["add",370,377,1,2,[]],["add",369,377,1,1,[]],["add",368,377,1,2,[]],["scale",377,1,2,[]],["scale",378,-1,1,[]],["add",377,378,-1,1,[]],["add",378,377,1,1,[]],["add",377,378,-1,1,[]],["add",383,376,-1,1,[]],["add",382,376,-1,1,[]],["add",381,376,1,1,[]],["add",380,376,1,1,[]],["add",379,376,1,1,[]],["add",378,376,1,1,[]],["add",375,376,-1,1,[]],["add",373,376,-2,1,[]],["add",368,376,1,1,[]],["scale",376,-1,1,[]],["add",383,375,-1,1,[]],["add",382,375,-1,1,[]],["add",381,375,1,1,[]],["add",380,375,1,1,[]],["add",379,375,1,1,[]],["add",378,375,1,1,[]],["add",373,375,-2,1,[]],["scale",375,-1,1,[]],["scale",377,-1,1,[]],["add",375,377,-1,1,[]],["add",377,375,1,1,[]],["add",375,377,-1,1,[]],["scale",375,-1,1,[]],["add",374,375,-1,1,[]],["add",375,374,1,1,[]],["add",374,375,-1,1,[]],["add",383,373,-1,2,[]],["add",382,373,-1,2,[]],["add",381,373,1,2,[]],["add",380,373,1,2,[]],["add",379,373,1,2,[]],["add",378,373,1,2,[]],["add",377,373,-1,2,[]],["scale",373,-1,2,[]],["scale",376,-1,1,[]],["add",373,376,-1,1,[]],["add",376,373,1,1,[]],["add",373,376,-1,1,[]],["add",383,372,-1,1,[]],["add",382,372,-1,1,[]],["add",377,372,1,1,[]],["add",376,372,1,1,[]],["add",375,372,2,1,[]],["add",371,372,-1,1,[]],["add",370,372,-1,1,[]],["add",369,372,-2,1,[]],["add",368,372,-1,1,[]],["scale",372,2,1,[]],["scale",374,-1,1,[]],["add",372,374,-1,1,[]],["add",374,372,1,1,[]],["add",372,374,-1,1,[]],["add",383,371,-1,1,[]],["add",382,371,-1,1,[]],["add",377,371,1,1,[]],["add",376,371,1,1,[]],["add",375,371,2,1,[]],["add",374,371,2,1,[]],["add",370,371,-1,1,[]],["add",369,371,-2,1,[]],["add",368,371,-1,1,[]],["scale",371,-1,1,[]],["scale",373,-1,1,[]],["add",371,373,-1,1,[]],["add",373,371,1,1,[]],["add",371,373,-1,1,[]],["scale",372,-1,1,[]],["add",370,372,-1,1,[]],["add",372,370,1,1,[]],["add",370,372,-1,1,[]],["add",375,369,1,2,[]],["add",374,369,1,2,[]],["add",373,369,-1,2,[]],["add",372,369,-1,2,[]],["add",370,369,1,2,[]],["add",368,369,-1,2,[]],["scale",369,1,2,[]],["add",371,368,1,1,[]],["scale",370,-1,1,[]],["add",368,370,-1,1,[]],["add",370,368,1,1,[]],["add",368,370,-1,1,[]],["add",398,399,1,1,[]],["add",397,399,-1,1,[]],["add",396,399,-1,1,[]],["add",395,399,-1,1,[]],["add",393,399,-1,1,[]],["add",392,399,1,1,[]],["add",391,399,1,1,[]],["add",389,399,2,1,[]],["scale",399,2,1,[]],["add",396,397,1,1,[]],["add",395,397,-1,1,[]],["add",394,397,1,1,[]],["add",393,397,-1,1,[]],["add",388,397,-1,1,[]],["add",386,397,-1,1,[]],["add",384,397,1,1,[]],["scale",397,2,1,[]],["add",399,395,-1,1,[]],["add",398,395,-1,1,[]],["add",397,395,2,1,[]],["add",396,395,2,1,[]],["add",394,395,3,2,[]],["add",393,395,-1,1,[]],["add",389,395,-1,1,[]],["add",388,395,-1,1,[]],["add",387,395,-1,2,[]],["add",386,395,-1,1,[]],["add",385,395,1,1,[]],["add",384,395,2,1,[]],["scale",395,-1,1,[]],["add",399,394,-2,1,[]],["add",398,394,-2,1,[]],["add",393,394,2,1,[]],["add",390,394,2,1,[]],["add",389,394,-2,1,[]],["add",387,394,-1,1,[]],["add",385,394,-2,1,[]],["add",384,394,-2,1,[]],["scale",394,2,1,[]],["scale",395,-1,1,[]],["add",394,395,-1,1,[]],["add",395,394,1,1,[]],["add",394,395,-1,1,[]],["add",399,393,1,1,[]],["add",398,393,1,1,[]],["add",397,393,-1,2,[]],["add",396,393,-1,2,[]],["add",395,393,-1,2,[]],["add",390,393,-1,1,[]],["add",389,393,1,1,[]],["add",388,393,1,2,[]],["add",387,393,1,2,[]],["add",386,393,1,2,[]],["add",385,393,1,1,[]],["add",384,393,1,2,[]],["scale",393,1,2,[]],["scale",394,-1,1,[]],["add",393,394,-1,1,[]],["add",394,393,1,1,[]],["add",393,394,-1,1,[]],["add",399,392,-1,1,[]],["add",398,392,-1,1,[]],["add",397,392,1,1,[]],["add",396,392,1,1,[]],["add",395,392,1,1,[]],["add",394,392,1,1,[]],["add",391,392,-1,1,[]],["add",389,392,-2,1,[]],["add",384,392,1,1,[]],["scale",392,-1,1,[]],["add",399,391,-1,1,[]],["add",398,391,-1,1,[]],["add",397,391,1,1,[]],["add",396,391,1,1,[]],["add",395,391,1,1,[]],["add",394,391,1,1,[]],["add",389,391,-2,1,[]],["scale",391,-1,1,[]],["scale",393,-1,1,[]],["add",391,393,-1,1,[]],["add",393,391,1,1,[]],["add",391,393,-1,1,[]],["scale",391,-1,1,[]],["add",390,391,-1,1,[]],["add",391,390,1,1,[]],["add",390,391,-1,1,[]],["add",399,389,-1,2,[]],["add",398,389,-1,2,[]],["add",397,389,1,2,[]],["add",396,389,1,2,[]],["add",395,389,1,2,[]],["add",394,389,1,2,[]],["add",393,389,-1,2,[]],["scale",389,-1,2,[]],["scale",392,-1,1,[]],["add",389,392,-1,1,[]],["add",392,389,1,1,[]],["add",389,392,-1,1,[]],["add",399,388,-1,1,[]],["add",398,388,-1,1,[]],["add",393,388,1,1,[]],["add",392,388,1,1,[]],["add",391,388,2,1,[]],["add",387,388,-1,1,[]],["add",386,388,-1,1,[]],["add",385,388,-2,1,[]],["add",384,388,-1,1,[]],["scale",388,2,1,[]],["scale",390,-1,1,[]],["add",388,390,-1,1,[]],["add",390,388,1,1,[]],["add",388,390,-1,1,[]],["add",399,387,-1,1,[]],["add",398,387,-1,1,[]],["add",393,387,1,1,[]],["add",392,387,1,1,[]],["add",391,387,2,1,[]],["add",390,387,2,1,[]],["add",386,387,-1,1,[]],["add",385,387,-2,1,[]],["add",384,387,-1,1,[]],["scale",387,-1,1,[]],["scale",389,-1,1,[]],["add",387,389,-1,1,[]],["add",389,387,1,1,[]],["add",387,389,-1,1,[]],["scale",388,-1,1,[]],["add",386,388,-1,1,[]],["add",388,386,1,1,[]],["add",386,388,-1,1,[]],["add",391,385,1,2,[]],["add",390,385,1,2,[]],["add",389,385,-1,2,[]],["add",388,385,-1,2,[]],["add",386,385,1,2,[]],["add",384,385,-1,2,[]],["scale",385,1,2,[]],["add",387,384,1,1,[]],["scale",386,-1,1,[]],["add",384,386,-1,1,[]],["add",386,384,1,1,[]],["add",384,386,-1,1,[]],["add",546,561,-1,1,[459]],["add",560,561,1,1,[459]],["add",547,561,-1,1,[459]],["add",547,569,-1,1,[459]],["add",568,569,-1,1,[459]],["add",546,569,1,1,[459]],["add",560,578,-1,1,[459]],["add",568,578,-1,1,[459]],["add",546,578,1,1,[459]],["add",560,579,1,1,[459]],["add",547,579,-1,1,[459]],["add",568,579,-1,1,[459]],["add",548,559,-1,1,[459]],["add",558,559,1,1,[459]],["add",549,559,-1,1,[459]],["add",548,571,-1,1,[459]],["add",558,571,2,1,[459]],["add",549,571,-1,1,[459]],["add",570,571,-1,1,[459]],["add",548,576,-1,1,[459]],["add",570,576,-1,1,[459]],["add",558,576,1,1,[459]],["add",549,577,-1,1,[459]],["add",570,577,-1,1,[459]],["add",558,577,1,1,[459]],["add",464,476,-1,1,[75,42]],["add",465,477,-1,1,[75,42]],["add",470,524,1,2,[75,7]],["add",471,525,1,2,[75,7]],["add",478,526,-1,1,[75,25]],["add",479,527,-1,1,[75,25]],["add",514,562,-1,1,[75]],["add",515,563,-1,1,[75]],["add",468,536,1,2,[97,7]],["add",469,537,1,2,[97,7]],["add",480,540,-1,1,[97,25]],["add",481,541,-1,1,[97,25]],["add",516,552,-1,1,[85]],["add",517,553,-1,1,[85]],["add",466,488,-1,1,[76,42]],["add",467,489,-1,1,[76,42]],["add",490,538,-1,1,[102,25]],["add",491,539,-1,1,[102,25]],["add",502,550,-1,1,[102]],["add",503,551,-1,1,[102]],["add",492,528,-1,1,[76,25]],["add",493,529,-1,1,[76,25]],["add",504,564,-1,1,[120]],["add",505,565,-1,1,[120]],["add",456,474,-1,1,[82,42]],["add",457,475,-1,1,[82,42]],["add",462,534,1,2,[120,7]],["add",463,535,1,2,[120,7]],["add",460,522,1,2,[82,7]],["add",461,523,1,2,[82,7]],["add",458,486,-1,1,[85,42]],["add",459,487,-1,1,[85,42]],["add",224,0,1,1,[11]],["add",225,0,1,1,[11]],["add",226,76,1,1,[448]],["add",227,76,1,1,[448]],["add",228,87,1,1,[493]],["add",229,87,1,1,[493]],["add",230,27,1,1,[38]],["add",231,27,1,1,[38]],["add",232,92,1,1,[499]],["add",233,92,1,1,[499]],["add",234,57,1,1,[56]],["add",235,57,1,1,[56]],["add",236,7,1,1,[21]],["add",237,7,1,1,[21]],["add",238,81,1,1,[478]],["add",239,81,1,1,[478]],["add",92,233,1,1,[499]],["add",233,92,-1,1,[499]],["add",92,233,1,1,[499]],["scale",233,-1,1,[478,45]],["add",57,235,1,1,[56]],["add",235,57,-1,1,[56]],["add",57,235,1,1,[56]],["scale",235,-1,1,[45,21]],["add",7,237,1,1,[21]],["add",237,7,-1,1,[21]],["add",7,237,1,1,[21]],["scale",237,-1,1,[21]],["add",81,239,1,1,[478]],["add",239,81,-1,1,[478]],["add",81,239,1,1,[478]],["scale",239,-1,1,[478]],["add",0,27,1,1,[38,11]],["add",27,0,-1,2,[38,11]],["add",224,57,1,1,[51,11]],["add",57,224,-1,2,[51,11]],["add",225,7,1,1,[21,11]],["add",7,225,-1,2,[21,11]],["add",76,87,1,1,[448,45]],["add",87,76,-1,2,[448,45]],["add",226,92,1,1,[448,51]],["add",92,226,-1,2,[448,51]],["add",227,81,1,1,[448,30]],["add",81,227,-1,2,[448,30]],["add",228,232,1,1,[493,30]],["add",232,228,-1,2,[493,30]],["add",229,238,1,1,[478,51]],["add",238,229,-1,2,[478,51]],["add",230,234,1,1,[38,30]],["add",234,230,-1,2,[38,30]],["add",231,236,1,1,[38,21]],["add",236,231,-1,2,[38,21]],["add",233,239,1,1,[478,45]],["add",239,233,-1,2,[478,45]],["add",235,237,1,1,[45,21]],["add",237,235,-1,2,[45,21]],["add",231,229,1,1,[459,38,21]],["add",226,224,1,1,[448,51,11]],["add",230,227,1,1,[448,38,30]],["add",228,225,1,1,[486,21,11]],["add",232,234,1,1,[459,38,30]],["add",7,81,1,1,[448,21,11]],["add",236,92,1,1,[448,38,21]],["add",238,57,1,1,[469,51,11]],["add",57,92,1,1,[448,38,21,11]],["add",92,57,-1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["scale",92,-1,1,[448,38,21,11]],["scale",92,-2,1,[448,38,21,11]],["add",224,92,-1,1,[448,38,21,11]],["add",225,92,-1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",81,57,1,2,[448,38,21,11]],["add",227,57,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["add",81,229,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["scale",81,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["add",224,234,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["scale",224,-2,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["add",225,227,-1,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["scale",225,-1,1,[448,38,21,11]],["add",57,225,1,1,[448,38,21,11]],["add",229,225,1,2,[448,38,21,11]],["add",92,227,1,1,[448,38,21,11]],["add",224,227,1,1,[448,38,21,11]],["add",234,227,-2,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["scale",229,-1,2,[448,38,21,11]],["add",92,229,-1,1,[448,38,21,11]],["add",224,229,-1,1,[448,38,21,11]],["add",227,229,-1,1,[448,38,21,11]],["add",57,234,-1,1,[448,38,21,11]],["add",81,234,-1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["add",229,234,1,1,[448,38,21,11]],["add",227,234,1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["scale",234,2,1,[448,38,21,11]],["add",227,229,1,1,[448,38,21,11]],["add",81,229,1,1,[448,38,21,11]],["add",57,229,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["add",234,227,-1,2,[448,38,21,11]],["add",229,227,-1,1,[448,38,21,11]],["add",225,227,1,1,[448,38,21,11]],["add",224,227,1,2,[448,38,21,11]],["add",81,227,-1,2,[448,38,21,11]],["add",57,227,1,2,[448,38,21,11]],["add",92,227,-1,2,[448,38,21,11]],["scale",227,-1,2,[448,38,21,11]],["add",229,225,1,1,[448,38,21,11]],["add",227,225,1,2,[448,38,21,11]],["add",224,225,-1,2,[448,38,21,11]],["add",81,225,1,2,[448,38,21,11]],["add",57,225,1,2,[448,38,21,11]],["add",92,225,1,2,[448,38,21,11]],["scale",225,-2,1,[448,38,21,11]],["add",81,224,1,1,[448,38,21,11]],["add",57,224,1,1,[448,38,21,11]],["add",92,224,-1,1,[448,38,21,11]],["scale",224,2,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["add",224,225,-1,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["add",227,81,1,2,[448,38,21,11]],["add",225,81,-1,1,[448,38,21,11]],["add",92,81,1,1,[448,38,21,11]],["scale",81,-2,1,[448,38,21,11]],["add",227,57,1,2,[448,38,21,11]],["add",225,57,-1,1,[448,38,21,11]],["add",92,57,1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["add",57,224,-1,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["scale",57,-1,1,[448,38,21,11]],["add",227,92,-1,2,[448,38,21,11]],["add",225,92,1,1,[448,38,21,11]],["add",224,92,1,1,[448,38,21,11]],["add",81,92,1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["add",240,70,1,1,[208]],["add",241,240,1,1,[208]],["add",242,71,1,1,[336]],["add",243,242,1,1,[336]],["add",244,90,1,1,[381]],["add",245,90,1,1,[381]],["add",246,91,1,1,[253]],["add",247,91,1,1,[253]],["add",248,63,1,1,[296]],["add",249,63,1,1,[296]],["add",250,62,1,1,[168]],["add",251,62,1,1,[168]],["add",252,10,1,1,[133]],["add",253,10,1,1,[133]],["add",254,11,1,1,[261]],["add",255,11,1,1,[261]],["add",63,249,1,1,[296]],["add",249,63,-1,1,[296]],["add",63,249,1,1,[296]],["scale",249,-1,1,[261,45]],["add",62,251,1,1,[168]],["add",251,62,-1,1,[168]],["add",62,251,1,1,[168]],["scale",251,-1,1,[133,45]],["add",10,253,1,1,[133]],["add",253,10,-1,1,[133]],["add",10,253,1,1,[133]],["scale",253,-1,1,[133]],["add",11,255,1,1,[261]],["add",255,11,-1,1,[261]],["add",11,255,1,1,[261]],["scale",255,-1,1,[261]],["add",70,91,1,1,[208,45]],["add",91,70,-1,2,[208,45]],["add",240,62,1,1,[168,120]],["add",62,240,-1,2,[168,120]],["add",241,10,1,1,[133,85]],["add",10,241,-1,2,[133,85]],["add",71,90,1,1,[336,45]],["add",90,71,-1,2,[336,45]],["add",242,63,1,1,[296,120]],["add",63,242,-1,2,[296,120]],["add",243,11,1,1,[261,85]],["add",11,243,-1,2,[261,85]],["add",244,248,1,1,[296,85]],["add",248,244,-1,2,[296,85]],["add",245,254,1,1,[261,120]],["add",254,245,-1,2,[261,120]],["add",246,250,1,1,[168,85]],["add",250,246,-1,2,[168,85]],["add",247,252,1,1,[133,120]],["add",252,247,-1,2,[133,120]],["add",249,255,1,1,[261,45]],["add",255,249,-1,2,[261,45]],["add",251,253,1,1,[133,45]],["add",253,251,-1,2,[133,45]],["add",247,245,1,1,[261,133,120]],["add",242,240,1,1,[296,168,120]],["add",246,243,1,1,[261,168,85]],["add",244,241,1,1,[296,133,85]],["add",248,250,1,1,[296,168,85]],["add",10,11,1,1,[261,133,85]],["add",252,63,1,1,[296,133,120]],["add",254,62,1,1,[261,168,120]],["add",62,63,1,1,[261,133,85,45]],["add",63,62,-1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["scale",63,-1,1,[261,133,85,45]],["scale",63,-2,1,[261,133,85,45]],["add",240,63,-1,1,[261,133,85,45]],["add",241,63,-1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",11,62,1,2,[261,133,85,45]],["add",243,62,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["add",11,245,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["scale",11,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["add",240,250,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["scale",240,-2,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["add",241,243,-1,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["scale",241,-1,1,[261,133,85,45]],["add",62,241,1,1,[261,133,85,45]],["add",245,241,1,2,[261,133,85,45]],["add",63,243,1,1,[261,133,85,45]],["add",240,243,1,1,[261,133,85,45]],["add",250,243,-2,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["scale",245,-1,2,[261,133,85,45]],["add",63,245,-1,1,[261,133,85,45]],["add",240,245,-1,1,[261,133,85,45]],["add",243,245,-1,1,[261,133,85,45]],["add",62,250,-1,1,[261,133,85,45]],["add",11,250,-1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["add",245,250,1,1,[261,133,85,45]],["add",243,250,1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["scale",250,2,1,[261,133,85,45]],["add",243,245,1,1,[261,133,85,45]],["add",11,245,1,1,[261,133,85,45]],["add",62,245,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["add",250,243,-1,2,[261,133,85,45]],["add",245,243,-1,1,[261,133,85,45]],["add",241,243,1,1,[261,133,85,45]],["add",240,243,1,2,[261,133,85,45]],["add",11,243,-1,2,[261,133,85,45]],["add",62,243,1,2,[261,133,85,45]],["add",63,243,-1,2,[261,133,85,45]],["scale",243,-1,2,[261,133,85,45]],["add",245,241,1,1,[261,133,85,45]],["add",243,241,1,2,[261,133,85,45]],["add",240,241,-1,2,[261,133,85,45]],["add",11,241,1,2,[261,133,85,45]],["add",62,241,1,2,[261,133,85,45]],["add",63,241,1,2,[261,133,85,45]],["scale",241,-2,1,[261,133,85,45]],["add",11,240,1,1,[261,133,85,45]],["add",62,240,1,1,[261,133,85,45]],["add",63,240,-1,1,[261,133,85,45]],["scale",240,2,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["add",240,241,-1,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["add",243,11,1,2,[261,133,85,45]],["add",241,11,-1,1,[261,133,85,45]],["add",63,11,1,1,[261,133,85,45]],["scale",11,-2,1,[261,133,85,45]],["add",243,62,1,2,[261,133,85,45]],["add",241,62,-1,1,[261,133,85,45]],["add",63,62,1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["add",62,240,-1,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["scale",62,-1,1,[261,133,85,45]],["add",243,63,-1,2,[261,133,85,45]],["add",241,63,1,1,[261,133,85,45]],["add",240,63,1,1,[261,133,85,45]],["add",11,63,1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["add",256,72,1,1,[400]],["add",257,256,1,1,[400]],["add",258,2,1,1,[35]],["add",259,258,1,1,[35]],["add",260,25,1,1,[14]],["add",261,25,1,1,[14]],["add",262,89,1,1,[445]],["add",263,89,1,1,[445]],["add",264,61,1,1,[104]],["add",265,61,1,1,[104]],["add",266,94,1,1,[475]],["add",267,94,1,1,[475]],["add",268,79,1,1,[502]],["add",269,79,1,1,[502]],["add",270,9,1,1,[69]],["add",271,9,1,1,[69]],["add",61,265,1,1,[104]],["add",265,61,-1,1,[104]],["add",61,265,1,1,[104]],["scale",265,-1,1,[69,45]],["add",94,267,1,1,[475]],["add",267,94,-1,1,[475]],["add",94,267,1,1,[475]],["scale",267,-1,1,[475]],["add",79,269,1,1,[502]],["add",269,79,-1,1,[502]],["add",79,269,1,1,[502]],["scale",269,-1,1,[475,45]],["add",9,271,1,1,[69]],["add",271,9,-1,1,[69]],["add",9,271,1,1,[69]],["scale",271,-1,1,[69]],["add",72,89,1,1,[400,45]],["add",89,72,-1,2,[400,45]],["add",256,94,1,1,[400,75]],["add",94,256,-1,2,[400,75]],["add",257,79,1,1,[400,102]],["add",79,257,-1,2,[400,102]],["add",2,25,1,1,[35,14]],["add",25,2,-1,2,[35,14]],["add",258,61,1,1,[75,35]],["add",61,258,-1,2,[75,35]],["add",259,9,1,1,[69,35]],["add",9,259,-1,2,[69,35]],["add",260,264,1,1,[102,14]],["add",264,260,-1,2,[102,14]],["add",261,270,1,1,[69,14]],["add",270,261,-1,2,[69,14]],["add",262,266,1,1,[445,102]],["add",266,262,-1,2,[445,102]],["add",263,268,1,1,[445,75]],["add",268,263,-1,2,[445,75]],["add",265,271,1,1,[69,45]],["add",271,265,-1,2,[69,45]],["add",267,269,1,1,[475,45]],["add",269,267,-1,2,[475,45]],["add",263,261,1,1,[435,69,14]],["add",258,256,1,1,[400,75,35]],["add",262,259,1,1,[414,69,35]],["add",260,257,1,1,[400,102,14]],["add",264,266,1,1,[435,102,14]],["add",79,9,1,1,[400,69,35]],["add",268,61,1,1,[414,75,35]],["add",270,94,1,1,[400,69,14]],["add",94,61,1,1,[400,69,35,14]],["add",61,94,-1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["scale",61,-1,1,[400,69,35,14]],["scale",61,-2,1,[400,69,35,14]],["add",256,61,-1,1,[400,69,35,14]],["add",257,61,-1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",9,94,1,2,[400,69,35,14]],["add",259,94,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["add",9,261,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["scale",9,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["add",256,266,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["scale",256,-2,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["add",257,259,-1,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["scale",257,-1,1,[400,69,35,14]],["add",94,257,1,1,[400,69,35,14]],["add",261,257,1,2,[400,69,35,14]],["add",61,259,1,1,[400,69,35,14]],["add",256,259,1,1,[400,69,35,14]],["add",266,259,-2,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["scale",261,-1,2,[400,69,35,14]],["add",61,261,-1,1,[400,69,35,14]],["add",256,261,-1,1,[400,69,35,14]],["add",259,261,-1,1,[400,69,35,14]],["add",94,266,-1,1,[400,69,35,14]],["add",9,266,-1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["add",261,266,1,1,[400,69,35,14]],["add",259,266,1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["scale",266,2,1,[400,69,35,14]],["add",259,261,1,1,[400,69,35,14]],["add",9,261,1,1,[400,69,35,14]],["add",94,261,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["add",266,259,-1,2,[400,69,35,14]],["add",261,259,-1,1,[400,69,35,14]],["add",257,259,1,1,[400,69,35,14]],["add",256,259,1,2,[400,69,35,14]],["add",9,259,-1,2,[400,69,35,14]],["add",94,259,1,2,[400,69,35,14]],["add",61,259,-1,2,[400,69,35,14]],["scale",259,-1,2,[400,69,35,14]],["add",261,257,1,1,[400,69,35,14]],["add",259,257,1,2,[400,69,35,14]],["add",256,257,-1,2,[400,69,35,14]],["add",9,257,1,2,[400,69,35,14]],["add",94,257,1,2,[400,69,35,14]],["add",61,257,1,2,[400,69,35,14]],["scale",257,-2,1,[400,69,35,14]],["add",9,256,1,1,[400,69,35,14]],["add",94,256,1,1,[400,69,35,14]],["add",61,256,-1,1,[400,69,35,14]],["scale",256,2,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["add",256,257,-1,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["add",259,9,1,2,[400,69,35,14]],["add",257,9,-1,1,[400,69,35,14]],["add",61,9,1,1,[400,69,35,14]],["scale",9,-2,1,[400,69,35,14]],["add",259,94,1,2,[400,69,35,14]],["add",257,94,-1,1,[400,69,35,14]],["add",61,94,1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["add",94,256,-1,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["scale",94,-1,1,[400,69,35,14]],["add",259,61,-1,2,[400,69,35,14]],["add",257,61,1,1,[400,69,35,14]],["add",256,61,1,1,[400,69,35,14]],["add",9,61,1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["add",272,12,1,1,[41]],["add",273,272,1,1,[41]],["add",274,100,1,1,[439]],["add",275,274,1,1,[439]],["add",276,56,1,1,[388]],["add",277,56,1,1,[388]],["add",278,31,1,1,[26]],["add",279,31,1,1,[26]],["add",280,103,1,1,[463]],["add",281,103,1,1,[463]],["add",282,17,1,1,[81]],["add",283,17,1,1,[81]],["add",284,38,1,1,[98]],["add",285,38,1,1,[98]],["add",286,77,1,1,[508]],["add",287,77,1,1,[508]],["add",103,281,1,1,[463]],["add",281,103,-1,1,[463]],["add",103,281,1,1,[463]],["scale",281,-1,1,[463]],["add",17,283,1,1,[81]],["add",283,17,-1,1,[81]],["add",17,283,1,1,[81]],["scale",283,-1,1,[81]],["add",38,285,1,1,[98]],["add",285,38,-1,1,[98]],["add",38,285,1,1,[98]],["scale",285,-1,1,[81,51]],["add",77,287,1,1,[508]],["add",287,77,-1,1,[508]],["add",77,287,1,1,[508]],["scale",287,-1,1,[463,51]],["add",12,31,1,1,[41,26]],["add",31,12,-1,2,[41,26]],["add",272,17,1,1,[81,41]],["add",17,272,-1,2,[81,41]],["add",273,38,1,1,[75,41]],["add",38,273,-1,2,[75,41]],["add",100,56,1,1,[388,51]],["add",56,100,-1,2,[388,51]],["add",274,103,1,1,[439,120]],["add",103,274,-1,2,[439,120]],["add",275,77,1,1,[439,75]],["add",77,275,-1,2,[439,75]],["add",276,280,1,1,[388,75]],["add",280,276,-1,2,[388,75]],["add",277,286,1,1,[388,120]],["add",286,277,-1,2,[388,120]],["add",278,282,1,1,[75,26]],["add",282,278,-1,2,[75,26]],["add",279,284,1,1,[98,26]],["add",284,279,-1,2,[98,26]],["add",281,287,1,1,[463,51]],["add",287,281,-1,2,[463,51]],["add",283,285,1,1,[81,51]],["add",285,283,-1,2,[81,51]],["add",279,277,1,1,[388,98,26]],["add",274,272,1,1,[414,81,41]],["add",278,275,1,1,[429,75,26]],["add",276,273,1,1,[388,75,41]],["add",280,282,1,1,[388,75,26]],["add",38,77,1,1,[414,75,41]],["add",284,103,1,1,[429,98,26]],["add",286,17,1,1,[388,81,41]],["add",17,103,1,1,[388,75,41,26]],["add",103,17,-1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["scale",103,-1,1,[388,75,41,26]],["scale",103,-2,1,[388,75,41,26]],["add",272,103,-1,1,[388,75,41,26]],["add",273,103,-1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",77,17,1,2,[388,75,41,26]],["add",275,17,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["add",77,277,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["scale",77,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["add",272,282,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["scale",272,-2,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["add",273,275,-1,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["scale",273,-1,1,[388,75,41,26]],["add",17,273,1,1,[388,75,41,26]],["add",277,273,1,2,[388,75,41,26]],["add",103,275,1,1,[388,75,41,26]],["add",272,275,1,1,[388,75,41,26]],["add",282,275,-2,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["scale",277,-1,2,[388,75,41,26]],["add",103,277,-1,1,[388,75,41,26]],["add",272,277,-1,1,[388,75,41,26]],["add",275,277,-1,1,[388,75,41,26]],["add",17,282,-1,1,[388,75,41,26]],["add",77,282,-1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["add",277,282,1,1,[388,75,41,26]],["add",275,282,1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["scale",282,2,1,[388,75,41,26]],["add",275,277,1,1,[388,75,41,26]],["add",77,277,1,1,[388,75,41,26]],["add",17,277,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",282,275,-1,2,[388,75,41,26]],["add",277,275,-1,1,[388,75,41,26]],["add",273,275,1,1,[388,75,41,26]],["add",272,275,1,2,[388,75,41,26]],["add",77,275,-1,2,[388,75,41,26]],["add",17,275,1,2,[388,75,41,26]],["add",103,275,-1,2,[388,75,41,26]],["scale",275,-1,2,[388,75,41,26]],["add",277,273,1,1,[388,75,41,26]],["add",275,273,1,2,[388,75,41,26]],["add",272,273,-1,2,[388,75,41,26]],["add",77,273,1,2,[388,75,41,26]],["add",17,273,1,2,[388,75,41,26]],["add",103,273,1,2,[388,75,41,26]],["scale",273,-2,1,[388,75,41,26]],["add",77,272,1,1,[388,75,41,26]],["add",17,272,1,1,[388,75,41,26]],["add",103,272,-1,1,[388,75,41,26]],["scale",272,2,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["add",272,273,-1,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["add",275,77,1,2,[388,75,41,26]],["add",273,77,-1,1,[388,75,41,26]],["add",103,77,1,1,[388,75,41,26]],["scale",77,-2,1,[388,75,41,26]],["add",275,17,1,2,[388,75,41,26]],["add",273,17,-1,1,[388,75,41,26]],["add",103,17,1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["add",17,272,-1,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["scale",17,-1,1,[388,75,41,26]],["add",275,103,-1,2,[388,75,41,26]],["add",273,103,1,1,[388,75,41,26]],["add",272,103,1,1,[388,75,41,26]],["add",77,103,1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["add",288,101,1,1,[375]],["add",289,288,1,1,[375]],["add",290,54,1,1,[196]],["add",291,290,1,1,[196]],["add",292,102,1,1,[247]],["add",293,102,1,1,[247]],["add",294,55,1,1,[324]],["add",295,55,1,1,[324]],["add",296,18,1,1,[145]],["add",297,18,1,1,[145]],["add",298,40,1,1,[290]],["add",299,40,1,1,[290]],["add",300,19,1,1,[273]],["add",301,19,1,1,[273]],["add",302,39,1,1,[162]],["add",303,39,1,1,[162]],["add",18,297,1,1,[145]],["add",297,18,-1,1,[145]],["add",18,297,1,1,[145]],["scale",297,-1,1,[145]],["add",40,299,1,1,[290]],["add",299,40,-1,1,[290]],["add",40,299,1,1,[290]],["scale",299,-1,1,[273,51]],["add",19,301,1,1,[273]],["add",301,19,-1,1,[273]],["add",19,301,1,1,[273]],["scale",301,-1,1,[273]],["add",39,303,1,1,[162]],["add",303,39,-1,1,[162]],["add",39,303,1,1,[162]],["scale",303,-1,1,[145,51]],["add",101,55,1,1,[324,51]],["add",55,101,-1,2,[324,51]],["add",288,40,1,1,[290,85]],["add",40,288,-1,2,[290,85]],["add",289,19,1,1,[273,102]],["add",19,289,-1,2,[273,102]],["add",54,102,1,1,[196,51]],["add",102,54,-1,2,[196,51]],["add",290,18,1,1,[145,85]],["add",18,290,-1,2,[145,85]],["add",291,39,1,1,[162,102]],["add",39,291,-1,2,[162,102]],["add",292,296,1,1,[145,102]],["add",296,292,-1,2,[145,102]],["add",293,302,1,1,[162,85]],["add",302,293,-1,2,[162,85]],["add",294,298,1,1,[290,102]],["add",298,294,-1,2,[290,102]],["add",295,300,1,1,[273,85]],["add",300,295,-1,2,[273,85]],["add",297,303,1,1,[145,51]],["add",303,297,-1,2,[145,51]],["add",299,301,1,1,[273,51]],["add",301,299,-1,2,[273,51]],["add",295,293,1,1,[273,162,85]],["add",290,288,1,1,[290,145,85]],["add",294,291,1,1,[290,162,102]],["add",292,289,1,1,[273,145,102]],["add",296,298,1,1,[290,145,102]],["add",19,39,1,1,[273,162,102]],["add",300,18,1,1,[273,145,85]],["add",302,40,1,1,[290,162,85]],["add",40,18,1,1,[273,145,85,51]],["add",18,40,-1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["scale",18,-1,1,[273,145,85,51]],["scale",18,-2,1,[273,145,85,51]],["add",288,18,-1,1,[273,145,85,51]],["add",289,18,-1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",39,40,1,2,[273,145,85,51]],["add",291,40,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["add",39,293,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["scale",39,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["add",288,298,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["scale",288,-2,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["add",289,291,-1,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["scale",289,-1,1,[273,145,85,51]],["add",40,289,1,1,[273,145,85,51]],["add",293,289,1,2,[273,145,85,51]],["add",18,291,1,1,[273,145,85,51]],["add",288,291,1,1,[273,145,85,51]],["add",298,291,-2,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["scale",293,-1,2,[273,145,85,51]],["add",18,293,-1,1,[273,145,85,51]],["add",288,293,-1,1,[273,145,85,51]],["add",291,293,-1,1,[273,145,85,51]],["add",40,298,-1,1,[273,145,85,51]],["add",39,298,-1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["add",293,298,1,1,[273,145,85,51]],["add",291,298,1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["scale",298,2,1,[273,145,85,51]],["add",291,293,1,1,[273,145,85,51]],["add",39,293,1,1,[273,145,85,51]],["add",40,293,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",298,291,-1,2,[273,145,85,51]],["add",293,291,-1,1,[273,145,85,51]],["add",289,291,1,1,[273,145,85,51]],["add",288,291,1,2,[273,145,85,51]],["add",39,291,-1,2,[273,145,85,51]],["add",40,291,1,2,[273,145,85,51]],["add",18,291,-1,2,[273,145,85,51]],["scale",291,-1,2,[273,145,85,51]],["add",293,289,1,1,[273,145,85,51]],["add",291,289,1,2,[273,145,85,51]],["add",288,289,-1,2,[273,145,85,51]],["add",39,289,1,2,[273,145,85,51]],["add",40,289,1,2,[273,145,85,51]],["add",18,289,1,2,[273,145,85,51]],["scale",289,-2,1,[273,145,85,51]],["add",39,288,1,1,[273,145,85,51]],["add",40,288,1,1,[273,145,85,51]],["add",18,288,-1,1,[273,145,85,51]],["scale",288,2,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["add",288,289,-1,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["add",291,39,1,2,[273,145,85,51]],["add",289,39,-1,1,[273,145,85,51]],["add",18,39,1,1,[273,145,85,51]],["scale",39,-2,1,[273,145,85,51]],["add",291,40,1,2,[273,145,85,51]],["add",289,40,-1,1,[273,145,85,51]],["add",18,40,1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["add",40,288,-1,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["scale",40,-1,1,[273,145,85,51]],["add",291,18,-1,2,[273,145,85,51]],["add",289,18,1,1,[273,145,85,51]],["add",288,18,1,1,[273,145,85,51]],["add",39,18,1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["add",304,98,1,1,[487]],["add",305,304,1,1,[487]],["add",306,48,1,1,[84]],["add",307,306,1,1,[84]],["add",308,32,1,1,[74]],["add",309,32,1,1,[74]],["add",310,85,1,1,[505]],["add",311,85,1,1,[505]],["add",312,45,1,1,[44]],["add",313,45,1,1,[44]],["add",314,107,1,1,[415]],["add",315,107,1,1,[415]],["add",316,24,1,1,[385]],["add",317,24,1,1,[385]],["add",318,35,1,1,[50]],["add",319,35,1,1,[50]],["add",45,313,1,1,[44]],["add",313,45,-1,1,[44]],["add",45,313,1,1,[44]],["scale",313,-1,1,[44]],["add",107,315,1,1,[415]],["add",315,107,-1,1,[415]],["add",107,315,1,1,[415]],["scale",315,-1,1,[385,30]],["add",24,317,1,1,[385]],["add",317,24,-1,1,[385]],["add",24,317,1,1,[385]],["scale",317,-1,1,[385]],["add",35,319,1,1,[50]],["add",319,35,-1,1,[50]],["add",35,319,1,1,[50]],["scale",319,-1,1,[44,30]],["add",98,85,1,1,[487,30]],["add",85,98,-1,2,[487,30]],["add",304,107,1,1,[415,120]],["add",107,304,-1,2,[415,120]],["add",305,24,1,1,[385,102]],["add",24,305,-1,2,[385,102]],["add",48,32,1,1,[74,30]],["add",32,48,-1,2,[74,30]],["add",306,45,1,1,[84,44]],["add",45,306,-1,2,[84,44]],["add",307,35,1,1,[84,50]],["add",35,307,-1,2,[84,50]],["add",308,312,1,1,[74,44]],["add",312,308,-1,2,[74,44]],["add",309,318,1,1,[74,50]],["add",318,309,-1,2,[74,50]],["add",310,314,1,1,[415,102]],["add",314,310,-1,2,[415,102]],["add",311,316,1,1,[385,120]],["add",316,311,-1,2,[385,120]],["add",313,319,1,1,[44,30]],["add",319,313,-1,2,[44,30]],["add",315,317,1,1,[385,30]],["add",317,315,-1,2,[385,30]],["add",311,309,1,1,[385,74,50]],["add",306,304,1,1,[415,84,44]],["add",310,307,1,1,[415,84,50]],["add",308,305,1,1,[385,74,44]],["add",312,314,1,1,[415,74,44]],["add",24,35,1,1,[385,84,50]],["add",316,45,1,1,[385,84,44]],["add",318,107,1,1,[415,74,50]],["add",107,45,1,1,[385,74,44,30]],["add",45,107,-1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["scale",45,-1,1,[385,74,44,30]],["scale",45,-2,1,[385,74,44,30]],["add",304,45,-1,1,[385,74,44,30]],["add",305,45,-1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",35,107,1,2,[385,74,44,30]],["add",307,107,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["add",35,309,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["scale",35,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["add",304,314,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["scale",304,-2,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["add",305,307,-1,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["scale",305,-1,1,[385,74,44,30]],["add",107,305,1,1,[385,74,44,30]],["add",309,305,1,2,[385,74,44,30]],["add",45,307,1,1,[385,74,44,30]],["add",304,307,1,1,[385,74,44,30]],["add",314,307,-2,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["scale",309,-1,2,[385,74,44,30]],["add",45,309,-1,1,[385,74,44,30]],["add",304,309,-1,1,[385,74,44,30]],["add",307,309,-1,1,[385,74,44,30]],["add",107,314,-1,1,[385,74,44,30]],["add",35,314,-1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["add",309,314,1,1,[385,74,44,30]],["add",307,314,1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["scale",314,2,1,[385,74,44,30]],["add",307,309,1,1,[385,74,44,30]],["add",35,309,1,1,[385,74,44,30]],["add",107,309,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",314,307,-1,2,[385,74,44,30]],["add",309,307,-1,1,[385,74,44,30]],["add",305,307,1,1,[385,74,44,30]],["add",304,307,1,2,[385,74,44,30]],["add",35,307,-1,2,[385,74,44,30]],["add",107,307,1,2,[385,74,44,30]],["add",45,307,-1,2,[385,74,44,30]],["scale",307,-1,2,[385,74,44,30]],["add",309,305,1,1,[385,74,44,30]],["add",307,305,1,2,[385,74,44,30]],["add",304,305,-1,2,[385,74,44,30]],["add",35,305,1,2,[385,74,44,30]],["add",107,305,1,2,[385,74,44,30]],["add",45,305,1,2,[385,74,44,30]],["scale",305,-2,1,[385,74,44,30]],["add",35,304,1,1,[385,74,44,30]],["add",107,304,1,1,[385,74,44,30]],["add",45,304,-1,1,[385,74,44,30]],["scale",304,2,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["add",304,305,-1,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["add",307,35,1,2,[385,74,44,30]],["add",305,35,-1,1,[385,74,44,30]],["add",45,35,1,1,[385,74,44,30]],["scale",35,-2,1,[385,74,44,30]],["add",307,107,1,2,[385,74,44,30]],["add",305,107,-1,1,[385,74,44,30]],["add",45,107,1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["add",107,304,-1,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["scale",107,-1,1,[385,74,44,30]],["add",307,45,-1,2,[385,74,44,30]],["add",305,45,1,1,[385,74,44,30]],["add",304,45,1,1,[385,74,44,30]],["add",35,45,1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["add",320,49,1,1,[148]],["add",321,49,1,1,[148]],["add",322,34,1,1,[266]],["add",323,34,1,1,[266]],["add",324,50,1,1,[276]],["add",325,50,1,1,[276]],["add",326,33,1,1,[138]],["add",327,33,1,1,[138]],["add",328,108,1,1,[351]],["add",329,108,1,1,[351]],["add",330,22,1,1,[193]],["add",331,22,1,1,[193]],["add",332,109,1,1,[223]],["add",333,109,1,1,[223]],["add",334,23,1,1,[321]],["add",335,23,1,1,[321]],["add",108,329,1,1,[351]],["add",329,108,-1,1,[351]],["add",108,329,1,1,[351]],["scale",329,-1,1,[321,30]],["add",22,331,1,1,[193]],["add",331,22,-1,1,[193]],["add",22,331,1,1,[193]],["scale",331,-1,1,[193]],["add",109,333,1,1,[223]],["add",333,109,-1,1,[223]],["add",109,333,1,1,[223]],["scale",333,-1,1,[193,30]],["add",23,335,1,1,[321]],["add",335,23,-1,1,[321]],["add",23,335,1,1,[321]],["scale",335,-1,1,[321]],["add",49,33,1,1,[138,30]],["add",33,49,-1,2,[138,30]],["add",320,22,1,1,[148,85]],["add",22,320,-1,2,[148,85]],["add",321,109,1,1,[148,75]],["add",109,321,-1,2,[148,75]],["add",34,50,1,1,[266,30]],["add",50,34,-1,2,[266,30]],["add",322,108,1,1,[266,85]],["add",108,322,-1,2,[266,85]],["add",323,23,1,1,[266,75]],["add",23,323,-1,2,[266,75]],["add",324,328,1,1,[276,75]],["add",328,324,-1,2,[276,75]],["add",325,334,1,1,[276,85]],["add",334,325,-1,2,[276,85]],["add",326,330,1,1,[138,75]],["add",330,326,-1,2,[138,75]],["add",327,332,1,1,[138,85]],["add",332,327,-1,2,[138,85]],["add",329,335,1,1,[321,30]],["add",335,329,-1,2,[321,30]],["add",331,333,1,1,[193,30]],["add",333,331,-1,2,[193,30]],["add",327,325,1,1,[276,138,85]],["add",322,320,1,1,[266,148,85]],["add",326,323,1,1,[266,138,75]],["add",324,321,1,1,[276,148,75]],["add",328,330,1,1,[276,138,75]],["add",109,23,1,1,[266,148,75]],["add",332,108,1,1,[266,138,85]],["add",334,22,1,1,[276,148,85]],["add",22,108,1,1,[266,138,75,30]],["add",108,22,-1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["scale",108,-1,1,[266,138,75,30]],["scale",108,-2,1,[266,138,75,30]],["add",320,108,-1,1,[266,138,75,30]],["add",321,108,-1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",23,22,1,2,[266,138,75,30]],["add",323,22,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["add",23,325,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["scale",23,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["add",320,330,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["scale",320,-2,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["add",321,323,-1,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["scale",321,-1,1,[266,138,75,30]],["add",22,321,1,1,[266,138,75,30]],["add",325,321,1,2,[266,138,75,30]],["add",108,323,1,1,[266,138,75,30]],["add",320,323,1,1,[266,138,75,30]],["add",330,323,-2,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["scale",325,-1,2,[266,138,75,30]],["add",108,325,-1,1,[266,138,75,30]],["add",320,325,-1,1,[266,138,75,30]],["add",323,325,-1,1,[266,138,75,30]],["add",22,330,-1,1,[266,138,75,30]],["add",23,330,-1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["add",325,330,1,1,[266,138,75,30]],["add",323,330,1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["scale",330,2,1,[266,138,75,30]],["add",323,325,1,1,[266,138,75,30]],["add",23,325,1,1,[266,138,75,30]],["add",22,325,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",330,323,-1,2,[266,138,75,30]],["add",325,323,-1,1,[266,138,75,30]],["add",321,323,1,1,[266,138,75,30]],["add",320,323,1,2,[266,138,75,30]],["add",23,323,-1,2,[266,138,75,30]],["add",22,323,1,2,[266,138,75,30]],["add",108,323,-1,2,[266,138,75,30]],["scale",323,-1,2,[266,138,75,30]],["add",325,321,1,1,[266,138,75,30]],["add",323,321,1,2,[266,138,75,30]],["add",320,321,-1,2,[266,138,75,30]],["add",23,321,1,2,[266,138,75,30]],["add",22,321,1,2,[266,138,75,30]],["add",108,321,1,2,[266,138,75,30]],["scale",321,-2,1,[266,138,75,30]],["add",23,320,1,1,[266,138,75,30]],["add",22,320,1,1,[266,138,75,30]],["add",108,320,-1,1,[266,138,75,30]],["scale",320,2,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["add",320,321,-1,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["add",323,23,1,2,[266,138,75,30]],["add",321,23,-1,1,[266,138,75,30]],["add",108,23,1,1,[266,138,75,30]],["scale",23,-2,1,[266,138,75,30]],["add",323,22,1,2,[266,138,75,30]],["add",321,22,-1,1,[266,138,75,30]],["add",108,22,1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["add",22,320,-1,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["scale",22,-1,1,[266,138,75,30]],["add",323,108,-1,2,[266,138,75,30]],["add",321,108,1,1,[266,138,75,30]],["add",320,108,1,1,[266,138,75,30]],["add",23,108,1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["add",336,6,1,1,[13]],["add",337,6,1,1,[13]],["add",338,82,1,1,[446]],["add",339,82,1,1,[446]],["add",340,75,1,1,[416]],["add",341,75,1,1,[416]],["add",342,1,1,1,[19]],["add",343,1,1,1,[19]],["add",344,93,1,1,[491]],["add",345,93,1,1,[491]],["add",346,58,1,1,[88]],["add",347,58,1,1,[88]],["add",348,28,1,1,[70]],["add",349,28,1,1,[70]],["add",350,86,1,1,[501]],["add",351,86,1,1,[501]],["add",93,345,1,1,[491]],["add",345,93,-1,1,[491]],["add",93,345,1,1,[491]],["scale",345,-1,1,[491]],["add",58,347,1,1,[88]],["add",347,58,-1,1,[88]],["add",58,347,1,1,[88]],["scale",347,-1,1,[70,30]],["add",28,349,1,1,[70]],["add",349,28,-1,1,[70]],["add",28,349,1,1,[70]],["scale",349,-1,1,[70]],["add",86,351,1,1,[501]],["add",351,86,-1,1,[501]],["add",86,351,1,1,[501]],["scale",351,-1,1,[491,30]],["add",6,1,1,1,[19,13]],["add",1,6,-1,2,[19,13]],["add",336,58,1,1,[85,13]],["add",58,336,-1,2,[85,13]],["add",337,28,1,1,[70,13]],["add",28,337,-1,2,[70,13]],["add",82,75,1,1,[416,30]],["add",75,82,-1,2,[416,30]],["add",338,93,1,1,[446,85]],["add",93,338,-1,2,[446,85]],["add",339,86,1,1,[446,75]],["add",86,339,-1,2,[446,75]],["add",340,344,1,1,[416,75]],["add",344,340,-1,2,[416,75]],["add",341,350,1,1,[416,85]],["add",350,341,-1,2,[416,85]],["add",342,346,1,1,[75,19]],["add",346,342,-1,2,[75,19]],["add",343,348,1,1,[70,19]],["add",348,343,-1,2,[70,19]],["add",345,351,1,1,[491,30]],["add",351,345,-1,2,[491,30]],["add",347,349,1,1,[70,30]],["add",349,347,-1,2,[70,30]],["add",343,341,1,1,[416,70,19]],["add",338,336,1,1,[435,85,13]],["add",342,339,1,1,[429,75,19]],["add",340,337,1,1,[416,70,13]],["add",344,346,1,1,[416,75,19]],["add",28,86,1,1,[435,70,13]],["add",348,93,1,1,[429,70,19]],["add",350,58,1,1,[416,85,13]],["add",58,93,1,1,[416,70,19,13]],["add",93,58,-1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["scale",93,-1,1,[416,70,19,13]],["scale",93,-2,1,[416,70,19,13]],["add",336,93,-1,1,[416,70,19,13]],["add",337,93,-1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",86,58,1,2,[416,70,19,13]],["add",339,58,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["add",86,341,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["scale",86,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["add",336,346,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["scale",336,-2,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["add",337,339,-1,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["scale",337,-1,1,[416,70,19,13]],["add",58,337,1,1,[416,70,19,13]],["add",341,337,1,2,[416,70,19,13]],["add",93,339,1,1,[416,70,19,13]],["add",336,339,1,1,[416,70,19,13]],["add",346,339,-2,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["scale",341,-1,2,[416,70,19,13]],["add",93,341,-1,1,[416,70,19,13]],["add",336,341,-1,1,[416,70,19,13]],["add",339,341,-1,1,[416,70,19,13]],["add",58,346,-1,1,[416,70,19,13]],["add",86,346,-1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["add",341,346,1,1,[416,70,19,13]],["add",339,346,1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["scale",346,2,1,[416,70,19,13]],["add",339,341,1,1,[416,70,19,13]],["add",86,341,1,1,[416,70,19,13]],["add",58,341,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",346,339,-1,2,[416,70,19,13]],["add",341,339,-1,1,[416,70,19,13]],["add",337,339,1,1,[416,70,19,13]],["add",336,339,1,2,[416,70,19,13]],["add",86,339,-1,2,[416,70,19,13]],["add",58,339,1,2,[416,70,19,13]],["add",93,339,-1,2,[416,70,19,13]],["scale",339,-1,2,[416,70,19,13]],["add",341,337,1,1,[416,70,19,13]],["add",339,337,1,2,[416,70,19,13]],["add",336,337,-1,2,[416,70,19,13]],["add",86,337,1,2,[416,70,19,13]],["add",58,337,1,2,[416,70,19,13]],["add",93,337,1,2,[416,70,19,13]],["scale",337,-2,1,[416,70,19,13]],["add",86,336,1,1,[416,70,19,13]],["add",58,336,1,1,[416,70,19,13]],["add",93,336,-1,1,[416,70,19,13]],["scale",336,2,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["add",336,337,-1,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["add",339,86,1,2,[416,70,19,13]],["add",337,86,-1,1,[416,70,19,13]],["add",93,86,1,1,[416,70,19,13]],["scale",86,-2,1,[416,70,19,13]],["add",339,58,1,2,[416,70,19,13]],["add",337,58,-1,1,[416,70,19,13]],["add",93,58,1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["add",58,336,-1,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["scale",58,-1,1,[416,70,19,13]],["add",339,93,-1,2,[416,70,19,13]],["add",337,93,1,1,[416,70,19,13]],["add",336,93,1,1,[416,70,19,13]],["add",86,93,1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["add",352,83,1,1,[382]],["add",353,83,1,1,[382]],["add",354,73,1,1,[224]],["add",355,73,1,1,[224]],["add",356,84,1,1,[254]],["add",357,84,1,1,[254]],["add",358,74,1,1,[352]],["add",359,74,1,1,[352]],["add",360,59,1,1,[152]],["add",361,59,1,1,[152]],["add",362,30,1,1,[262]],["add",363,30,1,1,[262]],["add",364,60,1,1,[280]],["add",365,60,1,1,[280]],["add",366,29,1,1,[134]],["add",367,29,1,1,[134]],["add",59,361,1,1,[152]],["add",361,59,-1,1,[152]],["add",59,361,1,1,[152]],["scale",361,-1,1,[134,30]],["add",30,363,1,1,[262]],["add",363,30,-1,1,[262]],["add",30,363,1,1,[262]],["scale",363,-1,1,[262]],["add",60,365,1,1,[280]],["add",365,60,-1,1,[280]],["add",60,365,1,1,[280]],["scale",365,-1,1,[262,30]],["add",29,367,1,1,[134]],["add",367,29,-1,1,[134]],["add",29,367,1,1,[134]],["scale",367,-1,1,[134]],["add",83,74,1,1,[352,30]],["add",74,83,-1,2,[352,30]],["add",352,30,1,1,[262,120]],["add",30,352,-1,2,[262,120]],["add",353,60,1,1,[280,102]],["add",60,353,-1,2,[280,102]],["add",73,84,1,1,[224,30]],["add",84,73,-1,2,[224,30]],["add",354,59,1,1,[152,120]],["add",59,354,-1,2,[152,120]],["add",355,29,1,1,[134,102]],["add",29,355,-1,2,[134,102]],["add",356,360,1,1,[152,102]],["add",360,356,-1,2,[152,102]],["add",357,366,1,1,[134,120]],["add",366,357,-1,2,[134,120]],["add",358,362,1,1,[262,102]],["add",362,358,-1,2,[262,102]],["add",359,364,1,1,[280,120]],["add",364,359,-1,2,[280,120]],["add",361,367,1,1,[134,30]],["add",367,361,-1,2,[134,30]],["add",363,365,1,1,[262,30]],["add",365,363,-1,2,[262,30]],["add",359,357,1,1,[280,134,120]],["add",354,352,1,1,[262,152,120]],["add",358,355,1,1,[262,134,102]],["add",356,353,1,1,[280,152,102]],["add",360,362,1,1,[262,152,102]],["add",60,29,1,1,[280,134,102]],["add",364,59,1,1,[280,152,120]],["add",366,30,1,1,[262,134,120]],["add",30,59,1,1,[262,134,102,30]],["add",59,30,-1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["scale",59,-1,1,[262,134,102,30]],["scale",59,-2,1,[262,134,102,30]],["add",352,59,-1,1,[262,134,102,30]],["add",353,59,-1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",29,30,1,2,[262,134,102,30]],["add",355,30,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["add",29,357,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["scale",29,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["add",352,362,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["scale",352,-2,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["add",353,355,-1,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["scale",353,-1,1,[262,134,102,30]],["add",30,353,1,1,[262,134,102,30]],["add",357,353,1,2,[262,134,102,30]],["add",59,355,1,1,[262,134,102,30]],["add",352,355,1,1,[262,134,102,30]],["add",362,355,-2,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["scale",357,-1,2,[262,134,102,30]],["add",59,357,-1,1,[262,134,102,30]],["add",352,357,-1,1,[262,134,102,30]],["add",355,357,-1,1,[262,134,102,30]],["add",30,362,-1,1,[262,134,102,30]],["add",29,362,-1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["add",357,362,1,1,[262,134,102,30]],["add",355,362,1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["scale",362,2,1,[262,134,102,30]],["add",355,357,1,1,[262,134,102,30]],["add",29,357,1,1,[262,134,102,30]],["add",30,357,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",362,355,-1,2,[262,134,102,30]],["add",357,355,-1,1,[262,134,102,30]],["add",353,355,1,1,[262,134,102,30]],["add",352,355,1,2,[262,134,102,30]],["add",29,355,-1,2,[262,134,102,30]],["add",30,355,1,2,[262,134,102,30]],["add",59,355,-1,2,[262,134,102,30]],["scale",355,-1,2,[262,134,102,30]],["add",357,353,1,1,[262,134,102,30]],["add",355,353,1,2,[262,134,102,30]],["add",352,353,-1,2,[262,134,102,30]],["add",29,353,1,2,[262,134,102,30]],["add",30,353,1,2,[262,134,102,30]],["add",59,353,1,2,[262,134,102,30]],["scale",353,-2,1,[262,134,102,30]],["add",29,352,1,1,[262,134,102,30]],["add",30,352,1,1,[262,134,102,30]],["add",59,352,-1,1,[262,134,102,30]],["scale",352,2,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["add",352,353,-1,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["add",355,29,1,2,[262,134,102,30]],["add",353,29,-1,1,[262,134,102,30]],["add",59,29,1,1,[262,134,102,30]],["scale",29,-2,1,[262,134,102,30]],["add",355,30,1,2,[262,134,102,30]],["add",353,30,-1,1,[262,134,102,30]],["add",59,30,1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["add",30,352,-1,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["scale",30,-1,1,[262,134,102,30]],["add",355,59,-1,2,[262,134,102,30]],["add",353,59,1,1,[262,134,102,30]],["add",352,59,1,1,[262,134,102,30]],["add",29,59,1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["add",368,80,1,1,[494]],["add",369,80,1,1,[494]],["add",370,67,1,1,[112]],["add",371,67,1,1,[112]],["add",372,3,1,1,[67]],["add",373,3,1,1,[67]],["add",374,88,1,1,[477]],["add",375,88,1,1,[477]],["add",376,8,1,1,[37]],["add",377,8,1,1,[37]],["add",378,95,1,1,[443]],["add",379,95,1,1,[443]],["add",380,66,1,1,[392]],["add",381,66,1,1,[392]],["add",382,26,1,1,[22]],["add",383,26,1,1,[22]],["add",8,377,1,1,[37]],["add",377,8,-1,1,[37]],["add",8,377,1,1,[37]],["scale",377,-1,1,[37]],["add",95,379,1,1,[443]],["add",379,95,-1,1,[443]],["add",95,379,1,1,[443]],["scale",379,-1,1,[392,51]],["add",66,381,1,1,[392]],["add",381,66,-1,1,[392]],["add",66,381,1,1,[392]],["scale",381,-1,1,[392]],["add",26,383,1,1,[22]],["add",383,26,-1,1,[22]],["add",26,383,1,1,[22]],["scale",383,-1,1,[22]],["add",80,88,1,1,[477,51]],["add",88,80,-1,2,[477,51]],["add",368,95,1,1,[443,85]],["add",95,368,-1,2,[443,85]],["add",369,66,1,1,[392,102]],["add",66,369,-1,2,[392,102]],["add",67,3,1,1,[67,51]],["add",3,67,-1,2,[67,51]],["add",370,8,1,1,[85,37]],["add",8,370,-1,2,[85,37]],["add",371,26,1,1,[102,22]],["add",26,371,-1,2,[102,22]],["add",372,376,1,1,[67,37]],["add",376,372,-1,2,[67,37]],["add",373,382,1,1,[67,22]],["add",382,373,-1,2,[67,22]],["add",374,378,1,1,[443,102]],["add",378,374,-1,2,[443,102]],["add",375,380,1,1,[392,85]],["add",380,375,-1,2,[392,85]],["add",377,383,1,1,[37,22]],["add",383,377,-1,2,[37,22]],["add",379,381,1,1,[392,51]],["add",381,379,-1,2,[392,51]],["add",375,373,1,1,[392,67,22]],["add",370,368,1,1,[414,85,37]],["add",374,371,1,1,[429,102,22]],["add",372,369,1,1,[392,67,37]],["add",376,378,1,1,[414,67,37]],["add",66,26,1,1,[392,102,22]],["add",380,8,1,1,[392,85,37]],["add",382,95,1,1,[429,67,22]],["add",95,8,1,1,[392,67,37,22]],["add",8,95,-1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["scale",8,-1,1,[392,67,37,22]],["scale",8,-2,1,[392,67,37,22]],["add",368,8,-1,1,[392,67,37,22]],["add",369,8,-1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",26,95,1,2,[392,67,37,22]],["add",371,95,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["add",26,373,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["scale",26,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["add",368,378,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["scale",368,-2,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["add",369,371,-1,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["scale",369,-1,1,[392,67,37,22]],["add",95,369,1,1,[392,67,37,22]],["add",373,369,1,2,[392,67,37,22]],["add",8,371,1,1,[392,67,37,22]],["add",368,371,1,1,[392,67,37,22]],["add",378,371,-2,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["scale",373,-1,2,[392,67,37,22]],["add",8,373,-1,1,[392,67,37,22]],["add",368,373,-1,1,[392,67,37,22]],["add",371,373,-1,1,[392,67,37,22]],["add",95,378,-1,1,[392,67,37,22]],["add",26,378,-1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["add",373,378,1,1,[392,67,37,22]],["add",371,378,1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["scale",378,2,1,[392,67,37,22]],["add",371,373,1,1,[392,67,37,22]],["add",26,373,1,1,[392,67,37,22]],["add",95,373,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",378,371,-1,2,[392,67,37,22]],["add",373,371,-1,1,[392,67,37,22]],["add",369,371,1,1,[392,67,37,22]],["add",368,371,1,2,[392,67,37,22]],["add",26,371,-1,2,[392,67,37,22]],["add",95,371,1,2,[392,67,37,22]],["add",8,371,-1,2,[392,67,37,22]],["scale",371,-1,2,[392,67,37,22]],["add",373,369,1,1,[392,67,37,22]],["add",371,369,1,2,[392,67,37,22]],["add",368,369,-1,2,[392,67,37,22]],["add",26,369,1,2,[392,67,37,22]],["add",95,369,1,2,[392,67,37,22]],["add",8,369,1,2,[392,67,37,22]],["scale",369,-2,1,[392,67,37,22]],["add",26,368,1,1,[392,67,37,22]],["add",95,368,1,1,[392,67,37,22]],["add",8,368,-1,1,[392,67,37,22]],["scale",368,2,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["add",368,369,-1,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["add",371,26,1,2,[392,67,37,22]],["add",369,26,-1,1,[392,67,37,22]],["add",8,26,1,1,[392,67,37,22]],["scale",26,-2,1,[392,67,37,22]],["add",371,95,1,2,[392,67,37,22]],["add",369,95,-1,1,[392,67,37,22]],["add",8,95,1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["add",95,368,-1,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["scale",95,-1,1,[392,67,37,22]],["add",371,8,-1,2,[392,67,37,22]],["add",369,8,1,1,[392,67,37,22]],["add",368,8,1,1,[392,67,37,22]],["add",26,8,1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["add",384,68,1,1,[176]],["add",385,68,1,1,[176]],["add",386,5,1,1,[259]],["add",387,5,1,1,[259]],["add",388,69,1,1,[304]],["add",389,69,1,1,[304]],["add",390,4,1,1,[131]],["add",391,4,1,1,[131]],["add",392,96,1,1,[379]],["add",393,96,1,1,[379]],["add",394,64,1,1,[200]],["add",395,64,1,1,[200]],["add",396,97,1,1,[251]],["add",397,97,1,1,[251]],["add",398,65,1,1,[328]],["add",399,65,1,1,[328]],["add",96,393,1,1,[379]],["add",393,96,-1,1,[379]],["add",96,393,1,1,[379]],["scale",393,-1,1,[328,51]],["add",64,395,1,1,[200]],["add",395,64,-1,1,[200]],["add",64,395,1,1,[200]],["scale",395,-1,1,[200]],["add",97,397,1,1,[251]],["add",397,97,-1,1,[251]],["add",97,397,1,1,[251]],["scale",397,-1,1,[200,51]],["add",65,399,1,1,[328]],["add",399,65,-1,1,[328]],["add",65,399,1,1,[328]],["scale",399,-1,1,[328]],["add",68,4,1,1,[131,51]],["add",4,68,-1,2,[131,51]],["add",384,64,1,1,[176,120]],["add",64,384,-1,2,[176,120]],["add",385,97,1,1,[176,75]],["add",97,385,-1,2,[176,75]],["add",5,69,1,1,[259,51]],["add",69,5,-1,2,[259,51]],["add",386,96,1,1,[259,120]],["add",96,386,-1,2,[259,120]],["add",387,65,1,1,[259,75]],["add",65,387,-1,2,[259,75]],["add",388,392,1,1,[304,75]],["add",392,388,-1,2,[304,75]],["add",389,398,1,1,[304,120]],["add",398,389,-1,2,[304,120]],["add",390,394,1,1,[131,75]],["add",394,390,-1,2,[131,75]],["add",391,396,1,1,[131,120]],["add",396,391,-1,2,[131,120]],["add",393,399,1,1,[328,51]],["add",399,393,-1,2,[328,51]],["add",395,397,1,1,[200,51]],["add",397,395,-1,2,[200,51]],["add",391,389,1,1,[304,131,120]],["add",386,384,1,1,[259,176,120]],["add",390,387,1,1,[259,131,75]],["add",388,385,1,1,[304,176,75]],["add",392,394,1,1,[304,131,75]],["add",97,65,1,1,[259,176,75]],["add",396,96,1,1,[259,131,120]],["add",398,64,1,1,[304,176,120]],["add",64,96,1,1,[259,131,75,51]],["add",96,64,-1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["scale",96,-1,1,[259,131,75,51]],["scale",96,-2,1,[259,131,75,51]],["add",384,96,-1,1,[259,131,75,51]],["add",385,96,-1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",65,64,1,2,[259,131,75,51]],["add",387,64,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["add",65,389,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["scale",65,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["add",384,394,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["scale",384,-2,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["add",385,387,-1,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["scale",385,-1,1,[259,131,75,51]],["add",64,385,1,1,[259,131,75,51]],["add",389,385,1,2,[259,131,75,51]],["add",96,387,1,1,[259,131,75,51]],["add",384,387,1,1,[259,131,75,51]],["add",394,387,-2,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["scale",389,-1,2,[259,131,75,51]],["add",96,389,-1,1,[259,131,75,51]],["add",384,389,-1,1,[259,131,75,51]],["add",387,389,-1,1,[259,131,75,51]],["add",64,394,-1,1,[259,131,75,51]],["add",65,394,-1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["add",389,394,1,1,[259,131,75,51]],["add",387,394,1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["scale",394,2,1,[259,131,75,51]],["add",387,389,1,1,[259,131,75,51]],["add",65,389,1,1,[259,131,75,51]],["add",64,389,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",394,387,-1,2,[259,131,75,51]],["add",389,387,-1,1,[259,131,75,51]],["add",385,387,1,1,[259,131,75,51]],["add",384,387,1,2,[259,131,75,51]],["add",65,387,-1,2,[259,131,75,51]],["add",64,387,1,2,[259,131,75,51]],["add",96,387,-1,2,[259,131,75,51]],["scale",387,-1,2,[259,131,75,51]],["add",389,385,1,1,[259,131,75,51]],["add",387,385,1,2,[259,131,75,51]],["add",384,385,-1,2,[259,131,75,51]],["add",65,385,1,2,[259,131,75,51]],["add",64,385,1,2,[259,131,75,51]],["add",96,385,1,2,[259,131,75,51]],["scale",385,-2,1,[259,131,75,51]],["add",65,384,1,1,[259,131,75,51]],["add",64,384,1,1,[259,131,75,51]],["add",96,384,-1,1,[259,131,75,51]],["scale",384,2,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["add",384,385,-1,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["add",387,65,1,2,[259,131,75,51]],["add",385,65,-1,1,[259,131,75,51]],["add",96,65,1,1,[259,131,75,51]],["scale",65,-2,1,[259,131,75,51]],["add",387,64,1,2,[259,131,75,51]],["add",385,64,-1,1,[259,131,75,51]],["add",96,64,1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["add",64,384,-1,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["scale",64,-1,1,[259,131,75,51]],["add",387,96,-1,2,[259,131,75,51]],["add",385,96,1,1,[259,131,75,51]],["add",384,96,1,1,[259,131,75,51]],["add",65,96,1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["add",400,15,1,1,[265]],["add",401,400,1,1,[265]],["add",402,14,1,1,[137]],["add",403,14,1,1,[137]],["add",404,52,1,1,[164]],["add",405,52,1,1,[164]],["add",406,53,1,1,[292]],["add",407,53,1,1,[292]],["add",408,41,1,1,[194]],["add",409,41,1,1,[194]],["add",410,42,1,1,[322]],["add",411,42,1,1,[322]],["add",412,105,1,1,[367]],["add",413,105,1,1,[367]],["add",414,106,1,1,[239]],["add",415,106,1,1,[239]],["add",41,409,1,1,[194]],["add",409,41,-1,1,[194]],["add",41,409,1,1,[194]],["scale",409,-1,1,[194]],["add",42,411,1,1,[322]],["add",411,42,-1,1,[322]],["add",42,411,1,1,[322]],["scale",411,-1,1,[322]],["add",105,413,1,1,[367]],["add",413,105,-1,1,[367]],["add",105,413,1,1,[367]],["scale",413,-1,1,[322,45]],["add",106,415,1,1,[239]],["add",415,106,-1,1,[239]],["add",106,415,1,1,[239]],["scale",415,-1,1,[194,45]],["add",15,53,1,1,[265,45]],["add",53,15,-1,2,[265,45]],["add",400,42,1,1,[265,75]],["add",42,400,-1,2,[265,75]],["add",401,105,1,1,[265,102]],["add",105,401,-1,2,[265,102]],["add",14,52,1,1,[137,45]],["add",52,14,-1,2,[137,45]],["add",402,41,1,1,[137,75]],["add",41,402,-1,2,[137,75]],["add",403,106,1,1,[137,102]],["add",106,403,-1,2,[137,102]],["add",404,408,1,1,[164,102]],["add",408,404,-1,2,[164,102]],["add",405,414,1,1,[164,75]],["add",414,405,-1,2,[164,75]],["add",406,410,1,1,[292,102]],["add",410,406,-1,2,[292,102]],["add",407,412,1,1,[292,75]],["add",412,407,-1,2,[292,75]],["add",409,415,1,1,[194,45]],["add",415,409,-1,2,[194,45]],["add",411,413,1,1,[322,45]],["add",413,411,-1,2,[322,45]],["add",407,405,1,1,[292,164,75]],["add",402,400,1,1,[265,137,75]],["add",406,403,1,1,[292,137,102]],["add",404,401,1,1,[265,164,102]],["add",408,410,1,1,[292,164,102]],["add",105,106,1,1,[265,137,102]],["add",412,41,1,1,[292,137,75]],["add",414,42,1,1,[265,164,75]],["add",42,41,1,1,[265,137,75,45]],["add",41,42,-1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["scale",41,-1,1,[265,137,75,45]],["scale",41,-2,1,[265,137,75,45]],["add",400,41,-1,1,[265,137,75,45]],["add",401,41,-1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",106,42,1,2,[265,137,75,45]],["add",403,42,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["add",106,405,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["scale",106,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["add",400,410,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["scale",400,-2,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["add",401,403,-1,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["scale",401,-1,1,[265,137,75,45]],["add",42,401,1,1,[265,137,75,45]],["add",405,401,1,2,[265,137,75,45]],["add",41,403,1,1,[265,137,75,45]],["add",400,403,1,1,[265,137,75,45]],["add",410,403,-2,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["scale",405,-1,2,[265,137,75,45]],["add",41,405,-1,1,[265,137,75,45]],["add",400,405,-1,1,[265,137,75,45]],["add",403,405,-1,1,[265,137,75,45]],["add",42,410,-1,1,[265,137,75,45]],["add",106,410,-1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["add",405,410,1,1,[265,137,75,45]],["add",403,410,1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["scale",410,2,1,[265,137,75,45]],["add",403,405,1,1,[265,137,75,45]],["add",106,405,1,1,[265,137,75,45]],["add",42,405,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["add",410,403,-1,2,[265,137,75,45]],["add",405,403,-1,1,[265,137,75,45]],["add",401,403,1,1,[265,137,75,45]],["add",400,403,1,2,[265,137,75,45]],["add",106,403,-1,2,[265,137,75,45]],["add",42,403,1,2,[265,137,75,45]],["add",41,403,-1,2,[265,137,75,45]],["scale",403,-1,2,[265,137,75,45]],["add",405,401,1,1,[265,137,75,45]],["add",403,401,1,2,[265,137,75,45]],["add",400,401,-1,2,[265,137,75,45]],["add",106,401,1,2,[265,137,75,45]],["add",42,401,1,2,[265,137,75,45]],["add",41,401,1,2,[265,137,75,45]],["scale",401,-2,1,[265,137,75,45]],["add",106,400,1,1,[265,137,75,45]],["add",42,400,1,1,[265,137,75,45]],["add",41,400,-1,1,[265,137,75,45]],["scale",400,2,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["add",400,401,-1,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["add",403,106,1,2,[265,137,75,45]],["add",401,106,-1,1,[265,137,75,45]],["add",41,106,1,1,[265,137,75,45]],["scale",106,-2,1,[265,137,75,45]],["add",403,42,1,2,[265,137,75,45]],["add",401,42,-1,1,[265,137,75,45]],["add",41,42,1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["add",42,400,-1,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["scale",42,-1,1,[265,137,75,45]],["add",403,41,-1,2,[265,137,75,45]],["add",401,41,1,1,[265,137,75,45]],["add",400,41,1,1,[265,137,75,45]],["add",106,41,1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["add",416,13,1,1,[73]],["add",417,416,1,1,[73]],["add",418,78,1,1,[506]],["add",419,78,1,1,[506]],["add",420,99,1,1,[471]],["add",421,99,1,1,[471]],["add",422,51,1,1,[100]],["add",423,51,1,1,[100]],["add",424,43,1,1,[386]],["add",425,43,1,1,[386]],["add",426,16,1,1,[49]],["add",427,16,1,1,[49]],["add",428,44,1,1,[28]],["add",429,44,1,1,[28]],["add",430,104,1,1,[431]],["add",431,104,1,1,[431]],["add",43,425,1,1,[386]],["add",425,43,-1,1,[386]],["add",43,425,1,1,[386]],["scale",425,-1,1,[386]],["add",16,427,1,1,[49]],["add",427,16,-1,1,[49]],["add",16,427,1,1,[49]],["scale",427,-1,1,[45,28]],["add",44,429,1,1,[28]],["add",429,44,-1,1,[28]],["add",44,429,1,1,[28]],["scale",429,-1,1,[28]],["add",104,431,1,1,[431]],["add",431,104,-1,1,[431]],["add",104,431,1,1,[431]],["scale",431,-1,1,[386,45]],["add",13,51,1,1,[73,45]],["add",51,13,-1,2,[73,45]],["add",416,16,1,1,[73,49]],["add",16,416,-1,2,[73,49]],["add",417,44,1,1,[73,28]],["add",44,417,-1,2,[73,28]],["add",78,99,1,1,[471,45]],["add",99,78,-1,2,[471,45]],["add",418,43,1,1,[386,120]],["add",43,418,-1,2,[386,120]],["add",419,104,1,1,[431,85]],["add",104,419,-1,2,[431,85]],["add",420,424,1,1,[386,85]],["add",424,420,-1,2,[386,85]],["add",421,430,1,1,[431,120]],["add",430,421,-1,2,[431,120]],["add",422,426,1,1,[85,49]],["add",426,422,-1,2,[85,49]],["add",423,428,1,1,[100,28]],["add",428,423,-1,2,[100,28]],["add",425,431,1,1,[386,45]],["add",431,425,-1,2,[386,45]],["add",427,429,1,1,[45,28]],["add",429,427,-1,2,[45,28]],["add",423,421,1,1,[431,100,28]],["add",418,416,1,1,[386,73,49]],["add",422,419,1,1,[414,85,49]],["add",420,417,1,1,[386,73,28]],["add",424,426,1,1,[386,85,49]],["add",44,104,1,1,[431,73,28]],["add",428,43,1,1,[386,100,28]],["add",430,16,1,1,[414,73,49]],["add",16,43,1,1,[386,73,45,28]],["add",43,16,-1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["scale",43,-1,1,[386,73,45,28]],["scale",43,-2,1,[386,73,45,28]],["add",416,43,-1,1,[386,73,45,28]],["add",417,43,-1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",104,16,1,2,[386,73,45,28]],["add",419,16,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["add",104,421,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["scale",104,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["add",416,426,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["scale",416,-2,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["add",417,419,-1,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["scale",417,-1,1,[386,73,45,28]],["add",16,417,1,1,[386,73,45,28]],["add",421,417,1,2,[386,73,45,28]],["add",43,419,1,1,[386,73,45,28]],["add",416,419,1,1,[386,73,45,28]],["add",426,419,-2,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["scale",421,-1,2,[386,73,45,28]],["add",43,421,-1,1,[386,73,45,28]],["add",416,421,-1,1,[386,73,45,28]],["add",419,421,-1,1,[386,73,45,28]],["add",16,426,-1,1,[386,73,45,28]],["add",104,426,-1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["add",421,426,1,1,[386,73,45,28]],["add",419,426,1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["scale",426,2,1,[386,73,45,28]],["add",419,421,1,1,[386,73,45,28]],["add",104,421,1,1,[386,73,45,28]],["add",16,421,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["add",426,419,-1,2,[386,73,45,28]],["add",421,419,-1,1,[386,73,45,28]],["add",417,419,1,1,[386,73,45,28]],["add",416,419,1,2,[386,73,45,28]],["add",104,419,-1,2,[386,73,45,28]],["add",16,419,1,2,[386,73,45,28]],["add",43,419,-1,2,[386,73,45,28]],["scale",419,-1,2,[386,73,45,28]],["add",421,417,1,1,[386,73,45,28]],["add",419,417,1,2,[386,73,45,28]],["add",416,417,-1,2,[386,73,45,28]],["add",104,417,1,2,[386,73,45,28]],["add",16,417,1,2,[386,73,45,28]],["add",43,417,1,2,[386,73,45,28]],["scale",417,-2,1,[386,73,45,28]],["add",104,416,1,1,[386,73,45,28]],["add",16,416,1,1,[386,73,45,28]],["add",43,416,-1,1,[386,73,45,28]],["scale",416,2,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["add",416,417,-1,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["add",419,104,1,2,[386,73,45,28]],["add",417,104,-1,1,[386,73,45,28]],["add",43,104,1,1,[386,73,45,28]],["scale",104,-2,1,[386,73,45,28]],["add",419,16,1,2,[386,73,45,28]],["add",417,16,-1,1,[386,73,45,28]],["add",43,16,1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["add",16,416,-1,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["scale",16,-1,1,[386,73,45,28]],["add",419,43,-1,2,[386,73,45,28]],["add",417,43,1,1,[386,73,45,28]],["add",416,43,1,1,[386,73,45,28]],["add",104,43,1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["add",432,36,1,1,[146]],["add",433,36,1,1,[146]],["add",434,21,1,1,[289]],["add",435,21,1,1,[289]],["add",436,47,1,1,[268]],["add",437,47,1,1,[268]],["add",438,111,1,1,[191]],["add",439,111,1,1,[191]],["add",440,37,1,1,[274]],["add",441,37,1,1,[274]],["add",442,20,1,1,[161]],["add",443,20,1,1,[161]],["add",444,46,1,1,[140]],["add",445,46,1,1,[140]],["add",446,110,1,1,[319]],["add",447,110,1,1,[319]],["add",37,441,1,1,[274]],["add",441,37,-1,1,[274]],["add",37,441,1,1,[274]],["scale",441,-1,1,[274]],["add",20,443,1,1,[161]],["add",443,20,-1,1,[161]],["add",20,443,1,1,[161]],["scale",443,-1,1,[140,45]],["add",46,445,1,1,[140]],["add",445,46,-1,1,[140]],["add",46,445,1,1,[140]],["scale",445,-1,1,[140]],["add",110,447,1,1,[319]],["add",447,110,-1,1,[319]],["add",110,447,1,1,[319]],["scale",447,-1,1,[274,45]],["add",36,111,1,1,[146,45]],["add",111,36,-1,2,[146,45]],["add",432,20,1,1,[146,51]],["add",20,432,-1,2,[146,51]],["add",433,46,1,1,[140,30]],["add",46,433,-1,2,[140,30]],["add",21,47,1,1,[268,45]],["add",47,21,-1,2,[268,45]],["add",434,37,1,1,[274,51]],["add",37,434,-1,2,[274,51]],["add",435,110,1,1,[289,30]],["add",110,435,-1,2,[289,30]],["add",436,440,1,1,[268,30]],["add",440,436,-1,2,[268,30]],["add",437,446,1,1,[268,51]],["add",446,437,-1,2,[268,51]],["add",438,442,1,1,[161,30]],["add",442,438,-1,2,[161,30]],["add",439,444,1,1,[140,51]],["add",444,439,-1,2,[140,51]],["add",441,447,1,1,[274,45]],["add",447,441,-1,2,[274,45]],["add",443,445,1,1,[140,45]],["add",445,443,-1,2,[140,45]],["add",439,437,1,1,[268,140,51]],["add",434,432,1,1,[274,146,51]],["add",438,435,1,1,[289,161,30]],["add",436,433,1,1,[268,140,30]],["add",440,442,1,1,[268,161,30]],["add",46,110,1,1,[289,140,30]],["add",444,37,1,1,[274,140,51]],["add",446,20,1,1,[268,146,51]],["add",20,37,1,1,[268,140,45,30]],["add",37,20,-1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["scale",37,-1,1,[268,140,45,30]],["scale",37,-2,1,[268,140,45,30]],["add",432,37,-1,1,[268,140,45,30]],["add",433,37,-1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",110,20,1,2,[268,140,45,30]],["add",435,20,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["add",110,437,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["scale",110,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["add",432,442,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["scale",432,-2,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["add",433,435,-1,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["scale",433,-1,1,[268,140,45,30]],["add",20,433,1,1,[268,140,45,30]],["add",437,433,1,2,[268,140,45,30]],["add",37,435,1,1,[268,140,45,30]],["add",432,435,1,1,[268,140,45,30]],["add",442,435,-2,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["scale",437,-1,2,[268,140,45,30]],["add",37,437,-1,1,[268,140,45,30]],["add",432,437,-1,1,[268,140,45,30]],["add",435,437,-1,1,[268,140,45,30]],["add",20,442,-1,1,[268,140,45,30]],["add",110,442,-1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["add",437,442,1,1,[268,140,45,30]],["add",435,442,1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["scale",442,2,1,[268,140,45,30]],["add",435,437,1,1,[268,140,45,30]],["add",110,437,1,1,[268,140,45,30]],["add",20,437,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["add",442,435,-1,2,[268,140,45,30]],["add",437,435,-1,1,[268,140,45,30]],["add",433,435,1,1,[268,140,45,30]],["add",432,435,1,2,[268,140,45,30]],["add",110,435,-1,2,[268,140,45,30]],["add",20,435,1,2,[268,140,45,30]],["add",37,435,-1,2,[268,140,45,30]],["scale",435,-1,2,[268,140,45,30]],["add",437,433,1,1,[268,140,45,30]],["add",435,433,1,2,[268,140,45,30]],["add",432,433,-1,2,[268,140,45,30]],["add",110,433,1,2,[268,140,45,30]],["add",20,433,1,2,[268,140,45,30]],["add",37,433,1,2,[268,140,45,30]],["scale",433,-2,1,[268,140,45,30]],["add",110,432,1,1,[268,140,45,30]],["add",20,432,1,1,[268,140,45,30]],["add",37,432,-1,1,[268,140,45,30]],["scale",432,2,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["add",432,433,-1,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["add",435,110,1,2,[268,140,45,30]],["add",433,110,-1,1,[268,140,45,30]],["add",37,110,1,1,[268,140,45,30]],["scale",110,-2,1,[268,140,45,30]],["add",435,20,1,2,[268,140,45,30]],["add",433,20,-1,1,[268,140,45,30]],["add",37,20,1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["add",20,432,-1,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["scale",20,-1,1,[268,140,45,30]],["add",435,37,-1,2,[268,140,45,30]],["add",433,37,1,1,[268,140,45,30]],["add",432,37,1,1,[268,140,45,30]],["add",110,37,1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["add",92,63,1,1,[256,128,64,34,16,10,4,1]],["add",92,61,1,1,[256,128,64,34,16,10,4,1]],["add",92,103,1,1,[256,128,64,34,16,10,4,1]],["add",92,18,1,1,[256,128,64,34,16,10,4,1]],["add",92,45,1,1,[256,128,64,34,16,10,4,1]],["add",92,108,1,1,[256,128,64,34,16,10,4,1]],["add",57,62,1,1,[256,128,64,32,16,8,5,3]],["add",57,94,1,1,[256,128,64,32,16,8,5,3]],["add",57,93,1,1,[256,128,64,32,16,8,5,3]],["add",57,59,1,1,[256,128,64,32,16,8,5,3]],["add",57,8,1,1,[256,128,64,32,16,8,5,3]],["add",57,96,1,1,[256,128,64,32,16,8,5,3]],["add",81,17,1,1,[256,128,64,32,17,9,4,2]],["add",81,40,1,1,[256,128,64,32,17,9,4,2]],["add",81,58,1,1,[256,128,64,32,17,9,4,2]],["add",81,30,1,1,[256,128,64,32,17,9,4,2]],["add",81,41,1,1,[256,128,64,32,17,9,4,2]],["add",81,43,1,1,[256,128,64,32,17,9,4,2]],["add",224,107,1,1,[256,128,64,36,20,8,2,1]],["add",224,22,1,1,[256,128,64,36,20,8,2,1]],["add",224,95,1,1,[256,128,64,36,20,8,2,1]],["add",224,64,1,1,[256,128,64,36,20,8,2,1]],["add",224,42,1,1,[256,128,64,36,20,8,2,1]],["add",224,16,1,1,[256,128,64,36,20,8,2,1]],["add",11,77,1,1,[256,128,66,32,18,8,4,1]],["add",11,35,1,1,[256,128,66,32,18,8,4,1]],["add",11,86,1,1,[256,128,66,32,18,8,4,1]],["add",11,26,1,1,[256,128,66,32,18,8,4,1]],["add",11,106,1,1,[256,128,66,32,18,8,4,1]],["add",11,37,1,1,[256,128,66,32,18,8,4,1]],["add",240,39,1,1,[256,128,65,33,17,9,5,3]],["add",240,23,1,1,[256,128,65,33,17,9,5,3]],["add",240,29,1,1,[256,128,65,33,17,9,5,3]],["add",240,65,1,1,[256,128,65,33,17,9,5,3]],["add",240,400,1,1,[256,128,65,33,17,9,5,3]],["add",240,20,1,1,[256,128,65,33,17,9,5,3]],["add",9,272,1,1,[256,128,65,33,16,8,4,2]],["add",9,320,1,1,[256,128,65,33,16,8,4,2]],["add",9,352,1,1,[256,128,65,33,16,8,4,2]],["add",9,368,1,1,[256,128,65,33,16,8,4,2]],["add",9,104,1,1,[256,128,65,33,16,8,4,2]],["add",9,110,1,1,[256,128,65,33,16,8,4,2]],["add",256,288,1,1,[256,128,68,32,16,12,2,1]],["add",256,304,1,1,[256,128,68,32,16,12,2,1]],["add",256,336,1,1,[256,128,68,32,16,12,2,1]],["add",256,384,1,1,[256,128,68,32,16,12,2,1]],["add",256,416,1,1,[256,128,68,32,16,12,2,1]],["add",256,432,1,1,[256,128,68,32,16,12,2,1]]],"B":[["add",162,518,-1,1,[30]],["add",172,518,1,1,[30]],["add",196,518,1,1,[30]],["add",140,506,1,1,[30]],["add",144,506,-1,1,[30]],["add",187,506,1,1,[30]],["add",168,554,1,1,[51]],["add",150,554,1,1,[51]],["add",115,554,-1,1,[51]],["add",131,566,1,1,[51]],["add",117,566,-1,1,[51]],["add",590,566,-1,1,[51]],["add",672,566,-2,1,[51]],["add",215,448,1,2,[51]],["add",129,448,1,2,[51]],["add",124,449,1,2,[51]],["add",212,449,1,2,[51]],["add",157,450,1,2,[30]],["add",219,450,1,2,[30]],["add",210,451,1,2,[30]],["add",160,451,1,2,[30]],["add",205,452,-1,1,[30]],["add",170,452,-1,1,[30]],["add",118,453,-1,1,[30]],["add",194,453,-1,1,[30]],["add",120,454,-1,1,[51]],["add",207,454,-1,1,[51]],["add",192,455,-1,1,[51]],["add",179,455,-1,1,[51]],["add",130,472,1,2,[51]],["add",213,473,1,2,[51]],["add",215,484,1,2,[51]],["add",124,485,1,2,[51]],["add",220,496,1,2,[30]],["add",161,497,1,2,[30]],["add",157,508,1,2,[30]],["add",210,509,1,2,[30]],["add",171,520,1,2,[30]],["add",195,521,1,2,[30]],["add",205,532,1,2,[30]],["add",118,533,1,2,[30]],["add",208,544,1,2,[51]],["add",180,545,1,2,[51]],["add",120,556,1,2,[51]],["add",192,557,1,2,[51]],["add",143,585,1,2,[51]],["add",168,584,1,2,[51]],["add",189,585,1,2,[51]],["add",187,586,1,2,[30]],["add",586,506,2,1,[30]],["add",136,586,1,2,[30]],["add",197,587,1,2,[30]],["add",147,587,1,2,[30]],["add",196,588,-1,1,[30]],["add",588,518,-1,1,[30]],["add",221,588,-1,1,[30]],["add",145,589,-1,1,[30]],["add",135,589,-1,1,[30]],["add",167,591,-1,1,[51]],["add",214,590,-1,1,[51]],["add",590,566,1,1,[51]],["add",151,591,-1,1,[51]],["add",188,592,1,4,[45]],["add",199,592,-1,4,[45]],["add",204,592,1,4,[45]],["add",193,592,-1,4,[45]],["add",188,593,1,4,[45]],["add",199,593,1,4,[45]],["add",204,593,1,4,[45]],["add",193,593,1,4,[45]],["add",188,594,1,4,[45]],["add",199,594,1,4,[45]],["add",204,594,1,4,[45]],["add",193,594,-1,4,[45]],["add",188,596,1,4,[45]],["add",199,596,-1,4,[45]],["add",204,596,-1,4,[45]],["add",193,596,-1,4,[45]],["add",183,600,1,4,[45]],["add",202,600,-1,4,[45]],["add",175,600,1,4,[45]],["add",123,600,-1,4,[45]],["add",183,601,1,4,[45]],["add",202,601,1,4,[45]],["add",175,601,1,4,[45]],["add",123,601,1,4,[45]],["add",183,602,1,4,[45]],["add",202,602,1,4,[45]],["add",175,602,1,4,[45]],["add",123,602,-1,4,[45]],["add",183,604,1,4,[45]],["add",202,604,-1,4,[45]],["add",175,604,-1,4,[45]],["add",123,604,-1,4,[45]],["add",114,608,1,4,[45]],["add",137,608,-1,4,[45]],["add",173,608,1,4,[45]],["add",121,608,-1,4,[45]],["add",114,609,1,4,[45]],["add",137,609,1,4,[45]],["add",173,609,1,4,[45]],["add",121,609,1,4,[45]],["add",114,610,1,4,[45]],["add",137,610,1,4,[45]],["add",173,610,1,4,[45]],["add",121,610,-1,4,[45]],["add",114,612,1,4,[45]],["add",137,612,-1,4,[45]],["add",173,612,-1,4,[45]],["add",121,612,-1,4,[45]],["add",212,616,1,4,[51]],["add",168,616,-1,4,[51]],["add",215,616,1,4,[51]],["add",189,616,-1,4,[51]],["add",212,617,1,4,[51]],["add",168,617,1,4,[51]],["add",215,617,1,4,[51]],["add",189,617,1,4,[51]],["add",212,618,1,4,[51]],["add",168,618,1,4,[51]],["add",215,618,1,4,[51]],["add",189,618,-1,4,[51]],["add",212,620,-1,2,[51]],["add",168,620,1,2,[51]],["add",215,620,1,2,[51]],["add",620,555,2,1,[51]],["add",189,620,1,2,[51]],["add",620,555,-2,1,[51]],["add",166,624,1,4,[51]],["add",214,624,-1,4,[51]],["add",130,624,1,4,[51]],["add",151,624,-1,4,[51]],["add",166,625,1,4,[51]],["add",214,625,1,4,[51]],["add",130,625,1,4,[51]],["add",151,625,1,4,[51]],["add",166,626,1,4,[51]],["add",214,626,1,4,[51]],["add",130,626,1,4,[51]],["add",151,626,-1,4,[51]],["add",166,628,-1,2,[51]],["add",628,566,-2,1,[51]],["add",214,628,1,2,[51]],["add",628,566,2,1,[51]],["add",130,628,1,2,[51]],["add",628,567,2,1,[51]],["add",151,628,1,2,[51]],["add",628,567,-2,1,[51]],["add",160,632,1,4,[30]],["add",144,632,-1,4,[30]],["add",157,632,1,4,[30]],["add",147,632,-1,4,[30]],["add",160,633,1,4,[30]],["add",144,633,1,4,[30]],["add",157,633,1,4,[30]],["add",147,633,1,4,[30]],["add",160,634,1,4,[30]],["add",144,634,1,4,[30]],["add",157,634,1,4,[30]],["add",147,634,-1,4,[30]],["add",160,636,-1,2,[30]],["add",636,506,2,1,[30]],["add",144,636,1,2,[30]],["add",636,506,-2,1,[30]],["add",157,636,1,2,[30]],["add",636,531,2,1,[30]],["add",147,636,1,2,[30]],["add",636,531,-2,1,[30]],["add",146,640,1,4,[30]],["add",162,640,-1,4,[30]],["add",220,640,1,4,[30]],["add",135,640,-1,4,[30]],["add",146,641,1,4,[30]],["add",641,518,4,1,[30]],["add",162,641,1,4,[30]],["add",641,518,-4,1,[30]],["add",220,641,1,4,[30]],["add",641,543,4,1,[30]],["add",135,641,1,4,[30]],["add",641,543,-4,1,[30]],["add",146,642,1,4,[30]],["add",162,642,1,4,[30]],["add",220,642,1,4,[30]],["add",135,642,-1,4,[30]],["add",146,644,-1,2,[30]],["add",162,644,1,2,[30]],["add",220,644,1,2,[30]],["add",135,644,1,2,[30]],["add",194,648,-1,2,[30]],["add",187,648,1,2,[30]],["add",205,648,-1,2,[30]],["add",198,648,1,2,[30]],["add",194,649,-1,2,[30]],["add",187,649,-1,2,[30]],["add",205,649,-1,2,[30]],["add",198,649,-1,2,[30]],["add",194,650,-1,2,[30]],["add",187,650,-1,2,[30]],["add",205,650,-1,2,[30]],["add",198,650,1,2,[30]],["add",194,652,-1,2,[30]],["add",187,652,1,2,[30]],["add",205,652,1,2,[30]],["add",198,652,1,2,[30]],["add",185,656,-1,2,[30]],["add",196,656,1,2,[30]],["add",171,656,-1,2,[30]],["add",141,656,1,2,[30]],["add",185,657,-1,2,[30]],["add",196,657,-1,2,[30]],["add",171,657,-1,2,[30]],["add",141,657,-1,2,[30]],["add",185,658,-1,2,[30]],["add",196,658,-1,2,[30]],["add",171,658,-1,2,[30]],["add",141,658,1,2,[30]],["add",185,660,-1,2,[30]],["add",196,660,1,2,[30]],["add",171,660,1,2,[30]],["add",141,660,1,2,[30]],["add",179,664,-1,2,[51]],["add",115,664,1,2,[51]],["add",120,664,-1,2,[51]],["add",138,664,1,2,[51]],["add",179,665,-1,2,[51]],["add",115,665,-1,2,[51]],["add",120,665,-1,2,[51]],["add",138,665,-1,2,[51]],["add",179,666,-1,2,[51]],["add",115,666,-1,2,[51]],["add",120,666,-1,2,[51]],["add",138,666,1,2,[51]],["add",179,668,-1,2,[51]],["add",115,668,1,2,[51]],["add",120,668,1,2,[51]],["add",138,668,1,2,[51]],["add",117,672,-1,2,[51]],["add",181,672,1,2,[51]],["add",672,566,2,1,[51]],["add",208,672,-1,2,[51]],["add",177,672,1,2,[51]],["add",117,673,-1,2,[51]],["add",181,673,-1,2,[51]],["add",208,673,-1,2,[51]],["add",177,673,-1,2,[51]],["add",117,674,-1,2,[51]],["add",181,674,-1,2,[51]],["add",208,674,-1,2,[51]],["add",177,674,1,2,[51]],["add",117,676,-1,2,[51]],["add",676,566,2,1,[51]],["add",181,676,1,2,[51]],["add",676,566,-2,1,[51]],["add",208,676,1,2,[51]],["add",177,676,1,2,[51]],["add",616,554,-2,1,[51]],["add",618,554,2,1,[51]],["add",664,554,-1,1,[51]],["add",666,554,1,1,[51]],["add",664,667,-1,1,[264,136,85,51]],["add",665,667,-1,1,[264,136,85,51]],["add",666,667,1,1,[264,136,85,51]],["add",664,669,1,1,[264,136,85,51]],["add",665,669,-1,1,[264,136,85,51]],["add",668,669,-1,1,[264,136,85,51]],["add",664,670,1,1,[264,136,85,51]],["add",666,670,-1,1,[264,136,85,51]],["add",668,670,-1,1,[264,136,85,51]],["add",665,671,-1,1,[264,136,85,51]],["add",666,671,1,1,[264,136,85,51]],["add",668,671,-1,1,[264,136,85,51]],["add",118,82,-1,2,[416,30]],["add",194,6,-1,2,[19,13]],["add",187,349,1,1,[70,30]],["add",113,351,1,1,[491,30]],["add",351,531,-1,1,[486,19,13]],["add",205,347,-1,2,[70,30]],["add",170,345,-1,2,[491,30]],["add",140,75,1,1,[416,30]],["add",198,1,1,1,[19,13]],["add",124,100,-1,2,[388,51]],["add",212,12,-1,2,[41,26]],["add",168,285,1,1,[81,51]],["add",143,287,1,1,[463,51]],["add",215,283,-1,2,[81,51]],["add",129,281,-1,2,[463,51]],["add",150,56,1,1,[388,51]],["add",189,31,1,1,[41,26]],["add",213,54,-1,2,[196,51]],["add",166,101,-1,2,[324,51]],["add",214,301,1,1,[273,51]],["add",167,303,1,1,[145,51]],["add",130,299,-1,2,[273,51]],["add",152,297,-1,2,[145,51]],["add",131,102,1,1,[196,51]],["add",151,55,1,1,[324,51]],["add",195,73,-1,2,[224,30]],["add",185,83,-1,2,[352,30]],["add",196,365,1,1,[262,30]],["add",186,367,1,1,[134,30]],["add",367,543,-1,1,[352,134,30]],["add",171,363,-1,2,[262,30]],["add",142,361,-1,2,[134,30]],["add",172,84,1,1,[224,30]],["add",141,74,1,1,[352,30]],["add",210,48,-1,2,[74,30]],["add",160,98,-1,2,[487,30]],["add",144,317,1,1,[385,30]],["add",197,319,1,1,[44,30]],["add",157,315,-1,2,[385,30]],["add",219,313,-1,2,[44,30]],["add",136,32,1,1,[74,30]],["add",32,506,-1,1,[385,74,30]],["add",147,85,1,1,[487,30]],["add",192,67,-1,2,[67,51]],["add",179,80,-1,2,[477,51]],["add",115,381,1,1,[392,51]],["add",200,383,1,1,[37,22]],["add",383,555,-1,1,[459,37,22]],["add",120,379,-1,2,[392,51]],["add",207,377,-1,2,[37,22]],["add",178,3,1,1,[67,51]],["add",3,554,-1,1,[392,67,51]],["add",138,88,1,1,[477,51]],["add",180,5,-1,2,[259,51]],["add",117,68,-1,2,[131,51]],["add",181,397,1,1,[200,51]],["add",116,399,1,1,[328,51]],["add",399,567,-1,1,[328,131,51]],["add",208,395,-1,2,[200,51]],["add",176,393,-1,2,[328,51]],["add",209,69,1,1,[259,51]],["add",69,566,-1,1,[259,200,51]],["add",177,4,1,1,[131,51]],["add",161,34,-1,2,[266,30]],["add",146,49,-1,2,[138,30]],["add",162,333,1,1,[193,30]],["add",145,335,1,1,[321,30]],["add",220,331,-1,2,[193,30]],["add",134,329,-1,2,[321,30]],["add",221,50,1,1,[266,30]],["add",50,518,-1,1,[266,193,30]],["add",135,33,1,1,[138,30]],["add",112,76,-1,2,[448,45]],["add",188,0,-1,2,[38,11]],["add",183,72,-1,2,[400,45]],["add",182,2,-1,2,[35,14]],["add",114,70,-1,2,[208,45]],["add",184,71,-1,2,[336,45]],["add",76,0,1,1,[448,38,11]],["add",71,72,1,1,[336,192,45]],["add",2,70,1,1,[208,35,14]],["add",112,71,-1,2,[256,144,80,42,7]],["add",182,76,-1,2,[448,33,9,5,2]],["add",184,2,-1,2,[336,208,35,9,7]],["add",188,184,1,1,[336,208,33,9,5,2]],["add",183,182,1,1,[400,80,33,9,5,2]],["add",114,112,1,1,[256,128,64,42,16,7]],["add",112,2,-1,2,[256,128,64,35,16,9,7]],["add",188,72,-1,2,[320,192,33,16,9,5,2]],["add",183,70,-1,2,[272,128,80,33,9,5,2]],["add",182,71,-1,2,[256,144,80,33,9,5,2]],["add",114,0,-1,2,[256,128,64,33,16,11,7]],["add",184,76,-1,2,[272,144,64,33,9,5,2]],["add",139,239,1,1,[478,45]],["add",193,27,1,1,[38,11]],["add",126,13,-1,2,[73,45]],["add",127,78,-1,2,[471,45]],["add",190,15,-1,2,[265,45]],["add",125,14,-1,2,[137,45]],["add",239,27,1,1,[469,38,11]],["add",14,13,1,1,[137,73,45]],["add",78,15,1,1,[265,222,45]],["add",139,14,-1,2,[263,137,73,45,25]],["add",127,239,1,1,[453,36,16,9,2]],["add",125,78,-1,2,[265,137,78,45,25]],["add",193,125,1,1,[258,130,69,38,18,11]],["add",126,127,1,1,[389,64,36,16,9,2]],["add",190,139,1,1,[263,135,71,35,23,14]],["add",139,78,-1,2,[256,128,64,35,16,9,7]],["add",193,13,-1,2,[258,130,66,33,18,11,7]],["add",126,15,-1,2,[256,133,64,36,16,9,2]],["add",127,14,-1,2,[261,128,64,36,16,9,2]],["add",190,27,1,1,[258,130,66,35,18,11,5]],["add",125,239,1,1,[256,128,69,36,16,9,2]],["add",203,255,1,1,[261,45]],["add",123,91,1,1,[208,45]],["add",218,36,-1,2,[146,45]],["add",165,21,-1,2,[268,45]],["add",133,53,1,1,[265,45]],["add",148,415,1,1,[194,45]],["add",255,91,1,1,[261,208,45]],["add",415,36,-1,2,[146,80,45]],["add",21,53,-2,1,[265,40,5]],["add",203,415,1,1,[261,144,80,45,2]],["add",165,255,1,1,[261,130,82,36,9]],["add",148,21,-1,2,[265,144,82,40,5]],["add",123,148,1,1,[265,130,64,40,18,5]],["add",218,165,1,1,[261,130,66,36,16,9]],["add",133,203,1,1,[261,144,80,33,12,2]],["add",203,21,-1,2,[256,144,80,33,9,5,2]],["add",123,36,-1,2,[265,128,64,40,16,5,2]],["add",218,53,1,1,[256,130,66,33,16,9,5]],["add",165,415,1,1,[261,128,64,36,16,9,2]],["add",133,91,1,1,[261,128,64,33,16,12,2]],["add",148,255,1,1,[256,130,64,33,18,9,5]],["add",201,271,1,1,[69,45]],["add",121,89,1,1,[400,45]],["add",216,111,1,1,[146,45]],["add",163,447,1,1,[274,45]],["add",222,51,1,1,[73,45]],["add",223,431,1,1,[386,45]],["add",271,89,1,1,[400,69,45]],["add",431,111,1,1,[272,146,45]],["add",447,51,1,1,[274,73,45]],["add",201,431,1,1,[272,146,69,36,9]],["add",163,271,1,1,[274,130,69,36,9]],["add",223,447,1,1,[274,144,73,40,5]],["add",121,223,1,1,[256,130,73,40,18,5]],["add",216,163,1,1,[258,130,69,36,16,9]],["add",222,201,1,1,[272,146,64,33,9,5]],["add",201,447,1,1,[272,144,64,33,9,5,2]],["add",121,111,1,1,[256,128,73,40,16,5,2]],["add",216,51,1,1,[258,130,64,33,16,9,5]],["add",163,431,1,1,[256,128,69,36,16,9,2]],["add",222,89,1,1,[258,128,64,33,18,9,5]],["add",223,271,1,1,[256,130,64,33,18,9,5]],["add",191,25,1,1,[35,14]],["add",137,269,1,1,[475,45]],["add",211,445,1,1,[140,45]],["add",156,47,1,1,[268,45]],["add",159,429,1,1,[45,28]],["add",158,99,1,1,[471,45]],["add",25,269,1,1,[469,35,14]],["add",99,445,1,1,[347,140,45]],["add",47,429,1,1,[268,45,28]],["add",191,99,1,1,[279,130,66,35,14]],["add",156,25,1,1,[258,149,66,35,14]],["add",158,47,1,1,[268,139,76,45,28]],["add",137,158,1,1,[256,135,64,33,16,12]],["add",211,156,1,1,[258,130,66,35,23,14]],["add",159,191,1,1,[261,130,66,35,18,14]],["add",191,47,1,1,[258,130,66,35,18,9,7]],["add",137,445,1,1,[256,128,64,33,16,11,7]],["add",211,429,1,1,[258,130,66,35,18,11,5]],["add",156,99,1,1,[256,128,64,33,21,12,2]],["add",159,269,1,1,[261,128,64,33,16,12,2]],["add",158,25,1,1,[256,133,64,33,16,12,2]],["add",169,233,-1,2,[478,45]],["add",204,235,-1,2,[45,21]],["add",175,267,-1,2,[475,45]],["add",174,265,-1,2,[69,45]],["add",173,251,-1,2,[133,45]],["add",206,249,-1,2,[261,45]],["add",233,235,1,1,[459,45,21]],["add",249,267,1,1,[261,222,45]],["add",265,251,1,1,[133,69,45]],["add",169,249,-1,2,[256,217,40,5,2]],["add",174,233,-1,2,[393,66,42,18,7]],["add",206,265,-1,2,[258,130,66,42,7]],["add",204,206,1,1,[258,130,66,42,18,7]],["add",175,174,1,1,[393,64,40,16,5,2]],["add",173,169,1,1,[256,128,89,40,5,2]],["add",169,265,-1,2,[256,128,64,40,25,5,2]],["add",204,267,-1,2,[258,130,66,33,18,11,7]],["add",175,251,-1,2,[265,128,64,40,16,5,2]],["add",174,249,-1,2,[256,137,64,40,16,5,2]],["add",173,235,-1,2,[256,128,73,40,16,5,2]],["add",206,233,-1,2,[258,130,66,35,18,9,7]],["add",119,87,1,1,[448,45]],["add",199,237,1,1,[45,21]],["add",153,427,-1,2,[45,28]],["add",154,425,-1,2,[386,45]],["add",155,411,-1,2,[322,45]],["add",128,409,-1,2,[194,45]],["add",87,237,1,1,[448,45,21]],["add",409,427,1,1,[194,45,28]],["add",425,411,1,1,[322,192,45]],["add",119,409,-1,2,[258,194,40,25,5]],["add",154,87,1,1,[386,66,33,21,12]],["add",128,425,-1,2,[320,192,45,2]],["add",199,128,1,1,[320,192,33,21,12,2]],["add",153,154,1,1,[386,66,33,16,9,5]],["add",155,119,1,1,[258,130,64,40,25,5]],["add",119,425,-1,2,[256,128,64,40,25,5,2]],["add",199,427,-1,2,[320,192,33,16,9,5,2]],["add",153,411,-1,2,[256,130,66,33,16,9,5]],["add",154,409,-1,2,[258,128,66,33,16,9,5]],["add",155,237,1,1,[258,130,64,33,16,9,5]],["add",128,87,1,1,[256,128,64,33,21,12,2]],["add",122,90,1,1,[336,45]],["add",202,253,1,1,[133,45]],["add",164,443,-1,2,[140,45]],["add",217,441,-1,2,[274,45]],["add",149,413,1,1,[322,45]],["add",132,52,1,1,[137,45]],["add",90,253,1,1,[336,133,45]],["add",52,443,-1,2,[137,40,5]],["add",441,413,-2,1,[274,80,45]],["add",122,52,1,1,[258,137,82,40,5]],["add",217,90,1,1,[258,133,66,45,16]],["add",132,441,-1,2,[272,137,80,45,2]],["add",202,132,1,1,[272,133,80,33,12,2]],["add",164,217,1,1,[258,133,66,36,16,9]],["add",149,122,1,1,[258,137,64,40,18,5]],["add",122,441,-1,2,[256,137,64,40,16,5,2]],["add",202,443,-1,2,[272,128,80,33,9,5,2]],["add",164,413,1,1,[256,133,64,36,16,9,2]],["add",217,52,1,1,[258,128,66,33,16,9,5]],["add",149,253,1,1,[258,128,64,33,18,9,5]],["add",132,90,1,1,[256,133,64,33,16,12,2]],["add",448,231,1,1,[459,38,21]],["add",449,226,1,1,[448,51,11]],["add",450,230,1,1,[448,38,30]],["add",451,228,1,1,[486,21,11]],["add",452,232,1,1,[459,38,30]],["add",453,7,1,1,[448,21,11]],["add",454,236,1,1,[448,38,21]],["add",455,238,1,1,[469,51,11]],["add",456,247,1,1,[261,133,82,42]],["add",457,242,1,1,[258,130,82,42]],["add",458,246,1,1,[261,130,85,42]],["add",459,244,1,1,[258,133,85,42]],["add",460,248,1,1,[296,168,82,7]],["add",461,10,1,1,[258,130,82,7]],["add",462,252,1,1,[296,130,120,7]],["add",463,254,1,1,[258,168,120,7]],["add",464,263,1,1,[407,69,36,14]],["add",465,258,1,1,[400,66,35,9]],["add",466,262,1,1,[407,69,35,9]],["add",467,260,1,1,[400,66,36,14]],["add",468,264,1,1,[435,97,9,7]],["add",469,79,1,1,[400,66,35,7]],["add",470,268,1,1,[409,75,35,7]],["add",471,270,1,1,[400,66,9,7]],["add",283,281,1,1,[414,81,51]],["add",277,281,-1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",100,12,1,1,[388,41,26]],["add",273,12,-1,1,[388,75,41,26]],["add",56,285,1,1,[388,81,51]],["add",282,285,-1,1,[388,75,41,26]],["scale",282,-1,1,[388,75,41,26]],["add",287,31,1,1,[463,41,26]],["add",275,31,-1,1,[388,75,41,26]],["add",472,283,1,1,[414,81,51]],["add",472,231,1,1,[387,64,34,17,8,4]],["add",473,100,1,1,[388,41,26]],["add",473,226,1,1,[388,68,33,17,8,3]],["add",474,279,1,1,[388,72,42,26]],["add",475,274,1,1,[413,81,41,3]],["add",476,278,1,1,[391,75,42,26]],["add",477,276,1,1,[388,72,41,3]],["add",478,280,1,1,[388,72,25,3]],["add",479,38,1,1,[391,75,41,25]],["add",480,284,1,1,[429,97,25,3]],["add",481,286,1,1,[388,72,41,25]],["add",273,56,1,1,[388,81,48,3]],["add",275,287,1,1,[391,72,41,26]],["add",299,297,1,1,[273,145,51]],["add",293,297,-1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",54,101,1,1,[324,196,51]],["add",289,101,-1,1,[273,145,85,51]],["add",102,301,1,1,[273,196,51]],["add",298,301,-1,1,[273,145,85,51]],["scale",298,-1,1,[273,145,85,51]],["add",303,55,1,1,[324,145,51]],["add",291,55,-1,1,[273,145,85,51]],["add",55,101,1,2,[273,145,85,51]],["add",101,55,-1,1,[273,145,85,51]],["add",484,299,1,1,[273,145,51]],["add",484,448,1,1,[260,132,71,38,21,12]],["add",485,54,1,1,[324,196,51]],["add",485,449,1,1,[260,132,64,33,18,11]],["add",486,295,1,1,[273,136,85,42]],["add",487,290,1,1,[264,145,85,42]],["add",488,294,1,1,[264,136,76,42]],["add",489,292,1,1,[273,145,76,42]],["add",490,296,1,1,[290,136,102,25]],["add",491,19,1,1,[264,162,102,25]],["add",492,300,1,1,[264,136,76,25]],["add",493,302,1,1,[290,162,76,25]],["add",289,102,1,1,[273,136,76,51]],["add",291,303,1,1,[264,145,76,51]],["add",315,313,1,1,[385,44,30]],["add",309,313,-1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",48,98,1,1,[429,74,30]],["add",305,98,-1,1,[385,74,44,30]],["add",32,317,1,1,[385,74,30]],["add",314,317,-1,1,[385,74,44,30]],["scale",314,-1,1,[385,74,44,30]],["add",319,85,1,1,[459,44,30]],["add",307,85,-1,1,[385,74,44,30]],["add",85,98,1,2,[385,74,44,30]],["add",98,85,-1,1,[385,74,44,30]],["add",496,315,1,1,[385,44,30]],["add",496,230,1,1,[385,65,32,18,10,6]],["add",497,48,1,1,[429,74,30]],["add",497,228,1,1,[390,64,32,20,10,1]],["add",498,311,1,1,[385,74,50]],["add",499,306,1,1,[415,84,44]],["add",500,310,1,1,[415,84,50]],["add",501,308,1,1,[385,74,44]],["add",502,312,1,1,[415,74,44]],["add",503,24,1,1,[385,84,50]],["add",504,316,1,1,[385,84,44]],["add",505,318,1,1,[415,74,50]],["add",506,32,1,1,[385,74,30]],["add",305,319,1,1,[391,76,44,30]],["add",331,329,1,1,[321,193,30]],["add",325,329,-1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",34,49,1,1,[266,138,30]],["add",321,49,-1,1,[266,138,75,30]],["add",50,333,1,1,[266,193,30]],["add",330,333,-1,1,[266,138,75,30]],["scale",330,-1,1,[266,138,75,30]],["add",335,33,1,1,[321,138,30]],["add",323,33,-1,1,[266,138,75,30]],["add",33,49,1,2,[266,138,75,30]],["add",49,33,-1,1,[266,138,75,30]],["add",508,331,1,1,[321,193,30]],["add",508,450,1,1,[257,129,64,38,18,12]],["add",509,34,1,1,[266,138,30]],["add",509,451,1,1,[257,129,71,33,21,11]],["add",510,327,1,1,[276,138,85]],["add",511,322,1,1,[266,148,85]],["add",512,326,1,1,[266,138,75]],["add",513,324,1,1,[276,148,75]],["add",514,328,1,1,[276,138,75]],["add",515,109,1,1,[266,148,75]],["add",516,332,1,1,[266,138,85]],["add",517,334,1,1,[276,148,85]],["add",518,50,1,1,[266,193,30]],["add",321,335,1,1,[288,138,97,30]],["add",347,345,1,1,[429,70,30]],["add",341,345,-1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",82,6,1,1,[416,19,13]],["add",337,6,-1,1,[416,70,19,13]],["add",75,349,1,1,[416,70,30]],["add",346,349,-1,1,[416,70,19,13]],["scale",346,-1,1,[416,70,19,13]],["add",351,1,1,1,[486,19,13]],["add",339,1,-1,1,[416,70,19,13]],["add",520,347,1,1,[429,70,30]],["add",520,232,-2,1,[394,64,32,24,6,1]],["add",521,82,1,1,[416,19,13]],["add",521,7,-2,1,[416,96,18,10,6,1]],["add",522,343,1,1,[416,65,19,7]],["add",523,338,1,1,[435,82,10,7]],["add",524,342,1,1,[426,75,19,7]],["add",525,340,1,1,[416,65,10,7]],["add",526,344,1,1,[416,65,19,10]],["add",527,28,1,1,[423,70,20,13]],["add",528,348,1,1,[423,70,19,10]],["add",529,350,1,1,[416,65,20,13]],["add",530,75,1,1,[416,70,30]],["add",531,351,1,1,[486,19,13]],["add",363,361,1,1,[262,134,30]],["add",357,361,-1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",73,83,1,1,[352,224,30]],["add",353,83,-1,1,[262,134,102,30]],["add",84,365,1,1,[262,224,30]],["add",362,365,-1,1,[262,134,102,30]],["scale",362,-1,1,[262,134,102,30]],["add",367,74,1,1,[352,134,30]],["add",355,74,-1,1,[262,134,102,30]],["add",74,83,1,2,[262,134,102,30]],["add",83,74,-1,1,[262,134,102,30]],["add",532,363,1,1,[262,134,30]],["add",532,452,-2,1,[257,129,75,33,25,7]],["add",533,73,1,1,[352,224,30]],["add",533,453,-2,1,[288,160,64,18,11,7]],["add",534,359,1,1,[280,129,120,7]],["add",535,354,1,1,[257,152,120,7]],["add",536,358,1,1,[257,129,97,7]],["add",537,356,1,1,[280,152,97,7]],["add",538,360,1,1,[262,129,102,25]],["add",539,60,1,1,[257,134,102,25]],["add",540,364,1,1,[257,129,97,25]],["add",541,366,1,1,[262,134,97,25]],["add",542,84,1,1,[262,224,30]],["add",543,367,1,1,[352,134,30]],["add",379,377,1,1,[392,37,22]],["add",373,377,-1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",67,80,1,1,[414,67,51]],["add",369,80,-1,1,[392,67,37,22]],["add",3,381,1,1,[392,67,51]],["add",378,381,-1,1,[392,67,37,22]],["scale",378,-1,1,[392,67,37,22]],["add",383,88,1,1,[459,37,22]],["add",371,88,-1,1,[392,67,37,22]],["add",88,80,1,2,[392,67,37,22]],["add",80,88,-1,1,[392,67,37,22]],["add",544,379,1,1,[392,37,22]],["add",544,236,-2,1,[392,72,33,17,4,3]],["add",545,67,1,1,[414,67,51]],["add",545,238,-2,1,[401,64,48,8,4,3]],["add",546,375,1,1,[392,67,22]],["add",547,370,1,1,[414,85,37]],["add",548,374,1,1,[429,102,22]],["add",549,372,1,1,[392,67,37]],["add",550,376,1,1,[414,67,37]],["add",551,66,1,1,[392,102,22]],["add",552,380,1,1,[392,85,37]],["add",553,382,1,1,[429,67,22]],["add",554,3,1,1,[392,67,51]],["add",555,383,1,1,[459,37,22]],["add",395,393,1,1,[328,200,51]],["add",389,393,-1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",5,68,1,1,[259,131,51]],["add",385,68,-1,1,[259,131,75,51]],["add",69,397,1,1,[259,200,51]],["add",394,397,-1,1,[259,131,75,51]],["scale",394,-1,1,[259,131,75,51]],["add",399,4,1,1,[328,131,51]],["add",387,4,-1,1,[259,131,75,51]],["add",556,395,1,1,[328,200,51]],["add",556,454,-2,1,[264,136,64,33,18,7]],["add",557,5,1,1,[259,131,51]],["add",557,455,-2,1,[259,131,82,51,11,7]],["add",558,391,1,1,[304,131,120]],["add",559,386,1,1,[259,176,120]],["add",560,390,1,1,[259,131,75]],["add",561,388,1,1,[304,176,75]],["add",562,392,1,1,[304,131,75]],["add",563,97,1,1,[259,176,75]],["add",564,396,1,1,[259,131,120]],["add",565,398,1,1,[304,176,120]],["add",566,69,1,1,[259,200,51]],["add",567,399,1,1,[328,131,51]],["add",568,407,1,1,[292,164,75]],["add",569,402,1,1,[265,137,75]],["add",570,406,1,1,[292,137,102]],["add",571,404,1,1,[265,164,102]],["add",572,408,1,1,[292,164,102]],["add",573,105,1,1,[265,137,102]],["add",574,412,1,1,[292,137,75]],["add",575,414,1,1,[265,164,75]],["add",576,423,1,1,[431,100,28]],["add",577,418,1,1,[386,73,49]],["add",578,422,1,1,[414,85,49]],["add",579,420,1,1,[386,73,28]],["add",580,424,1,1,[386,85,49]],["add",581,44,1,1,[431,73,28]],["add",582,428,1,1,[386,100,28]],["add",583,430,1,1,[414,73,49]],["add",584,439,1,1,[268,140,51]],["add",585,434,1,1,[274,146,51]],["add",383,585,-1,2,[260,132,68,37,22,15]],["add",287,434,-1,2,[264,136,72,41,26,7]],["add",586,438,1,1,[289,161,30]],["add",587,436,1,1,[268,140,30]],["add",351,587,-1,2,[257,129,65,39,19,13]],["add",319,436,-1,2,[267,139,75,43,25,7]],["add",588,440,1,1,[268,161,30]],["add",589,46,1,1,[289,140,30]],["add",367,589,1,1,[257,134,65,32,20,10]],["add",335,46,1,1,[288,138,96,24,6,1]],["add",590,444,1,1,[274,140,51]],["add",591,446,1,1,[268,146,51]],["add",399,591,1,1,[260,131,68,34,17,8]],["add",303,446,1,1,[264,145,72,48,4,3]],["add",129,299,-1,2,[273,145,79,51]],["add",212,54,-1,2,[324,196,41,26]],["add",168,554,1,1,[392,64,33,17,3]],["add",150,439,-1,2,[264,136,51,4]],["add",143,555,1,1,[395,64,33,18,4]],["add",152,283,-1,2,[271,145,81,51]],["add",166,100,-1,2,[324,192,41,26]],["add",214,566,1,1,[259,132,76,33,18]],["add",131,444,1,1,[274,136,72,51,4]],["add",167,567,1,1,[260,131,76,33,18]],["add",219,331,-1,2,[321,193,44,30]],["add",160,34,-1,2,[266,138,103,30]],["add",144,530,1,1,[385,70,33,30]],["add",136,586,-1,2,[289,161,64,18,10,6]],["add",197,531,1,1,[390,65,33,19,13]],["add",134,315,-1,2,[321,192,44,30]],["add",146,48,-1,2,[295,138,74,30]],["add",162,542,1,1,[262,193,33,30]],["add",221,588,1,1,[256,161,97,18,10,6]],["add",145,543,1,1,[257,134,64,33,30]],["add",170,363,-1,2,[262,134,107,30]],["add",194,73,-1,2,[352,224,19,13]],["add",187,506,1,1,[385,70,18,12]],["add",140,438,-1,2,[256,128,76,32,30,1]],["add",113,305,1,1,[391,64,32,18,12]],["add",142,347,-1,2,[299,134,70,30]],["add",185,82,-1,2,[352,192,19,13]],["add",196,518,1,1,[262,193,18,12]],["add",172,440,1,1,[268,128,64,32,30,1]],["add",186,321,1,1,[288,134,97,18,12]],["add",207,395,-1,2,[328,200,37,22]],["add",179,5,-1,2,[259,131,93,51]],["add",115,273,1,1,[388,81,48,12,3]],["add",56,439,-1,2,[264,136,81,48,4,3]],["add",200,275,1,1,[391,68,37,22,12]],["add",176,379,-1,2,[328,192,37,22]],["add",117,67,-1,2,[285,131,67,51]],["add",181,289,1,1,[273,132,64,51,12]],["add",102,444,1,1,[273,136,72,48,4,3]],["add",116,291,1,1,[260,145,64,51,12]],["add",283,299,1,1,[271,143,79,45,30]],["add",100,54,1,1,[320,192,41,26,4]],["add",315,331,1,1,[320,192,44,30,1]],["add",48,34,1,1,[266,138,74,45,30]],["add",347,363,1,1,[262,134,70,45,30]],["add",82,73,1,1,[320,192,32,19,13]],["add",379,395,1,1,[320,192,37,22,8]],["add",67,5,1,1,[259,131,67,45,30]],["add",279,311,1,1,[385,72,40,24,5,2]],["add",274,306,1,1,[408,80,40,4,2,1]],["add",295,327,1,1,[273,136,80,40,5,2]],["add",290,322,1,1,[264,145,80,40,5,2]],["add",343,375,1,1,[392,65,40,17,5,2]],["add",338,370,1,1,[401,80,32,8,5,2]],["add",359,391,1,1,[280,129,80,40,5,2]],["add",354,386,1,1,[257,152,80,40,5,2]],["add",278,326,1,1,[266,138,75,42,26,7]],["add",276,324,1,1,[272,144,72,41,4,3]],["add",294,310,1,1,[264,136,75,42,24,7]],["add",292,308,1,1,[272,144,74,42,6,1]],["add",358,374,1,1,[257,129,75,42,17,7]],["add",356,372,1,1,[272,144,67,34,8,7]],["add",342,390,1,1,[259,131,75,42,19,7]],["add",340,388,1,1,[272,144,65,32,10,7]],["add",247,498,1,1,[260,132,74,42,24,1]],["add",242,499,1,1,[258,130,75,42,25,6]],["add",263,512,1,1,[260,132,69,36,23,14]],["add",258,513,1,1,[260,132,66,35,16,9]],["add",344,407,-1,2,[260,132,65,32,19,10]],["add",28,402,-1,2,[260,132,70,39,20,13]],["add",364,423,-1,2,[257,129,75,42,25,5]],["add",366,418,-1,2,[260,132,73,40,25,2]],["add",246,510,1,1,[261,130,68,34,17,8]],["add",244,511,1,1,[258,133,68,34,17,8]],["add",262,500,1,1,[390,68,34,16,8,1]],["add",260,501,1,1,[385,66,34,17,8,6]],["add",360,406,-1,2,[262,129,68,34,17,8]],["add",60,404,-1,2,[257,134,68,34,17,8]],["add",348,422,-1,2,[389,68,32,17,8,2]],["add",350,420,-1,2,[386,65,34,17,8,5]],["add",456,474,1,1,[257,129,72,42,26,4]],["add",457,475,1,1,[257,129,76,41,29,3]],["add",466,488,1,1,[257,129,69,35,23,9]],["add",467,489,1,1,[257,129,66,36,16,14]],["add",376,408,1,1,[257,129,67,37,30]],["add",66,105,1,1,[257,129,102,22,8]],["add",396,428,1,1,[257,129,100,28,2]],["add",398,430,1,1,[257,129,73,47,30]],["add",458,486,1,1,[261,130,65,32,20,10]],["add",459,487,1,1,[258,133,65,32,20,10]],["add",464,476,1,1,[387,65,32,16,10,4]],["add",465,477,1,1,[388,65,32,20,9,3]],["add",392,412,1,1,[292,131,65,20,10]],["add",97,414,1,1,[259,164,65,20,10]],["add",380,424,1,1,[386,65,37,20,10]],["add",382,44,1,1,[421,65,20,8,2]],["add",248,546,-1,2,[288,160,67,17,8,7]],["add",10,547,-1,2,[258,130,75,34,25,7]],["add",268,560,-1,2,[259,131,75,35,25,7]],["add",270,561,-1,2,[288,160,66,16,9,7]],["add",280,568,-1,2,[288,160,72,25,4,3]],["add",38,569,-1,2,[265,137,75,41,25,7]],["add",300,578,-1,2,[264,136,75,40,25,7]],["add",302,579,-1,2,[288,160,73,25,5,2]],["add",252,558,-1,2,[296,130,96,24,6,1]],["add",254,559,-1,2,[258,168,96,24,6,1]],["add",264,548,-1,2,[418,96,16,8,6,1]],["add",79,549,-1,2,[392,66,34,24,6,1]],["add",296,570,-1,2,[290,136,96,24,6,1]],["add",19,571,-1,2,[264,162,96,24,6,1]],["add",284,576,-1,2,[424,96,24,4,2,1]],["add",286,577,-1,2,[386,72,40,24,6,1]],["add",460,522,-1,2,[264,136,65,32,19,7]],["add",461,523,-1,2,[258,130,82,51,10,7]],["add",468,536,-1,2,[257,129,82,51,9,7]],["add",469,537,-1,2,[264,136,66,35,16,7]],["add",312,572,1,1,[264,136,74,44,31]],["add",24,573,1,1,[264,136,84,50,1]],["add",332,580,1,1,[264,136,85,49,2]],["add",334,581,1,1,[264,136,73,47,28]],["add",462,534,-1,2,[280,129,72,48,4,3]],["add",463,535,-1,2,[257,152,72,48,4,3]],["add",470,524,-1,2,[393,72,32,16,4,3]],["add",471,525,-1,2,[400,65,48,9,4,3]],["add",328,574,1,1,[276,137,72,48,3]],["add",109,575,1,1,[265,148,72,48,3]],["add",316,582,1,1,[385,72,44,28,3]],["add",318,583,1,1,[412,72,48,2,1]],["add",478,526,1,1,[388,65,36,16,9,3]],["add",479,527,1,1,[387,66,32,16,9,4]],["add",490,538,1,1,[262,129,66,36,16,9]],["add",491,539,1,1,[257,134,66,36,16,9]],["add",502,550,1,1,[390,66,36,16,8,1]],["add",503,551,1,1,[385,66,34,16,9,6]],["add",514,562,1,1,[260,131,66,36,16,9]],["add",515,563,1,1,[259,148,66,36,9]],["add",480,540,1,1,[257,129,76,45,25,3]],["add",481,541,1,1,[258,130,72,41,25,4]],["add",492,528,1,1,[258,130,70,39,19,10]],["add",493,529,1,1,[258,130,65,32,20,13]],["add",516,552,1,1,[258,130,68,37,17,8]],["add",517,553,1,1,[258,130,67,34,22,15]],["add",504,564,1,1,[258,130,76,44,24,1]],["add",505,565,1,1,[258,130,74,43,25,6]],["add",273,554,1,1,[388,64,33,17,12,3]],["add",275,555,1,1,[387,64,33,18,8,4]],["add",506,530,1,1,[385,70,33,18,12]],["add",305,531,1,1,[390,64,32,18,12,1]],["add",518,542,1,1,[262,193,33,18,12]],["add",321,543,1,1,[257,134,64,33,18,12]],["add",289,566,1,1,[259,132,64,33,18,12]],["add",291,567,1,1,[260,131,64,33,18,12]],["add",592,349,-1,1,[320,192,45,30]],["add",593,349,-1,1,[320,192,45,30]],["add",594,349,1,1,[320,192,45,30]],["add",592,243,1,1,[320,192,45,30]],["add",593,243,-1,1,[320,192,45,30]],["add",596,243,-1,1,[320,192,45,30]],["add",592,365,1,1,[320,192,45,30]],["add",594,365,-1,1,[320,192,45,30]],["add",596,365,-1,1,[320,192,45,30]],["add",593,361,-1,1,[320,192,45,30]],["add",594,361,1,1,[320,192,45,30]],["add",596,361,-1,1,[320,192,45,30]],["add",592,283,1,1,[271,143,79,45,30]],["add",593,100,1,1,[320,192,41,26,4]],["add",594,315,1,1,[320,192,44,30,1]],["add",349,48,1,1,[266,138,74,45,30]],["add",596,347,1,1,[262,134,70,45,30]],["add",243,82,1,1,[320,192,32,19,13]],["add",365,379,1,1,[320,192,37,22,8]],["add",361,67,1,1,[259,131,67,45,30]],["add",600,401,-1,1,[80,40,5,2]],["add",601,401,-1,1,[80,40,5,2]],["add",602,401,1,1,[80,40,5,2]],["add",600,403,1,1,[80,40,5,2]],["add",601,403,-1,1,[80,40,5,2]],["add",604,403,-1,1,[80,40,5,2]],["add",600,606,1,1,[80,40,5,2]],["add",602,606,-1,1,[80,40,5,2]],["add",604,606,-1,1,[80,40,5,2]],["add",601,405,-1,1,[80,40,5,2]],["add",602,405,1,1,[80,40,5,2]],["add",604,405,-1,1,[80,40,5,2]],["add",600,279,1,1,[385,72,40,24,5,2]],["add",601,274,1,1,[408,80,40,4,2,1]],["add",602,295,1,1,[273,136,80,40,5,2]],["add",401,290,1,1,[264,145,80,40,5,2]],["add",604,343,1,1,[392,65,40,17,5,2]],["add",403,338,1,1,[401,80,32,8,5,2]],["add",606,359,1,1,[280,129,80,40,5,2]],["add",405,354,1,1,[257,152,80,40,5,2]],["add",608,410,-1,1,[144,75,42,7]],["add",609,410,-1,1,[144,75,42,7]],["add",610,410,1,1,[144,75,42,7]],["add",608,417,1,1,[144,75,42,7]],["add",609,417,-1,1,[144,75,42,7]],["add",612,417,-1,1,[144,75,42,7]],["add",608,419,1,1,[144,75,42,7]],["add",610,419,-1,1,[144,75,42,7]],["add",612,419,-1,1,[144,75,42,7]],["add",609,421,-1,1,[144,75,42,7]],["add",610,421,1,1,[144,75,42,7]],["add",612,421,-1,1,[144,75,42,7]],["add",608,278,1,1,[266,138,75,42,26,7]],["add",609,276,1,1,[272,144,72,41,4,3]],["add",610,294,1,1,[264,136,75,42,24,7]],["add",410,292,1,1,[272,144,74,42,6,1]],["add",612,358,1,1,[257,129,75,42,17,7]],["add",417,356,1,1,[272,144,67,34,8,7]],["add",419,342,1,1,[259,131,75,42,19,7]],["add",421,340,1,1,[272,144,65,32,10,7]],["scale",68,1,2,[259,131,75,51]],["add",68,4,-1,1,[259,131,75,51]],["add",31,12,1,2,[388,75,41,26]],["add",616,1,-1,1,[260,132,75,51]],["add",617,1,-1,1,[260,132,75,51]],["add",618,1,1,1,[260,132,75,51]],["add",616,4,-2,1,[260,132,75,51]],["add",617,4,2,1,[260,132,75,51]],["add",620,4,-1,1,[260,132,75,51]],["add",616,6,-2,1,[260,132,75,51]],["add",618,6,2,1,[260,132,75,51]],["add",620,6,-1,1,[260,132,75,51]],["add",617,12,2,1,[260,132,75,51]],["add",618,12,-2,1,[260,132,75,51]],["add",620,12,-1,1,[260,132,75,51]],["add",616,247,1,1,[260,132,74,42,24,1]],["add",617,242,1,1,[258,130,75,42,25,6]],["add",618,263,1,1,[260,132,69,36,23,14]],["add",1,258,1,1,[260,132,66,35,16,9]],["add",620,344,1,1,[260,132,65,32,19,10]],["add",4,28,1,1,[260,132,70,39,20,13]],["add",6,364,1,1,[257,129,75,42,25,5]],["add",12,366,1,1,[260,132,73,40,25,2]],["add",624,426,-1,1,[391,68,34,17]],["add",625,426,-1,1,[391,68,34,17]],["add",626,426,1,1,[391,68,34,17]],["add",624,433,-2,1,[391,68,34,17]],["add",625,433,2,1,[391,68,34,17]],["add",628,433,-1,1,[391,68,34,17]],["add",624,435,-2,1,[391,68,34,17]],["add",626,435,2,1,[391,68,34,17]],["add",628,435,-1,1,[391,68,34,17]],["add",625,437,2,1,[391,68,34,17]],["add",626,437,-2,1,[391,68,34,17]],["add",628,437,-1,1,[391,68,34,17]],["add",624,246,1,1,[261,130,68,34,17,8]],["add",625,244,1,1,[258,133,68,34,17,8]],["add",626,262,1,1,[390,68,34,16,8,1]],["add",426,260,1,1,[385,66,34,17,8,6]],["add",628,360,1,1,[262,129,68,34,17,8]],["add",433,60,1,1,[257,134,68,34,17,8]],["add",435,348,1,1,[389,68,32,17,8,2]],["add",437,350,1,1,[386,65,34,17,8,5]],["add",632,635,-1,1,[257,129,102,30]],["add",633,635,-1,1,[257,129,102,30]],["add",634,635,1,1,[257,129,102,30]],["add",632,637,-2,1,[257,129,102,30]],["add",633,637,2,1,[257,129,102,30]],["add",636,637,-1,1,[257,129,102,30]],["add",632,638,-2,1,[257,129,102,30]],["add",634,638,2,1,[257,129,102,30]],["add",636,638,-1,1,[257,129,102,30]],["add",633,639,2,1,[257,129,102,30]],["add",634,639,-2,1,[257,129,102,30]],["add",636,639,-1,1,[257,129,102,30]],["add",632,456,1,1,[257,129,72,42,26,4]],["add",633,457,1,1,[257,129,76,41,29,3]],["add",634,466,1,1,[257,129,69,35,23,9]],["add",635,467,1,1,[257,129,66,36,16,14]],["add",636,376,1,1,[257,129,67,37,30]],["add",637,66,1,1,[257,129,102,22,8]],["add",638,396,1,1,[257,129,100,28,2]],["add",639,398,1,1,[257,129,73,47,30]],["add",640,250,-1,1,[423,65,20,10]],["add",641,250,-1,1,[423,65,20,10]],["add",642,250,1,1,[423,65,20,10]],["add",640,266,-2,1,[423,65,20,10]],["add",641,266,2,1,[423,65,20,10]],["add",644,266,-1,1,[423,65,20,10]],["add",640,259,-2,1,[423,65,20,10]],["add",642,259,2,1,[423,65,20,10]],["add",644,259,-1,1,[423,65,20,10]],["add",641,261,2,1,[423,65,20,10]],["add",642,261,-2,1,[423,65,20,10]],["add",644,261,-1,1,[423,65,20,10]],["add",640,458,1,1,[261,130,65,32,20,10]],["add",641,459,1,1,[258,133,65,32,20,10]],["add",642,464,1,1,[387,65,32,16,10,4]],["add",250,465,1,1,[388,65,32,20,9,3]],["add",644,392,1,1,[292,131,65,20,10]],["add",266,97,1,1,[259,164,65,20,10]],["add",259,380,1,1,[386,65,37,20,10]],["add",261,382,1,1,[421,65,20,8,2]],["add",648,530,-1,1,[288,160,75,25,7]],["add",649,530,-1,1,[288,160,75,25,7]],["add",650,530,1,1,[288,160,75,25,7]],["add",648,563,1,1,[288,160,75,25,7]],["add",649,563,-1,1,[288,160,75,25,7]],["add",652,563,-1,1,[288,160,75,25,7]],["add",648,542,1,1,[288,160,75,25,7]],["add",650,542,-1,1,[288,160,75,25,7]],["add",652,542,-1,1,[288,160,75,25,7]],["add",649,442,-1,1,[288,160,75,25,7]],["add",650,442,1,1,[288,160,75,25,7]],["add",652,442,-1,1,[288,160,75,25,7]],["add",648,248,1,1,[288,160,67,17,8,7]],["add",649,10,1,1,[258,130,75,34,25,7]],["add",650,268,1,1,[259,131,75,35,25,7]],["add",530,270,1,1,[288,160,66,16,9,7]],["add",652,280,1,1,[288,160,72,25,4,3]],["add",563,38,1,1,[265,137,75,41,25,7]],["add",542,300,1,1,[264,136,75,40,25,7]],["add",442,302,1,1,[288,160,73,25,5,2]],["add",656,333,-1,1,[427,96,24,6]],["add",657,333,-1,1,[427,96,24,6]],["add",658,333,1,1,[427,96,24,6]],["add",656,317,1,1,[427,96,24,6]],["add",657,317,-1,1,[427,96,24,6]],["add",660,317,-1,1,[427,96,24,6]],["add",656,257,1,1,[427,96,24,6]],["add",658,257,-1,1,[427,96,24,6]],["add",660,257,-1,1,[427,96,24,6]],["add",657,245,-1,1,[427,96,24,6]],["add",658,245,1,1,[427,96,24,6]],["add",660,245,-1,1,[427,96,24,6]],["add",656,252,1,1,[296,130,96,24,6,1]],["add",657,254,1,1,[258,168,96,24,6,1]],["add",658,264,1,1,[418,96,16,8,6,1]],["add",333,79,1,1,[392,66,34,24,6,1]],["add",660,296,1,1,[290,136,96,24,6,1]],["add",317,19,1,1,[264,162,96,24,6,1]],["add",257,284,1,1,[424,96,24,4,2,1]],["add",245,286,1,1,[386,72,40,24,6,1]],["add",664,460,1,1,[264,136,65,32,19,7]],["add",665,461,1,1,[258,130,82,51,10,7]],["add",666,468,1,1,[257,129,82,51,9,7]],["add",667,469,1,1,[264,136,66,35,16,7]],["add",668,312,1,1,[264,136,74,44,31]],["add",669,24,1,1,[264,136,84,50,1]],["add",670,332,1,1,[264,136,85,49,2]],["add",671,334,1,1,[264,136,73,47,28]],["add",672,241,-1,1,[413,72,48,3]],["add",673,241,-1,1,[413,72,48,3]],["add",674,241,1,1,[413,72,48,3]],["add",672,234,1,1,[413,72,48,3]],["add",673,234,-1,1,[413,72,48,3]],["add",676,234,-1,1,[413,72,48,3]],["add",672,229,1,1,[413,72,48,3]],["add",674,229,-1,1,[413,72,48,3]],["add",676,229,-1,1,[413,72,48,3]],["add",673,227,-1,1,[413,72,48,3]],["add",674,227,1,1,[413,72,48,3]],["add",676,227,-1,1,[413,72,48,3]],["add",672,462,1,1,[280,129,72,48,4,3]],["add",673,463,1,1,[257,152,72,48,4,3]],["add",674,470,1,1,[393,72,32,16,4,3]],["add",241,471,1,1,[400,65,48,9,4,3]],["add",676,328,1,1,[276,137,72,48,3]],["add",234,109,1,1,[265,148,72,48,3]],["add",229,316,1,1,[385,72,44,28,3]],["add",227,318,1,1,[412,72,48,2,1]],["add",49,285,-1,1,[407,66,36,9]],["add",83,285,-1,1,[407,66,36,9]],["add",98,285,1,1,[407,66,36,9]],["add",49,225,1,1,[407,66,36,9]],["add",83,225,-1,1,[407,66,36,9]],["add",101,225,-1,1,[407,66,36,9]],["add",49,281,1,1,[407,66,36,9]],["add",98,281,-1,1,[407,66,36,9]],["add",101,281,-1,1,[407,66,36,9]],["add",83,393,-1,1,[407,66,36,9]],["add",98,393,1,1,[407,66,36,9]],["add",101,393,-1,1,[407,66,36,9]],["add",49,478,1,1,[388,65,36,16,9,3]],["add",83,479,1,1,[387,66,32,16,9,4]],["add",98,490,1,1,[262,129,66,36,16,9]],["add",285,491,1,1,[257,134,66,36,16,9]],["add",101,502,1,1,[390,66,36,16,8,1]],["add",225,503,1,1,[385,66,34,16,9,6]],["add",281,514,1,1,[260,131,66,36,16,9]],["add",393,515,1,1,[259,148,66,36,9]],["add",68,397,-1,1,[258,130,85,45]],["add",80,397,-1,1,[258,130,85,45]],["add",88,397,1,1,[258,130,85,45]],["add",68,377,1,1,[258,130,85,45]],["add",80,377,-1,1,[258,130,85,45]],["add",31,377,-1,1,[258,130,85,45]],["add",68,381,1,1,[258,130,85,45]],["add",88,381,-1,1,[258,130,85,45]],["add",31,381,-1,1,[258,130,85,45]],["add",80,345,-1,1,[258,130,85,45]],["add",88,345,1,1,[258,130,85,45]],["add",31,345,-1,1,[258,130,85,45]],["add",68,480,1,1,[257,129,76,45,25,3]],["add",80,481,1,1,[258,130,72,41,25,4]],["add",88,492,1,1,[258,130,70,39,19,10]],["add",397,493,1,1,[258,130,65,32,20,13]],["add",31,516,1,1,[258,130,68,37,17,8]],["add",377,517,1,1,[258,130,67,34,22,15]],["add",381,504,1,1,[258,130,76,44,24,1]],["add",345,505,1,1,[258,130,74,43,25,6]],["add",33,301,-1,1,[455,33,18,12]],["add",55,301,-1,1,[455,33,18,12]],["add",74,301,1,1,[455,33,18,12]],["add",33,329,1,1,[455,33,18,12]],["add",55,329,-1,1,[455,33,18,12]],["add",85,329,-1,1,[455,33,18,12]],["add",33,297,1,1,[455,33,18,12]],["add",74,297,-1,1,[455,33,18,12]],["add",85,297,-1,1,[455,33,18,12]],["add",55,313,-1,1,[455,33,18,12]],["add",74,313,1,1,[455,33,18,12]],["add",85,313,-1,1,[455,33,18,12]],["add",33,273,1,1,[388,64,33,17,12,3]],["add",55,275,1,1,[387,64,33,18,8,4]],["add",74,506,1,1,[385,70,33,18,12]],["add",301,305,1,1,[390,64,32,18,12,1]],["add",85,518,1,1,[262,193,33,18,12]],["add",329,321,1,1,[257,134,64,33,18,12]],["add",297,289,1,1,[259,132,64,33,18,12]],["add",313,291,1,1,[260,131,64,33,18,12]],["add",215,484,-1,2,[260,132,68,37,21,12,3]],["add",129,448,-1,2,[256,128,67,34,17,8,4]],["add",124,485,-1,2,[256,128,64,33,18,11,4]],["add",212,449,-1,2,[260,132,64,33,17,8,3]],["add",168,584,-1,2,[260,132,64,33,17,8,3]],["add",150,3,1,1,[256,128,67,34,17,8,4]],["add",143,585,-1,2,[256,128,64,33,18,11,4]],["add",189,383,1,1,[260,132,68,37,21,12,3]],["add",130,472,-1,2,[256,131,64,34,17,8,4]],["add",152,231,-1,2,[259,128,64,34,17,8,4]],["add",213,473,-1,2,[260,128,68,33,17,8,3]],["add",166,226,-1,2,[256,132,68,33,17,8,3]],["add",214,590,1,1,[256,132,68,33,17,8,3]],["add",131,69,1,1,[259,128,64,34,17,8,4]],["add",167,591,1,1,[260,128,68,33,17,8,3]],["add",151,399,1,1,[256,131,64,34,17,8,4]],["add",157,508,-1,2,[256,128,64,38,18,12,1]],["add",219,450,-1,2,[257,129,64,32,18,10,6]],["add",210,509,-1,2,[257,129,65,33,19,11,6]],["add",160,451,-1,2,[256,128,70,32,20,10,1]],["add",144,438,-1,2,[256,128,70,32,20,10,1]],["add",136,75,1,1,[257,129,64,32,18,10,6]],["add",197,587,-1,2,[257,129,65,33,19,11,6]],["add",147,351,1,1,[256,128,64,38,18,12,1]],["add",220,496,-1,2,[257,128,65,32,18,10,6]],["add",134,230,-1,2,[256,129,65,32,18,10,6]],["add",161,497,-1,2,[256,134,64,32,20,10,1]],["add",146,228,-1,2,[262,128,64,32,20,10,1]],["add",162,440,1,1,[262,128,64,32,20,10,1]],["add",221,84,1,1,[256,129,65,32,18,10,6]],["add",145,589,1,1,[256,134,64,32,20,10,1]],["add",135,367,1,1,[257,128,65,32,18,10,6]],["add",205,532,-1,2,[257,129,65,33,19,10,7]],["add",170,452,1,1,[256,128,74,32,24,6,1]],["add",118,533,-1,2,[256,128,64,32,18,11,7]],["add",194,453,1,1,[288,160,64,18,10,6,1]],["add",187,586,-1,2,[288,160,64,18,10,6,1]],["add",140,32,1,1,[256,128,74,32,24,6,1]],["add",113,436,-1,2,[256,128,64,32,18,11,7]],["add",198,319,1,1,[257,129,65,33,19,10,7]],["add",171,520,-1,2,[256,138,64,32,24,6,1]],["add",142,232,1,1,[266,128,64,32,24,6,1]],["add",195,521,-1,2,[288,128,96,18,10,6,1]],["add",185,7,1,1,[256,160,96,18,10,6,1]],["add",196,588,1,1,[256,160,96,18,10,6,1]],["add",172,50,1,1,[266,128,64,32,24,6,1]],["add",186,46,1,1,[288,128,96,18,10,6,1]],["add",141,335,1,1,[256,138,64,32,24,6,1]],["add",120,556,-1,2,[256,128,64,33,18,8,7]],["add",207,454,1,1,[264,136,64,33,17,4,3]],["add",192,557,-1,2,[259,131,67,34,17,11,7]],["add",179,455,1,1,[256,128,81,48,8,4,3]],["add",115,439,-1,2,[256,128,81,48,8,4,3]],["add",178,56,1,1,[264,136,64,33,17,4,3]],["add",200,434,-1,2,[259,131,67,34,17,11,7]],["add",138,287,1,1,[256,128,64,33,18,8,7]],["add",208,544,-1,2,[264,128,72,33,17,4,3]],["add",176,236,1,1,[256,136,72,33,17,4,3]],["add",180,545,-1,2,[256,145,64,48,8,4,3]],["add",117,238,1,1,[273,128,64,48,8,4,3]],["add",181,444,1,1,[273,128,64,48,8,4,3]],["add",209,102,1,1,[256,136,72,33,17,4,3]],["add",116,446,1,1,[256,145,64,48,8,4,3]],["add",177,303,1,1,[264,128,72,33,17,4,3]],["add",169,119,1,1,[256,128,64,40,25,5,2]],["add",119,169,-1,2,[256,128,64,40,25,5,2]],["scale",119,-2,1,[256,128,64,32,17,8,5,2]],["add",112,139,1,1,[256,128,64,35,16,9,7]],["add",139,112,-1,2,[256,128,64,35,16,9,7]],["scale",139,-2,1,[256,128,64,34,16,8,6,1]],["add",204,193,1,1,[258,130,66,33,18,11,7]],["add",193,204,-1,2,[258,130,66,33,18,11,7]],["scale",193,-2,1,[258,130,66,32,18,10,6,1]],["add",188,199,1,1,[320,192,33,16,9,5,2]],["add",199,188,-1,2,[320,192,33,16,9,5,2]],["scale",199,-2,1,[257,129,65,33,16,9,5,2]],["add",174,122,1,1,[256,137,64,40,16,5,2]],["add",122,174,-1,2,[256,137,64,40,16,5,2]],["scale",122,-2,1,[256,129,64,32,16,8,5,2]],["add",182,203,1,1,[256,144,80,33,9,5,2]],["add",203,182,-1,2,[256,144,80,33,9,5,2]],["scale",203,-2,1,[256,129,65,33,17,9,5,2]],["add",175,123,1,1,[265,128,64,40,16,5,2]],["add",123,175,-1,2,[265,128,64,40,16,5,2]],["scale",123,-2,1,[257,128,64,32,16,8,5,2]],["add",183,202,1,1,[272,128,80,33,9,5,2]],["add",202,183,-1,2,[272,128,80,33,9,5,2]],["scale",202,-2,1,[257,128,65,33,17,9,5,2]],["add",206,191,1,1,[258,130,66,35,18,9,7]],["add",191,206,-1,2,[258,130,66,35,18,9,7]],["scale",191,-2,1,[258,130,66,34,18,8,6,1]],["add",184,201,1,1,[272,144,64,33,9,5,2]],["add",201,184,-1,2,[272,144,64,33,9,5,2]],["scale",201,-2,1,[257,129,64,33,17,9,5,2]],["add",173,121,1,1,[256,128,73,40,16,5,2]],["add",121,173,-1,2,[256,128,73,40,16,5,2]],["scale",121,-2,1,[256,128,65,32,16,8,5,2]],["add",114,137,1,1,[256,128,64,33,16,11,7]],["add",137,114,-1,2,[256,128,64,33,16,11,7]],["scale",137,-2,1,[256,128,64,32,16,10,6,1]],["add",129,150,1,1,[256,128,67,34,17,8,4]],["add",150,129,-1,2,[256,128,67,34,17,8,4]],["scale",150,-2,1,[256,128,66,34,16,8,4,1]],["add",124,143,1,1,[256,128,64,33,18,11,4]],["add",143,124,-1,2,[256,128,64,33,18,11,4]],["scale",143,-2,1,[256,128,64,32,18,10,4,1]],["add",215,189,1,1,[260,132,68,37,21,12,3]],["add",189,215,-1,2,[260,132,68,37,21,12,3]],["scale",189,-2,1,[260,132,68,36,20,12,2,1]],["add",212,168,1,1,[260,132,64,33,17,8,3]],["add",168,212,-1,2,[260,132,64,33,17,8,3]],["scale",168,-2,1,[260,132,64,32,16,8,2,1]],["add",152,131,1,1,[259,128,64,34,17,8,4]],["add",131,152,-1,2,[259,128,64,34,17,8,4]],["scale",131,-2,1,[257,128,64,32,17,8,4,2]],["add",213,167,1,1,[260,128,68,33,17,8,3]],["add",167,213,-1,2,[260,128,68,33,17,8,3]],["scale",167,-2,1,[260,128,68,32,16,8,2,1]],["add",130,151,1,1,[256,131,64,34,17,8,4]],["add",151,130,-1,2,[256,131,64,34,17,8,4]],["scale",151,-2,1,[256,130,64,34,16,8,4,1]],["add",166,214,1,1,[256,132,68,33,17,8,3]],["add",214,166,-1,2,[256,132,68,33,17,8,3]],["scale",214,-2,1,[256,129,65,33,17,8,5,3]],["add",219,136,1,1,[257,129,64,32,18,10,6]],["add",136,219,-1,2,[257,129,64,32,18,10,6]],["scale",136,-2,1,[257,129,64,32,16,8,4,2]],["add",210,197,1,1,[257,129,65,33,19,11,6]],["add",197,210,-1,2,[257,129,65,33,19,11,6]],["scale",197,-2,1,[257,129,65,33,17,9,4,2]],["add",157,147,1,1,[256,128,64,38,18,12,1]],["add",147,157,-1,2,[256,128,64,38,18,12,1]],["scale",147,-2,1,[256,128,64,34,18,8,4,1]],["add",160,144,1,1,[256,128,70,32,20,10,1]],["add",144,160,-1,2,[256,128,70,32,20,10,1]],["scale",144,-2,1,[256,128,66,32,16,10,4,1]],["add",134,221,1,1,[256,129,65,32,18,10,6]],["add",221,134,-1,2,[256,129,65,32,18,10,6]],["scale",221,-2,1,[256,129,65,32,17,9,5,3]],["add",161,145,1,1,[256,134,64,32,20,10,1]],["add",145,161,-1,2,[256,134,64,32,20,10,1]],["scale",145,-2,1,[256,130,64,32,16,10,4,1]],["add",220,135,1,1,[257,128,65,32,18,10,6]],["add",135,220,-1,2,[257,128,65,32,18,10,6]],["scale",135,-2,1,[257,128,65,32,16,8,4,2]],["add",146,162,1,1,[262,128,64,32,20,10,1]],["add",162,146,-1,2,[262,128,64,32,20,10,1]],["scale",162,-2,1,[260,128,64,32,20,8,2,1]],["add",170,140,1,1,[256,128,74,32,24,6,1]],["add",140,170,-1,2,[256,128,74,32,24,6,1]],["scale",140,-2,1,[256,128,66,32,16,8,6,1]],["add",118,113,1,1,[256,128,64,32,18,11,7]],["add",113,118,-1,2,[256,128,64,32,18,11,7]],["scale",113,-2,1,[256,128,64,32,17,8,4,3]],["add",205,198,1,1,[257,129,65,33,19,10,7]],["add",198,205,-1,2,[257,129,65,33,19,10,7]],["scale",198,-2,1,[257,129,65,33,17,8,5,2]],["add",194,187,1,1,[288,160,64,18,10,6,1]],["add",187,194,-1,2,[288,160,64,18,10,6,1]],["scale",187,-2,1,[288,160,64,16,8,4,2,1]],["add",142,172,1,1,[266,128,64,32,24,6,1]],["add",172,142,-1,2,[266,128,64,32,24,6,1]],["scale",172,-2,1,[264,128,64,32,24,4,2,1]],["add",195,186,1,1,[288,128,96,18,10,6,1]],["add",186,195,-1,2,[288,128,96,18,10,6,1]],["scale",186,-2,1,[288,128,96,16,8,4,2,1]],["add",171,141,1,1,[256,138,64,32,24,6,1]],["add",141,171,-1,2,[256,138,64,32,24,6,1]],["scale",141,-2,1,[256,130,64,32,16,8,6,1]],["add",185,196,1,1,[256,160,96,18,10,6,1]],["add",196,185,-1,2,[256,160,96,18,10,6,1]],["scale",196,-2,1,[256,130,66,34,18,10,6,1]],["add",207,178,1,1,[264,136,64,33,17,4,3]],["add",178,207,-1,2,[264,136,64,33,17,4,3]],["scale",178,-2,1,[264,136,64,32,16,4,2,1]],["add",192,200,1,1,[259,131,67,34,17,11,7]],["add",200,192,-1,2,[259,131,67,34,17,11,7]],["scale",200,-2,1,[257,129,65,32,17,9,5,2]],["add",120,138,1,1,[256,128,64,33,18,8,7]],["add",138,120,-1,2,[256,128,64,33,18,8,7]],["scale",138,-2,1,[256,128,64,32,18,8,6,1]],["add",179,115,1,1,[256,128,81,48,8,4,3]],["add",115,179,-1,2,[256,128,81,48,8,4,3]],["scale",115,-2,1,[256,128,65,32,16,8,4,3]],["add",176,209,1,1,[256,136,72,33,17,4,3]],["add",209,176,-1,2,[256,136,72,33,17,4,3]],["scale",209,-2,1,[256,129,65,33,17,9,4,3]],["add",180,116,1,1,[256,145,64,48,8,4,3]],["add",116,180,-1,2,[256,145,64,48,8,4,3]],["scale",116,-2,1,[256,129,64,32,16,8,4,3]],["add",208,177,1,1,[264,128,72,33,17,4,3]],["add",177,208,-1,2,[264,128,72,33,17,4,3]],["scale",177,-2,1,[264,128,72,32,16,4,2,1]],["add",117,181,1,1,[273,128,64,48,8,4,3]],["add",181,117,-1,2,[273,128,64,48,8,4,3]],["scale",181,-2,1,[272,128,64,48,8,4,2,1]],["add",154,217,1,1,[258,128,66,33,16,9,5]],["add",217,154,-1,2,[258,128,66,33,16,9,5]],["scale",217,-2,1,[257,128,65,33,16,9,5,3]],["add",127,165,1,1,[261,128,64,36,16,9,2]],["add",165,127,-1,2,[261,128,64,36,16,9,2]],["scale",165,-2,1,[260,128,64,36,16,8,2,1]],["add",153,218,1,1,[256,130,66,33,16,9,5]],["add",218,153,-1,2,[256,130,66,33,16,9,5]],["scale",218,-2,1,[256,129,65,33,16,9,5,3]],["add",126,164,1,1,[256,133,64,36,16,9,2]],["add",164,126,-1,2,[256,133,64,36,16,9,2]],["scale",164,-2,1,[256,132,64,36,16,8,2,1]],["add",128,156,1,1,[256,128,64,33,21,12,2]],["add",156,128,-1,2,[256,128,64,33,21,12,2]],["scale",156,-2,1,[256,128,64,32,20,12,2,1]],["add",125,163,1,1,[256,128,69,36,16,9,2]],["add",163,125,-1,2,[256,128,69,36,16,9,2]],["scale",163,-2,1,[256,128,68,36,16,8,2,1]],["add",155,216,1,1,[258,130,64,33,16,9,5]],["add",216,155,-1,2,[258,130,64,33,16,9,5]],["scale",216,-2,1,[257,129,64,33,16,9,5,3]],["add",190,211,1,1,[258,130,66,35,18,11,5]],["add",211,190,-1,2,[258,130,66,35,18,11,5]],["scale",211,-2,1,[257,129,65,32,17,8,5,3]],["add",132,158,1,1,[256,133,64,33,16,12,2]],["add",158,132,-1,2,[256,133,64,33,16,12,2]],["scale",158,-2,1,[256,132,64,32,16,12,2,1]],["add",148,223,1,1,[256,130,64,33,18,9,5]],["add",223,148,-1,2,[256,130,64,33,18,9,5]],["scale",223,-2,1,[256,129,64,33,17,9,5,3]],["add",149,222,1,1,[258,128,64,33,18,9,5]],["add",222,149,-1,2,[258,128,64,33,18,9,5]],["scale",222,-2,1,[257,128,64,33,17,9,5,3]],["add",133,159,1,1,[261,128,64,33,16,12,2]],["add",159,133,-1,2,[261,128,64,33,16,12,2]],["scale",159,-2,1,[260,128,64,32,16,12,2,1]],["add",283,379,1,1,[256,128,64,34,17,8,7]],["add",379,283,-1,2,[256,128,64,34,17,8,7]],["add",139,283,-1,2,[256,128,64,34,16,8,6,1]],["add",119,379,1,1,[256,128,64,32,17,8,5,2]],["add",100,67,1,1,[256,128,64,41,25,4,3]],["add",67,100,-1,2,[256,128,64,41,25,4,3]],["add",112,100,-1,2,[256,128,64,32,16,9,4,3]],["add",169,67,1,1,[256,128,64,40,24,4,2,1]],["add",315,347,1,1,[256,128,64,42,24,6,1]],["add",347,315,-1,2,[256,128,64,42,24,6,1]],["add",139,315,-1,2,[256,128,64,34,16,8,6,1]],["add",169,347,1,1,[256,128,64,40,24,4,2,1]],["add",48,82,1,1,[256,128,64,32,19,10,7]],["add",82,48,-1,2,[256,128,64,32,19,10,7]],["add",112,48,-1,2,[256,128,64,32,16,9,4,3]],["add",119,82,1,1,[256,128,64,32,17,8,5,2]],["add",592,361,1,1,[259,131,67,33,18,11,7]],["add",361,592,-1,2,[259,131,67,33,18,11,7]],["add",199,592,-1,2,[257,129,65,33,16,9,5,2]],["add",193,361,1,1,[258,130,66,32,18,10,6,1]],["add",593,365,1,1,[320,192,33,17,8,4,3]],["add",365,593,-1,2,[320,192,33,17,8,4,3]],["add",188,593,-1,2,[320,192,32,16,8,4,2,1]],["add",204,365,1,1,[257,129,65,33,17,8,4,3]],["add",594,243,1,1,[320,192,32,18,10,6,1]],["add",243,594,-1,2,[320,192,32,18,10,6,1]],["add",188,594,-1,2,[320,192,32,16,8,4,2,1]],["add",193,243,1,1,[258,130,66,32,18,10,6,1]],["add",349,596,1,1,[257,129,65,33,18,11,7]],["add",596,349,-1,2,[257,129,65,33,18,11,7]],["add",199,349,-1,2,[257,129,65,33,16,9,5,2]],["add",204,596,1,1,[257,129,65,33,17,8,4,3]],["add",279,359,1,1,[256,129,72,40,24,5,2]],["add",359,279,-1,2,[256,129,72,40,24,5,2]],["add",203,279,-1,2,[256,129,65,33,17,9,5,2]],["add",122,359,1,1,[256,129,64,32,16,8,5,2]],["add",274,354,1,1,[256,152,80,40,4,2,1]],["add",354,274,-1,2,[256,152,80,40,4,2,1]],["add",182,274,-1,2,[256,144,80,32,8,4,2,1]],["add",174,354,1,1,[256,136,64,40,16,4,2,1]],["add",295,343,1,1,[256,136,65,40,17,5,2]],["add",343,295,-1,2,[256,136,65,40,17,5,2]],["add",203,295,-1,2,[256,129,65,33,17,9,5,2]],["add",174,343,1,1,[256,136,64,40,16,4,2,1]],["add",290,338,1,1,[256,145,80,32,8,5,2]],["add",338,290,-1,2,[256,145,80,32,8,5,2]],["add",182,290,-1,2,[256,144,80,32,8,4,2,1]],["add",122,338,1,1,[256,129,64,32,16,8,5,2]],["add",600,405,1,1,[257,128,72,40,24,5,2]],["add",405,600,-1,2,[257,128,72,40,24,5,2]],["add",202,600,-1,2,[257,128,65,33,17,9,5,2]],["add",123,405,1,1,[257,128,64,32,16,8,5,2]],["add",601,606,1,1,[280,128,80,40,4,2,1]],["add",606,601,-1,2,[280,128,80,40,4,2,1]],["add",183,601,-1,2,[272,128,80,32,8,4,2,1]],["add",175,606,1,1,[264,128,64,40,16,4,2,1]],["add",602,403,1,1,[273,128,80,32,8,5,2]],["add",403,602,-1,2,[273,128,80,32,8,5,2]],["add",183,602,-1,2,[272,128,80,32,8,4,2,1]],["add",123,403,1,1,[257,128,64,32,16,8,5,2]],["add",401,604,1,1,[264,128,65,40,17,5,2]],["add",604,401,-1,2,[264,128,65,40,17,5,2]],["add",202,401,-1,2,[257,128,65,33,17,9,5,2]],["add",175,604,1,1,[264,128,64,40,16,4,2,1]],["add",278,342,1,1,[259,131,66,35,19,9,7]],["add",342,278,-1,2,[259,131,66,35,19,9,7]],["add",201,278,-1,2,[257,129,64,33,17,9,5,2]],["add",191,342,1,1,[258,130,66,34,18,8,6,1]],["add",276,340,1,1,[272,144,65,32,9,4,3]],["add",340,276,-1,2,[272,144,65,32,9,4,3]],["add",184,276,-1,2,[272,144,64,32,8,4,2,1]],["add",206,340,1,1,[257,129,65,32,17,9,4,3]],["add",294,358,1,1,[257,129,66,35,17,9,7]],["add",358,294,-1,2,[257,129,66,35,17,9,7]],["add",201,294,-1,2,[257,129,64,33,17,9,5,2]],["add",206,358,1,1,[257,129,65,32,17,9,4,3]],["add",292,356,1,1,[272,144,66,34,8,6,1]],["add",356,292,-1,2,[272,144,66,34,8,6,1]],["add",184,292,-1,2,[272,144,64,32,8,4,2,1]],["add",191,356,1,1,[258,130,66,34,18,8,6,1]],["add",608,421,1,1,[256,128,65,32,16,10,7]],["add",421,608,-1,2,[256,128,65,32,16,10,7]],["add",137,608,-1,2,[256,128,64,32,16,10,6,1]],["add",121,421,1,1,[256,128,65,32,16,8,5,2]],["add",609,419,1,1,[256,128,72,41,16,4,3]],["add",419,609,-1,2,[256,128,72,41,16,4,3]],["add",114,609,-1,2,[256,128,64,33,16,8,4,3]],["add",173,419,1,1,[256,128,72,40,16,4,2,1]],["add",610,417,1,1,[256,128,67,34,16,8,7]],["add",417,610,-1,2,[256,128,67,34,16,8,7]],["add",114,610,-1,2,[256,128,64,33,16,8,4,3]],["add",121,417,1,1,[256,128,65,32,16,8,5,2]],["add",410,612,1,1,[256,128,74,42,16,6,1]],["add",612,410,-1,2,[256,128,74,42,16,6,1]],["add",137,410,-1,2,[256,128,64,32,16,10,6,1]],["add",173,612,1,1,[256,128,72,40,16,4,2,1]],["add",247,364,-2,1,[256,128,74,42,24,4,1]],["add",364,247,1,4,[256,128,74,42,24,4,1]],["add",143,247,-1,2,[256,128,64,32,18,10,4,1]],["add",150,364,-2,1,[256,128,66,34,16,8,4,1]],["add",242,366,-2,1,[256,128,73,40,25,4,2]],["add",366,242,1,4,[256,128,73,40,25,4,2]],["add",124,242,-1,2,[256,128,64,33,16,9,4,2]],["add",129,366,-2,1,[256,128,65,32,17,8,4,2]],["add",263,344,-2,1,[256,128,65,32,19,10,4]],["add",344,263,1,4,[256,128,65,32,19,10,4]],["add",143,263,-1,2,[256,128,64,32,18,10,4,1]],["add",129,344,-2,1,[256,128,65,32,17,8,4,2]],["add",258,28,-2,1,[256,128,66,35,16,9,4]],["add",28,258,1,4,[256,128,66,35,16,9,4]],["add",124,258,-1,2,[256,128,64,33,16,9,4,2]],["add",150,28,-2,1,[256,128,66,34,16,8,4,1]],["add",616,12,-2,1,[260,132,72,40,24,2,1]],["add",12,616,1,4,[260,132,72,40,24,2,1]],["add",168,616,-1,2,[260,132,64,32,16,8,2,1]],["add",189,12,-2,1,[260,132,68,36,20,12,2,1]],["add",617,6,-2,1,[257,129,72,41,25,5,3]],["add",6,617,1,4,[257,129,72,41,25,5,3]],["add",212,617,-1,2,[257,129,64,33,17,8,5,3]],["add",215,6,-2,1,[257,129,65,32,16,9,5,3]],["add",618,4,-2,1,[260,132,69,36,20,13,3]],["add",4,618,1,4,[260,132,69,36,20,13,3]],["add",212,618,-1,2,[257,129,64,33,17,8,5,3]],["add",189,4,-2,1,[260,132,68,36,20,12,2,1]],["add",1,620,-2,1,[260,132,65,32,16,9,3]],["add",620,1,1,4,[260,132,65,32,16,9,3]],["add",168,1,-1,2,[260,132,64,32,16,8,2,1]],["add",215,620,-2,1,[257,129,65,32,16,9,5,3]],["add",246,348,-2,1,[261,128,68,32,17,8,2]],["add",348,246,1,4,[261,128,68,32,17,8,2]],["add",167,246,-1,2,[260,128,68,32,16,8,2,1]],["add",131,348,-2,1,[257,128,64,32,17,8,4,2]],["add",244,350,-2,1,[258,128,65,34,17,8,5]],["add",350,244,1,4,[258,128,65,34,17,8,5]],["add",213,244,-1,2,[257,128,65,33,17,8,5,3]],["add",152,350,-2,1,[258,128,64,34,16,8,4,1]],["add",262,360,-2,1,[262,128,68,34,16,8,1]],["add",360,262,1,4,[262,128,68,34,16,8,1]],["add",167,262,-1,2,[260,128,68,32,16,8,2,1]],["add",152,360,-2,1,[258,128,64,34,16,8,4,1]],["add",260,60,-2,1,[257,128,66,34,17,8,6]],["add",60,260,1,4,[257,128,66,34,17,8,6]],["add",213,260,-1,2,[257,128,65,33,17,8,5,3]],["add",131,60,-2,1,[257,128,64,32,17,8,4,2]],["add",624,437,-2,1,[256,130,65,34,17,8,5]],["add",437,624,1,4,[256,130,65,34,17,8,5]],["add",214,624,-1,2,[256,129,65,33,17,8,5,3]],["add",151,437,-2,1,[256,130,64,34,16,8,4,1]],["add",625,435,-2,1,[256,133,68,32,17,8,2]],["add",435,625,1,4,[256,133,68,32,17,8,2]],["add",166,625,-1,2,[256,132,68,32,16,8,2,1]],["add",130,435,-2,1,[256,129,64,32,17,8,4,2]],["add",626,433,-2,1,[256,134,68,34,16,8,1]],["add",433,626,1,4,[256,134,68,34,16,8,1]],["add",166,626,-1,2,[256,132,68,32,16,8,2,1]],["add",151,433,-2,1,[256,130,64,34,16,8,4,1]],["add",426,628,-2,1,[256,129,66,34,17,8,6]],["add",628,426,1,4,[256,129,66,34,17,8,6]],["add",214,426,-1,2,[256,129,65,33,17,8,5,3]],["add",130,628,-2,1,[256,129,64,32,17,8,4,2]],["add",456,396,-2,1,[257,129,72,40,24,4,2]],["add",396,456,1,4,[257,129,72,40,24,4,2]],["add",197,456,-1,2,[257,129,65,33,17,9,4,2]],["add",136,396,-2,1,[257,129,64,32,16,8,4,2]],["add",457,398,-2,1,[257,129,73,41,24,5,3]],["add",398,457,1,4,[257,129,73,41,24,5,3]],["add",210,457,-1,2,[257,129,65,33,16,8,5,3]],["add",219,398,-2,1,[257,129,64,32,17,9,5,3]],["add",466,376,-2,1,[257,129,67,35,17,9,6]],["add",376,466,1,4,[257,129,67,35,17,9,6]],["add",197,466,-1,2,[257,129,65,33,17,9,4,2]],["add",219,376,-2,1,[257,129,64,32,17,9,5,3]],["add",467,66,-2,1,[257,129,66,34,16,8,6]],["add",66,467,1,4,[257,129,66,34,16,8,6]],["add",210,467,-1,2,[257,129,65,33,16,8,5,3]],["add",136,66,-2,1,[257,129,64,32,16,8,4,2]],["add",632,639,-2,1,[256,128,72,42,26,4,1]],["add",639,632,1,4,[256,128,72,42,26,4,1]],["add",144,632,-1,2,[256,128,66,32,16,10,4,1]],["add",147,639,-2,1,[256,128,64,34,18,8,4,1]],["add",633,638,-2,1,[256,128,76,40,28,2,1]],["add",638,633,1,4,[256,128,76,40,28,2,1]],["add",160,633,-1,2,[256,128,68,32,20,8,2,1]],["add",157,638,-2,1,[256,128,64,36,16,12,2,1]],["add",634,637,-2,1,[256,128,68,34,22,8,1]],["add",637,634,1,4,[256,128,68,34,22,8,1]],["add",160,634,-1,2,[256,128,68,32,20,8,2,1]],["add",147,637,-2,1,[256,128,64,34,18,8,4,1]],["add",635,636,-2,1,[256,128,66,36,16,14,1]],["add",636,635,1,4,[256,128,66,36,16,14,1]],["add",144,635,-1,2,[256,128,66,32,16,10,4,1]],["add",157,636,-2,1,[256,128,64,36,16,12,2,1]],["add",458,380,-2,1,[256,130,65,32,17,10,5]],["add",380,458,1,4,[256,130,65,32,17,10,5]],["add",145,458,-1,2,[256,130,64,32,16,10,4,1]],["add",221,380,-2,1,[256,129,65,32,17,9,5,3]],["add",459,382,-2,1,[256,133,65,32,20,8,2]],["add",382,459,1,4,[256,133,65,32,20,8,2]],["add",161,459,-1,2,[256,132,64,32,20,8,2,1]],["add",134,382,-2,1,[256,129,65,32,16,8,4,2]],["add",464,392,-2,1,[256,131,65,32,16,10,4]],["add",392,464,1,4,[256,131,65,32,16,10,4]],["add",145,464,-1,2,[256,130,64,32,16,10,4,1]],["add",134,392,-2,1,[256,129,65,32,16,8,4,2]],["add",465,97,-2,1,[256,132,65,32,20,9,3]],["add",97,465,1,4,[256,132,65,32,20,9,3]],["add",161,465,-1,2,[256,132,64,32,20,8,2,1]],["add",221,97,-2,1,[256,129,65,32,17,9,5,3]],["add",640,261,-2,1,[261,128,65,32,20,8,2]],["add",261,640,1,4,[261,128,65,32,20,8,2]],["add",162,640,-1,2,[260,128,64,32,20,8,2,1]],["add",135,261,-2,1,[257,128,65,32,16,8,4,2]],["add",641,259,-2,1,[258,128,65,32,17,10,5]],["add",259,641,1,4,[258,128,65,32,17,10,5]],["add",146,641,-1,2,[258,128,64,32,16,10,4,1]],["add",220,259,-2,1,[257,128,65,32,17,9,5,3]],["add",642,266,-2,1,[259,128,65,32,16,10,4]],["add",266,642,1,4,[259,128,65,32,16,10,4]],["add",146,642,-1,2,[258,128,64,32,16,10,4,1]],["add",135,266,-2,1,[257,128,65,32,16,8,4,2]],["add",250,644,-2,1,[260,128,65,32,20,9,3]],["add",644,250,1,4,[260,128,65,32,20,9,3]],["add",162,250,-1,2,[260,128,64,32,20,8,2,1]],["add",220,644,-2,1,[257,128,65,32,17,9,5,3]],["add",248,300,1,1,[256,128,67,32,17,8,7]],["add",300,248,-1,2,[256,128,67,32,17,8,7]],["add",113,248,1,1,[256,128,64,32,17,8,4,3]],["add",140,300,-2,1,[256,128,66,32,16,8,6,1]],["add",10,302,1,1,[256,128,73,32,25,5,2]],["add",302,10,-1,2,[256,128,73,32,25,5,2]],["add",118,10,1,1,[256,128,64,32,16,9,5,2]],["add",170,302,-2,1,[256,128,72,32,24,4,2,1]],["add",268,280,1,1,[256,128,72,32,25,4,3]],["add",280,268,-1,2,[256,128,72,32,25,4,3]],["add",113,268,1,1,[256,128,64,32,17,8,4,3]],["add",170,280,-2,1,[256,128,72,32,24,4,2,1]],["add",270,38,1,1,[256,128,66,32,16,9,7]],["add",38,270,-1,2,[256,128,66,32,16,9,7]],["add",118,270,1,1,[256,128,64,32,16,9,5,2]],["add",140,38,-2,1,[256,128,66,32,16,8,6,1]],["add",648,442,1,1,[288,160,65,17,8,5,2]],["add",442,648,-1,2,[288,160,65,17,8,5,2]],["add",187,648,1,1,[288,160,64,16,8,4,2,1]],["add",198,442,-2,1,[257,129,65,33,17,8,5,2]],["add",649,542,1,1,[258,130,65,34,19,10,7]],["add",542,649,-1,2,[258,130,65,34,19,10,7]],["add",194,649,1,1,[258,130,64,34,18,10,6,1]],["add",205,542,-2,1,[257,129,65,33,16,9,4,3]],["add",650,563,1,1,[259,131,65,35,19,10,7]],["add",563,650,-1,2,[259,131,65,35,19,10,7]],["add",194,650,1,1,[258,130,64,34,18,10,6,1]],["add",198,563,-2,1,[257,129,65,33,17,8,5,2]],["add",530,652,1,1,[288,160,65,16,9,4,3]],["add",652,530,-1,2,[288,160,65,16,9,4,3]],["add",187,530,1,1,[288,160,64,16,8,4,2,1]],["add",205,652,-2,1,[257,129,65,33,16,9,4,3]],["add",252,284,1,1,[296,128,96,24,4,2,1]],["add",284,252,-1,2,[296,128,96,24,4,2,1]],["add",186,252,1,1,[288,128,96,16,8,4,2,1]],["add",172,284,-2,1,[264,128,64,32,24,4,2,1]],["add",254,286,1,1,[258,128,72,40,24,6,1]],["add",286,254,-1,2,[258,128,72,40,24,6,1]],["add",195,254,1,1,[258,128,66,34,18,10,6,1]],["add",142,286,-2,1,[258,128,64,32,16,8,6,1]],["add",264,296,1,1,[290,128,96,16,8,6,1]],["add",296,264,-1,2,[290,128,96,16,8,6,1]],["add",186,264,1,1,[288,128,96,16,8,4,2,1]],["add",142,296,-2,1,[258,128,64,32,16,8,6,1]],["add",79,19,1,1,[264,128,66,34,24,6,1]],["add",19,79,-1,2,[264,128,66,34,24,6,1]],["add",195,79,1,1,[258,128,66,34,18,10,6,1]],["add",172,19,-2,1,[264,128,64,32,24,4,2,1]],["add",656,245,1,1,[256,130,72,40,24,6,1]],["add",245,656,-1,2,[256,130,72,40,24,6,1]],["add",196,656,1,1,[256,130,66,34,18,10,6,1]],["add",141,245,-2,1,[256,130,64,32,16,8,6,1]],["add",657,257,1,1,[256,168,96,24,4,2,1]],["add",257,657,-1,2,[256,168,96,24,4,2,1]],["add",185,657,1,1,[256,160,96,16,8,4,2,1]],["add",171,257,-2,1,[256,136,64,32,24,4,2,1]],["add",658,317,1,1,[256,162,96,16,8,6,1]],["add",317,658,-1,2,[256,162,96,16,8,6,1]],["add",185,658,1,1,[256,160,96,16,8,4,2,1]],["add",141,317,-2,1,[256,130,64,32,16,8,6,1]],["add",333,660,1,1,[256,136,66,34,24,6,1]],["add",660,333,-1,2,[256,136,66,34,24,6,1]],["add",196,333,1,1,[256,130,66,34,18,10,6,1]],["add",171,660,-2,1,[256,136,64,32,24,4,2,1]],["add",460,332,1,1,[264,136,65,32,17,5,2]],["add",332,460,-1,2,[264,136,65,32,17,5,2]],["add",200,460,1,1,[257,129,65,32,17,9,5,2]],["add",178,332,-2,1,[264,136,64,32,16,4,2,1]],["add",461,334,1,1,[258,130,67,34,17,10,7]],["add",334,461,-1,2,[258,130,67,34,17,10,7]],["add",192,461,1,1,[258,130,66,34,16,10,6,1]],["add",207,334,-2,1,[257,129,64,33,17,9,4,3]],["add",468,312,1,1,[257,129,67,34,17,9,7]],["add",312,468,-1,2,[257,129,67,34,17,9,7]],["add",200,468,1,1,[257,129,65,32,17,9,5,2]],["add",207,312,-2,1,[257,129,64,33,17,9,4,3]],["add",469,24,1,1,[264,136,66,34,16,6,1]],["add",24,469,-1,2,[264,136,66,34,16,6,1]],["add",192,469,1,1,[258,130,66,34,16,10,6,1]],["add",178,24,-2,1,[264,136,64,32,16,4,2,1]],["add",664,671,1,1,[256,128,65,32,19,8,7]],["add",671,664,-1,2,[256,128,65,32,19,8,7]],["add",115,664,1,1,[256,128,65,32,16,8,4,3]],["add",138,671,-2,1,[256,128,64,32,18,8,6,1]],["add",665,670,1,1,[256,128,80,49,8,5,2]],["add",670,665,-1,2,[256,128,80,49,8,5,2]],["add",179,665,1,1,[256,128,80,48,8,4,2,1]],["add",120,670,-2,1,[256,128,64,33,16,8,5,2]],["add",666,669,1,1,[256,128,82,50,8,6,1]],["add",669,666,-1,2,[256,128,82,50,8,6,1]],["add",179,666,1,1,[256,128,80,48,8,4,2,1]],["add",138,669,-2,1,[256,128,64,32,18,8,6,1]],["add",667,668,1,1,[256,128,66,35,16,8,7]],["add",668,667,-1,2,[256,128,66,35,16,8,7]],["add",115,667,1,1,[256,128,65,32,16,8,4,3]],["add",120,668,-2,1,[256,128,64,33,16,8,5,2]],["add",462,316,1,1,[256,129,72,40,24,4,3]],["add",316,462,-1,2,[256,129,72,40,24,4,3]],["add",116,462,1,1,[256,129,64,32,16,8,4,3]],["add",209,316,-2,1,[256,129,65,33,17,9,4,3]],["add",463,318,1,1,[256,152,72,48,4,2,1]],["add",318,463,-1,2,[256,152,72,48,4,2,1]],["add",180,463,1,1,[256,144,64,48,8,4,2,1]],["add",176,318,-2,1,[256,136,72,32,16,4,2,1]],["add",470,328,1,1,[256,137,72,32,16,4,3]],["add",328,470,-1,2,[256,137,72,32,16,4,3]],["add",116,470,1,1,[256,129,64,32,16,8,4,3]],["add",176,328,-2,1,[256,136,72,32,16,4,2,1]],["add",471,109,1,1,[256,144,65,48,9,4,3]],["add",109,471,-1,2,[256,144,65,48,9,4,3]],["add",180,471,1,1,[256,144,64,48,8,4,2,1]],["add",209,109,-2,1,[256,129,65,33,17,9,4,3]],["add",672,227,1,1,[280,128,72,48,4,2,1]],["add",227,672,-1,2,[280,128,72,48,4,2,1]],["add",181,672,1,1,[272,128,64,48,8,4,2,1]],["add",177,227,-2,1,[264,128,72,32,16,4,2,1]],["add",673,229,1,1,[257,128,72,40,24,4,3]],["add",229,673,-1,2,[257,128,72,40,24,4,3]],["add",117,673,1,1,[257,128,64,32,16,8,4,3]],["add",208,229,-2,1,[257,128,65,33,17,9,4,3]],["add",674,234,1,1,[265,128,72,32,16,4,3]],["add",234,674,-1,2,[265,128,72,32,16,4,3]],["add",117,674,1,1,[257,128,64,32,16,8,4,3]],["add",177,234,-2,1,[264,128,72,32,16,4,2,1]],["add",241,676,1,1,[272,128,65,48,9,4,3]],["add",676,241,-1,2,[272,128,65,48,9,4,3]],["add",181,241,1,1,[272,128,64,48,8,4,2,1]],["add",208,676,-2,1,[257,128,65,33,17,9,4,3]],["add",478,514,1,1,[260,128,65,36,16,9,3]],["add",514,478,-1,2,[260,128,65,36,16,9,3]],["add",165,478,1,1,[260,128,64,36,16,8,2,1]],["add",217,514,-2,1,[257,128,65,33,16,9,5,3]],["add",479,515,1,1,[259,128,66,32,16,9,4]],["add",515,479,-1,2,[259,128,66,32,16,9,4]],["add",127,479,1,1,[257,128,64,32,16,9,4,2]],["add",154,515,-2,1,[258,128,66,32,16,8,4,1]],["add",490,502,1,1,[262,128,66,36,16,8,1]],["add",502,490,-1,2,[262,128,66,36,16,8,1]],["add",165,490,1,1,[260,128,64,36,16,8,2,1]],["add",154,502,-2,1,[258,128,66,32,16,8,4,1]],["add",491,503,1,1,[257,128,66,34,16,9,6]],["add",503,491,-1,2,[257,128,66,34,16,9,6]],["add",127,491,1,1,[257,128,64,32,16,9,4,2]],["add",217,503,-2,1,[257,128,65,33,16,9,5,3]],["add",49,393,1,1,[256,132,65,36,16,9,3]],["add",393,49,-1,2,[256,132,65,36,16,9,3]],["add",164,49,1,1,[256,132,64,36,16,8,2,1]],["add",218,393,-2,1,[256,129,65,33,16,9,5,3]],["add",83,281,1,1,[256,131,66,32,16,9,4]],["add",281,83,-1,2,[256,131,66,32,16,9,4]],["add",126,83,1,1,[256,129,64,32,16,9,4,2]],["add",153,281,-2,1,[256,130,66,32,16,8,4,1]],["add",98,225,1,1,[256,129,66,34,16,9,6]],["add",225,98,-1,2,[256,129,66,34,16,9,6]],["add",126,98,1,1,[256,129,64,32,16,9,4,2]],["add",218,225,-2,1,[256,129,65,33,16,9,5,3]],["add",285,101,1,1,[256,134,66,36,16,8,1]],["add",101,285,-1,2,[256,134,66,36,16,8,1]],["add",164,285,1,1,[256,132,64,36,16,8,2,1]],["add",153,101,-2,1,[256,130,66,32,16,8,4,1]],["add",480,504,1,1,[256,128,76,44,24,2,1]],["add",504,480,-1,2,[256,128,76,44,24,2,1]],["add",163,480,1,1,[256,128,68,36,16,8,2,1]],["add",156,504,-2,1,[256,128,64,32,20,12,2,1]],["add",481,505,1,1,[256,128,72,41,25,4,2]],["add",505,481,-1,2,[256,128,72,41,25,4,2]],["add",125,481,1,1,[256,128,65,32,16,9,4,2]],["add",128,505,-2,1,[256,128,64,33,17,8,4,2]],["add",492,516,1,1,[256,128,68,37,17,8,2]],["add",516,492,-1,2,[256,128,68,37,17,8,2]],["add",163,492,1,1,[256,128,68,36,16,8,2,1]],["add",128,516,-2,1,[256,128,64,33,17,8,4,2]],["add",493,517,1,1,[256,128,65,32,20,13,2]],["add",517,493,-1,2,[256,128,65,32,20,13,2]],["add",125,493,1,1,[256,128,65,32,16,9,4,2]],["add",156,517,-2,1,[256,128,64,32,20,12,2,1]],["add",68,345,1,1,[257,129,73,40,25,5,3]],["add",345,68,-1,2,[257,129,73,40,25,5,3]],["add",211,68,1,1,[257,129,65,32,17,8,5,3]],["add",216,345,-2,1,[257,129,64,33,16,9,5,3]],["add",80,381,1,1,[258,130,72,40,24,4,1]],["add",381,80,-1,2,[258,130,72,40,24,4,1]],["add",190,80,1,1,[258,130,66,34,18,10,4,1]],["add",155,381,-2,1,[258,130,64,32,16,8,4,1]],["add",88,377,1,1,[258,130,67,34,19,10,5]],["add",377,88,-1,2,[258,130,67,34,19,10,5]],["add",190,88,1,1,[258,130,66,34,18,10,4,1]],["add",216,377,-2,1,[257,129,64,33,16,9,5,3]],["add",397,31,1,1,[258,130,65,32,17,8,5]],["add",31,397,-1,2,[258,130,65,32,17,8,5]],["add",211,397,1,1,[257,129,65,32,17,8,5,3]],["add",155,31,-2,1,[258,130,64,32,16,8,4,1]],["add",273,289,1,1,[256,132,64,33,17,12,3]],["add",289,273,-1,2,[256,132,64,33,17,12,3]],["add",223,273,1,1,[256,129,64,33,17,9,5,3]],["add",158,289,-2,1,[256,132,64,32,16,12,2,1]],["add",275,291,1,1,[256,131,64,33,18,8,4]],["add",291,275,-1,2,[256,131,64,33,18,8,4]],["add",148,275,1,1,[256,130,64,32,18,8,4,1]],["add",132,291,-2,1,[256,129,64,33,16,8,4,2]],["add",506,518,1,1,[256,129,64,33,18,10,6]],["add",518,506,-1,2,[256,129,64,33,18,10,6]],["add",223,506,1,1,[256,129,64,33,17,9,5,3]],["add",132,518,-2,1,[256,129,64,33,16,8,4,2]],["add",305,321,1,1,[256,134,64,32,18,12,1]],["add",321,305,-1,2,[256,134,64,32,18,12,1]],["add",148,305,1,1,[256,130,64,32,18,8,4,1]],["add",158,321,-2,1,[256,132,64,32,16,12,2,1]],["add",33,313,1,1,[260,128,64,33,17,12,3]],["add",313,33,-1,2,[260,128,64,33,17,12,3]],["add",159,33,1,1,[260,128,64,32,16,12,2,1]],["add",222,313,-2,1,[257,128,64,33,17,9,5,3]],["add",55,297,1,1,[259,128,64,33,18,8,4]],["add",297,55,-1,2,[259,128,64,33,18,8,4]],["add",133,55,1,1,[257,128,64,33,16,8,4,2]],["add",149,297,-2,1,[258,128,64,32,18,8,4,1]],["add",74,329,1,1,[257,128,64,33,18,10,6]],["add",329,74,-1,2,[257,128,64,33,18,10,6]],["add",133,74,1,1,[257,128,64,33,16,8,4,2]],["add",222,329,-2,1,[257,128,64,33,17,9,5,3]],["add",301,85,1,1,[262,128,64,32,18,12,1]],["add",85,301,-1,2,[262,128,64,32,18,12,1]],["add",159,301,1,1,[260,128,64,32,16,12,2,1]],["add",149,85,-2,1,[258,128,64,32,18,8,4,1]]],"restore":[["add",572,408,-1,1,[256,128,66,36,22,8,1]],["add",573,105,-1,1,[256,128,66,36,22,8,1]],["add",574,412,-1,1,[256,128,65,36,20,9,3]],["add",575,414,-1,1,[256,128,65,36,20,9,3]],["add",580,424,-1,1,[256,128,65,37,20,8,2]],["add",581,44,-1,1,[256,128,65,37,20,8,2]],["add",582,428,-1,1,[256,128,72,44,28,2,1]],["add",583,430,-1,1,[256,128,72,44,28,2,1]],["scale",311,-1,1,[256,128,72,40,24,4,2,1]],["add",311,498,1,1,[256,128,72,40,24,4,2,1]],["add",498,311,-1,1,[256,128,72,40,24,4,2,1]],["add",511,322,-1,1,[256,128,65,32,17,8,5,2]],["add",327,511,1,1,[256,128,65,32,17,8,5,2]],["add",511,327,-1,1,[256,128,65,32,17,8,5,2]],["add",327,511,1,1,[256,128,65,32,17,8,5,2]],["scale",511,-1,1,[256,128,65,32,17,8,5,2]],["add",448,231,-1,1,[256,128,64,33,17,8,4,3]],["add",484,448,-1,1,[256,128,64,33,17,8,4,3]],["add",449,226,-1,1,[256,128,64,33,17,8,4,3]],["add",485,449,-1,1,[256,128,64,33,17,8,4,3]],["add",450,230,-1,1,[256,128,64,32,18,10,6,1]],["add",508,450,-1,1,[256,128,64,32,18,10,6,1]],["add",451,228,-1,1,[256,128,64,32,18,10,6,1]],["add",509,451,-1,1,[256,128,64,32,18,10,6,1]],["add",452,232,-1,1,[256,128,64,32,18,10,6,1]],["add",532,452,2,1,[256,128,64,32,18,10,6,1]],["add",453,7,-1,1,[256,128,64,32,18,10,6,1]],["add",533,453,2,1,[256,128,64,32,18,10,6,1]],["add",454,236,-1,1,[256,128,64,33,17,8,4,3]],["add",556,454,2,1,[256,128,64,33,17,8,4,3]],["add",455,238,-1,1,[256,128,64,33,17,8,4,3]],["add",557,455,2,1,[256,128,64,33,17,8,4,3]],["add",484,231,-1,1,[256,128,64,33,17,8,4,3]],["add",484,299,-1,1,[256,128,64,33,17,8,4,3]],["add",485,226,-1,1,[256,128,64,33,17,8,4,3]],["add",485,54,-1,1,[256,128,64,33,17,8,4,3]],["add",499,306,-1,1,[256,128,72,40,24,4,2,1]],["add",498,499,1,1,[256,128,72,40,24,4,2,1]],["add",499,498,-1,1,[256,128,72,40,24,4,2,1]],["add",498,499,1,1,[256,128,72,40,24,4,2,1]],["scale",499,-1,1,[256,128,64,32,16,8,4,2,1]],["add",500,310,-1,1,[256,128,66,34,16,8,6,1]],["add",501,308,-1,1,[256,128,66,34,16,8,6,1]],["add",508,331,-1,1,[256,128,64,32,18,10,6,1]],["add",508,230,-1,1,[256,128,64,32,18,10,6,1]],["add",509,228,-1,1,[256,128,64,32,18,10,6,1]],["add",509,34,-1,1,[256,128,64,32,18,10,6,1]],["add",510,511,-1,1,[256,128,65,32,17,8,5,2]],["add",512,326,-1,1,[256,128,65,32,16,9,4,3]],["add",513,324,-1,1,[256,128,65,32,16,9,4,3]],["add",531,351,-1,1,[256,128,64,32,18,10,6,1]],["add",531,587,-1,2,[256,128,64,32,18,10,6,1]],["add",351,531,1,1,[256,128,64,32,18,10,6,1]],["add",532,363,-1,1,[256,128,64,32,18,10,6,1]],["add",532,232,2,1,[256,128,64,32,18,10,6,1]],["add",533,7,2,1,[256,128,64,32,18,10,6,1]],["add",533,73,-1,1,[256,128,64,32,18,10,6,1]],["add",543,367,-1,1,[256,128,64,32,18,10,6,1]],["add",543,589,1,1,[256,128,64,32,18,10,6,1]],["add",367,543,1,1,[256,128,64,32,18,10,6,1]],["scale",554,-1,1,[256,128,64,33,17,8,4,3]],["add",554,3,1,1,[256,128,64,33,17,8,4,3]],["add",3,554,-1,1,[256,128,64,33,17,8,4,3]],["add",555,383,-1,1,[256,128,64,33,17,8,4,3]],["add",555,585,-1,2,[256,128,64,33,17,8,4,3]],["add",383,555,1,1,[256,128,64,33,17,8,4,3]],["add",556,236,2,1,[256,128,64,33,17,8,4,3]],["add",556,395,-1,1,[256,128,64,33,17,8,4,3]],["add",557,5,-1,1,[256,128,64,33,17,8,4,3]],["add",557,238,2,1,[256,128,64,33,17,8,4,3]],["add",566,69,-1,1,[256,128,64,33,17,8,4,3]],["add",69,566,1,1,[256,128,64,33,17,8,4,3]],["add",567,399,-1,1,[256,128,64,33,17,8,4,3]],["add",567,591,1,1,[256,128,64,33,17,8,4,3]],["add",399,567,1,1,[256,128,64,33,17,8,4,3]],["add",584,439,-1,1,[256,128,64,33,17,8,4,3]],["add",585,434,-1,1,[256,128,64,33,17,8,4,3]],["add",383,585,1,2,[256,128,64,33,17,8,4,3]],["add",586,438,-1,1,[256,128,64,32,18,10,6,1]],["add",587,436,-1,1,[256,128,64,32,18,10,6,1]],["add",351,587,1,2,[256,128,64,32,18,10,6,1]],["add",588,440,-1,1,[256,128,64,32,18,10,6,1]],["add",589,46,-1,1,[256,128,64,32,18,10,6,1]],["add",367,589,-1,1,[256,128,64,32,18,10,6,1]],["add",590,444,-1,1,[256,128,64,33,17,8,4,3]],["add",591,446,-1,1,[256,128,64,33,17,8,4,3]],["add",399,591,-1,1,[256,128,64,33,17,8,4,3]]],"warps":[[921,243,[1,2,4,8,64,19,104,197,325],[384,133,85,45],[320,192,45,30]],[1044,250,[1,2,4,32,128,47,145,68,483],[384,133,85,45],[486,65,20,10]],[1044,266,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1044,259,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1084,333,[1,2,8,32,44,128,59,66,489],[384,193,75,30],[459,96,24,6]],[1084,317,[1,2,8,32,44,48,66,128,330],[385,74,44,30],[459,96,24,6]],[1064,530,[1,2,8,15,27,74,170,32,417],[385,70,33,18,12],[384,160,75,25,7]],[1132,285,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1132,281,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1172,301,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,297,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,313,[1,2,4,64,74,86,99,128,326],[385,74,44,30],[455,33,18,12]],[1172,329,[1,2,4,64,74,128,81,99,389],[384,193,75,30],[455,33,18,12]],[921,349,[1,2,4,27,46,8,198,64,264],[416,70,19,13],[320,192,45,30]],[1152,345,[1,2,4,40,86,8,132,16,408],[416,70,19,13],[384,130,85,45]],[921,365,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[921,361,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[1152,381,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,377,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,397,[1,2,4,8,16,62,94,129,387],[384,131,75,51],[384,130,85,45]],[1132,393,[1,2,4,16,128,138,55,65,470],[384,131,75,51],[469,66,36,9]],[1132,225,[1,2,4,10,33,68,16,128,325],[448,38,21,11],[469,66,36,9]],[1112,227,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,229,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,234,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,241,[1,4,8,16,128,26,185,65,476],[384,133,85,45],[469,72,48,3]],[1084,245,[1,2,8,32,128,47,145,105,450],[384,133,85,45],[459,96,24,6]],[1084,257,[1,2,8,12,32,27,105,128,363],[400,69,35,14],[459,96,24,6]],[1044,261,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[941,401,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[941,403,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[941,405,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[961,410,[1,2,8,16,256,30,57,90,129],[384,194,75,45],[144,75,42,7]],[961,417,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,419,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,421,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[1004,426,[1,2,4,8,29,47,77,128,261],[386,73,45,28],[391,68,34,17]],[1004,433,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1004,435,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1004,437,[1,2,4,8,31,47,128,72,395],[384,191,51,30],[391,68,34,17]],[1064,442,[1,2,4,8,23,70,32,172,396],[384,191,51,30],[384,160,75,25]],[1064,542,[1,2,8,15,27,74,32,129,394],[262,193,33,18,12],[384,160,75,25,7]],[984,1,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,4,[1,2,4,8,16,32,64,135,263],[384,131,75,51],[384,132,75,51]],[984,6,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,12,[1,2,4,8,57,66,143,16,272],[388,75,41,26],[384,132,75,51]],[1172,33,[1,2,4,64,84,128,98,111,389],[266,138,75,30],[455,45,33,18]],[1173,55,[1,2,4,64,128,145,367,160,326],[273,145,85,51],[455,33,490,18]],[1174,74,[1,2,4,64,84,128,364,39,449],[262,134,102,30],[455,33,490,18]],[1177,85,[1,2,4,64,415,86,99,128,326],[385,74,44,30],[455,33,18,473]],[1132,49,[1,2,4,16,121,128,55,80,389],[266,138,75,30],[407,66,36,111]],[1133,83,[1,2,4,16,392,128,162,68,401],[262,134,102,30],[407,66,36,414]],[1134,98,[1,2,4,16,50,492,80,128,278],[385,74,44,30],[407,66,504,36]],[1137,101,[1,2,4,16,128,285,161,195,278],[273,145,85,51],[407,66,36,414]],[1152,68,[1,2,4,8,16,188,94,129,257],[259,131,75,51],[258,130,85,175]],[1153,80,[1,2,4,8,83,424,129,16,282],[392,67,37,22],[258,130,429,85]],[1154,88,[1,2,4,8,427,80,129,16,282],[392,67,37,22],[258,130,85,429]],[1157,31,[1,2,4,8,39,92,137,16,278],[388,75,41,26],[258,130,85,45]],[557,273,[1,4,8,16,23,33,68,128,268],[388,75,41,26],[388,81,48,3]],[558,275,[1,2,4,8,16,32,67,128,259],[388,75,41,26],[391,72,41,26]],[583,289,[1,2,4,8,16,32,89,153,256],[273,145,85,51],[273,136,76,51]],[584,291,[1,2,4,8,16,32,89,128,281],[273,145,85,51],[264,145,76,51]],[610,305,[1,2,4,8,16,32,70,128,262],[385,74,44,30],[391,76,44,30]],[636,321,[1,2,4,8,16,32,106,128,298],[266,138,75,30],[288,138,97,30]],[1067,563,[1,2,8,6,32,17,73,136,291],[259,148,66,36,9],[288,160,75,25,7]]]},"report":{"R":480,"h":9,"local_profile":{"1":2364,"2":647,"3":297,"4":120,"5":26,"8":8},"v":112,"width_inventory":{"4":26,"5":9,"7":62,"8":78,"9":240}},"declared_gate_edit":[["delete",168,["add",162,518,1,1]],["delete",169,["add",135,543,1,1]],["insert",168,["add",146,640,1,4]],["insert",169,["add",162,640,-1,4]],["insert",170,["add",220,640,1,4]],["insert",171,["add",135,640,-1,4]],["insert",172,["add",146,641,1,4]],["insert",173,["add",641,518,4,1]],["insert",174,["add",162,641,1,4]],["insert",175,["add",641,518,-4,1]],["insert",176,["add",220,641,1,4]],["insert",177,["add",641,543,4,1]],["insert",178,["add",135,641,1,4]],["insert",179,["add",641,543,-4,1]],["insert",180,["add",146,642,1,4]],["insert",181,["add",162,642,1,4]],["insert",182,["add",220,642,1,4]],["insert",183,["add",135,642,-1,4]],["insert",184,["add",146,644,-1,2]],["insert",185,["add",162,644,1,2]],["insert",186,["add",220,644,1,2]],["insert",187,["add",135,644,1,2]],["delete",237,["add",133,696,-1,2]],["delete",238,["add",159,696,1,2]],["delete",239,["add",149,696,-1,2]],["delete",240,["add",222,696,1,2]],["delete",241,["add",133,697,-1,2]],["delete",242,["add",159,697,-1,2]],["delete",243,["add",149,697,-1,2]],["delete",244,["add",222,697,-1,2]],["delete",245,["add",133,698,-1,2]],["delete",246,["add",159,698,-1,2]],["delete",247,["add",149,698,-1,2]],["delete",248,["add",222,698,1,2]],["delete",249,["add",133,700,-1,2]],["delete",250,["add",159,700,1,2]],["delete",251,["add",149,700,1,2]],["delete",252,["add",222,700,1,2]],["insert",569,["add",55,101,1,2]],["insert",570,["add",101,55,-1,1]],["insert",595,["add",85,98,1,2]],["insert",596,["add",98,85,-1,1]],["insert",621,["add",33,49,1,2]],["insert",622,["add",49,33,-1,1]],["insert",671,["add",74,83,1,2]],["insert",672,["add",83,74,-1,1]],["delete",1034,["add",33,49,1,2]],["delete",1035,["add",49,33,-1,1]],["delete",1036,["add",55,101,1,2]],["delete",1037,["add",101,55,-1,1]],["delete",1038,["add",74,83,1,2]],["delete",1039,["add",83,74,-1,1]],["delete",1040,["add",85,98,1,2]],["delete",1041,["add",98,85,-1,1]],["delete",1042,["add",33,250,-1,1]],["delete",1043,["add",55,250,-1,1]],["delete",1044,["add",74,250,1,1]],["delete",1045,["add",33,266,-2,1]],["delete",1046,["add",55,266,2,1]],["delete",1047,["add",85,266,-1,1]],["delete",1048,["add",33,259,-2,1]],["delete",1049,["add",74,259,2,1]],["delete",1050,["add",85,259,-1,1]],["delete",1051,["add",55,261,2,1]],["delete",1052,["add",74,261,-2,1]],["delete",1053,["add",85,261,-1,1]],["delete",1054,["add",33,458,1,1]],["delete",1055,["add",55,459,1,1]],["delete",1056,["add",74,464,1,1]],["insert",1044,["add",640,250,-1,1]],["insert",1045,["add",641,250,-1,1]],["insert",1046,["add",642,250,1,1]],["insert",1047,["add",640,266,-2,1]],["insert",1048,["add",641,266,2,1]],["insert",1049,["add",644,266,-1,1]],["insert",1050,["add",640,259,-2,1]],["insert",1051,["add",642,259,2,1]],["insert",1052,["add",644,259,-1,1]],["insert",1053,["add",641,261,2,1]],["insert",1054,["add",642,261,-2,1]],["insert",1055,["add",644,261,-1,1]],["insert",1056,["add",640,458,1,1]],["insert",1057,["add",641,459,1,1]],["insert",1058,["add",642,464,1,1]],["delete",1058,["add",85,392,1,1]],["insert",1060,["add",644,392,1,1]],["delete",1170,["add",696,301,-1,1]],["delete",1171,["add",697,301,-1,1]],["delete",1172,["add",698,301,1,1]],["delete",1173,["add",696,329,1,1]],["delete",1174,["add",697,329,-1,1]],["delete",1175,["add",700,329,-1,1]],["delete",1176,["add",696,297,1,1]],["delete",1177,["add",698,297,-1,1]],["delete",1178,["add",700,297,-1,1]],["delete",1179,["add",697,313,-1,1]],["delete",1180,["add",698,313,1,1]],["delete",1181,["add",700,313,-1,1]],["delete",1182,["add",696,273,1,1]],["delete",1183,["add",697,275,1,1]],["delete",1184,["add",698,506,1,1]],["insert",1172,["add",33,301,-1,1]],["insert",1173,["add",55,301,-1,1]],["insert",1174,["add",74,301,1,1]],["insert",1175,["add",33,329,1,1]],["insert",1176,["add",55,329,-1,1]],["insert",1177,["add",85,329,-1,1]],["insert",1178,["add",33,297,1,1]],["insert",1179,["add",74,297,-1,1]],["insert",1180,["add",85,297,-1,1]],["insert",1181,["add",55,313,-1,1]],["insert",1182,["add",74,313,1,1]],["insert",1183,["add",85,313,-1,1]],["insert",1184,["add",33,273,1,1]],["insert",1185,["add",55,275,1,1]],["insert",1186,["add",74,506,1,1]],["delete",1186,["add",700,518,1,1]],["insert",1188,["add",85,518,1,1]],["delete",1630,["add",33,261,-2,1]],["delete",1631,["add",261,33,1,4]],["delete",1632,["add",162,33,-1,2]],["insert",1632,["add",640,261,-2,1]],["insert",1633,["add",261,640,1,4]],["insert",1634,["add",162,640,-1,2]],["delete",1634,["add",55,259,-2,1]],["delete",1635,["add",259,55,1,4]],["delete",1636,["add",146,55,-1,2]],["insert",1636,["add",641,259,-2,1]],["insert",1637,["add",259,641,1,4]],["insert",1638,["add",146,641,-1,2]],["delete",1638,["add",74,266,-2,1]],["delete",1639,["add",266,74,1,4]],["delete",1640,["add",146,74,-1,2]],["insert",1640,["add",642,266,-2,1]],["insert",1641,["add",266,642,1,4]],["insert",1642,["add",146,642,-1,2]],["delete",1642,["add",250,85,-2,1]],["delete",1643,["add",85,250,1,4]],["insert",1644,["add",250,644,-2,1]],["insert",1645,["add",644,250,1,4]],["delete",1645,["add",220,85,-2,1]],["insert",1647,["add",220,644,-2,1]],["delete",1854,["add",696,313,1,1]],["delete",1855,["add",313,696,-1,2]],["delete",1856,["add",159,696,1,1]],["insert",1856,["add",33,313,1,1]],["insert",1857,["add",313,33,-1,2]],["insert",1858,["add",159,33,1,1]],["delete",1858,["add",697,297,1,1]],["delete",1859,["add",297,697,-1,2]],["delete",1860,["add",133,697,1,1]],["insert",1860,["add",55,297,1,1]],["insert",1861,["add",297,55,-1,2]],["insert",1862,["add",133,55,1,1]],["delete",1862,["add",698,329,1,1]],["delete",1863,["add",329,698,-1,2]],["delete",1864,["add",133,698,1,1]],["insert",1864,["add",74,329,1,1]],["insert",1865,["add",329,74,-1,2]],["insert",1866,["add",133,74,1,1]],["delete",1866,["add",301,700,1,1]],["delete",1867,["add",700,301,-1,2]],["insert",1868,["add",301,85,1,1]],["insert",1869,["add",85,301,-1,2]],["delete",1869,["add",149,700,-2,1]],["insert",1871,["add",149,85,-2,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43extra.json new file mode 100644 index 0000000000..34a0f5c03e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/twelve_43extra.json @@ -0,0 +1 @@ +{"kind":"T74_TWELVE_ALIAS_REASSIGNMENT_WITH_FRAME_RESOLVE","credit":"PR2751 (tekuuu): the twelve-alias reassignment (all eight centres rank 8, no phase-B warps); frame re-solve of the final word (B1149 merge, found concurrently by PR2733 mdumitrean and PR2766 DavidAriasC; applied to PR2751's words here by Jeremy Kothe (jeremykothe2), with AI assistance)","fields":{"base":"PR2312-width-exchange-plus-coherent-joint616","target_levels":{"104":[45],"106":[45],"110":[45],"14":[45],"21":[45],"37":[45],"41":[45],"43":[45],"47":[45],"52":[45],"78":[45],"99":[45]},"start_extra":{"448":[51],"449":[51],"450":[30],"451":[30],"452":[30],"453":[30],"454":[51],"455":[51],"472":[51],"473":[51],"474":[82,42],"475":[82,42],"476":[75,42],"477":[75,42],"484":[51],"485":[51],"486":[85,42],"487":[85,42],"488":[76,42],"489":[76,42],"496":[30],"497":[30],"506":[30],"508":[30],"509":[30],"518":[30],"520":[30],"521":[30],"522":[82,7],"523":[82,7],"524":[75,7],"525":[75,7],"526":[75,25],"527":[75,25],"528":[76,25],"529":[76,25],"531":[30],"532":[30],"533":[30],"534":[120,7],"535":[120,7],"536":[97,7],"537":[97,7],"538":[102,25],"539":[102,25],"540":[97,25],"541":[97,25],"543":[30],"544":[51],"545":[51],"550":[102],"551":[102],"552":[85],"553":[85],"554":[51],"555":[51],"556":[51],"557":[51],"559":[459],"561":[459],"562":[75],"563":[75],"564":[120],"565":[120],"566":[51],"567":[51],"569":[459],"571":[459],"576":[459],"577":[459],"578":[459],"579":[459],"584":[51],"585":[51],"586":[30],"587":[30],"588":[30],"589":[30],"590":[51],"591":[51],"592":[45],"593":[45],"594":[45],"596":[45],"600":[45],"601":[45],"602":[45],"604":[45],"606":[80,40,5,2],"608":[45],"609":[45],"610":[45],"612":[45],"616":[51],"617":[51],"618":[51],"620":[51],"624":[51],"625":[51],"626":[51],"628":[51],"632":[30],"633":[30],"634":[30],"635":[257,129,102,30],"636":[30],"637":[257,129,102,30],"638":[257,129,102,30],"639":[257,129,102,30],"640":[30],"641":[30],"642":[30],"644":[30],"648":[30],"649":[30],"650":[30],"652":[30],"656":[30],"657":[30],"658":[30],"660":[30],"664":[51],"665":[51],"666":[51],"667":[264,136,85,51],"668":[51],"669":[264,136,85,51],"670":[264,136,85,51],"671":[264,136,85,51],"672":[51],"673":[51],"674":[51],"676":[51]},"removed":[595,597,598,599,603,605,607,611,613,614,615,619,621,622,623,627,629,630,631,643,645,646,647,651,654,655,659,661,662,663,675,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,482,483,494,495,507,519,653],"A":[["scale",126,1,1,[45]],["scale",133,1,1,[45]],["scale",149,1,1,[45]],["scale",153,1,1,[45]],["scale",155,1,1,[45]],["scale",159,1,1,[45]],["scale",164,1,1,[45]],["scale",190,1,1,[45]],["scale",211,1,1,[45]],["scale",216,1,1,[45]],["scale",218,1,1,[45]],["scale",222,1,1,[45]],["warp",83,52,[382],[45]],["add",126,83,-1,2,[45]],["add",153,83,-1,2,[45]],["add",164,83,-1,2,[45]],["add",218,83,-1,2,[45]],["warp",83,-52,[45],[382]],["warp",98,53,[487],[45]],["add",126,98,-1,2,[45]],["add",153,98,-1,2,[45]],["add",164,98,-1,2,[45]],["add",218,98,1,2,[45]],["warp",98,-53,[45],[487]],["warp",55,48,[324],[45]],["add",133,55,-1,2,[45]],["add",149,55,-1,2,[45]],["add",159,55,-1,2,[45]],["add",222,55,-1,2,[45]],["warp",55,-48,[45],[324]],["warp",74,49,[352],[45]],["add",133,74,-1,2,[45]],["add",149,74,-1,2,[45]],["add",159,74,-1,2,[45]],["add",222,74,1,2,[45]],["warp",74,-49,[45],[352]],["warp",85,50,[505],[45]],["add",133,85,-1,2,[45]],["add",149,85,1,2,[45]],["add",159,85,1,2,[45]],["add",222,85,1,2,[45]],["warp",85,-50,[45],[505]],["warp",101,54,[375],[45]],["add",126,101,-1,2,[45]],["add",153,101,1,2,[45]],["add",164,101,1,2,[45]],["add",218,101,1,2,[45]],["warp",101,-54,[45],[375]],["warp",80,56,[494],[45]],["add",155,80,-1,2,[45]],["add",190,80,-1,2,[45]],["add",211,80,-1,2,[45]],["add",216,80,-1,2,[45]],["warp",80,-56,[45],[494]],["warp",31,58,[26],[45]],["add",155,31,1,2,[45]],["add",190,31,-1,2,[45]],["add",211,31,1,2,[45]],["add",216,31,1,2,[45]],["warp",31,-58,[45],[26]],["warp",33,47,[138],[45]],["add",133,33,-1,2,[45]],["add",149,33,-1,2,[45]],["add",159,33,1,2,[45]],["add",222,33,1,2,[45]],["warp",33,-47,[45],[138]],["warp",49,51,[148],[45]],["add",126,49,-1,2,[45]],["add",153,49,-1,2,[45]],["add",164,49,1,2,[45]],["add",218,49,1,2,[45]],["warp",49,-51,[45],[148]],["warp",88,57,[477],[45]],["add",155,88,-1,2,[45]],["add",190,88,-1,2,[45]],["add",211,88,-1,2,[45]],["add",216,88,1,2,[45]],["warp",88,-57,[45],[477]],["warp",68,55,[176],[45]],["add",155,68,-1,2,[45]],["add",190,68,-1,2,[45]],["add",211,68,1,2,[45]],["add",216,68,1,2,[45]],["warp",68,-55,[45],[176]],["add",499,498,1,1,[]],["add",457,498,1,1,[]],["add",456,498,1,1,[]],["add",311,498,-1,1,[]],["add",252,498,-1,2,[]],["add",249,498,-1,2,[]],["add",247,498,-1,2,[]],["add",243,498,1,2,[]],["add",242,498,-1,2,[]],["add",511,327,1,1,[]],["add",459,327,1,1,[]],["add",248,327,-1,2,[]],["add",244,327,-1,2,[]],["scale",327,-1,1,[]],["add",250,510,-1,2,[]],["add",246,510,-1,2,[]],["add",458,510,1,1,[]],["add",467,501,1,1,[]],["add",264,501,-1,2,[]],["add",260,501,-1,2,[]],["add",266,500,-1,2,[]],["add",466,500,1,1,[]],["add",262,500,-1,2,[]],["add",498,311,1,1,[]],["add",456,311,1,1,[]],["add",252,311,-1,2,[]],["add",247,311,-1,2,[]],["add",311,498,-1,1,[]],["add",327,511,1,1,[]],["add",511,327,-1,1,[]],["add",311,499,1,1,[]],["add",499,311,-1,1,[]],["add",318,583,-1,1,[]],["add",308,583,1,1,[]],["add",505,583,1,1,[]],["add",332,580,-1,1,[]],["add",326,580,1,1,[]],["add",516,580,1,1,[]],["add",311,572,-1,1,[]],["add",306,572,1,1,[]],["add",502,572,1,1,[]],["add",464,512,1,1,[]],["add",268,512,-1,2,[]],["add",263,512,-1,2,[]],["add",465,513,1,1,[]],["add",265,513,-1,2,[]],["add",259,513,1,2,[]],["add",258,513,-1,2,[]],["add",504,582,1,1,[]],["add",316,582,-1,1,[]],["add",310,582,1,1,[]],["add",324,581,1,1,[]],["add",334,581,-1,1,[]],["add",517,581,1,1,[]],["add",514,574,1,1,[]],["add",322,574,1,1,[]],["add",327,574,-1,1,[]],["add",333,575,-1,1,[]],["add",515,575,1,1,[]],["add",317,573,-1,1,[]],["add",503,573,1,1,[]],["add",588,518,1,1,[30]],["add",586,506,1,1,[30]],["scale",506,-1,2,[30]],["add",666,554,1,1,[51]],["add",664,554,-1,1,[51]],["add",618,554,2,1,[51]],["add",616,554,-2,1,[51]],["scale",554,-1,1,[51]],["add",286,287,1,1,[]],["add",285,287,-1,1,[]],["add",284,287,-1,1,[]],["add",283,287,-1,1,[]],["add",281,287,-1,1,[]],["add",280,287,1,1,[]],["add",279,287,1,1,[]],["add",277,287,2,1,[]],["scale",287,2,1,[]],["add",284,285,1,1,[]],["add",283,285,-1,1,[]],["add",282,285,1,1,[]],["add",281,285,-1,1,[]],["add",276,285,-1,1,[]],["add",274,285,-1,1,[]],["add",272,285,1,1,[]],["scale",285,2,1,[]],["add",285,283,1,1,[]],["add",284,283,1,1,[]],["add",282,283,1,1,[]],["add",281,283,-1,1,[]],["add",276,283,-1,1,[]],["add",274,283,-1,1,[]],["add",272,283,1,1,[]],["add",287,282,-2,1,[]],["add",286,282,-2,1,[]],["add",281,282,2,1,[]],["add",278,282,2,1,[]],["add",277,282,-2,1,[]],["add",275,282,-1,1,[]],["add",273,282,-2,1,[]],["add",272,282,-2,1,[]],["scale",282,2,1,[]],["scale",283,-1,1,[]],["add",282,283,-1,1,[]],["add",283,282,1,1,[]],["add",282,283,-1,1,[]],["add",287,281,1,1,[]],["add",286,281,1,1,[]],["add",285,281,-1,2,[]],["add",284,281,-1,2,[]],["add",283,281,-1,2,[]],["add",278,281,-1,1,[]],["add",277,281,1,1,[]],["add",276,281,1,2,[]],["add",275,281,1,2,[]],["add",274,281,1,2,[]],["add",273,281,1,1,[]],["add",272,281,1,2,[]],["scale",281,1,2,[]],["scale",282,-1,1,[]],["add",281,282,-1,1,[]],["add",282,281,1,1,[]],["add",281,282,-1,1,[]],["add",287,280,-1,1,[]],["add",286,280,-1,1,[]],["add",285,280,1,1,[]],["add",284,280,1,1,[]],["add",283,280,1,1,[]],["add",282,280,1,1,[]],["add",279,280,-1,1,[]],["add",277,280,-2,1,[]],["scale",280,-1,1,[]],["add",287,279,-1,1,[]],["add",286,279,-1,1,[]],["add",285,279,1,1,[]],["add",284,279,1,1,[]],["add",283,279,1,1,[]],["add",282,279,1,1,[]],["add",277,279,-2,1,[]],["scale",279,-1,1,[]],["scale",281,-1,1,[]],["add",279,281,-1,1,[]],["add",281,279,1,1,[]],["add",279,281,-1,1,[]],["scale",279,-1,1,[]],["add",278,279,-1,1,[]],["add",279,278,1,1,[]],["add",278,279,-1,1,[]],["add",287,277,-1,2,[]],["add",286,277,-1,2,[]],["add",285,277,1,2,[]],["add",284,277,1,2,[]],["add",283,277,1,2,[]],["add",282,277,1,2,[]],["add",281,277,-1,2,[]],["scale",277,-1,2,[]],["scale",280,-1,1,[]],["add",277,280,-1,1,[]],["add",280,277,1,1,[]],["add",277,280,-1,1,[]],["add",287,276,-1,1,[]],["add",286,276,-1,1,[]],["add",281,276,1,1,[]],["add",280,276,1,1,[]],["add",279,276,2,1,[]],["add",275,276,-1,1,[]],["add",274,276,-1,1,[]],["add",273,276,-2,1,[]],["add",272,276,-1,1,[]],["scale",276,2,1,[]],["scale",278,-1,1,[]],["add",276,278,-1,1,[]],["add",278,276,1,1,[]],["add",276,278,-1,1,[]],["add",287,275,-1,1,[]],["add",286,275,-1,1,[]],["add",281,275,1,1,[]],["add",280,275,1,1,[]],["add",279,275,2,1,[]],["add",278,275,2,1,[]],["add",274,275,-1,1,[]],["add",273,275,-2,1,[]],["add",272,275,-1,1,[]],["scale",275,-1,1,[]],["scale",277,-1,1,[]],["add",275,277,-1,1,[]],["add",277,275,1,1,[]],["add",275,277,-1,1,[]],["scale",276,-1,1,[]],["add",274,276,-1,1,[]],["add",276,274,1,1,[]],["add",274,276,-1,1,[]],["add",279,273,1,2,[]],["add",278,273,1,2,[]],["add",277,273,-1,2,[]],["add",276,273,-1,2,[]],["add",272,273,-1,2,[]],["scale",273,1,2,[]],["scale",274,-1,1,[]],["add",273,274,-1,1,[]],["add",274,273,1,1,[]],["add",273,274,-1,1,[]],["scale",274,-1,1,[]],["add",272,274,-1,1,[]],["add",274,272,1,1,[]],["add",272,274,-1,1,[]],["add",302,303,1,1,[]],["add",301,303,-1,1,[]],["add",300,303,-1,1,[]],["add",299,303,-1,1,[]],["add",297,303,-1,1,[]],["add",296,303,1,1,[]],["add",295,303,1,1,[]],["add",293,303,2,1,[]],["scale",303,2,1,[]],["add",300,301,1,1,[]],["add",299,301,-1,1,[]],["add",298,301,1,1,[]],["add",297,301,-1,1,[]],["add",292,301,-1,1,[]],["add",290,301,-1,1,[]],["add",288,301,1,1,[]],["scale",301,2,1,[]],["add",301,299,1,1,[]],["add",300,299,1,1,[]],["add",298,299,1,1,[]],["add",297,299,-1,1,[]],["add",292,299,-1,1,[]],["add",290,299,-1,1,[]],["add",288,299,1,1,[]],["add",303,298,-2,1,[]],["add",302,298,-2,1,[]],["add",297,298,2,1,[]],["add",294,298,2,1,[]],["add",293,298,-2,1,[]],["add",291,298,-1,1,[]],["add",289,298,-2,1,[]],["add",288,298,-2,1,[]],["scale",298,2,1,[]],["scale",299,-1,1,[]],["add",298,299,-1,1,[]],["add",299,298,1,1,[]],["add",298,299,-1,1,[]],["add",303,297,1,1,[]],["add",302,297,1,1,[]],["add",301,297,-1,2,[]],["add",300,297,-1,2,[]],["add",299,297,-1,2,[]],["add",294,297,-1,1,[]],["add",293,297,1,1,[]],["add",292,297,1,2,[]],["add",291,297,1,2,[]],["add",290,297,1,2,[]],["add",289,297,1,1,[]],["add",288,297,1,2,[]],["scale",297,1,2,[]],["scale",298,-1,1,[]],["add",297,298,-1,1,[]],["add",298,297,1,1,[]],["add",297,298,-1,1,[]],["add",303,296,-1,1,[]],["add",302,296,-1,1,[]],["add",301,296,1,1,[]],["add",300,296,1,1,[]],["add",299,296,1,1,[]],["add",298,296,1,1,[]],["add",295,296,-1,1,[]],["add",293,296,-2,1,[]],["scale",296,-1,1,[]],["add",303,295,-1,1,[]],["add",302,295,-1,1,[]],["add",301,295,1,1,[]],["add",300,295,1,1,[]],["add",299,295,1,1,[]],["add",298,295,1,1,[]],["add",293,295,-2,1,[]],["scale",295,-1,1,[]],["scale",297,-1,1,[]],["add",295,297,-1,1,[]],["add",297,295,1,1,[]],["add",295,297,-1,1,[]],["scale",295,-1,1,[]],["add",294,295,-1,1,[]],["add",295,294,1,1,[]],["add",294,295,-1,1,[]],["add",303,293,-1,2,[]],["add",302,293,-1,2,[]],["add",301,293,1,2,[]],["add",300,293,1,2,[]],["add",299,293,1,2,[]],["add",298,293,1,2,[]],["add",297,293,-1,2,[]],["scale",293,-1,2,[]],["scale",296,-1,1,[]],["add",293,296,-1,1,[]],["add",296,293,1,1,[]],["add",293,296,-1,1,[]],["add",303,292,-1,1,[]],["add",302,292,-1,1,[]],["add",297,292,1,1,[]],["add",296,292,1,1,[]],["add",295,292,2,1,[]],["add",291,292,-1,1,[]],["add",290,292,-1,1,[]],["add",289,292,-2,1,[]],["add",288,292,-1,1,[]],["scale",292,2,1,[]],["scale",294,-1,1,[]],["add",292,294,-1,1,[]],["add",294,292,1,1,[]],["add",292,294,-1,1,[]],["add",303,291,-1,1,[]],["add",302,291,-1,1,[]],["add",297,291,1,1,[]],["add",296,291,1,1,[]],["add",295,291,2,1,[]],["add",294,291,2,1,[]],["add",290,291,-1,1,[]],["add",289,291,-2,1,[]],["add",288,291,-1,1,[]],["scale",291,-1,1,[]],["scale",293,-1,1,[]],["add",291,293,-1,1,[]],["add",293,291,1,1,[]],["add",291,293,-1,1,[]],["scale",292,-1,1,[]],["add",290,292,-1,1,[]],["add",292,290,1,1,[]],["add",290,292,-1,1,[]],["add",295,289,1,2,[]],["add",294,289,1,2,[]],["add",293,289,-1,2,[]],["add",292,289,-1,2,[]],["add",288,289,-1,2,[]],["scale",289,1,2,[]],["scale",290,-1,1,[]],["add",289,290,-1,1,[]],["add",290,289,1,1,[]],["add",289,290,-1,1,[]],["scale",290,-1,1,[]],["add",288,290,-1,1,[]],["add",290,288,1,1,[]],["add",288,290,-1,1,[]],["add",318,319,1,1,[]],["add",317,319,-1,1,[]],["add",316,319,-1,1,[]],["add",315,319,-1,1,[]],["add",313,319,-1,1,[]],["add",312,319,1,1,[]],["add",311,319,1,1,[]],["add",309,319,2,1,[]],["scale",319,2,1,[]],["add",316,317,1,1,[]],["add",315,317,-1,1,[]],["add",314,317,1,1,[]],["add",313,317,-1,1,[]],["add",308,317,-1,1,[]],["add",306,317,-1,1,[]],["add",304,317,1,1,[]],["scale",317,2,1,[]],["add",317,315,1,1,[]],["add",316,315,1,1,[]],["add",314,315,1,1,[]],["add",313,315,-1,1,[]],["add",308,315,-1,1,[]],["add",306,315,-1,1,[]],["add",304,315,1,1,[]],["add",319,314,-2,1,[]],["add",318,314,-2,1,[]],["add",313,314,2,1,[]],["add",310,314,2,1,[]],["add",309,314,-2,1,[]],["add",307,314,-1,1,[]],["add",305,314,-2,1,[]],["add",304,314,-2,1,[]],["scale",314,2,1,[]],["scale",315,-1,1,[]],["add",314,315,-1,1,[]],["add",315,314,1,1,[]],["add",314,315,-1,1,[]],["add",319,313,1,1,[]],["add",318,313,1,1,[]],["add",317,313,-1,2,[]],["add",316,313,-1,2,[]],["add",315,313,-1,2,[]],["add",310,313,-1,1,[]],["add",309,313,1,1,[]],["add",308,313,1,2,[]],["add",307,313,1,2,[]],["add",306,313,1,2,[]],["add",305,313,1,1,[]],["add",304,313,1,2,[]],["scale",313,1,2,[]],["scale",314,-1,1,[]],["add",313,314,-1,1,[]],["add",314,313,1,1,[]],["add",313,314,-1,1,[]],["add",319,312,-1,1,[]],["add",318,312,-1,1,[]],["add",317,312,1,1,[]],["add",316,312,1,1,[]],["add",315,312,1,1,[]],["add",314,312,1,1,[]],["add",311,312,-1,1,[]],["add",309,312,-2,1,[]],["scale",312,-1,1,[]],["add",319,311,-1,1,[]],["add",318,311,-1,1,[]],["add",317,311,1,1,[]],["add",316,311,1,1,[]],["add",315,311,1,1,[]],["add",314,311,1,1,[]],["add",309,311,-2,1,[]],["scale",311,-1,1,[]],["scale",313,-1,1,[]],["add",311,313,-1,1,[]],["add",313,311,1,1,[]],["add",311,313,-1,1,[]],["scale",311,-1,1,[]],["add",310,311,-1,1,[]],["add",311,310,1,1,[]],["add",310,311,-1,1,[]],["add",319,309,-1,2,[]],["add",318,309,-1,2,[]],["add",317,309,1,2,[]],["add",316,309,1,2,[]],["add",315,309,1,2,[]],["add",314,309,1,2,[]],["add",313,309,-1,2,[]],["scale",309,-1,2,[]],["scale",312,-1,1,[]],["add",309,312,-1,1,[]],["add",312,309,1,1,[]],["add",309,312,-1,1,[]],["add",319,308,-1,1,[]],["add",318,308,-1,1,[]],["add",313,308,1,1,[]],["add",312,308,1,1,[]],["add",311,308,2,1,[]],["add",307,308,-1,1,[]],["add",306,308,-1,1,[]],["add",305,308,-2,1,[]],["add",304,308,-1,1,[]],["scale",308,2,1,[]],["scale",310,-1,1,[]],["add",308,310,-1,1,[]],["add",310,308,1,1,[]],["add",308,310,-1,1,[]],["add",319,307,-1,1,[]],["add",318,307,-1,1,[]],["add",313,307,1,1,[]],["add",312,307,1,1,[]],["add",311,307,2,1,[]],["add",310,307,2,1,[]],["add",306,307,-1,1,[]],["add",305,307,-2,1,[]],["add",304,307,-1,1,[]],["scale",307,-1,1,[]],["scale",309,-1,1,[]],["add",307,309,-1,1,[]],["add",309,307,1,1,[]],["add",307,309,-1,1,[]],["scale",308,-1,1,[]],["add",306,308,-1,1,[]],["add",308,306,1,1,[]],["add",306,308,-1,1,[]],["add",311,305,1,2,[]],["add",310,305,1,2,[]],["add",309,305,-1,2,[]],["add",308,305,-1,2,[]],["add",304,305,-1,2,[]],["scale",305,1,2,[]],["scale",306,-1,1,[]],["add",305,306,-1,1,[]],["add",306,305,1,1,[]],["add",305,306,-1,1,[]],["scale",306,-1,1,[]],["add",304,306,-1,1,[]],["add",306,304,1,1,[]],["add",304,306,-1,1,[]],["add",334,335,1,1,[]],["add",333,335,-1,1,[]],["add",332,335,-1,1,[]],["add",331,335,-1,1,[]],["add",329,335,-1,1,[]],["add",328,335,1,1,[]],["add",327,335,1,1,[]],["add",325,335,2,1,[]],["scale",335,2,1,[]],["add",332,333,1,1,[]],["add",331,333,-1,1,[]],["add",330,333,1,1,[]],["add",329,333,-1,1,[]],["add",324,333,-1,1,[]],["add",322,333,-1,1,[]],["add",320,333,1,1,[]],["scale",333,2,1,[]],["add",335,331,-1,1,[]],["add",334,331,-1,1,[]],["add",333,331,2,1,[]],["add",332,331,2,1,[]],["add",330,331,3,2,[]],["add",329,331,-1,1,[]],["add",325,331,-1,1,[]],["add",324,331,-1,1,[]],["add",323,331,-1,2,[]],["add",322,331,-1,1,[]],["add",321,331,1,1,[]],["add",320,331,2,1,[]],["scale",331,-1,1,[]],["add",335,330,-2,1,[]],["add",334,330,-2,1,[]],["add",329,330,2,1,[]],["add",326,330,2,1,[]],["add",325,330,-2,1,[]],["add",323,330,-1,1,[]],["add",321,330,-2,1,[]],["add",320,330,-2,1,[]],["scale",330,2,1,[]],["scale",331,-1,1,[]],["add",330,331,-1,1,[]],["add",331,330,1,1,[]],["add",330,331,-1,1,[]],["add",335,329,1,1,[]],["add",334,329,1,1,[]],["add",333,329,-1,2,[]],["add",332,329,-1,2,[]],["add",331,329,-1,2,[]],["add",326,329,-1,1,[]],["add",325,329,1,1,[]],["add",324,329,1,2,[]],["add",323,329,1,2,[]],["add",322,329,1,2,[]],["add",321,329,1,1,[]],["add",320,329,1,2,[]],["scale",329,1,2,[]],["scale",330,-1,1,[]],["add",329,330,-1,1,[]],["add",330,329,1,1,[]],["add",329,330,-1,1,[]],["add",335,328,-1,1,[]],["add",334,328,-1,1,[]],["add",333,328,1,1,[]],["add",332,328,1,1,[]],["add",331,328,1,1,[]],["add",330,328,1,1,[]],["add",327,328,-1,1,[]],["add",325,328,-2,1,[]],["add",320,328,1,1,[]],["scale",328,-1,1,[]],["add",335,327,-1,1,[]],["add",334,327,-1,1,[]],["add",333,327,1,1,[]],["add",332,327,1,1,[]],["add",331,327,1,1,[]],["add",330,327,1,1,[]],["add",325,327,-2,1,[]],["scale",327,-1,1,[]],["scale",329,-1,1,[]],["add",327,329,-1,1,[]],["add",329,327,1,1,[]],["add",327,329,-1,1,[]],["scale",327,-1,1,[]],["add",326,327,-1,1,[]],["add",327,326,1,1,[]],["add",326,327,-1,1,[]],["add",335,325,-1,2,[]],["add",334,325,-1,2,[]],["add",333,325,1,2,[]],["add",332,325,1,2,[]],["add",331,325,1,2,[]],["add",330,325,1,2,[]],["add",329,325,-1,2,[]],["scale",325,-1,2,[]],["scale",328,-1,1,[]],["add",325,328,-1,1,[]],["add",328,325,1,1,[]],["add",325,328,-1,1,[]],["add",335,324,-1,1,[]],["add",334,324,-1,1,[]],["add",329,324,1,1,[]],["add",328,324,1,1,[]],["add",327,324,2,1,[]],["add",323,324,-1,1,[]],["add",322,324,-1,1,[]],["add",321,324,-2,1,[]],["add",320,324,-1,1,[]],["scale",324,2,1,[]],["scale",326,-1,1,[]],["add",324,326,-1,1,[]],["add",326,324,1,1,[]],["add",324,326,-1,1,[]],["add",335,323,-1,1,[]],["add",334,323,-1,1,[]],["add",329,323,1,1,[]],["add",328,323,1,1,[]],["add",327,323,2,1,[]],["add",326,323,2,1,[]],["add",322,323,-1,1,[]],["add",321,323,-2,1,[]],["add",320,323,-1,1,[]],["scale",323,-1,1,[]],["scale",325,-1,1,[]],["add",323,325,-1,1,[]],["add",325,323,1,1,[]],["add",323,325,-1,1,[]],["scale",324,-1,1,[]],["add",322,324,-1,1,[]],["add",324,322,1,1,[]],["add",322,324,-1,1,[]],["add",327,321,1,2,[]],["add",326,321,1,2,[]],["add",325,321,-1,2,[]],["add",324,321,-1,2,[]],["add",322,321,1,2,[]],["add",320,321,-1,2,[]],["scale",321,1,2,[]],["add",323,320,1,1,[]],["scale",322,-1,1,[]],["add",320,322,-1,1,[]],["add",322,320,1,1,[]],["add",320,322,-1,1,[]],["add",350,351,1,1,[]],["add",349,351,-1,1,[]],["add",348,351,-1,1,[]],["add",347,351,-1,1,[]],["add",345,351,-1,1,[]],["add",344,351,1,1,[]],["add",343,351,1,1,[]],["add",341,351,2,1,[]],["scale",351,2,1,[]],["add",348,349,1,1,[]],["add",347,349,-1,1,[]],["add",346,349,1,1,[]],["add",345,349,-1,1,[]],["add",340,349,-1,1,[]],["add",338,349,-1,1,[]],["add",336,349,1,1,[]],["scale",349,2,1,[]],["add",351,347,-1,1,[]],["add",350,347,-1,1,[]],["add",349,347,2,1,[]],["add",348,347,2,1,[]],["add",346,347,3,2,[]],["add",345,347,-1,1,[]],["add",341,347,-1,1,[]],["add",340,347,-1,1,[]],["add",339,347,-1,2,[]],["add",338,347,-1,1,[]],["add",337,347,1,1,[]],["add",336,347,2,1,[]],["scale",347,-1,1,[]],["add",351,346,-2,1,[]],["add",350,346,-2,1,[]],["add",345,346,2,1,[]],["add",342,346,2,1,[]],["add",341,346,-2,1,[]],["add",339,346,-1,1,[]],["add",337,346,-2,1,[]],["add",336,346,-2,1,[]],["scale",346,2,1,[]],["scale",347,-1,1,[]],["add",346,347,-1,1,[]],["add",347,346,1,1,[]],["add",346,347,-1,1,[]],["add",351,345,1,1,[]],["add",350,345,1,1,[]],["add",349,345,-1,2,[]],["add",348,345,-1,2,[]],["add",347,345,-1,2,[]],["add",342,345,-1,1,[]],["add",341,345,1,1,[]],["add",340,345,1,2,[]],["add",339,345,1,2,[]],["add",338,345,1,2,[]],["add",337,345,1,1,[]],["add",336,345,1,2,[]],["scale",345,1,2,[]],["scale",346,-1,1,[]],["add",345,346,-1,1,[]],["add",346,345,1,1,[]],["add",345,346,-1,1,[]],["add",351,344,-1,1,[]],["add",350,344,-1,1,[]],["add",349,344,1,1,[]],["add",348,344,1,1,[]],["add",347,344,1,1,[]],["add",346,344,1,1,[]],["add",343,344,-1,1,[]],["add",341,344,-2,1,[]],["add",336,344,1,1,[]],["scale",344,-1,1,[]],["add",351,343,-1,1,[]],["add",350,343,-1,1,[]],["add",349,343,1,1,[]],["add",348,343,1,1,[]],["add",347,343,1,1,[]],["add",346,343,1,1,[]],["add",341,343,-2,1,[]],["scale",343,-1,1,[]],["scale",345,-1,1,[]],["add",343,345,-1,1,[]],["add",345,343,1,1,[]],["add",343,345,-1,1,[]],["scale",343,-1,1,[]],["add",342,343,-1,1,[]],["add",343,342,1,1,[]],["add",342,343,-1,1,[]],["add",351,341,-1,2,[]],["add",350,341,-1,2,[]],["add",349,341,1,2,[]],["add",348,341,1,2,[]],["add",347,341,1,2,[]],["add",346,341,1,2,[]],["add",345,341,-1,2,[]],["scale",341,-1,2,[]],["scale",344,-1,1,[]],["add",341,344,-1,1,[]],["add",344,341,1,1,[]],["add",341,344,-1,1,[]],["add",351,340,-1,1,[]],["add",350,340,-1,1,[]],["add",345,340,1,1,[]],["add",344,340,1,1,[]],["add",343,340,2,1,[]],["add",339,340,-1,1,[]],["add",338,340,-1,1,[]],["add",337,340,-2,1,[]],["add",336,340,-1,1,[]],["scale",340,2,1,[]],["scale",342,-1,1,[]],["add",340,342,-1,1,[]],["add",342,340,1,1,[]],["add",340,342,-1,1,[]],["add",351,339,-1,1,[]],["add",350,339,-1,1,[]],["add",345,339,1,1,[]],["add",344,339,1,1,[]],["add",343,339,2,1,[]],["add",342,339,2,1,[]],["add",338,339,-1,1,[]],["add",337,339,-2,1,[]],["add",336,339,-1,1,[]],["scale",339,-1,1,[]],["scale",341,-1,1,[]],["add",339,341,-1,1,[]],["add",341,339,1,1,[]],["add",339,341,-1,1,[]],["scale",340,-1,1,[]],["add",338,340,-1,1,[]],["add",340,338,1,1,[]],["add",338,340,-1,1,[]],["add",343,337,1,2,[]],["add",342,337,1,2,[]],["add",341,337,-1,2,[]],["add",340,337,-1,2,[]],["add",338,337,1,2,[]],["add",336,337,-1,2,[]],["scale",337,1,2,[]],["add",339,336,1,1,[]],["scale",338,-1,1,[]],["add",336,338,-1,1,[]],["add",338,336,1,1,[]],["add",336,338,-1,1,[]],["add",366,367,1,1,[]],["add",365,367,-1,1,[]],["add",364,367,-1,1,[]],["add",363,367,-1,1,[]],["add",361,367,-1,1,[]],["add",360,367,1,1,[]],["add",359,367,1,1,[]],["add",357,367,2,1,[]],["scale",367,2,1,[]],["add",364,365,1,1,[]],["add",363,365,-1,1,[]],["add",362,365,1,1,[]],["add",361,365,-1,1,[]],["add",356,365,-1,1,[]],["add",354,365,-1,1,[]],["add",352,365,1,1,[]],["scale",365,2,1,[]],["add",367,363,-1,1,[]],["add",366,363,-1,1,[]],["add",365,363,2,1,[]],["add",364,363,2,1,[]],["add",362,363,3,2,[]],["add",361,363,-1,1,[]],["add",357,363,-1,1,[]],["add",356,363,-1,1,[]],["add",355,363,-1,2,[]],["add",354,363,-1,1,[]],["add",353,363,1,1,[]],["add",352,363,2,1,[]],["scale",363,-1,1,[]],["add",367,362,-2,1,[]],["add",366,362,-2,1,[]],["add",361,362,2,1,[]],["add",358,362,2,1,[]],["add",357,362,-2,1,[]],["add",355,362,-1,1,[]],["add",353,362,-2,1,[]],["add",352,362,-2,1,[]],["scale",362,2,1,[]],["scale",363,-1,1,[]],["add",362,363,-1,1,[]],["add",363,362,1,1,[]],["add",362,363,-1,1,[]],["add",367,361,1,1,[]],["add",366,361,1,1,[]],["add",365,361,-1,2,[]],["add",364,361,-1,2,[]],["add",363,361,-1,2,[]],["add",358,361,-1,1,[]],["add",357,361,1,1,[]],["add",356,361,1,2,[]],["add",355,361,1,2,[]],["add",354,361,1,2,[]],["add",353,361,1,1,[]],["add",352,361,1,2,[]],["scale",361,1,2,[]],["scale",362,-1,1,[]],["add",361,362,-1,1,[]],["add",362,361,1,1,[]],["add",361,362,-1,1,[]],["add",367,360,-1,1,[]],["add",366,360,-1,1,[]],["add",365,360,1,1,[]],["add",364,360,1,1,[]],["add",363,360,1,1,[]],["add",362,360,1,1,[]],["add",359,360,-1,1,[]],["add",357,360,-2,1,[]],["add",352,360,1,1,[]],["scale",360,-1,1,[]],["add",367,359,-1,1,[]],["add",366,359,-1,1,[]],["add",365,359,1,1,[]],["add",364,359,1,1,[]],["add",363,359,1,1,[]],["add",362,359,1,1,[]],["add",357,359,-2,1,[]],["scale",359,-1,1,[]],["scale",361,-1,1,[]],["add",359,361,-1,1,[]],["add",361,359,1,1,[]],["add",359,361,-1,1,[]],["scale",359,-1,1,[]],["add",358,359,-1,1,[]],["add",359,358,1,1,[]],["add",358,359,-1,1,[]],["add",367,357,-1,2,[]],["add",366,357,-1,2,[]],["add",365,357,1,2,[]],["add",364,357,1,2,[]],["add",363,357,1,2,[]],["add",362,357,1,2,[]],["add",361,357,-1,2,[]],["scale",357,-1,2,[]],["scale",360,-1,1,[]],["add",357,360,-1,1,[]],["add",360,357,1,1,[]],["add",357,360,-1,1,[]],["add",367,356,-1,1,[]],["add",366,356,-1,1,[]],["add",361,356,1,1,[]],["add",360,356,1,1,[]],["add",359,356,2,1,[]],["add",355,356,-1,1,[]],["add",354,356,-1,1,[]],["add",353,356,-2,1,[]],["add",352,356,-1,1,[]],["scale",356,2,1,[]],["scale",358,-1,1,[]],["add",356,358,-1,1,[]],["add",358,356,1,1,[]],["add",356,358,-1,1,[]],["add",367,355,-1,1,[]],["add",366,355,-1,1,[]],["add",361,355,1,1,[]],["add",360,355,1,1,[]],["add",359,355,2,1,[]],["add",358,355,2,1,[]],["add",354,355,-1,1,[]],["add",353,355,-2,1,[]],["add",352,355,-1,1,[]],["scale",355,-1,1,[]],["scale",357,-1,1,[]],["add",355,357,-1,1,[]],["add",357,355,1,1,[]],["add",355,357,-1,1,[]],["scale",356,-1,1,[]],["add",354,356,-1,1,[]],["add",356,354,1,1,[]],["add",354,356,-1,1,[]],["add",359,353,1,2,[]],["add",358,353,1,2,[]],["add",357,353,-1,2,[]],["add",356,353,-1,2,[]],["add",354,353,1,2,[]],["add",352,353,-1,2,[]],["scale",353,1,2,[]],["add",355,352,1,1,[]],["scale",354,-1,1,[]],["add",352,354,-1,1,[]],["add",354,352,1,1,[]],["add",352,354,-1,1,[]],["add",382,383,1,1,[]],["add",381,383,-1,1,[]],["add",380,383,-1,1,[]],["add",379,383,-1,1,[]],["add",377,383,-1,1,[]],["add",376,383,1,1,[]],["add",375,383,1,1,[]],["add",373,383,2,1,[]],["scale",383,2,1,[]],["add",380,381,1,1,[]],["add",379,381,-1,1,[]],["add",378,381,1,1,[]],["add",377,381,-1,1,[]],["add",372,381,-1,1,[]],["add",370,381,-1,1,[]],["add",368,381,1,1,[]],["scale",381,2,1,[]],["add",383,379,-1,1,[]],["add",382,379,-1,1,[]],["add",381,379,2,1,[]],["add",380,379,2,1,[]],["add",378,379,3,2,[]],["add",377,379,-1,1,[]],["add",373,379,-1,1,[]],["add",372,379,-1,1,[]],["add",371,379,-1,2,[]],["add",370,379,-1,1,[]],["add",369,379,1,1,[]],["add",368,379,2,1,[]],["scale",379,-1,1,[]],["add",383,378,-2,1,[]],["add",382,378,-2,1,[]],["add",377,378,2,1,[]],["add",374,378,2,1,[]],["add",373,378,-2,1,[]],["add",371,378,-1,1,[]],["add",369,378,-2,1,[]],["add",368,378,-2,1,[]],["scale",378,2,1,[]],["scale",379,-1,1,[]],["add",378,379,-1,1,[]],["add",379,378,1,1,[]],["add",378,379,-1,1,[]],["add",383,377,1,1,[]],["add",382,377,1,1,[]],["add",381,377,-1,2,[]],["add",380,377,-1,2,[]],["add",379,377,-1,2,[]],["add",374,377,-1,1,[]],["add",373,377,1,1,[]],["add",372,377,1,2,[]],["add",371,377,1,2,[]],["add",370,377,1,2,[]],["add",369,377,1,1,[]],["add",368,377,1,2,[]],["scale",377,1,2,[]],["scale",378,-1,1,[]],["add",377,378,-1,1,[]],["add",378,377,1,1,[]],["add",377,378,-1,1,[]],["add",383,376,-1,1,[]],["add",382,376,-1,1,[]],["add",381,376,1,1,[]],["add",380,376,1,1,[]],["add",379,376,1,1,[]],["add",378,376,1,1,[]],["add",375,376,-1,1,[]],["add",373,376,-2,1,[]],["add",368,376,1,1,[]],["scale",376,-1,1,[]],["add",383,375,-1,1,[]],["add",382,375,-1,1,[]],["add",381,375,1,1,[]],["add",380,375,1,1,[]],["add",379,375,1,1,[]],["add",378,375,1,1,[]],["add",373,375,-2,1,[]],["scale",375,-1,1,[]],["scale",377,-1,1,[]],["add",375,377,-1,1,[]],["add",377,375,1,1,[]],["add",375,377,-1,1,[]],["scale",375,-1,1,[]],["add",374,375,-1,1,[]],["add",375,374,1,1,[]],["add",374,375,-1,1,[]],["add",383,373,-1,2,[]],["add",382,373,-1,2,[]],["add",381,373,1,2,[]],["add",380,373,1,2,[]],["add",379,373,1,2,[]],["add",378,373,1,2,[]],["add",377,373,-1,2,[]],["scale",373,-1,2,[]],["scale",376,-1,1,[]],["add",373,376,-1,1,[]],["add",376,373,1,1,[]],["add",373,376,-1,1,[]],["add",383,372,-1,1,[]],["add",382,372,-1,1,[]],["add",377,372,1,1,[]],["add",376,372,1,1,[]],["add",375,372,2,1,[]],["add",371,372,-1,1,[]],["add",370,372,-1,1,[]],["add",369,372,-2,1,[]],["add",368,372,-1,1,[]],["scale",372,2,1,[]],["scale",374,-1,1,[]],["add",372,374,-1,1,[]],["add",374,372,1,1,[]],["add",372,374,-1,1,[]],["add",383,371,-1,1,[]],["add",382,371,-1,1,[]],["add",377,371,1,1,[]],["add",376,371,1,1,[]],["add",375,371,2,1,[]],["add",374,371,2,1,[]],["add",370,371,-1,1,[]],["add",369,371,-2,1,[]],["add",368,371,-1,1,[]],["scale",371,-1,1,[]],["scale",373,-1,1,[]],["add",371,373,-1,1,[]],["add",373,371,1,1,[]],["add",371,373,-1,1,[]],["scale",372,-1,1,[]],["add",370,372,-1,1,[]],["add",372,370,1,1,[]],["add",370,372,-1,1,[]],["add",375,369,1,2,[]],["add",374,369,1,2,[]],["add",373,369,-1,2,[]],["add",372,369,-1,2,[]],["add",370,369,1,2,[]],["add",368,369,-1,2,[]],["scale",369,1,2,[]],["add",371,368,1,1,[]],["scale",370,-1,1,[]],["add",368,370,-1,1,[]],["add",370,368,1,1,[]],["add",368,370,-1,1,[]],["add",398,399,1,1,[]],["add",397,399,-1,1,[]],["add",396,399,-1,1,[]],["add",395,399,-1,1,[]],["add",393,399,-1,1,[]],["add",392,399,1,1,[]],["add",391,399,1,1,[]],["add",389,399,2,1,[]],["scale",399,2,1,[]],["add",396,397,1,1,[]],["add",395,397,-1,1,[]],["add",394,397,1,1,[]],["add",393,397,-1,1,[]],["add",388,397,-1,1,[]],["add",386,397,-1,1,[]],["add",384,397,1,1,[]],["scale",397,2,1,[]],["add",399,395,-1,1,[]],["add",398,395,-1,1,[]],["add",397,395,2,1,[]],["add",396,395,2,1,[]],["add",394,395,3,2,[]],["add",393,395,-1,1,[]],["add",389,395,-1,1,[]],["add",388,395,-1,1,[]],["add",387,395,-1,2,[]],["add",386,395,-1,1,[]],["add",385,395,1,1,[]],["add",384,395,2,1,[]],["scale",395,-1,1,[]],["add",399,394,-2,1,[]],["add",398,394,-2,1,[]],["add",393,394,2,1,[]],["add",390,394,2,1,[]],["add",389,394,-2,1,[]],["add",387,394,-1,1,[]],["add",385,394,-2,1,[]],["add",384,394,-2,1,[]],["scale",394,2,1,[]],["scale",395,-1,1,[]],["add",394,395,-1,1,[]],["add",395,394,1,1,[]],["add",394,395,-1,1,[]],["add",399,393,1,1,[]],["add",398,393,1,1,[]],["add",397,393,-1,2,[]],["add",396,393,-1,2,[]],["add",395,393,-1,2,[]],["add",390,393,-1,1,[]],["add",389,393,1,1,[]],["add",388,393,1,2,[]],["add",387,393,1,2,[]],["add",386,393,1,2,[]],["add",385,393,1,1,[]],["add",384,393,1,2,[]],["scale",393,1,2,[]],["scale",394,-1,1,[]],["add",393,394,-1,1,[]],["add",394,393,1,1,[]],["add",393,394,-1,1,[]],["add",399,392,-1,1,[]],["add",398,392,-1,1,[]],["add",397,392,1,1,[]],["add",396,392,1,1,[]],["add",395,392,1,1,[]],["add",394,392,1,1,[]],["add",391,392,-1,1,[]],["add",389,392,-2,1,[]],["add",384,392,1,1,[]],["scale",392,-1,1,[]],["add",399,391,-1,1,[]],["add",398,391,-1,1,[]],["add",397,391,1,1,[]],["add",396,391,1,1,[]],["add",395,391,1,1,[]],["add",394,391,1,1,[]],["add",389,391,-2,1,[]],["scale",391,-1,1,[]],["scale",393,-1,1,[]],["add",391,393,-1,1,[]],["add",393,391,1,1,[]],["add",391,393,-1,1,[]],["scale",391,-1,1,[]],["add",390,391,-1,1,[]],["add",391,390,1,1,[]],["add",390,391,-1,1,[]],["add",399,389,-1,2,[]],["add",398,389,-1,2,[]],["add",397,389,1,2,[]],["add",396,389,1,2,[]],["add",395,389,1,2,[]],["add",394,389,1,2,[]],["add",393,389,-1,2,[]],["scale",389,-1,2,[]],["scale",392,-1,1,[]],["add",389,392,-1,1,[]],["add",392,389,1,1,[]],["add",389,392,-1,1,[]],["add",399,388,-1,1,[]],["add",398,388,-1,1,[]],["add",393,388,1,1,[]],["add",392,388,1,1,[]],["add",391,388,2,1,[]],["add",387,388,-1,1,[]],["add",386,388,-1,1,[]],["add",385,388,-2,1,[]],["add",384,388,-1,1,[]],["scale",388,2,1,[]],["scale",390,-1,1,[]],["add",388,390,-1,1,[]],["add",390,388,1,1,[]],["add",388,390,-1,1,[]],["add",399,387,-1,1,[]],["add",398,387,-1,1,[]],["add",393,387,1,1,[]],["add",392,387,1,1,[]],["add",391,387,2,1,[]],["add",390,387,2,1,[]],["add",386,387,-1,1,[]],["add",385,387,-2,1,[]],["add",384,387,-1,1,[]],["scale",387,-1,1,[]],["scale",389,-1,1,[]],["add",387,389,-1,1,[]],["add",389,387,1,1,[]],["add",387,389,-1,1,[]],["scale",388,-1,1,[]],["add",386,388,-1,1,[]],["add",388,386,1,1,[]],["add",386,388,-1,1,[]],["add",391,385,1,2,[]],["add",390,385,1,2,[]],["add",389,385,-1,2,[]],["add",388,385,-1,2,[]],["add",386,385,1,2,[]],["add",384,385,-1,2,[]],["scale",385,1,2,[]],["add",387,384,1,1,[]],["scale",386,-1,1,[]],["add",384,386,-1,1,[]],["add",386,384,1,1,[]],["add",384,386,-1,1,[]],["add",546,561,-1,1,[459]],["add",560,561,1,1,[459]],["add",547,561,-1,1,[459]],["add",547,569,-1,1,[459]],["add",568,569,-1,1,[459]],["add",546,569,1,1,[459]],["add",560,578,-1,1,[459]],["add",568,578,-1,1,[459]],["add",546,578,1,1,[459]],["add",560,579,1,1,[459]],["add",547,579,-1,1,[459]],["add",568,579,-1,1,[459]],["add",548,559,-1,1,[459]],["add",558,559,1,1,[459]],["add",549,559,-1,1,[459]],["add",548,571,-1,1,[459]],["add",558,571,2,1,[459]],["add",549,571,-1,1,[459]],["add",570,571,-1,1,[459]],["add",548,576,-1,1,[459]],["add",570,576,-1,1,[459]],["add",558,576,1,1,[459]],["add",549,577,-1,1,[459]],["add",570,577,-1,1,[459]],["add",558,577,1,1,[459]],["add",464,476,-1,1,[75,42]],["add",465,477,-1,1,[75,42]],["add",470,524,1,2,[75,7]],["add",471,525,1,2,[75,7]],["add",478,526,-1,1,[75,25]],["add",479,527,-1,1,[75,25]],["add",514,562,-1,1,[75]],["add",515,563,-1,1,[75]],["add",468,536,1,2,[97,7]],["add",469,537,1,2,[97,7]],["add",480,540,-1,1,[97,25]],["add",481,541,-1,1,[97,25]],["add",516,552,-1,1,[85]],["add",517,553,-1,1,[85]],["add",466,488,-1,1,[76,42]],["add",467,489,-1,1,[76,42]],["add",490,538,-1,1,[102,25]],["add",491,539,-1,1,[102,25]],["add",502,550,-1,1,[102]],["add",503,551,-1,1,[102]],["add",492,528,-1,1,[76,25]],["add",493,529,-1,1,[76,25]],["add",504,564,-1,1,[120]],["add",505,565,-1,1,[120]],["add",456,474,-1,1,[82,42]],["add",457,475,-1,1,[82,42]],["add",462,534,1,2,[120,7]],["add",463,535,1,2,[120,7]],["add",460,522,1,2,[82,7]],["add",461,523,1,2,[82,7]],["add",458,486,-1,1,[85,42]],["add",459,487,-1,1,[85,42]],["add",224,0,1,1,[11]],["add",225,0,1,1,[11]],["add",226,76,1,1,[448]],["add",227,76,1,1,[448]],["add",228,87,1,1,[493]],["add",229,87,1,1,[493]],["add",230,27,1,1,[38]],["add",231,27,1,1,[38]],["add",232,92,1,1,[499]],["add",233,92,1,1,[499]],["add",234,57,1,1,[56]],["add",235,57,1,1,[56]],["add",236,7,1,1,[21]],["add",237,7,1,1,[21]],["add",238,81,1,1,[478]],["add",239,81,1,1,[478]],["add",92,233,1,1,[499]],["add",233,92,-1,1,[499]],["add",92,233,1,1,[499]],["scale",233,-1,1,[478,45]],["add",57,235,1,1,[56]],["add",235,57,-1,1,[56]],["add",57,235,1,1,[56]],["scale",235,-1,1,[45,21]],["add",7,237,1,1,[21]],["add",237,7,-1,1,[21]],["add",7,237,1,1,[21]],["scale",237,-1,1,[21]],["add",81,239,1,1,[478]],["add",239,81,-1,1,[478]],["add",81,239,1,1,[478]],["scale",239,-1,1,[478]],["add",0,27,1,1,[38,11]],["add",27,0,-1,2,[38,11]],["add",224,57,1,1,[51,11]],["add",57,224,-1,2,[51,11]],["add",225,7,1,1,[21,11]],["add",7,225,-1,2,[21,11]],["add",76,87,1,1,[448,45]],["add",87,76,-1,2,[448,45]],["add",226,92,1,1,[448,51]],["add",92,226,-1,2,[448,51]],["add",227,81,1,1,[448,30]],["add",81,227,-1,2,[448,30]],["add",228,232,1,1,[493,30]],["add",232,228,-1,2,[493,30]],["add",229,238,1,1,[478,51]],["add",238,229,-1,2,[478,51]],["add",230,234,1,1,[38,30]],["add",234,230,-1,2,[38,30]],["add",231,236,1,1,[38,21]],["add",236,231,-1,2,[38,21]],["add",233,239,1,1,[478,45]],["add",239,233,-1,2,[478,45]],["add",235,237,1,1,[45,21]],["add",237,235,-1,2,[45,21]],["add",231,229,1,1,[459,38,21]],["add",226,224,1,1,[448,51,11]],["add",230,227,1,1,[448,38,30]],["add",228,225,1,1,[486,21,11]],["add",232,234,1,1,[459,38,30]],["add",7,81,1,1,[448,21,11]],["add",236,92,1,1,[448,38,21]],["add",238,57,1,1,[469,51,11]],["add",57,92,1,1,[448,38,21,11]],["add",92,57,-1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["scale",92,-1,1,[448,38,21,11]],["scale",92,-2,1,[448,38,21,11]],["add",224,92,-1,1,[448,38,21,11]],["add",225,92,-1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",81,57,1,2,[448,38,21,11]],["add",227,57,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["add",81,229,-1,1,[448,38,21,11]],["add",229,81,1,1,[448,38,21,11]],["scale",81,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["add",224,234,-1,1,[448,38,21,11]],["add",234,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["scale",224,-2,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["add",225,227,-1,1,[448,38,21,11]],["add",227,225,1,1,[448,38,21,11]],["scale",225,-1,1,[448,38,21,11]],["add",57,225,1,1,[448,38,21,11]],["add",229,225,1,2,[448,38,21,11]],["add",92,227,1,1,[448,38,21,11]],["add",224,227,1,1,[448,38,21,11]],["add",234,227,-2,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["scale",229,-1,2,[448,38,21,11]],["add",92,229,-1,1,[448,38,21,11]],["add",224,229,-1,1,[448,38,21,11]],["add",227,229,-1,1,[448,38,21,11]],["add",57,234,-1,1,[448,38,21,11]],["add",81,234,-1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["add",229,234,1,1,[448,38,21,11]],["add",227,234,1,1,[448,38,21,11]],["add",225,234,-1,1,[448,38,21,11]],["scale",234,2,1,[448,38,21,11]],["add",227,229,1,1,[448,38,21,11]],["add",81,229,1,1,[448,38,21,11]],["add",57,229,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["add",229,234,-1,1,[448,38,21,11]],["add",234,229,1,1,[448,38,21,11]],["scale",229,-1,1,[448,38,21,11]],["add",234,227,-1,2,[448,38,21,11]],["add",229,227,-1,1,[448,38,21,11]],["add",225,227,1,1,[448,38,21,11]],["add",224,227,1,2,[448,38,21,11]],["add",81,227,-1,2,[448,38,21,11]],["add",57,227,1,2,[448,38,21,11]],["add",92,227,-1,2,[448,38,21,11]],["scale",227,-1,2,[448,38,21,11]],["add",229,225,1,1,[448,38,21,11]],["add",227,225,1,2,[448,38,21,11]],["add",224,225,-1,2,[448,38,21,11]],["add",81,225,1,2,[448,38,21,11]],["add",57,225,1,2,[448,38,21,11]],["add",92,225,1,2,[448,38,21,11]],["scale",225,-2,1,[448,38,21,11]],["add",81,224,1,1,[448,38,21,11]],["add",57,224,1,1,[448,38,21,11]],["add",92,224,-1,1,[448,38,21,11]],["scale",224,2,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["add",224,225,-1,1,[448,38,21,11]],["add",225,224,1,1,[448,38,21,11]],["scale",224,-1,1,[448,38,21,11]],["add",227,81,1,2,[448,38,21,11]],["add",225,81,-1,1,[448,38,21,11]],["add",92,81,1,1,[448,38,21,11]],["scale",81,-2,1,[448,38,21,11]],["add",227,57,1,2,[448,38,21,11]],["add",225,57,-1,1,[448,38,21,11]],["add",92,57,1,1,[448,38,21,11]],["scale",57,-2,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["add",57,224,-1,1,[448,38,21,11]],["add",224,57,1,1,[448,38,21,11]],["scale",57,-1,1,[448,38,21,11]],["add",227,92,-1,2,[448,38,21,11]],["add",225,92,1,1,[448,38,21,11]],["add",224,92,1,1,[448,38,21,11]],["add",81,92,1,1,[448,38,21,11]],["add",57,92,1,1,[448,38,21,11]],["add",240,70,1,1,[208]],["add",241,240,1,1,[208]],["add",242,71,1,1,[336]],["add",243,242,1,1,[336]],["add",244,90,1,1,[381]],["add",245,90,1,1,[381]],["add",246,91,1,1,[253]],["add",247,91,1,1,[253]],["add",248,63,1,1,[296]],["add",249,63,1,1,[296]],["add",250,62,1,1,[168]],["add",251,62,1,1,[168]],["add",252,10,1,1,[133]],["add",253,10,1,1,[133]],["add",254,11,1,1,[261]],["add",255,11,1,1,[261]],["add",63,249,1,1,[296]],["add",249,63,-1,1,[296]],["add",63,249,1,1,[296]],["scale",249,-1,1,[261,45]],["add",62,251,1,1,[168]],["add",251,62,-1,1,[168]],["add",62,251,1,1,[168]],["scale",251,-1,1,[133,45]],["add",10,253,1,1,[133]],["add",253,10,-1,1,[133]],["add",10,253,1,1,[133]],["scale",253,-1,1,[133]],["add",11,255,1,1,[261]],["add",255,11,-1,1,[261]],["add",11,255,1,1,[261]],["scale",255,-1,1,[261]],["add",70,91,1,1,[208,45]],["add",91,70,-1,2,[208,45]],["add",240,62,1,1,[168,120]],["add",62,240,-1,2,[168,120]],["add",241,10,1,1,[133,85]],["add",10,241,-1,2,[133,85]],["add",71,90,1,1,[336,45]],["add",90,71,-1,2,[336,45]],["add",242,63,1,1,[296,120]],["add",63,242,-1,2,[296,120]],["add",243,11,1,1,[261,85]],["add",11,243,-1,2,[261,85]],["add",244,248,1,1,[296,85]],["add",248,244,-1,2,[296,85]],["add",245,254,1,1,[261,120]],["add",254,245,-1,2,[261,120]],["add",246,250,1,1,[168,85]],["add",250,246,-1,2,[168,85]],["add",247,252,1,1,[133,120]],["add",252,247,-1,2,[133,120]],["add",249,255,1,1,[261,45]],["add",255,249,-1,2,[261,45]],["add",251,253,1,1,[133,45]],["add",253,251,-1,2,[133,45]],["add",247,245,1,1,[261,133,120]],["add",242,240,1,1,[296,168,120]],["add",246,243,1,1,[261,168,85]],["add",244,241,1,1,[296,133,85]],["add",248,250,1,1,[296,168,85]],["add",10,11,1,1,[261,133,85]],["add",252,63,1,1,[296,133,120]],["add",254,62,1,1,[261,168,120]],["add",62,63,1,1,[261,133,85,45]],["add",63,62,-1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["scale",63,-1,1,[261,133,85,45]],["scale",63,-2,1,[261,133,85,45]],["add",240,63,-1,1,[261,133,85,45]],["add",241,63,-1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",11,62,1,2,[261,133,85,45]],["add",243,62,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["add",11,245,-1,1,[261,133,85,45]],["add",245,11,1,1,[261,133,85,45]],["scale",11,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["add",240,250,-1,1,[261,133,85,45]],["add",250,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["scale",240,-2,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["add",241,243,-1,1,[261,133,85,45]],["add",243,241,1,1,[261,133,85,45]],["scale",241,-1,1,[261,133,85,45]],["add",62,241,1,1,[261,133,85,45]],["add",245,241,1,2,[261,133,85,45]],["add",63,243,1,1,[261,133,85,45]],["add",240,243,1,1,[261,133,85,45]],["add",250,243,-2,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["scale",245,-1,2,[261,133,85,45]],["add",63,245,-1,1,[261,133,85,45]],["add",240,245,-1,1,[261,133,85,45]],["add",243,245,-1,1,[261,133,85,45]],["add",62,250,-1,1,[261,133,85,45]],["add",11,250,-1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["add",245,250,1,1,[261,133,85,45]],["add",243,250,1,1,[261,133,85,45]],["add",241,250,-1,1,[261,133,85,45]],["scale",250,2,1,[261,133,85,45]],["add",243,245,1,1,[261,133,85,45]],["add",11,245,1,1,[261,133,85,45]],["add",62,245,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["add",245,250,-1,1,[261,133,85,45]],["add",250,245,1,1,[261,133,85,45]],["scale",245,-1,1,[261,133,85,45]],["add",250,243,-1,2,[261,133,85,45]],["add",245,243,-1,1,[261,133,85,45]],["add",241,243,1,1,[261,133,85,45]],["add",240,243,1,2,[261,133,85,45]],["add",11,243,-1,2,[261,133,85,45]],["add",62,243,1,2,[261,133,85,45]],["add",63,243,-1,2,[261,133,85,45]],["scale",243,-1,2,[261,133,85,45]],["add",245,241,1,1,[261,133,85,45]],["add",243,241,1,2,[261,133,85,45]],["add",240,241,-1,2,[261,133,85,45]],["add",11,241,1,2,[261,133,85,45]],["add",62,241,1,2,[261,133,85,45]],["add",63,241,1,2,[261,133,85,45]],["scale",241,-2,1,[261,133,85,45]],["add",11,240,1,1,[261,133,85,45]],["add",62,240,1,1,[261,133,85,45]],["add",63,240,-1,1,[261,133,85,45]],["scale",240,2,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["add",240,241,-1,1,[261,133,85,45]],["add",241,240,1,1,[261,133,85,45]],["scale",240,-1,1,[261,133,85,45]],["add",243,11,1,2,[261,133,85,45]],["add",241,11,-1,1,[261,133,85,45]],["add",63,11,1,1,[261,133,85,45]],["scale",11,-2,1,[261,133,85,45]],["add",243,62,1,2,[261,133,85,45]],["add",241,62,-1,1,[261,133,85,45]],["add",63,62,1,1,[261,133,85,45]],["scale",62,-2,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["add",62,240,-1,1,[261,133,85,45]],["add",240,62,1,1,[261,133,85,45]],["scale",62,-1,1,[261,133,85,45]],["add",243,63,-1,2,[261,133,85,45]],["add",241,63,1,1,[261,133,85,45]],["add",240,63,1,1,[261,133,85,45]],["add",11,63,1,1,[261,133,85,45]],["add",62,63,1,1,[261,133,85,45]],["add",256,72,1,1,[400]],["add",257,256,1,1,[400]],["add",258,2,1,1,[35]],["add",259,258,1,1,[35]],["add",260,25,1,1,[14]],["add",261,25,1,1,[14]],["add",262,89,1,1,[445]],["add",263,89,1,1,[445]],["add",264,61,1,1,[104]],["add",265,61,1,1,[104]],["add",266,94,1,1,[475]],["add",267,94,1,1,[475]],["add",268,79,1,1,[502]],["add",269,79,1,1,[502]],["add",270,9,1,1,[69]],["add",271,9,1,1,[69]],["add",61,265,1,1,[104]],["add",265,61,-1,1,[104]],["add",61,265,1,1,[104]],["scale",265,-1,1,[69,45]],["add",94,267,1,1,[475]],["add",267,94,-1,1,[475]],["add",94,267,1,1,[475]],["scale",267,-1,1,[475]],["add",79,269,1,1,[502]],["add",269,79,-1,1,[502]],["add",79,269,1,1,[502]],["scale",269,-1,1,[475,45]],["add",9,271,1,1,[69]],["add",271,9,-1,1,[69]],["add",9,271,1,1,[69]],["scale",271,-1,1,[69]],["add",72,89,1,1,[400,45]],["add",89,72,-1,2,[400,45]],["add",256,94,1,1,[400,75]],["add",94,256,-1,2,[400,75]],["add",257,79,1,1,[400,102]],["add",79,257,-1,2,[400,102]],["add",2,25,1,1,[35,14]],["add",25,2,-1,2,[35,14]],["add",258,61,1,1,[75,35]],["add",61,258,-1,2,[75,35]],["add",259,9,1,1,[69,35]],["add",9,259,-1,2,[69,35]],["add",260,264,1,1,[102,14]],["add",264,260,-1,2,[102,14]],["add",261,270,1,1,[69,14]],["add",270,261,-1,2,[69,14]],["add",262,266,1,1,[445,102]],["add",266,262,-1,2,[445,102]],["add",263,268,1,1,[445,75]],["add",268,263,-1,2,[445,75]],["add",265,271,1,1,[69,45]],["add",271,265,-1,2,[69,45]],["add",267,269,1,1,[475,45]],["add",269,267,-1,2,[475,45]],["add",263,261,1,1,[435,69,14]],["add",258,256,1,1,[400,75,35]],["add",262,259,1,1,[414,69,35]],["add",260,257,1,1,[400,102,14]],["add",264,266,1,1,[435,102,14]],["add",79,9,1,1,[400,69,35]],["add",268,61,1,1,[414,75,35]],["add",270,94,1,1,[400,69,14]],["add",94,61,1,1,[400,69,35,14]],["add",61,94,-1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["scale",61,-1,1,[400,69,35,14]],["scale",61,-2,1,[400,69,35,14]],["add",256,61,-1,1,[400,69,35,14]],["add",257,61,-1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",9,94,1,2,[400,69,35,14]],["add",259,94,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["add",9,261,-1,1,[400,69,35,14]],["add",261,9,1,1,[400,69,35,14]],["scale",9,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["add",256,266,-1,1,[400,69,35,14]],["add",266,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["scale",256,-2,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["add",257,259,-1,1,[400,69,35,14]],["add",259,257,1,1,[400,69,35,14]],["scale",257,-1,1,[400,69,35,14]],["add",94,257,1,1,[400,69,35,14]],["add",261,257,1,2,[400,69,35,14]],["add",61,259,1,1,[400,69,35,14]],["add",256,259,1,1,[400,69,35,14]],["add",266,259,-2,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["scale",261,-1,2,[400,69,35,14]],["add",61,261,-1,1,[400,69,35,14]],["add",256,261,-1,1,[400,69,35,14]],["add",259,261,-1,1,[400,69,35,14]],["add",94,266,-1,1,[400,69,35,14]],["add",9,266,-1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["add",261,266,1,1,[400,69,35,14]],["add",259,266,1,1,[400,69,35,14]],["add",257,266,-1,1,[400,69,35,14]],["scale",266,2,1,[400,69,35,14]],["add",259,261,1,1,[400,69,35,14]],["add",9,261,1,1,[400,69,35,14]],["add",94,261,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["add",261,266,-1,1,[400,69,35,14]],["add",266,261,1,1,[400,69,35,14]],["scale",261,-1,1,[400,69,35,14]],["add",266,259,-1,2,[400,69,35,14]],["add",261,259,-1,1,[400,69,35,14]],["add",257,259,1,1,[400,69,35,14]],["add",256,259,1,2,[400,69,35,14]],["add",9,259,-1,2,[400,69,35,14]],["add",94,259,1,2,[400,69,35,14]],["add",61,259,-1,2,[400,69,35,14]],["scale",259,-1,2,[400,69,35,14]],["add",261,257,1,1,[400,69,35,14]],["add",259,257,1,2,[400,69,35,14]],["add",256,257,-1,2,[400,69,35,14]],["add",9,257,1,2,[400,69,35,14]],["add",94,257,1,2,[400,69,35,14]],["add",61,257,1,2,[400,69,35,14]],["scale",257,-2,1,[400,69,35,14]],["add",9,256,1,1,[400,69,35,14]],["add",94,256,1,1,[400,69,35,14]],["add",61,256,-1,1,[400,69,35,14]],["scale",256,2,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["add",256,257,-1,1,[400,69,35,14]],["add",257,256,1,1,[400,69,35,14]],["scale",256,-1,1,[400,69,35,14]],["add",259,9,1,2,[400,69,35,14]],["add",257,9,-1,1,[400,69,35,14]],["add",61,9,1,1,[400,69,35,14]],["scale",9,-2,1,[400,69,35,14]],["add",259,94,1,2,[400,69,35,14]],["add",257,94,-1,1,[400,69,35,14]],["add",61,94,1,1,[400,69,35,14]],["scale",94,-2,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["add",94,256,-1,1,[400,69,35,14]],["add",256,94,1,1,[400,69,35,14]],["scale",94,-1,1,[400,69,35,14]],["add",259,61,-1,2,[400,69,35,14]],["add",257,61,1,1,[400,69,35,14]],["add",256,61,1,1,[400,69,35,14]],["add",9,61,1,1,[400,69,35,14]],["add",94,61,1,1,[400,69,35,14]],["add",272,12,1,1,[41]],["add",273,272,1,1,[41]],["add",274,100,1,1,[439]],["add",275,274,1,1,[439]],["add",276,56,1,1,[388]],["add",277,56,1,1,[388]],["add",278,31,1,1,[26]],["add",279,31,1,1,[26]],["add",280,103,1,1,[463]],["add",281,103,1,1,[463]],["add",282,17,1,1,[81]],["add",283,17,1,1,[81]],["add",284,38,1,1,[98]],["add",285,38,1,1,[98]],["add",286,77,1,1,[508]],["add",287,77,1,1,[508]],["add",103,281,1,1,[463]],["add",281,103,-1,1,[463]],["add",103,281,1,1,[463]],["scale",281,-1,1,[463]],["add",17,283,1,1,[81]],["add",283,17,-1,1,[81]],["add",17,283,1,1,[81]],["scale",283,-1,1,[81]],["add",38,285,1,1,[98]],["add",285,38,-1,1,[98]],["add",38,285,1,1,[98]],["scale",285,-1,1,[81,51]],["add",77,287,1,1,[508]],["add",287,77,-1,1,[508]],["add",77,287,1,1,[508]],["scale",287,-1,1,[463,51]],["add",12,31,1,1,[41,26]],["add",31,12,-1,2,[41,26]],["add",272,17,1,1,[81,41]],["add",17,272,-1,2,[81,41]],["add",273,38,1,1,[75,41]],["add",38,273,-1,2,[75,41]],["add",100,56,1,1,[388,51]],["add",56,100,-1,2,[388,51]],["add",274,103,1,1,[439,120]],["add",103,274,-1,2,[439,120]],["add",275,77,1,1,[439,75]],["add",77,275,-1,2,[439,75]],["add",276,280,1,1,[388,75]],["add",280,276,-1,2,[388,75]],["add",277,286,1,1,[388,120]],["add",286,277,-1,2,[388,120]],["add",278,282,1,1,[75,26]],["add",282,278,-1,2,[75,26]],["add",279,284,1,1,[98,26]],["add",284,279,-1,2,[98,26]],["add",281,287,1,1,[463,51]],["add",287,281,-1,2,[463,51]],["add",283,285,1,1,[81,51]],["add",285,283,-1,2,[81,51]],["add",279,277,1,1,[388,98,26]],["add",274,272,1,1,[414,81,41]],["add",278,275,1,1,[429,75,26]],["add",276,273,1,1,[388,75,41]],["add",280,282,1,1,[388,75,26]],["add",38,77,1,1,[414,75,41]],["add",284,103,1,1,[429,98,26]],["add",286,17,1,1,[388,81,41]],["add",17,103,1,1,[388,75,41,26]],["add",103,17,-1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["scale",103,-1,1,[388,75,41,26]],["scale",103,-2,1,[388,75,41,26]],["add",272,103,-1,1,[388,75,41,26]],["add",273,103,-1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",77,17,1,2,[388,75,41,26]],["add",275,17,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["add",77,277,-1,1,[388,75,41,26]],["add",277,77,1,1,[388,75,41,26]],["scale",77,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["add",272,282,-1,1,[388,75,41,26]],["add",282,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["scale",272,-2,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["add",273,275,-1,1,[388,75,41,26]],["add",275,273,1,1,[388,75,41,26]],["scale",273,-1,1,[388,75,41,26]],["add",17,273,1,1,[388,75,41,26]],["add",277,273,1,2,[388,75,41,26]],["add",103,275,1,1,[388,75,41,26]],["add",272,275,1,1,[388,75,41,26]],["add",282,275,-2,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["scale",277,-1,2,[388,75,41,26]],["add",103,277,-1,1,[388,75,41,26]],["add",272,277,-1,1,[388,75,41,26]],["add",275,277,-1,1,[388,75,41,26]],["add",17,282,-1,1,[388,75,41,26]],["add",77,282,-1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["add",277,282,1,1,[388,75,41,26]],["add",275,282,1,1,[388,75,41,26]],["add",273,282,-1,1,[388,75,41,26]],["scale",282,2,1,[388,75,41,26]],["add",275,277,1,1,[388,75,41,26]],["add",77,277,1,1,[388,75,41,26]],["add",17,277,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["add",277,282,-1,1,[388,75,41,26]],["add",282,277,1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",282,275,-1,2,[388,75,41,26]],["add",277,275,-1,1,[388,75,41,26]],["add",273,275,1,1,[388,75,41,26]],["add",272,275,1,2,[388,75,41,26]],["add",77,275,-1,2,[388,75,41,26]],["add",17,275,1,2,[388,75,41,26]],["add",103,275,-1,2,[388,75,41,26]],["scale",275,-1,2,[388,75,41,26]],["add",277,273,1,1,[388,75,41,26]],["add",275,273,1,2,[388,75,41,26]],["add",272,273,-1,2,[388,75,41,26]],["add",77,273,1,2,[388,75,41,26]],["add",17,273,1,2,[388,75,41,26]],["add",103,273,1,2,[388,75,41,26]],["scale",273,-2,1,[388,75,41,26]],["add",77,272,1,1,[388,75,41,26]],["add",17,272,1,1,[388,75,41,26]],["add",103,272,-1,1,[388,75,41,26]],["scale",272,2,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["add",272,273,-1,1,[388,75,41,26]],["add",273,272,1,1,[388,75,41,26]],["scale",272,-1,1,[388,75,41,26]],["add",275,77,1,2,[388,75,41,26]],["add",273,77,-1,1,[388,75,41,26]],["add",103,77,1,1,[388,75,41,26]],["scale",77,-2,1,[388,75,41,26]],["add",275,17,1,2,[388,75,41,26]],["add",273,17,-1,1,[388,75,41,26]],["add",103,17,1,1,[388,75,41,26]],["scale",17,-2,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["add",17,272,-1,1,[388,75,41,26]],["add",272,17,1,1,[388,75,41,26]],["scale",17,-1,1,[388,75,41,26]],["add",275,103,-1,2,[388,75,41,26]],["add",273,103,1,1,[388,75,41,26]],["add",272,103,1,1,[388,75,41,26]],["add",77,103,1,1,[388,75,41,26]],["add",17,103,1,1,[388,75,41,26]],["add",288,101,1,1,[375]],["add",289,288,1,1,[375]],["add",290,54,1,1,[196]],["add",291,290,1,1,[196]],["add",292,102,1,1,[247]],["add",293,102,1,1,[247]],["add",294,55,1,1,[324]],["add",295,55,1,1,[324]],["add",296,18,1,1,[145]],["add",297,18,1,1,[145]],["add",298,40,1,1,[290]],["add",299,40,1,1,[290]],["add",300,19,1,1,[273]],["add",301,19,1,1,[273]],["add",302,39,1,1,[162]],["add",303,39,1,1,[162]],["add",18,297,1,1,[145]],["add",297,18,-1,1,[145]],["add",18,297,1,1,[145]],["scale",297,-1,1,[145]],["add",40,299,1,1,[290]],["add",299,40,-1,1,[290]],["add",40,299,1,1,[290]],["scale",299,-1,1,[273,51]],["add",19,301,1,1,[273]],["add",301,19,-1,1,[273]],["add",19,301,1,1,[273]],["scale",301,-1,1,[273]],["add",39,303,1,1,[162]],["add",303,39,-1,1,[162]],["add",39,303,1,1,[162]],["scale",303,-1,1,[145,51]],["add",101,55,1,1,[324,51]],["add",55,101,-1,2,[324,51]],["add",288,40,1,1,[290,85]],["add",40,288,-1,2,[290,85]],["add",289,19,1,1,[273,102]],["add",19,289,-1,2,[273,102]],["add",54,102,1,1,[196,51]],["add",102,54,-1,2,[196,51]],["add",290,18,1,1,[145,85]],["add",18,290,-1,2,[145,85]],["add",291,39,1,1,[162,102]],["add",39,291,-1,2,[162,102]],["add",292,296,1,1,[145,102]],["add",296,292,-1,2,[145,102]],["add",293,302,1,1,[162,85]],["add",302,293,-1,2,[162,85]],["add",294,298,1,1,[290,102]],["add",298,294,-1,2,[290,102]],["add",295,300,1,1,[273,85]],["add",300,295,-1,2,[273,85]],["add",297,303,1,1,[145,51]],["add",303,297,-1,2,[145,51]],["add",299,301,1,1,[273,51]],["add",301,299,-1,2,[273,51]],["add",295,293,1,1,[273,162,85]],["add",290,288,1,1,[290,145,85]],["add",294,291,1,1,[290,162,102]],["add",292,289,1,1,[273,145,102]],["add",296,298,1,1,[290,145,102]],["add",19,39,1,1,[273,162,102]],["add",300,18,1,1,[273,145,85]],["add",302,40,1,1,[290,162,85]],["add",40,18,1,1,[273,145,85,51]],["add",18,40,-1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["scale",18,-1,1,[273,145,85,51]],["scale",18,-2,1,[273,145,85,51]],["add",288,18,-1,1,[273,145,85,51]],["add",289,18,-1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",39,40,1,2,[273,145,85,51]],["add",291,40,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["add",39,293,-1,1,[273,145,85,51]],["add",293,39,1,1,[273,145,85,51]],["scale",39,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["add",288,298,-1,1,[273,145,85,51]],["add",298,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["scale",288,-2,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["add",289,291,-1,1,[273,145,85,51]],["add",291,289,1,1,[273,145,85,51]],["scale",289,-1,1,[273,145,85,51]],["add",40,289,1,1,[273,145,85,51]],["add",293,289,1,2,[273,145,85,51]],["add",18,291,1,1,[273,145,85,51]],["add",288,291,1,1,[273,145,85,51]],["add",298,291,-2,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["scale",293,-1,2,[273,145,85,51]],["add",18,293,-1,1,[273,145,85,51]],["add",288,293,-1,1,[273,145,85,51]],["add",291,293,-1,1,[273,145,85,51]],["add",40,298,-1,1,[273,145,85,51]],["add",39,298,-1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["add",293,298,1,1,[273,145,85,51]],["add",291,298,1,1,[273,145,85,51]],["add",289,298,-1,1,[273,145,85,51]],["scale",298,2,1,[273,145,85,51]],["add",291,293,1,1,[273,145,85,51]],["add",39,293,1,1,[273,145,85,51]],["add",40,293,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["add",293,298,-1,1,[273,145,85,51]],["add",298,293,1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",298,291,-1,2,[273,145,85,51]],["add",293,291,-1,1,[273,145,85,51]],["add",289,291,1,1,[273,145,85,51]],["add",288,291,1,2,[273,145,85,51]],["add",39,291,-1,2,[273,145,85,51]],["add",40,291,1,2,[273,145,85,51]],["add",18,291,-1,2,[273,145,85,51]],["scale",291,-1,2,[273,145,85,51]],["add",293,289,1,1,[273,145,85,51]],["add",291,289,1,2,[273,145,85,51]],["add",288,289,-1,2,[273,145,85,51]],["add",39,289,1,2,[273,145,85,51]],["add",40,289,1,2,[273,145,85,51]],["add",18,289,1,2,[273,145,85,51]],["scale",289,-2,1,[273,145,85,51]],["add",39,288,1,1,[273,145,85,51]],["add",40,288,1,1,[273,145,85,51]],["add",18,288,-1,1,[273,145,85,51]],["scale",288,2,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["add",288,289,-1,1,[273,145,85,51]],["add",289,288,1,1,[273,145,85,51]],["scale",288,-1,1,[273,145,85,51]],["add",291,39,1,2,[273,145,85,51]],["add",289,39,-1,1,[273,145,85,51]],["add",18,39,1,1,[273,145,85,51]],["scale",39,-2,1,[273,145,85,51]],["add",291,40,1,2,[273,145,85,51]],["add",289,40,-1,1,[273,145,85,51]],["add",18,40,1,1,[273,145,85,51]],["scale",40,-2,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["add",40,288,-1,1,[273,145,85,51]],["add",288,40,1,1,[273,145,85,51]],["scale",40,-1,1,[273,145,85,51]],["add",291,18,-1,2,[273,145,85,51]],["add",289,18,1,1,[273,145,85,51]],["add",288,18,1,1,[273,145,85,51]],["add",39,18,1,1,[273,145,85,51]],["add",40,18,1,1,[273,145,85,51]],["add",304,98,1,1,[487]],["add",305,304,1,1,[487]],["add",306,48,1,1,[84]],["add",307,306,1,1,[84]],["add",308,32,1,1,[74]],["add",309,32,1,1,[74]],["add",310,85,1,1,[505]],["add",311,85,1,1,[505]],["add",312,45,1,1,[44]],["add",313,45,1,1,[44]],["add",314,107,1,1,[415]],["add",315,107,1,1,[415]],["add",316,24,1,1,[385]],["add",317,24,1,1,[385]],["add",318,35,1,1,[50]],["add",319,35,1,1,[50]],["add",45,313,1,1,[44]],["add",313,45,-1,1,[44]],["add",45,313,1,1,[44]],["scale",313,-1,1,[44]],["add",107,315,1,1,[415]],["add",315,107,-1,1,[415]],["add",107,315,1,1,[415]],["scale",315,-1,1,[385,30]],["add",24,317,1,1,[385]],["add",317,24,-1,1,[385]],["add",24,317,1,1,[385]],["scale",317,-1,1,[385]],["add",35,319,1,1,[50]],["add",319,35,-1,1,[50]],["add",35,319,1,1,[50]],["scale",319,-1,1,[44,30]],["add",98,85,1,1,[487,30]],["add",85,98,-1,2,[487,30]],["add",304,107,1,1,[415,120]],["add",107,304,-1,2,[415,120]],["add",305,24,1,1,[385,102]],["add",24,305,-1,2,[385,102]],["add",48,32,1,1,[74,30]],["add",32,48,-1,2,[74,30]],["add",306,45,1,1,[84,44]],["add",45,306,-1,2,[84,44]],["add",307,35,1,1,[84,50]],["add",35,307,-1,2,[84,50]],["add",308,312,1,1,[74,44]],["add",312,308,-1,2,[74,44]],["add",309,318,1,1,[74,50]],["add",318,309,-1,2,[74,50]],["add",310,314,1,1,[415,102]],["add",314,310,-1,2,[415,102]],["add",311,316,1,1,[385,120]],["add",316,311,-1,2,[385,120]],["add",313,319,1,1,[44,30]],["add",319,313,-1,2,[44,30]],["add",315,317,1,1,[385,30]],["add",317,315,-1,2,[385,30]],["add",311,309,1,1,[385,74,50]],["add",306,304,1,1,[415,84,44]],["add",310,307,1,1,[415,84,50]],["add",308,305,1,1,[385,74,44]],["add",312,314,1,1,[415,74,44]],["add",24,35,1,1,[385,84,50]],["add",316,45,1,1,[385,84,44]],["add",318,107,1,1,[415,74,50]],["add",107,45,1,1,[385,74,44,30]],["add",45,107,-1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["scale",45,-1,1,[385,74,44,30]],["scale",45,-2,1,[385,74,44,30]],["add",304,45,-1,1,[385,74,44,30]],["add",305,45,-1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",35,107,1,2,[385,74,44,30]],["add",307,107,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["add",35,309,-1,1,[385,74,44,30]],["add",309,35,1,1,[385,74,44,30]],["scale",35,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["add",304,314,-1,1,[385,74,44,30]],["add",314,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["scale",304,-2,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["add",305,307,-1,1,[385,74,44,30]],["add",307,305,1,1,[385,74,44,30]],["scale",305,-1,1,[385,74,44,30]],["add",107,305,1,1,[385,74,44,30]],["add",309,305,1,2,[385,74,44,30]],["add",45,307,1,1,[385,74,44,30]],["add",304,307,1,1,[385,74,44,30]],["add",314,307,-2,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["scale",309,-1,2,[385,74,44,30]],["add",45,309,-1,1,[385,74,44,30]],["add",304,309,-1,1,[385,74,44,30]],["add",307,309,-1,1,[385,74,44,30]],["add",107,314,-1,1,[385,74,44,30]],["add",35,314,-1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["add",309,314,1,1,[385,74,44,30]],["add",307,314,1,1,[385,74,44,30]],["add",305,314,-1,1,[385,74,44,30]],["scale",314,2,1,[385,74,44,30]],["add",307,309,1,1,[385,74,44,30]],["add",35,309,1,1,[385,74,44,30]],["add",107,309,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["add",309,314,-1,1,[385,74,44,30]],["add",314,309,1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",314,307,-1,2,[385,74,44,30]],["add",309,307,-1,1,[385,74,44,30]],["add",305,307,1,1,[385,74,44,30]],["add",304,307,1,2,[385,74,44,30]],["add",35,307,-1,2,[385,74,44,30]],["add",107,307,1,2,[385,74,44,30]],["add",45,307,-1,2,[385,74,44,30]],["scale",307,-1,2,[385,74,44,30]],["add",309,305,1,1,[385,74,44,30]],["add",307,305,1,2,[385,74,44,30]],["add",304,305,-1,2,[385,74,44,30]],["add",35,305,1,2,[385,74,44,30]],["add",107,305,1,2,[385,74,44,30]],["add",45,305,1,2,[385,74,44,30]],["scale",305,-2,1,[385,74,44,30]],["add",35,304,1,1,[385,74,44,30]],["add",107,304,1,1,[385,74,44,30]],["add",45,304,-1,1,[385,74,44,30]],["scale",304,2,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["add",304,305,-1,1,[385,74,44,30]],["add",305,304,1,1,[385,74,44,30]],["scale",304,-1,1,[385,74,44,30]],["add",307,35,1,2,[385,74,44,30]],["add",305,35,-1,1,[385,74,44,30]],["add",45,35,1,1,[385,74,44,30]],["scale",35,-2,1,[385,74,44,30]],["add",307,107,1,2,[385,74,44,30]],["add",305,107,-1,1,[385,74,44,30]],["add",45,107,1,1,[385,74,44,30]],["scale",107,-2,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["add",107,304,-1,1,[385,74,44,30]],["add",304,107,1,1,[385,74,44,30]],["scale",107,-1,1,[385,74,44,30]],["add",307,45,-1,2,[385,74,44,30]],["add",305,45,1,1,[385,74,44,30]],["add",304,45,1,1,[385,74,44,30]],["add",35,45,1,1,[385,74,44,30]],["add",107,45,1,1,[385,74,44,30]],["add",320,49,1,1,[148]],["add",321,49,1,1,[148]],["add",322,34,1,1,[266]],["add",323,34,1,1,[266]],["add",324,50,1,1,[276]],["add",325,50,1,1,[276]],["add",326,33,1,1,[138]],["add",327,33,1,1,[138]],["add",328,108,1,1,[351]],["add",329,108,1,1,[351]],["add",330,22,1,1,[193]],["add",331,22,1,1,[193]],["add",332,109,1,1,[223]],["add",333,109,1,1,[223]],["add",334,23,1,1,[321]],["add",335,23,1,1,[321]],["add",108,329,1,1,[351]],["add",329,108,-1,1,[351]],["add",108,329,1,1,[351]],["scale",329,-1,1,[321,30]],["add",22,331,1,1,[193]],["add",331,22,-1,1,[193]],["add",22,331,1,1,[193]],["scale",331,-1,1,[193]],["add",109,333,1,1,[223]],["add",333,109,-1,1,[223]],["add",109,333,1,1,[223]],["scale",333,-1,1,[193,30]],["add",23,335,1,1,[321]],["add",335,23,-1,1,[321]],["add",23,335,1,1,[321]],["scale",335,-1,1,[321]],["add",49,33,1,1,[138,30]],["add",33,49,-1,2,[138,30]],["add",320,22,1,1,[148,85]],["add",22,320,-1,2,[148,85]],["add",321,109,1,1,[148,75]],["add",109,321,-1,2,[148,75]],["add",34,50,1,1,[266,30]],["add",50,34,-1,2,[266,30]],["add",322,108,1,1,[266,85]],["add",108,322,-1,2,[266,85]],["add",323,23,1,1,[266,75]],["add",23,323,-1,2,[266,75]],["add",324,328,1,1,[276,75]],["add",328,324,-1,2,[276,75]],["add",325,334,1,1,[276,85]],["add",334,325,-1,2,[276,85]],["add",326,330,1,1,[138,75]],["add",330,326,-1,2,[138,75]],["add",327,332,1,1,[138,85]],["add",332,327,-1,2,[138,85]],["add",329,335,1,1,[321,30]],["add",335,329,-1,2,[321,30]],["add",331,333,1,1,[193,30]],["add",333,331,-1,2,[193,30]],["add",327,325,1,1,[276,138,85]],["add",322,320,1,1,[266,148,85]],["add",326,323,1,1,[266,138,75]],["add",324,321,1,1,[276,148,75]],["add",328,330,1,1,[276,138,75]],["add",109,23,1,1,[266,148,75]],["add",332,108,1,1,[266,138,85]],["add",334,22,1,1,[276,148,85]],["add",22,108,1,1,[266,138,75,30]],["add",108,22,-1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["scale",108,-1,1,[266,138,75,30]],["scale",108,-2,1,[266,138,75,30]],["add",320,108,-1,1,[266,138,75,30]],["add",321,108,-1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",23,22,1,2,[266,138,75,30]],["add",323,22,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["add",23,325,-1,1,[266,138,75,30]],["add",325,23,1,1,[266,138,75,30]],["scale",23,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["add",320,330,-1,1,[266,138,75,30]],["add",330,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["scale",320,-2,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["add",321,323,-1,1,[266,138,75,30]],["add",323,321,1,1,[266,138,75,30]],["scale",321,-1,1,[266,138,75,30]],["add",22,321,1,1,[266,138,75,30]],["add",325,321,1,2,[266,138,75,30]],["add",108,323,1,1,[266,138,75,30]],["add",320,323,1,1,[266,138,75,30]],["add",330,323,-2,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["scale",325,-1,2,[266,138,75,30]],["add",108,325,-1,1,[266,138,75,30]],["add",320,325,-1,1,[266,138,75,30]],["add",323,325,-1,1,[266,138,75,30]],["add",22,330,-1,1,[266,138,75,30]],["add",23,330,-1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["add",325,330,1,1,[266,138,75,30]],["add",323,330,1,1,[266,138,75,30]],["add",321,330,-1,1,[266,138,75,30]],["scale",330,2,1,[266,138,75,30]],["add",323,325,1,1,[266,138,75,30]],["add",23,325,1,1,[266,138,75,30]],["add",22,325,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["add",325,330,-1,1,[266,138,75,30]],["add",330,325,1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",330,323,-1,2,[266,138,75,30]],["add",325,323,-1,1,[266,138,75,30]],["add",321,323,1,1,[266,138,75,30]],["add",320,323,1,2,[266,138,75,30]],["add",23,323,-1,2,[266,138,75,30]],["add",22,323,1,2,[266,138,75,30]],["add",108,323,-1,2,[266,138,75,30]],["scale",323,-1,2,[266,138,75,30]],["add",325,321,1,1,[266,138,75,30]],["add",323,321,1,2,[266,138,75,30]],["add",320,321,-1,2,[266,138,75,30]],["add",23,321,1,2,[266,138,75,30]],["add",22,321,1,2,[266,138,75,30]],["add",108,321,1,2,[266,138,75,30]],["scale",321,-2,1,[266,138,75,30]],["add",23,320,1,1,[266,138,75,30]],["add",22,320,1,1,[266,138,75,30]],["add",108,320,-1,1,[266,138,75,30]],["scale",320,2,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["add",320,321,-1,1,[266,138,75,30]],["add",321,320,1,1,[266,138,75,30]],["scale",320,-1,1,[266,138,75,30]],["add",323,23,1,2,[266,138,75,30]],["add",321,23,-1,1,[266,138,75,30]],["add",108,23,1,1,[266,138,75,30]],["scale",23,-2,1,[266,138,75,30]],["add",323,22,1,2,[266,138,75,30]],["add",321,22,-1,1,[266,138,75,30]],["add",108,22,1,1,[266,138,75,30]],["scale",22,-2,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["add",22,320,-1,1,[266,138,75,30]],["add",320,22,1,1,[266,138,75,30]],["scale",22,-1,1,[266,138,75,30]],["add",323,108,-1,2,[266,138,75,30]],["add",321,108,1,1,[266,138,75,30]],["add",320,108,1,1,[266,138,75,30]],["add",23,108,1,1,[266,138,75,30]],["add",22,108,1,1,[266,138,75,30]],["add",336,6,1,1,[13]],["add",337,6,1,1,[13]],["add",338,82,1,1,[446]],["add",339,82,1,1,[446]],["add",340,75,1,1,[416]],["add",341,75,1,1,[416]],["add",342,1,1,1,[19]],["add",343,1,1,1,[19]],["add",344,93,1,1,[491]],["add",345,93,1,1,[491]],["add",346,58,1,1,[88]],["add",347,58,1,1,[88]],["add",348,28,1,1,[70]],["add",349,28,1,1,[70]],["add",350,86,1,1,[501]],["add",351,86,1,1,[501]],["add",93,345,1,1,[491]],["add",345,93,-1,1,[491]],["add",93,345,1,1,[491]],["scale",345,-1,1,[491]],["add",58,347,1,1,[88]],["add",347,58,-1,1,[88]],["add",58,347,1,1,[88]],["scale",347,-1,1,[70,30]],["add",28,349,1,1,[70]],["add",349,28,-1,1,[70]],["add",28,349,1,1,[70]],["scale",349,-1,1,[70]],["add",86,351,1,1,[501]],["add",351,86,-1,1,[501]],["add",86,351,1,1,[501]],["scale",351,-1,1,[491,30]],["add",6,1,1,1,[19,13]],["add",1,6,-1,2,[19,13]],["add",336,58,1,1,[85,13]],["add",58,336,-1,2,[85,13]],["add",337,28,1,1,[70,13]],["add",28,337,-1,2,[70,13]],["add",82,75,1,1,[416,30]],["add",75,82,-1,2,[416,30]],["add",338,93,1,1,[446,85]],["add",93,338,-1,2,[446,85]],["add",339,86,1,1,[446,75]],["add",86,339,-1,2,[446,75]],["add",340,344,1,1,[416,75]],["add",344,340,-1,2,[416,75]],["add",341,350,1,1,[416,85]],["add",350,341,-1,2,[416,85]],["add",342,346,1,1,[75,19]],["add",346,342,-1,2,[75,19]],["add",343,348,1,1,[70,19]],["add",348,343,-1,2,[70,19]],["add",345,351,1,1,[491,30]],["add",351,345,-1,2,[491,30]],["add",347,349,1,1,[70,30]],["add",349,347,-1,2,[70,30]],["add",343,341,1,1,[416,70,19]],["add",338,336,1,1,[435,85,13]],["add",342,339,1,1,[429,75,19]],["add",340,337,1,1,[416,70,13]],["add",344,346,1,1,[416,75,19]],["add",28,86,1,1,[435,70,13]],["add",348,93,1,1,[429,70,19]],["add",350,58,1,1,[416,85,13]],["add",58,93,1,1,[416,70,19,13]],["add",93,58,-1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["scale",93,-1,1,[416,70,19,13]],["scale",93,-2,1,[416,70,19,13]],["add",336,93,-1,1,[416,70,19,13]],["add",337,93,-1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",86,58,1,2,[416,70,19,13]],["add",339,58,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["add",86,341,-1,1,[416,70,19,13]],["add",341,86,1,1,[416,70,19,13]],["scale",86,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["add",336,346,-1,1,[416,70,19,13]],["add",346,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["scale",336,-2,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["add",337,339,-1,1,[416,70,19,13]],["add",339,337,1,1,[416,70,19,13]],["scale",337,-1,1,[416,70,19,13]],["add",58,337,1,1,[416,70,19,13]],["add",341,337,1,2,[416,70,19,13]],["add",93,339,1,1,[416,70,19,13]],["add",336,339,1,1,[416,70,19,13]],["add",346,339,-2,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["scale",341,-1,2,[416,70,19,13]],["add",93,341,-1,1,[416,70,19,13]],["add",336,341,-1,1,[416,70,19,13]],["add",339,341,-1,1,[416,70,19,13]],["add",58,346,-1,1,[416,70,19,13]],["add",86,346,-1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["add",341,346,1,1,[416,70,19,13]],["add",339,346,1,1,[416,70,19,13]],["add",337,346,-1,1,[416,70,19,13]],["scale",346,2,1,[416,70,19,13]],["add",339,341,1,1,[416,70,19,13]],["add",86,341,1,1,[416,70,19,13]],["add",58,341,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["add",341,346,-1,1,[416,70,19,13]],["add",346,341,1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",346,339,-1,2,[416,70,19,13]],["add",341,339,-1,1,[416,70,19,13]],["add",337,339,1,1,[416,70,19,13]],["add",336,339,1,2,[416,70,19,13]],["add",86,339,-1,2,[416,70,19,13]],["add",58,339,1,2,[416,70,19,13]],["add",93,339,-1,2,[416,70,19,13]],["scale",339,-1,2,[416,70,19,13]],["add",341,337,1,1,[416,70,19,13]],["add",339,337,1,2,[416,70,19,13]],["add",336,337,-1,2,[416,70,19,13]],["add",86,337,1,2,[416,70,19,13]],["add",58,337,1,2,[416,70,19,13]],["add",93,337,1,2,[416,70,19,13]],["scale",337,-2,1,[416,70,19,13]],["add",86,336,1,1,[416,70,19,13]],["add",58,336,1,1,[416,70,19,13]],["add",93,336,-1,1,[416,70,19,13]],["scale",336,2,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["add",336,337,-1,1,[416,70,19,13]],["add",337,336,1,1,[416,70,19,13]],["scale",336,-1,1,[416,70,19,13]],["add",339,86,1,2,[416,70,19,13]],["add",337,86,-1,1,[416,70,19,13]],["add",93,86,1,1,[416,70,19,13]],["scale",86,-2,1,[416,70,19,13]],["add",339,58,1,2,[416,70,19,13]],["add",337,58,-1,1,[416,70,19,13]],["add",93,58,1,1,[416,70,19,13]],["scale",58,-2,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["add",58,336,-1,1,[416,70,19,13]],["add",336,58,1,1,[416,70,19,13]],["scale",58,-1,1,[416,70,19,13]],["add",339,93,-1,2,[416,70,19,13]],["add",337,93,1,1,[416,70,19,13]],["add",336,93,1,1,[416,70,19,13]],["add",86,93,1,1,[416,70,19,13]],["add",58,93,1,1,[416,70,19,13]],["add",352,83,1,1,[382]],["add",353,83,1,1,[382]],["add",354,73,1,1,[224]],["add",355,73,1,1,[224]],["add",356,84,1,1,[254]],["add",357,84,1,1,[254]],["add",358,74,1,1,[352]],["add",359,74,1,1,[352]],["add",360,59,1,1,[152]],["add",361,59,1,1,[152]],["add",362,30,1,1,[262]],["add",363,30,1,1,[262]],["add",364,60,1,1,[280]],["add",365,60,1,1,[280]],["add",366,29,1,1,[134]],["add",367,29,1,1,[134]],["add",59,361,1,1,[152]],["add",361,59,-1,1,[152]],["add",59,361,1,1,[152]],["scale",361,-1,1,[134,30]],["add",30,363,1,1,[262]],["add",363,30,-1,1,[262]],["add",30,363,1,1,[262]],["scale",363,-1,1,[262]],["add",60,365,1,1,[280]],["add",365,60,-1,1,[280]],["add",60,365,1,1,[280]],["scale",365,-1,1,[262,30]],["add",29,367,1,1,[134]],["add",367,29,-1,1,[134]],["add",29,367,1,1,[134]],["scale",367,-1,1,[134]],["add",83,74,1,1,[352,30]],["add",74,83,-1,2,[352,30]],["add",352,30,1,1,[262,120]],["add",30,352,-1,2,[262,120]],["add",353,60,1,1,[280,102]],["add",60,353,-1,2,[280,102]],["add",73,84,1,1,[224,30]],["add",84,73,-1,2,[224,30]],["add",354,59,1,1,[152,120]],["add",59,354,-1,2,[152,120]],["add",355,29,1,1,[134,102]],["add",29,355,-1,2,[134,102]],["add",356,360,1,1,[152,102]],["add",360,356,-1,2,[152,102]],["add",357,366,1,1,[134,120]],["add",366,357,-1,2,[134,120]],["add",358,362,1,1,[262,102]],["add",362,358,-1,2,[262,102]],["add",359,364,1,1,[280,120]],["add",364,359,-1,2,[280,120]],["add",361,367,1,1,[134,30]],["add",367,361,-1,2,[134,30]],["add",363,365,1,1,[262,30]],["add",365,363,-1,2,[262,30]],["add",359,357,1,1,[280,134,120]],["add",354,352,1,1,[262,152,120]],["add",358,355,1,1,[262,134,102]],["add",356,353,1,1,[280,152,102]],["add",360,362,1,1,[262,152,102]],["add",60,29,1,1,[280,134,102]],["add",364,59,1,1,[280,152,120]],["add",366,30,1,1,[262,134,120]],["add",30,59,1,1,[262,134,102,30]],["add",59,30,-1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["scale",59,-1,1,[262,134,102,30]],["scale",59,-2,1,[262,134,102,30]],["add",352,59,-1,1,[262,134,102,30]],["add",353,59,-1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",29,30,1,2,[262,134,102,30]],["add",355,30,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["add",29,357,-1,1,[262,134,102,30]],["add",357,29,1,1,[262,134,102,30]],["scale",29,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["add",352,362,-1,1,[262,134,102,30]],["add",362,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["scale",352,-2,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["add",353,355,-1,1,[262,134,102,30]],["add",355,353,1,1,[262,134,102,30]],["scale",353,-1,1,[262,134,102,30]],["add",30,353,1,1,[262,134,102,30]],["add",357,353,1,2,[262,134,102,30]],["add",59,355,1,1,[262,134,102,30]],["add",352,355,1,1,[262,134,102,30]],["add",362,355,-2,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["scale",357,-1,2,[262,134,102,30]],["add",59,357,-1,1,[262,134,102,30]],["add",352,357,-1,1,[262,134,102,30]],["add",355,357,-1,1,[262,134,102,30]],["add",30,362,-1,1,[262,134,102,30]],["add",29,362,-1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["add",357,362,1,1,[262,134,102,30]],["add",355,362,1,1,[262,134,102,30]],["add",353,362,-1,1,[262,134,102,30]],["scale",362,2,1,[262,134,102,30]],["add",355,357,1,1,[262,134,102,30]],["add",29,357,1,1,[262,134,102,30]],["add",30,357,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["add",357,362,-1,1,[262,134,102,30]],["add",362,357,1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",362,355,-1,2,[262,134,102,30]],["add",357,355,-1,1,[262,134,102,30]],["add",353,355,1,1,[262,134,102,30]],["add",352,355,1,2,[262,134,102,30]],["add",29,355,-1,2,[262,134,102,30]],["add",30,355,1,2,[262,134,102,30]],["add",59,355,-1,2,[262,134,102,30]],["scale",355,-1,2,[262,134,102,30]],["add",357,353,1,1,[262,134,102,30]],["add",355,353,1,2,[262,134,102,30]],["add",352,353,-1,2,[262,134,102,30]],["add",29,353,1,2,[262,134,102,30]],["add",30,353,1,2,[262,134,102,30]],["add",59,353,1,2,[262,134,102,30]],["scale",353,-2,1,[262,134,102,30]],["add",29,352,1,1,[262,134,102,30]],["add",30,352,1,1,[262,134,102,30]],["add",59,352,-1,1,[262,134,102,30]],["scale",352,2,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["add",352,353,-1,1,[262,134,102,30]],["add",353,352,1,1,[262,134,102,30]],["scale",352,-1,1,[262,134,102,30]],["add",355,29,1,2,[262,134,102,30]],["add",353,29,-1,1,[262,134,102,30]],["add",59,29,1,1,[262,134,102,30]],["scale",29,-2,1,[262,134,102,30]],["add",355,30,1,2,[262,134,102,30]],["add",353,30,-1,1,[262,134,102,30]],["add",59,30,1,1,[262,134,102,30]],["scale",30,-2,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["add",30,352,-1,1,[262,134,102,30]],["add",352,30,1,1,[262,134,102,30]],["scale",30,-1,1,[262,134,102,30]],["add",355,59,-1,2,[262,134,102,30]],["add",353,59,1,1,[262,134,102,30]],["add",352,59,1,1,[262,134,102,30]],["add",29,59,1,1,[262,134,102,30]],["add",30,59,1,1,[262,134,102,30]],["add",368,80,1,1,[494]],["add",369,80,1,1,[494]],["add",370,67,1,1,[112]],["add",371,67,1,1,[112]],["add",372,3,1,1,[67]],["add",373,3,1,1,[67]],["add",374,88,1,1,[477]],["add",375,88,1,1,[477]],["add",376,8,1,1,[37]],["add",377,8,1,1,[37]],["add",378,95,1,1,[443]],["add",379,95,1,1,[443]],["add",380,66,1,1,[392]],["add",381,66,1,1,[392]],["add",382,26,1,1,[22]],["add",383,26,1,1,[22]],["add",8,377,1,1,[37]],["add",377,8,-1,1,[37]],["add",8,377,1,1,[37]],["scale",377,-1,1,[37]],["add",95,379,1,1,[443]],["add",379,95,-1,1,[443]],["add",95,379,1,1,[443]],["scale",379,-1,1,[392,51]],["add",66,381,1,1,[392]],["add",381,66,-1,1,[392]],["add",66,381,1,1,[392]],["scale",381,-1,1,[392]],["add",26,383,1,1,[22]],["add",383,26,-1,1,[22]],["add",26,383,1,1,[22]],["scale",383,-1,1,[22]],["add",80,88,1,1,[477,51]],["add",88,80,-1,2,[477,51]],["add",368,95,1,1,[443,85]],["add",95,368,-1,2,[443,85]],["add",369,66,1,1,[392,102]],["add",66,369,-1,2,[392,102]],["add",67,3,1,1,[67,51]],["add",3,67,-1,2,[67,51]],["add",370,8,1,1,[85,37]],["add",8,370,-1,2,[85,37]],["add",371,26,1,1,[102,22]],["add",26,371,-1,2,[102,22]],["add",372,376,1,1,[67,37]],["add",376,372,-1,2,[67,37]],["add",373,382,1,1,[67,22]],["add",382,373,-1,2,[67,22]],["add",374,378,1,1,[443,102]],["add",378,374,-1,2,[443,102]],["add",375,380,1,1,[392,85]],["add",380,375,-1,2,[392,85]],["add",377,383,1,1,[37,22]],["add",383,377,-1,2,[37,22]],["add",379,381,1,1,[392,51]],["add",381,379,-1,2,[392,51]],["add",375,373,1,1,[392,67,22]],["add",370,368,1,1,[414,85,37]],["add",374,371,1,1,[429,102,22]],["add",372,369,1,1,[392,67,37]],["add",376,378,1,1,[414,67,37]],["add",66,26,1,1,[392,102,22]],["add",380,8,1,1,[392,85,37]],["add",382,95,1,1,[429,67,22]],["add",95,8,1,1,[392,67,37,22]],["add",8,95,-1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["scale",8,-1,1,[392,67,37,22]],["scale",8,-2,1,[392,67,37,22]],["add",368,8,-1,1,[392,67,37,22]],["add",369,8,-1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",26,95,1,2,[392,67,37,22]],["add",371,95,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["add",26,373,-1,1,[392,67,37,22]],["add",373,26,1,1,[392,67,37,22]],["scale",26,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["add",368,378,-1,1,[392,67,37,22]],["add",378,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["scale",368,-2,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["add",369,371,-1,1,[392,67,37,22]],["add",371,369,1,1,[392,67,37,22]],["scale",369,-1,1,[392,67,37,22]],["add",95,369,1,1,[392,67,37,22]],["add",373,369,1,2,[392,67,37,22]],["add",8,371,1,1,[392,67,37,22]],["add",368,371,1,1,[392,67,37,22]],["add",378,371,-2,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["scale",373,-1,2,[392,67,37,22]],["add",8,373,-1,1,[392,67,37,22]],["add",368,373,-1,1,[392,67,37,22]],["add",371,373,-1,1,[392,67,37,22]],["add",95,378,-1,1,[392,67,37,22]],["add",26,378,-1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["add",373,378,1,1,[392,67,37,22]],["add",371,378,1,1,[392,67,37,22]],["add",369,378,-1,1,[392,67,37,22]],["scale",378,2,1,[392,67,37,22]],["add",371,373,1,1,[392,67,37,22]],["add",26,373,1,1,[392,67,37,22]],["add",95,373,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["add",373,378,-1,1,[392,67,37,22]],["add",378,373,1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",378,371,-1,2,[392,67,37,22]],["add",373,371,-1,1,[392,67,37,22]],["add",369,371,1,1,[392,67,37,22]],["add",368,371,1,2,[392,67,37,22]],["add",26,371,-1,2,[392,67,37,22]],["add",95,371,1,2,[392,67,37,22]],["add",8,371,-1,2,[392,67,37,22]],["scale",371,-1,2,[392,67,37,22]],["add",373,369,1,1,[392,67,37,22]],["add",371,369,1,2,[392,67,37,22]],["add",368,369,-1,2,[392,67,37,22]],["add",26,369,1,2,[392,67,37,22]],["add",95,369,1,2,[392,67,37,22]],["add",8,369,1,2,[392,67,37,22]],["scale",369,-2,1,[392,67,37,22]],["add",26,368,1,1,[392,67,37,22]],["add",95,368,1,1,[392,67,37,22]],["add",8,368,-1,1,[392,67,37,22]],["scale",368,2,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["add",368,369,-1,1,[392,67,37,22]],["add",369,368,1,1,[392,67,37,22]],["scale",368,-1,1,[392,67,37,22]],["add",371,26,1,2,[392,67,37,22]],["add",369,26,-1,1,[392,67,37,22]],["add",8,26,1,1,[392,67,37,22]],["scale",26,-2,1,[392,67,37,22]],["add",371,95,1,2,[392,67,37,22]],["add",369,95,-1,1,[392,67,37,22]],["add",8,95,1,1,[392,67,37,22]],["scale",95,-2,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["add",95,368,-1,1,[392,67,37,22]],["add",368,95,1,1,[392,67,37,22]],["scale",95,-1,1,[392,67,37,22]],["add",371,8,-1,2,[392,67,37,22]],["add",369,8,1,1,[392,67,37,22]],["add",368,8,1,1,[392,67,37,22]],["add",26,8,1,1,[392,67,37,22]],["add",95,8,1,1,[392,67,37,22]],["add",384,68,1,1,[176]],["add",385,68,1,1,[176]],["add",386,5,1,1,[259]],["add",387,5,1,1,[259]],["add",388,69,1,1,[304]],["add",389,69,1,1,[304]],["add",390,4,1,1,[131]],["add",391,4,1,1,[131]],["add",392,96,1,1,[379]],["add",393,96,1,1,[379]],["add",394,64,1,1,[200]],["add",395,64,1,1,[200]],["add",396,97,1,1,[251]],["add",397,97,1,1,[251]],["add",398,65,1,1,[328]],["add",399,65,1,1,[328]],["add",96,393,1,1,[379]],["add",393,96,-1,1,[379]],["add",96,393,1,1,[379]],["scale",393,-1,1,[328,51]],["add",64,395,1,1,[200]],["add",395,64,-1,1,[200]],["add",64,395,1,1,[200]],["scale",395,-1,1,[200]],["add",97,397,1,1,[251]],["add",397,97,-1,1,[251]],["add",97,397,1,1,[251]],["scale",397,-1,1,[200,51]],["add",65,399,1,1,[328]],["add",399,65,-1,1,[328]],["add",65,399,1,1,[328]],["scale",399,-1,1,[328]],["add",68,4,1,1,[131,51]],["add",4,68,-1,2,[131,51]],["add",384,64,1,1,[176,120]],["add",64,384,-1,2,[176,120]],["add",385,97,1,1,[176,75]],["add",97,385,-1,2,[176,75]],["add",5,69,1,1,[259,51]],["add",69,5,-1,2,[259,51]],["add",386,96,1,1,[259,120]],["add",96,386,-1,2,[259,120]],["add",387,65,1,1,[259,75]],["add",65,387,-1,2,[259,75]],["add",388,392,1,1,[304,75]],["add",392,388,-1,2,[304,75]],["add",389,398,1,1,[304,120]],["add",398,389,-1,2,[304,120]],["add",390,394,1,1,[131,75]],["add",394,390,-1,2,[131,75]],["add",391,396,1,1,[131,120]],["add",396,391,-1,2,[131,120]],["add",393,399,1,1,[328,51]],["add",399,393,-1,2,[328,51]],["add",395,397,1,1,[200,51]],["add",397,395,-1,2,[200,51]],["add",391,389,1,1,[304,131,120]],["add",386,384,1,1,[259,176,120]],["add",390,387,1,1,[259,131,75]],["add",388,385,1,1,[304,176,75]],["add",392,394,1,1,[304,131,75]],["add",97,65,1,1,[259,176,75]],["add",396,96,1,1,[259,131,120]],["add",398,64,1,1,[304,176,120]],["add",64,96,1,1,[259,131,75,51]],["add",96,64,-1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["scale",96,-1,1,[259,131,75,51]],["scale",96,-2,1,[259,131,75,51]],["add",384,96,-1,1,[259,131,75,51]],["add",385,96,-1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",65,64,1,2,[259,131,75,51]],["add",387,64,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["add",65,389,-1,1,[259,131,75,51]],["add",389,65,1,1,[259,131,75,51]],["scale",65,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["add",384,394,-1,1,[259,131,75,51]],["add",394,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["scale",384,-2,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["add",385,387,-1,1,[259,131,75,51]],["add",387,385,1,1,[259,131,75,51]],["scale",385,-1,1,[259,131,75,51]],["add",64,385,1,1,[259,131,75,51]],["add",389,385,1,2,[259,131,75,51]],["add",96,387,1,1,[259,131,75,51]],["add",384,387,1,1,[259,131,75,51]],["add",394,387,-2,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["scale",389,-1,2,[259,131,75,51]],["add",96,389,-1,1,[259,131,75,51]],["add",384,389,-1,1,[259,131,75,51]],["add",387,389,-1,1,[259,131,75,51]],["add",64,394,-1,1,[259,131,75,51]],["add",65,394,-1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["add",389,394,1,1,[259,131,75,51]],["add",387,394,1,1,[259,131,75,51]],["add",385,394,-1,1,[259,131,75,51]],["scale",394,2,1,[259,131,75,51]],["add",387,389,1,1,[259,131,75,51]],["add",65,389,1,1,[259,131,75,51]],["add",64,389,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["add",389,394,-1,1,[259,131,75,51]],["add",394,389,1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",394,387,-1,2,[259,131,75,51]],["add",389,387,-1,1,[259,131,75,51]],["add",385,387,1,1,[259,131,75,51]],["add",384,387,1,2,[259,131,75,51]],["add",65,387,-1,2,[259,131,75,51]],["add",64,387,1,2,[259,131,75,51]],["add",96,387,-1,2,[259,131,75,51]],["scale",387,-1,2,[259,131,75,51]],["add",389,385,1,1,[259,131,75,51]],["add",387,385,1,2,[259,131,75,51]],["add",384,385,-1,2,[259,131,75,51]],["add",65,385,1,2,[259,131,75,51]],["add",64,385,1,2,[259,131,75,51]],["add",96,385,1,2,[259,131,75,51]],["scale",385,-2,1,[259,131,75,51]],["add",65,384,1,1,[259,131,75,51]],["add",64,384,1,1,[259,131,75,51]],["add",96,384,-1,1,[259,131,75,51]],["scale",384,2,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["add",384,385,-1,1,[259,131,75,51]],["add",385,384,1,1,[259,131,75,51]],["scale",384,-1,1,[259,131,75,51]],["add",387,65,1,2,[259,131,75,51]],["add",385,65,-1,1,[259,131,75,51]],["add",96,65,1,1,[259,131,75,51]],["scale",65,-2,1,[259,131,75,51]],["add",387,64,1,2,[259,131,75,51]],["add",385,64,-1,1,[259,131,75,51]],["add",96,64,1,1,[259,131,75,51]],["scale",64,-2,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["add",64,384,-1,1,[259,131,75,51]],["add",384,64,1,1,[259,131,75,51]],["scale",64,-1,1,[259,131,75,51]],["add",387,96,-1,2,[259,131,75,51]],["add",385,96,1,1,[259,131,75,51]],["add",384,96,1,1,[259,131,75,51]],["add",65,96,1,1,[259,131,75,51]],["add",64,96,1,1,[259,131,75,51]],["add",400,15,1,1,[265]],["add",401,400,1,1,[265]],["add",402,14,1,1,[137]],["add",403,14,1,1,[137]],["add",404,52,1,1,[164]],["add",405,52,1,1,[164]],["add",406,53,1,1,[292]],["add",407,53,1,1,[292]],["add",408,41,1,1,[194]],["add",409,41,1,1,[194]],["add",410,42,1,1,[322]],["add",411,42,1,1,[322]],["add",412,105,1,1,[367]],["add",413,105,1,1,[367]],["add",414,106,1,1,[239]],["add",415,106,1,1,[239]],["add",41,409,1,1,[194]],["add",409,41,-1,1,[194]],["add",41,409,1,1,[194]],["scale",409,-1,1,[194]],["add",42,411,1,1,[322]],["add",411,42,-1,1,[322]],["add",42,411,1,1,[322]],["scale",411,-1,1,[322]],["add",105,413,1,1,[367]],["add",413,105,-1,1,[367]],["add",105,413,1,1,[367]],["scale",413,-1,1,[322,45]],["add",106,415,1,1,[239]],["add",415,106,-1,1,[239]],["add",106,415,1,1,[239]],["scale",415,-1,1,[194,45]],["add",15,53,1,1,[265,45]],["add",53,15,-1,2,[265,45]],["add",400,42,1,1,[265,75]],["add",42,400,-1,2,[265,75]],["add",401,105,1,1,[265,102]],["add",105,401,-1,2,[265,102]],["add",14,52,1,1,[137,45]],["add",52,14,-1,2,[137,45]],["add",402,41,1,1,[137,75]],["add",41,402,-1,2,[137,75]],["add",403,106,1,1,[137,102]],["add",106,403,-1,2,[137,102]],["add",404,408,1,1,[164,102]],["add",408,404,-1,2,[164,102]],["add",405,414,1,1,[164,75]],["add",414,405,-1,2,[164,75]],["add",406,410,1,1,[292,102]],["add",410,406,-1,2,[292,102]],["add",407,412,1,1,[292,75]],["add",412,407,-1,2,[292,75]],["add",409,415,1,1,[194,45]],["add",415,409,-1,2,[194,45]],["add",411,413,1,1,[322,45]],["add",413,411,-1,2,[322,45]],["add",407,405,1,1,[292,164,75]],["add",402,400,1,1,[265,137,75]],["add",406,403,1,1,[292,137,102]],["add",404,401,1,1,[265,164,102]],["add",408,410,1,1,[292,164,102]],["add",105,106,1,1,[265,137,102]],["add",412,41,1,1,[292,137,75]],["add",414,42,1,1,[265,164,75]],["add",42,41,1,1,[265,137,75,45]],["add",41,42,-1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["scale",41,-1,1,[265,137,75,45]],["scale",41,-2,1,[265,137,75,45]],["add",400,41,-1,1,[265,137,75,45]],["add",401,41,-1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",106,42,1,2,[265,137,75,45]],["add",403,42,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["add",106,405,-1,1,[265,137,75,45]],["add",405,106,1,1,[265,137,75,45]],["scale",106,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["add",400,410,-1,1,[265,137,75,45]],["add",410,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["scale",400,-2,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["add",401,403,-1,1,[265,137,75,45]],["add",403,401,1,1,[265,137,75,45]],["scale",401,-1,1,[265,137,75,45]],["add",42,401,1,1,[265,137,75,45]],["add",405,401,1,2,[265,137,75,45]],["add",41,403,1,1,[265,137,75,45]],["add",400,403,1,1,[265,137,75,45]],["add",410,403,-2,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["scale",405,-1,2,[265,137,75,45]],["add",41,405,-1,1,[265,137,75,45]],["add",400,405,-1,1,[265,137,75,45]],["add",403,405,-1,1,[265,137,75,45]],["add",42,410,-1,1,[265,137,75,45]],["add",106,410,-1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["add",405,410,1,1,[265,137,75,45]],["add",403,410,1,1,[265,137,75,45]],["add",401,410,-1,1,[265,137,75,45]],["scale",410,2,1,[265,137,75,45]],["add",403,405,1,1,[265,137,75,45]],["add",106,405,1,1,[265,137,75,45]],["add",42,405,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["add",405,410,-1,1,[265,137,75,45]],["add",410,405,1,1,[265,137,75,45]],["scale",405,-1,1,[265,137,75,45]],["add",410,403,-1,2,[265,137,75,45]],["add",405,403,-1,1,[265,137,75,45]],["add",401,403,1,1,[265,137,75,45]],["add",400,403,1,2,[265,137,75,45]],["add",106,403,-1,2,[265,137,75,45]],["add",42,403,1,2,[265,137,75,45]],["add",41,403,-1,2,[265,137,75,45]],["scale",403,-1,2,[265,137,75,45]],["add",405,401,1,1,[265,137,75,45]],["add",403,401,1,2,[265,137,75,45]],["add",400,401,-1,2,[265,137,75,45]],["add",106,401,1,2,[265,137,75,45]],["add",42,401,1,2,[265,137,75,45]],["add",41,401,1,2,[265,137,75,45]],["scale",401,-2,1,[265,137,75,45]],["add",106,400,1,1,[265,137,75,45]],["add",42,400,1,1,[265,137,75,45]],["add",41,400,-1,1,[265,137,75,45]],["scale",400,2,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["add",400,401,-1,1,[265,137,75,45]],["add",401,400,1,1,[265,137,75,45]],["scale",400,-1,1,[265,137,75,45]],["add",403,106,1,2,[265,137,75,45]],["add",401,106,-1,1,[265,137,75,45]],["add",41,106,1,1,[265,137,75,45]],["scale",106,-2,1,[265,137,75,45]],["add",403,42,1,2,[265,137,75,45]],["add",401,42,-1,1,[265,137,75,45]],["add",41,42,1,1,[265,137,75,45]],["scale",42,-2,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["add",42,400,-1,1,[265,137,75,45]],["add",400,42,1,1,[265,137,75,45]],["scale",42,-1,1,[265,137,75,45]],["add",403,41,-1,2,[265,137,75,45]],["add",401,41,1,1,[265,137,75,45]],["add",400,41,1,1,[265,137,75,45]],["add",106,41,1,1,[265,137,75,45]],["add",42,41,1,1,[265,137,75,45]],["add",416,13,1,1,[73]],["add",417,416,1,1,[73]],["add",418,78,1,1,[506]],["add",419,78,1,1,[506]],["add",420,99,1,1,[471]],["add",421,99,1,1,[471]],["add",422,51,1,1,[100]],["add",423,51,1,1,[100]],["add",424,43,1,1,[386]],["add",425,43,1,1,[386]],["add",426,16,1,1,[49]],["add",427,16,1,1,[49]],["add",428,44,1,1,[28]],["add",429,44,1,1,[28]],["add",430,104,1,1,[431]],["add",431,104,1,1,[431]],["add",43,425,1,1,[386]],["add",425,43,-1,1,[386]],["add",43,425,1,1,[386]],["scale",425,-1,1,[386]],["add",16,427,1,1,[49]],["add",427,16,-1,1,[49]],["add",16,427,1,1,[49]],["scale",427,-1,1,[45,28]],["add",44,429,1,1,[28]],["add",429,44,-1,1,[28]],["add",44,429,1,1,[28]],["scale",429,-1,1,[28]],["add",104,431,1,1,[431]],["add",431,104,-1,1,[431]],["add",104,431,1,1,[431]],["scale",431,-1,1,[386,45]],["add",13,51,1,1,[73,45]],["add",51,13,-1,2,[73,45]],["add",416,16,1,1,[73,49]],["add",16,416,-1,2,[73,49]],["add",417,44,1,1,[73,28]],["add",44,417,-1,2,[73,28]],["add",78,99,1,1,[471,45]],["add",99,78,-1,2,[471,45]],["add",418,43,1,1,[386,120]],["add",43,418,-1,2,[386,120]],["add",419,104,1,1,[431,85]],["add",104,419,-1,2,[431,85]],["add",420,424,1,1,[386,85]],["add",424,420,-1,2,[386,85]],["add",421,430,1,1,[431,120]],["add",430,421,-1,2,[431,120]],["add",422,426,1,1,[85,49]],["add",426,422,-1,2,[85,49]],["add",423,428,1,1,[100,28]],["add",428,423,-1,2,[100,28]],["add",425,431,1,1,[386,45]],["add",431,425,-1,2,[386,45]],["add",427,429,1,1,[45,28]],["add",429,427,-1,2,[45,28]],["add",423,421,1,1,[431,100,28]],["add",418,416,1,1,[386,73,49]],["add",422,419,1,1,[414,85,49]],["add",420,417,1,1,[386,73,28]],["add",424,426,1,1,[386,85,49]],["add",44,104,1,1,[431,73,28]],["add",428,43,1,1,[386,100,28]],["add",430,16,1,1,[414,73,49]],["add",16,43,1,1,[386,73,45,28]],["add",43,16,-1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["scale",43,-1,1,[386,73,45,28]],["scale",43,-2,1,[386,73,45,28]],["add",416,43,-1,1,[386,73,45,28]],["add",417,43,-1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",104,16,1,2,[386,73,45,28]],["add",419,16,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["add",104,421,-1,1,[386,73,45,28]],["add",421,104,1,1,[386,73,45,28]],["scale",104,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["add",416,426,-1,1,[386,73,45,28]],["add",426,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["scale",416,-2,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["add",417,419,-1,1,[386,73,45,28]],["add",419,417,1,1,[386,73,45,28]],["scale",417,-1,1,[386,73,45,28]],["add",16,417,1,1,[386,73,45,28]],["add",421,417,1,2,[386,73,45,28]],["add",43,419,1,1,[386,73,45,28]],["add",416,419,1,1,[386,73,45,28]],["add",426,419,-2,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["scale",421,-1,2,[386,73,45,28]],["add",43,421,-1,1,[386,73,45,28]],["add",416,421,-1,1,[386,73,45,28]],["add",419,421,-1,1,[386,73,45,28]],["add",16,426,-1,1,[386,73,45,28]],["add",104,426,-1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["add",421,426,1,1,[386,73,45,28]],["add",419,426,1,1,[386,73,45,28]],["add",417,426,-1,1,[386,73,45,28]],["scale",426,2,1,[386,73,45,28]],["add",419,421,1,1,[386,73,45,28]],["add",104,421,1,1,[386,73,45,28]],["add",16,421,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["add",421,426,-1,1,[386,73,45,28]],["add",426,421,1,1,[386,73,45,28]],["scale",421,-1,1,[386,73,45,28]],["add",426,419,-1,2,[386,73,45,28]],["add",421,419,-1,1,[386,73,45,28]],["add",417,419,1,1,[386,73,45,28]],["add",416,419,1,2,[386,73,45,28]],["add",104,419,-1,2,[386,73,45,28]],["add",16,419,1,2,[386,73,45,28]],["add",43,419,-1,2,[386,73,45,28]],["scale",419,-1,2,[386,73,45,28]],["add",421,417,1,1,[386,73,45,28]],["add",419,417,1,2,[386,73,45,28]],["add",416,417,-1,2,[386,73,45,28]],["add",104,417,1,2,[386,73,45,28]],["add",16,417,1,2,[386,73,45,28]],["add",43,417,1,2,[386,73,45,28]],["scale",417,-2,1,[386,73,45,28]],["add",104,416,1,1,[386,73,45,28]],["add",16,416,1,1,[386,73,45,28]],["add",43,416,-1,1,[386,73,45,28]],["scale",416,2,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["add",416,417,-1,1,[386,73,45,28]],["add",417,416,1,1,[386,73,45,28]],["scale",416,-1,1,[386,73,45,28]],["add",419,104,1,2,[386,73,45,28]],["add",417,104,-1,1,[386,73,45,28]],["add",43,104,1,1,[386,73,45,28]],["scale",104,-2,1,[386,73,45,28]],["add",419,16,1,2,[386,73,45,28]],["add",417,16,-1,1,[386,73,45,28]],["add",43,16,1,1,[386,73,45,28]],["scale",16,-2,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["add",16,416,-1,1,[386,73,45,28]],["add",416,16,1,1,[386,73,45,28]],["scale",16,-1,1,[386,73,45,28]],["add",419,43,-1,2,[386,73,45,28]],["add",417,43,1,1,[386,73,45,28]],["add",416,43,1,1,[386,73,45,28]],["add",104,43,1,1,[386,73,45,28]],["add",16,43,1,1,[386,73,45,28]],["add",432,36,1,1,[146]],["add",433,36,1,1,[146]],["add",434,21,1,1,[289]],["add",435,21,1,1,[289]],["add",436,47,1,1,[268]],["add",437,47,1,1,[268]],["add",438,111,1,1,[191]],["add",439,111,1,1,[191]],["add",440,37,1,1,[274]],["add",441,37,1,1,[274]],["add",442,20,1,1,[161]],["add",443,20,1,1,[161]],["add",444,46,1,1,[140]],["add",445,46,1,1,[140]],["add",446,110,1,1,[319]],["add",447,110,1,1,[319]],["add",37,441,1,1,[274]],["add",441,37,-1,1,[274]],["add",37,441,1,1,[274]],["scale",441,-1,1,[274]],["add",20,443,1,1,[161]],["add",443,20,-1,1,[161]],["add",20,443,1,1,[161]],["scale",443,-1,1,[140,45]],["add",46,445,1,1,[140]],["add",445,46,-1,1,[140]],["add",46,445,1,1,[140]],["scale",445,-1,1,[140]],["add",110,447,1,1,[319]],["add",447,110,-1,1,[319]],["add",110,447,1,1,[319]],["scale",447,-1,1,[274,45]],["add",36,111,1,1,[146,45]],["add",111,36,-1,2,[146,45]],["add",432,20,1,1,[146,51]],["add",20,432,-1,2,[146,51]],["add",433,46,1,1,[140,30]],["add",46,433,-1,2,[140,30]],["add",21,47,1,1,[268,45]],["add",47,21,-1,2,[268,45]],["add",434,37,1,1,[274,51]],["add",37,434,-1,2,[274,51]],["add",435,110,1,1,[289,30]],["add",110,435,-1,2,[289,30]],["add",436,440,1,1,[268,30]],["add",440,436,-1,2,[268,30]],["add",437,446,1,1,[268,51]],["add",446,437,-1,2,[268,51]],["add",438,442,1,1,[161,30]],["add",442,438,-1,2,[161,30]],["add",439,444,1,1,[140,51]],["add",444,439,-1,2,[140,51]],["add",441,447,1,1,[274,45]],["add",447,441,-1,2,[274,45]],["add",443,445,1,1,[140,45]],["add",445,443,-1,2,[140,45]],["add",439,437,1,1,[268,140,51]],["add",434,432,1,1,[274,146,51]],["add",438,435,1,1,[289,161,30]],["add",436,433,1,1,[268,140,30]],["add",440,442,1,1,[268,161,30]],["add",46,110,1,1,[289,140,30]],["add",444,37,1,1,[274,140,51]],["add",446,20,1,1,[268,146,51]],["add",20,37,1,1,[268,140,45,30]],["add",37,20,-1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["scale",37,-1,1,[268,140,45,30]],["scale",37,-2,1,[268,140,45,30]],["add",432,37,-1,1,[268,140,45,30]],["add",433,37,-1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",110,20,1,2,[268,140,45,30]],["add",435,20,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["add",110,437,-1,1,[268,140,45,30]],["add",437,110,1,1,[268,140,45,30]],["scale",110,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["add",432,442,-1,1,[268,140,45,30]],["add",442,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["scale",432,-2,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["add",433,435,-1,1,[268,140,45,30]],["add",435,433,1,1,[268,140,45,30]],["scale",433,-1,1,[268,140,45,30]],["add",20,433,1,1,[268,140,45,30]],["add",437,433,1,2,[268,140,45,30]],["add",37,435,1,1,[268,140,45,30]],["add",432,435,1,1,[268,140,45,30]],["add",442,435,-2,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["scale",437,-1,2,[268,140,45,30]],["add",37,437,-1,1,[268,140,45,30]],["add",432,437,-1,1,[268,140,45,30]],["add",435,437,-1,1,[268,140,45,30]],["add",20,442,-1,1,[268,140,45,30]],["add",110,442,-1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["add",437,442,1,1,[268,140,45,30]],["add",435,442,1,1,[268,140,45,30]],["add",433,442,-1,1,[268,140,45,30]],["scale",442,2,1,[268,140,45,30]],["add",435,437,1,1,[268,140,45,30]],["add",110,437,1,1,[268,140,45,30]],["add",20,437,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["add",437,442,-1,1,[268,140,45,30]],["add",442,437,1,1,[268,140,45,30]],["scale",437,-1,1,[268,140,45,30]],["add",442,435,-1,2,[268,140,45,30]],["add",437,435,-1,1,[268,140,45,30]],["add",433,435,1,1,[268,140,45,30]],["add",432,435,1,2,[268,140,45,30]],["add",110,435,-1,2,[268,140,45,30]],["add",20,435,1,2,[268,140,45,30]],["add",37,435,-1,2,[268,140,45,30]],["scale",435,-1,2,[268,140,45,30]],["add",437,433,1,1,[268,140,45,30]],["add",435,433,1,2,[268,140,45,30]],["add",432,433,-1,2,[268,140,45,30]],["add",110,433,1,2,[268,140,45,30]],["add",20,433,1,2,[268,140,45,30]],["add",37,433,1,2,[268,140,45,30]],["scale",433,-2,1,[268,140,45,30]],["add",110,432,1,1,[268,140,45,30]],["add",20,432,1,1,[268,140,45,30]],["add",37,432,-1,1,[268,140,45,30]],["scale",432,2,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["add",432,433,-1,1,[268,140,45,30]],["add",433,432,1,1,[268,140,45,30]],["scale",432,-1,1,[268,140,45,30]],["add",435,110,1,2,[268,140,45,30]],["add",433,110,-1,1,[268,140,45,30]],["add",37,110,1,1,[268,140,45,30]],["scale",110,-2,1,[268,140,45,30]],["add",435,20,1,2,[268,140,45,30]],["add",433,20,-1,1,[268,140,45,30]],["add",37,20,1,1,[268,140,45,30]],["scale",20,-2,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["add",20,432,-1,1,[268,140,45,30]],["add",432,20,1,1,[268,140,45,30]],["scale",20,-1,1,[268,140,45,30]],["add",435,37,-1,2,[268,140,45,30]],["add",433,37,1,1,[268,140,45,30]],["add",432,37,1,1,[268,140,45,30]],["add",110,37,1,1,[268,140,45,30]],["add",20,37,1,1,[268,140,45,30]],["add",92,63,1,1,[256,128,64,34,16,10,4,1]],["add",92,61,1,1,[256,128,64,34,16,10,4,1]],["add",92,103,1,1,[256,128,64,34,16,10,4,1]],["add",92,18,1,1,[256,128,64,34,16,10,4,1]],["add",92,45,1,1,[256,128,64,34,16,10,4,1]],["add",92,108,1,1,[256,128,64,34,16,10,4,1]],["add",57,62,1,1,[256,128,64,32,16,8,5,3]],["add",57,94,1,1,[256,128,64,32,16,8,5,3]],["add",57,93,1,1,[256,128,64,32,16,8,5,3]],["add",57,59,1,1,[256,128,64,32,16,8,5,3]],["add",57,8,1,1,[256,128,64,32,16,8,5,3]],["add",57,96,1,1,[256,128,64,32,16,8,5,3]],["add",81,17,1,1,[256,128,64,32,17,9,4,2]],["add",81,40,1,1,[256,128,64,32,17,9,4,2]],["add",81,58,1,1,[256,128,64,32,17,9,4,2]],["add",81,30,1,1,[256,128,64,32,17,9,4,2]],["add",81,41,1,1,[256,128,64,32,17,9,4,2]],["add",81,43,1,1,[256,128,64,32,17,9,4,2]],["add",224,107,1,1,[256,128,64,36,20,8,2,1]],["add",224,22,1,1,[256,128,64,36,20,8,2,1]],["add",224,95,1,1,[256,128,64,36,20,8,2,1]],["add",224,64,1,1,[256,128,64,36,20,8,2,1]],["add",224,42,1,1,[256,128,64,36,20,8,2,1]],["add",224,16,1,1,[256,128,64,36,20,8,2,1]],["add",11,77,1,1,[256,128,66,32,18,8,4,1]],["add",11,35,1,1,[256,128,66,32,18,8,4,1]],["add",11,86,1,1,[256,128,66,32,18,8,4,1]],["add",11,26,1,1,[256,128,66,32,18,8,4,1]],["add",11,106,1,1,[256,128,66,32,18,8,4,1]],["add",11,37,1,1,[256,128,66,32,18,8,4,1]],["add",240,39,1,1,[256,128,65,33,17,9,5,3]],["add",240,23,1,1,[256,128,65,33,17,9,5,3]],["add",240,29,1,1,[256,128,65,33,17,9,5,3]],["add",240,65,1,1,[256,128,65,33,17,9,5,3]],["add",240,400,1,1,[256,128,65,33,17,9,5,3]],["add",240,20,1,1,[256,128,65,33,17,9,5,3]],["add",9,272,1,1,[256,128,65,33,16,8,4,2]],["add",9,320,1,1,[256,128,65,33,16,8,4,2]],["add",9,352,1,1,[256,128,65,33,16,8,4,2]],["add",9,368,1,1,[256,128,65,33,16,8,4,2]],["add",9,104,1,1,[256,128,65,33,16,8,4,2]],["add",9,110,1,1,[256,128,65,33,16,8,4,2]],["add",256,288,1,1,[256,128,68,32,16,12,2,1]],["add",256,304,1,1,[256,128,68,32,16,12,2,1]],["add",256,336,1,1,[256,128,68,32,16,12,2,1]],["add",256,384,1,1,[256,128,68,32,16,12,2,1]],["add",256,416,1,1,[256,128,68,32,16,12,2,1]],["add",256,432,1,1,[256,128,68,32,16,12,2,1]]],"B":[["add",162,518,-1,1,[30]],["add",172,518,1,1,[30]],["add",196,518,1,1,[30]],["add",140,506,1,1,[30]],["add",144,506,-1,1,[30]],["add",187,506,1,1,[30]],["add",168,554,1,1,[51]],["add",150,554,1,1,[51]],["add",115,554,-1,1,[51]],["add",131,566,1,1,[51]],["add",117,566,-1,1,[51]],["add",590,566,-1,1,[51]],["add",672,566,-2,1,[51]],["add",215,448,1,2,[51]],["add",129,448,1,2,[51]],["add",124,449,1,2,[51]],["add",212,449,1,2,[51]],["add",157,450,1,2,[30]],["add",219,450,1,2,[30]],["add",210,451,1,2,[30]],["add",160,451,1,2,[30]],["add",205,452,-1,1,[30]],["add",170,452,-1,1,[30]],["add",118,453,-1,1,[30]],["add",194,453,-1,1,[30]],["add",120,454,-1,1,[51]],["add",207,454,-1,1,[51]],["add",192,455,-1,1,[51]],["add",179,455,-1,1,[51]],["add",130,472,1,2,[51]],["add",213,473,1,2,[51]],["add",215,484,1,2,[51]],["add",124,485,1,2,[51]],["add",220,496,1,2,[30]],["add",161,497,1,2,[30]],["add",157,508,1,2,[30]],["add",210,509,1,2,[30]],["add",171,520,1,2,[30]],["add",195,521,1,2,[30]],["add",205,532,1,2,[30]],["add",118,533,1,2,[30]],["add",208,544,1,2,[51]],["add",180,545,1,2,[51]],["add",120,556,1,2,[51]],["add",192,557,1,2,[51]],["add",143,585,1,2,[51]],["add",168,584,1,2,[51]],["add",189,585,1,2,[51]],["add",187,586,1,2,[30]],["add",586,506,2,1,[30]],["add",136,586,1,2,[30]],["add",197,587,1,2,[30]],["add",147,587,1,2,[30]],["add",196,588,-1,1,[30]],["add",588,518,-1,1,[30]],["add",221,588,-1,1,[30]],["add",145,589,-1,1,[30]],["add",135,589,-1,1,[30]],["add",167,591,-1,1,[51]],["add",214,590,-1,1,[51]],["add",590,566,1,1,[51]],["add",151,591,-1,1,[51]],["add",188,592,1,4,[45]],["add",199,592,-1,4,[45]],["add",204,592,1,4,[45]],["add",193,592,-1,4,[45]],["add",188,593,1,4,[45]],["add",199,593,1,4,[45]],["add",204,593,1,4,[45]],["add",193,593,1,4,[45]],["add",188,594,1,4,[45]],["add",199,594,1,4,[45]],["add",204,594,1,4,[45]],["add",193,594,-1,4,[45]],["add",188,596,1,4,[45]],["add",199,596,-1,4,[45]],["add",204,596,-1,4,[45]],["add",193,596,-1,4,[45]],["add",183,600,1,4,[45]],["add",202,600,-1,4,[45]],["add",175,600,1,4,[45]],["add",123,600,-1,4,[45]],["add",183,601,1,4,[45]],["add",202,601,1,4,[45]],["add",175,601,1,4,[45]],["add",123,601,1,4,[45]],["add",183,602,1,4,[45]],["add",202,602,1,4,[45]],["add",175,602,1,4,[45]],["add",123,602,-1,4,[45]],["add",183,604,1,4,[45]],["add",202,604,-1,4,[45]],["add",175,604,-1,4,[45]],["add",123,604,-1,4,[45]],["add",114,608,1,4,[45]],["add",137,608,-1,4,[45]],["add",173,608,1,4,[45]],["add",121,608,-1,4,[45]],["add",114,609,1,4,[45]],["add",137,609,1,4,[45]],["add",173,609,1,4,[45]],["add",121,609,1,4,[45]],["add",114,610,1,4,[45]],["add",137,610,1,4,[45]],["add",173,610,1,4,[45]],["add",121,610,-1,4,[45]],["add",114,612,1,4,[45]],["add",137,612,-1,4,[45]],["add",173,612,-1,4,[45]],["add",121,612,-1,4,[45]],["add",212,616,1,4,[51]],["add",168,616,-1,4,[51]],["add",215,616,1,4,[51]],["add",189,616,-1,4,[51]],["add",212,617,1,4,[51]],["add",168,617,1,4,[51]],["add",215,617,1,4,[51]],["add",189,617,1,4,[51]],["add",212,618,1,4,[51]],["add",168,618,1,4,[51]],["add",215,618,1,4,[51]],["add",189,618,-1,4,[51]],["add",212,620,-1,2,[51]],["add",168,620,1,2,[51]],["add",215,620,1,2,[51]],["add",620,555,2,1,[51]],["add",189,620,1,2,[51]],["add",620,555,-2,1,[51]],["add",166,624,1,4,[51]],["add",214,624,-1,4,[51]],["add",130,624,1,4,[51]],["add",151,624,-1,4,[51]],["add",166,625,1,4,[51]],["add",214,625,1,4,[51]],["add",130,625,1,4,[51]],["add",151,625,1,4,[51]],["add",166,626,1,4,[51]],["add",214,626,1,4,[51]],["add",130,626,1,4,[51]],["add",151,626,-1,4,[51]],["add",166,628,-1,2,[51]],["add",628,566,-2,1,[51]],["add",214,628,1,2,[51]],["add",628,566,2,1,[51]],["add",130,628,1,2,[51]],["add",628,567,2,1,[51]],["add",151,628,1,2,[51]],["add",628,567,-2,1,[51]],["add",160,632,1,4,[30]],["add",144,632,-1,4,[30]],["add",157,632,1,4,[30]],["add",147,632,-1,4,[30]],["add",160,633,1,4,[30]],["add",144,633,1,4,[30]],["add",157,633,1,4,[30]],["add",147,633,1,4,[30]],["add",160,634,1,4,[30]],["add",144,634,1,4,[30]],["add",157,634,1,4,[30]],["add",147,634,-1,4,[30]],["add",160,636,-1,2,[30]],["add",636,506,2,1,[30]],["add",144,636,1,2,[30]],["add",636,506,-2,1,[30]],["add",157,636,1,2,[30]],["add",636,531,2,1,[30]],["add",147,636,1,2,[30]],["add",636,531,-2,1,[30]],["add",146,640,1,4,[30]],["add",162,640,-1,4,[30]],["add",220,640,1,4,[30]],["add",135,640,-1,4,[30]],["add",146,641,1,4,[30]],["add",641,518,4,1,[30]],["add",162,641,1,4,[30]],["add",641,518,-4,1,[30]],["add",220,641,1,4,[30]],["add",641,543,4,1,[30]],["add",135,641,1,4,[30]],["add",641,543,-4,1,[30]],["add",146,642,1,4,[30]],["add",162,642,1,4,[30]],["add",220,642,1,4,[30]],["add",135,642,-1,4,[30]],["add",146,644,-1,2,[30]],["add",162,644,1,2,[30]],["add",220,644,1,2,[30]],["add",135,644,1,2,[30]],["add",194,648,-1,2,[30]],["add",187,648,1,2,[30]],["add",205,648,-1,2,[30]],["add",198,648,1,2,[30]],["add",194,649,-1,2,[30]],["add",187,649,-1,2,[30]],["add",205,649,-1,2,[30]],["add",198,649,-1,2,[30]],["add",194,650,-1,2,[30]],["add",187,650,-1,2,[30]],["add",205,650,-1,2,[30]],["add",198,650,1,2,[30]],["add",194,652,-1,2,[30]],["add",187,652,1,2,[30]],["add",205,652,1,2,[30]],["add",198,652,1,2,[30]],["add",185,656,-1,2,[30]],["add",196,656,1,2,[30]],["add",171,656,-1,2,[30]],["add",141,656,1,2,[30]],["add",185,657,-1,2,[30]],["add",196,657,-1,2,[30]],["add",171,657,-1,2,[30]],["add",141,657,-1,2,[30]],["add",185,658,-1,2,[30]],["add",196,658,-1,2,[30]],["add",171,658,-1,2,[30]],["add",141,658,1,2,[30]],["add",185,660,-1,2,[30]],["add",196,660,1,2,[30]],["add",171,660,1,2,[30]],["add",141,660,1,2,[30]],["add",179,664,-1,2,[51]],["add",115,664,1,2,[51]],["add",120,664,-1,2,[51]],["add",138,664,1,2,[51]],["add",179,665,-1,2,[51]],["add",115,665,-1,2,[51]],["add",120,665,-1,2,[51]],["add",138,665,-1,2,[51]],["add",179,666,-1,2,[51]],["add",115,666,-1,2,[51]],["add",120,666,-1,2,[51]],["add",138,666,1,2,[51]],["add",179,668,-1,2,[51]],["add",115,668,1,2,[51]],["add",120,668,1,2,[51]],["add",138,668,1,2,[51]],["add",117,672,-1,2,[51]],["add",181,672,1,2,[51]],["add",672,566,2,1,[51]],["add",208,672,-1,2,[51]],["add",177,672,1,2,[51]],["add",117,673,-1,2,[51]],["add",181,673,-1,2,[51]],["add",208,673,-1,2,[51]],["add",177,673,-1,2,[51]],["add",117,674,-1,2,[51]],["add",181,674,-1,2,[51]],["add",208,674,-1,2,[51]],["add",177,674,1,2,[51]],["add",117,676,-1,2,[51]],["add",676,566,2,1,[51]],["add",181,676,1,2,[51]],["add",676,566,-2,1,[51]],["add",208,676,1,2,[51]],["add",177,676,1,2,[51]],["add",616,554,-2,1,[51]],["add",618,554,2,1,[51]],["add",664,554,-1,1,[51]],["add",666,554,1,1,[51]],["add",664,667,-1,1,[264,136,85,51]],["add",665,667,-1,1,[264,136,85,51]],["add",666,667,1,1,[264,136,85,51]],["add",664,669,1,1,[264,136,85,51]],["add",665,669,-1,1,[264,136,85,51]],["add",668,669,-1,1,[264,136,85,51]],["add",664,670,1,1,[264,136,85,51]],["add",666,670,-1,1,[264,136,85,51]],["add",668,670,-1,1,[264,136,85,51]],["add",665,671,-1,1,[264,136,85,51]],["add",666,671,1,1,[264,136,85,51]],["add",668,671,-1,1,[264,136,85,51]],["add",118,82,-1,2,[416,30]],["add",194,6,-1,2,[19,13]],["add",187,349,1,1,[70,30]],["add",113,351,1,1,[491,30]],["add",351,531,-1,1,[486,19,13]],["add",205,347,-1,2,[70,30]],["add",170,345,-1,2,[491,30]],["add",140,75,1,1,[416,30]],["add",198,1,1,1,[19,13]],["add",124,100,-1,2,[388,51]],["add",212,12,-1,2,[41,26]],["add",168,285,1,1,[81,51]],["add",143,287,1,1,[463,51]],["add",215,283,-1,2,[81,51]],["add",129,281,-1,2,[463,51]],["add",150,56,1,1,[388,51]],["add",189,31,1,1,[41,26]],["add",213,54,-1,2,[196,51]],["add",166,101,-1,2,[324,51]],["add",214,301,1,1,[273,51]],["add",167,303,1,1,[145,51]],["add",130,299,-1,2,[273,51]],["add",152,297,-1,2,[145,51]],["add",131,102,1,1,[196,51]],["add",151,55,1,1,[324,51]],["add",195,73,-1,2,[224,30]],["add",185,83,-1,2,[352,30]],["add",196,365,1,1,[262,30]],["add",186,367,1,1,[134,30]],["add",367,543,-1,1,[352,134,30]],["add",171,363,-1,2,[262,30]],["add",142,361,-1,2,[134,30]],["add",172,84,1,1,[224,30]],["add",141,74,1,1,[352,30]],["add",210,48,-1,2,[74,30]],["add",160,98,-1,2,[487,30]],["add",144,317,1,1,[385,30]],["add",197,319,1,1,[44,30]],["add",157,315,-1,2,[385,30]],["add",219,313,-1,2,[44,30]],["add",136,32,1,1,[74,30]],["add",32,506,-1,1,[385,74,30]],["add",147,85,1,1,[487,30]],["add",192,67,-1,2,[67,51]],["add",179,80,-1,2,[477,51]],["add",115,381,1,1,[392,51]],["add",200,383,1,1,[37,22]],["add",383,555,-1,1,[459,37,22]],["add",120,379,-1,2,[392,51]],["add",207,377,-1,2,[37,22]],["add",178,3,1,1,[67,51]],["add",3,554,-1,1,[392,67,51]],["add",138,88,1,1,[477,51]],["add",180,5,-1,2,[259,51]],["add",117,68,-1,2,[131,51]],["add",181,397,1,1,[200,51]],["add",116,399,1,1,[328,51]],["add",399,567,-1,1,[328,131,51]],["add",208,395,-1,2,[200,51]],["add",176,393,-1,2,[328,51]],["add",209,69,1,1,[259,51]],["add",69,566,-1,1,[259,200,51]],["add",177,4,1,1,[131,51]],["add",161,34,-1,2,[266,30]],["add",146,49,-1,2,[138,30]],["add",162,333,1,1,[193,30]],["add",145,335,1,1,[321,30]],["add",220,331,-1,2,[193,30]],["add",134,329,-1,2,[321,30]],["add",221,50,1,1,[266,30]],["add",50,518,-1,1,[266,193,30]],["add",135,33,1,1,[138,30]],["add",112,76,-1,2,[448,45]],["add",188,0,-1,2,[38,11]],["add",183,72,-1,2,[400,45]],["add",182,2,-1,2,[35,14]],["add",114,70,-1,2,[208,45]],["add",184,71,-1,2,[336,45]],["add",76,0,1,1,[448,38,11]],["add",71,72,1,1,[336,192,45]],["add",2,70,1,1,[208,35,14]],["add",112,71,-1,2,[256,144,80,42,7]],["add",182,76,-1,2,[448,33,9,5,2]],["add",184,2,-1,2,[336,208,35,9,7]],["add",188,184,1,1,[336,208,33,9,5,2]],["add",183,182,1,1,[400,80,33,9,5,2]],["add",114,112,1,1,[256,128,64,42,16,7]],["add",112,2,-1,2,[256,128,64,35,16,9,7]],["add",188,72,-1,2,[320,192,33,16,9,5,2]],["add",183,70,-1,2,[272,128,80,33,9,5,2]],["add",182,71,-1,2,[256,144,80,33,9,5,2]],["add",114,0,-1,2,[256,128,64,33,16,11,7]],["add",184,76,-1,2,[272,144,64,33,9,5,2]],["add",139,239,1,1,[478,45]],["add",193,27,1,1,[38,11]],["add",126,13,-1,2,[73,45]],["add",127,78,-1,2,[471,45]],["add",190,15,-1,2,[265,45]],["add",125,14,-1,2,[137,45]],["add",239,27,1,1,[469,38,11]],["add",14,13,1,1,[137,73,45]],["add",78,15,1,1,[265,222,45]],["add",139,14,-1,2,[263,137,73,45,25]],["add",127,239,1,1,[453,36,16,9,2]],["add",125,78,-1,2,[265,137,78,45,25]],["add",193,125,1,1,[258,130,69,38,18,11]],["add",126,127,1,1,[389,64,36,16,9,2]],["add",190,139,1,1,[263,135,71,35,23,14]],["add",139,78,-1,2,[256,128,64,35,16,9,7]],["add",193,13,-1,2,[258,130,66,33,18,11,7]],["add",126,15,-1,2,[256,133,64,36,16,9,2]],["add",127,14,-1,2,[261,128,64,36,16,9,2]],["add",190,27,1,1,[258,130,66,35,18,11,5]],["add",125,239,1,1,[256,128,69,36,16,9,2]],["add",203,255,1,1,[261,45]],["add",123,91,1,1,[208,45]],["add",218,36,-1,2,[146,45]],["add",165,21,-1,2,[268,45]],["add",133,53,1,1,[265,45]],["add",148,415,1,1,[194,45]],["add",255,91,1,1,[261,208,45]],["add",415,36,-1,2,[146,80,45]],["add",21,53,-2,1,[265,40,5]],["add",203,415,1,1,[261,144,80,45,2]],["add",165,255,1,1,[261,130,82,36,9]],["add",148,21,-1,2,[265,144,82,40,5]],["add",123,148,1,1,[265,130,64,40,18,5]],["add",218,165,1,1,[261,130,66,36,16,9]],["add",133,203,1,1,[261,144,80,33,12,2]],["add",203,21,-1,2,[256,144,80,33,9,5,2]],["add",123,36,-1,2,[265,128,64,40,16,5,2]],["add",218,53,1,1,[256,130,66,33,16,9,5]],["add",165,415,1,1,[261,128,64,36,16,9,2]],["add",133,91,1,1,[261,128,64,33,16,12,2]],["add",148,255,1,1,[256,130,64,33,18,9,5]],["add",201,271,1,1,[69,45]],["add",121,89,1,1,[400,45]],["add",216,111,1,1,[146,45]],["add",163,447,1,1,[274,45]],["add",222,51,1,1,[73,45]],["add",223,431,1,1,[386,45]],["add",271,89,1,1,[400,69,45]],["add",431,111,1,1,[272,146,45]],["add",447,51,1,1,[274,73,45]],["add",201,431,1,1,[272,146,69,36,9]],["add",163,271,1,1,[274,130,69,36,9]],["add",223,447,1,1,[274,144,73,40,5]],["add",121,223,1,1,[256,130,73,40,18,5]],["add",216,163,1,1,[258,130,69,36,16,9]],["add",222,201,1,1,[272,146,64,33,9,5]],["add",201,447,1,1,[272,144,64,33,9,5,2]],["add",121,111,1,1,[256,128,73,40,16,5,2]],["add",216,51,1,1,[258,130,64,33,16,9,5]],["add",163,431,1,1,[256,128,69,36,16,9,2]],["add",222,89,1,1,[258,128,64,33,18,9,5]],["add",223,271,1,1,[256,130,64,33,18,9,5]],["add",191,25,1,1,[35,14]],["add",137,269,1,1,[475,45]],["add",211,445,1,1,[140,45]],["add",156,47,1,1,[268,45]],["add",159,429,1,1,[45,28]],["add",158,99,1,1,[471,45]],["add",25,269,1,1,[469,35,14]],["add",99,445,1,1,[347,140,45]],["add",47,429,1,1,[268,45,28]],["add",191,99,1,1,[279,130,66,35,14]],["add",156,25,1,1,[258,149,66,35,14]],["add",158,47,1,1,[268,139,76,45,28]],["add",137,158,1,1,[256,135,64,33,16,12]],["add",211,156,1,1,[258,130,66,35,23,14]],["add",159,191,1,1,[261,130,66,35,18,14]],["add",191,47,1,1,[258,130,66,35,18,9,7]],["add",137,445,1,1,[256,128,64,33,16,11,7]],["add",211,429,1,1,[258,130,66,35,18,11,5]],["add",156,99,1,1,[256,128,64,33,21,12,2]],["add",159,269,1,1,[261,128,64,33,16,12,2]],["add",158,25,1,1,[256,133,64,33,16,12,2]],["add",169,233,-1,2,[478,45]],["add",204,235,-1,2,[45,21]],["add",175,267,-1,2,[475,45]],["add",174,265,-1,2,[69,45]],["add",173,251,-1,2,[133,45]],["add",206,249,-1,2,[261,45]],["add",233,235,1,1,[459,45,21]],["add",249,267,1,1,[261,222,45]],["add",265,251,1,1,[133,69,45]],["add",169,249,-1,2,[256,217,40,5,2]],["add",174,233,-1,2,[393,66,42,18,7]],["add",206,265,-1,2,[258,130,66,42,7]],["add",204,206,1,1,[258,130,66,42,18,7]],["add",175,174,1,1,[393,64,40,16,5,2]],["add",173,169,1,1,[256,128,89,40,5,2]],["add",169,265,-1,2,[256,128,64,40,25,5,2]],["add",204,267,-1,2,[258,130,66,33,18,11,7]],["add",175,251,-1,2,[265,128,64,40,16,5,2]],["add",174,249,-1,2,[256,137,64,40,16,5,2]],["add",173,235,-1,2,[256,128,73,40,16,5,2]],["add",206,233,-1,2,[258,130,66,35,18,9,7]],["add",119,87,1,1,[448,45]],["add",199,237,1,1,[45,21]],["add",153,427,-1,2,[45,28]],["add",154,425,-1,2,[386,45]],["add",155,411,-1,2,[322,45]],["add",128,409,-1,2,[194,45]],["add",87,237,1,1,[448,45,21]],["add",409,427,1,1,[194,45,28]],["add",425,411,1,1,[322,192,45]],["add",119,409,-1,2,[258,194,40,25,5]],["add",154,87,1,1,[386,66,33,21,12]],["add",128,425,-1,2,[320,192,45,2]],["add",199,128,1,1,[320,192,33,21,12,2]],["add",153,154,1,1,[386,66,33,16,9,5]],["add",155,119,1,1,[258,130,64,40,25,5]],["add",119,425,-1,2,[256,128,64,40,25,5,2]],["add",199,427,-1,2,[320,192,33,16,9,5,2]],["add",153,411,-1,2,[256,130,66,33,16,9,5]],["add",154,409,-1,2,[258,128,66,33,16,9,5]],["add",155,237,1,1,[258,130,64,33,16,9,5]],["add",128,87,1,1,[256,128,64,33,21,12,2]],["add",122,90,1,1,[336,45]],["add",202,253,1,1,[133,45]],["add",164,443,-1,2,[140,45]],["add",217,441,-1,2,[274,45]],["add",149,413,1,1,[322,45]],["add",132,52,1,1,[137,45]],["add",90,253,1,1,[336,133,45]],["add",52,443,-1,2,[137,40,5]],["add",441,413,-2,1,[274,80,45]],["add",122,52,1,1,[258,137,82,40,5]],["add",217,90,1,1,[258,133,66,45,16]],["add",132,441,-1,2,[272,137,80,45,2]],["add",202,132,1,1,[272,133,80,33,12,2]],["add",164,217,1,1,[258,133,66,36,16,9]],["add",149,122,1,1,[258,137,64,40,18,5]],["add",122,441,-1,2,[256,137,64,40,16,5,2]],["add",202,443,-1,2,[272,128,80,33,9,5,2]],["add",164,413,1,1,[256,133,64,36,16,9,2]],["add",217,52,1,1,[258,128,66,33,16,9,5]],["add",149,253,1,1,[258,128,64,33,18,9,5]],["add",132,90,1,1,[256,133,64,33,16,12,2]],["add",448,231,1,1,[459,38,21]],["add",449,226,1,1,[448,51,11]],["add",450,230,1,1,[448,38,30]],["add",451,228,1,1,[486,21,11]],["add",452,232,1,1,[459,38,30]],["add",453,7,1,1,[448,21,11]],["add",454,236,1,1,[448,38,21]],["add",455,238,1,1,[469,51,11]],["add",456,247,1,1,[261,133,82,42]],["add",457,242,1,1,[258,130,82,42]],["add",458,246,1,1,[261,130,85,42]],["add",459,244,1,1,[258,133,85,42]],["add",460,248,1,1,[296,168,82,7]],["add",461,10,1,1,[258,130,82,7]],["add",462,252,1,1,[296,130,120,7]],["add",463,254,1,1,[258,168,120,7]],["add",464,263,1,1,[407,69,36,14]],["add",465,258,1,1,[400,66,35,9]],["add",466,262,1,1,[407,69,35,9]],["add",467,260,1,1,[400,66,36,14]],["add",468,264,1,1,[435,97,9,7]],["add",469,79,1,1,[400,66,35,7]],["add",470,268,1,1,[409,75,35,7]],["add",471,270,1,1,[400,66,9,7]],["add",283,281,1,1,[414,81,51]],["add",277,281,-1,1,[388,75,41,26]],["scale",277,-1,1,[388,75,41,26]],["add",100,12,1,1,[388,41,26]],["add",273,12,-1,1,[388,75,41,26]],["add",56,285,1,1,[388,81,51]],["add",282,285,-1,1,[388,75,41,26]],["scale",282,-1,1,[388,75,41,26]],["add",287,31,1,1,[463,41,26]],["add",275,31,-1,1,[388,75,41,26]],["add",472,283,1,1,[414,81,51]],["add",472,231,1,1,[387,64,34,17,8,4]],["add",473,100,1,1,[388,41,26]],["add",473,226,1,1,[388,68,33,17,8,3]],["add",474,279,1,1,[388,72,42,26]],["add",475,274,1,1,[413,81,41,3]],["add",476,278,1,1,[391,75,42,26]],["add",477,276,1,1,[388,72,41,3]],["add",478,280,1,1,[388,72,25,3]],["add",479,38,1,1,[391,75,41,25]],["add",480,284,1,1,[429,97,25,3]],["add",481,286,1,1,[388,72,41,25]],["add",273,56,1,1,[388,81,48,3]],["add",275,287,1,1,[391,72,41,26]],["add",299,297,1,1,[273,145,51]],["add",293,297,-1,1,[273,145,85,51]],["scale",293,-1,1,[273,145,85,51]],["add",54,101,1,1,[324,196,51]],["add",289,101,-1,1,[273,145,85,51]],["add",102,301,1,1,[273,196,51]],["add",298,301,-1,1,[273,145,85,51]],["scale",298,-1,1,[273,145,85,51]],["add",303,55,1,1,[324,145,51]],["add",291,55,-1,1,[273,145,85,51]],["add",55,101,1,2,[273,145,85,51]],["add",101,55,-1,1,[273,145,85,51]],["add",484,299,1,1,[273,145,51]],["add",484,448,1,1,[260,132,71,38,21,12]],["add",485,54,1,1,[324,196,51]],["add",485,449,1,1,[260,132,64,33,18,11]],["add",486,295,1,1,[273,136,85,42]],["add",487,290,1,1,[264,145,85,42]],["add",488,294,1,1,[264,136,76,42]],["add",489,292,1,1,[273,145,76,42]],["add",490,296,1,1,[290,136,102,25]],["add",491,19,1,1,[264,162,102,25]],["add",492,300,1,1,[264,136,76,25]],["add",493,302,1,1,[290,162,76,25]],["add",289,102,1,1,[273,136,76,51]],["add",291,303,1,1,[264,145,76,51]],["add",315,313,1,1,[385,44,30]],["add",309,313,-1,1,[385,74,44,30]],["scale",309,-1,1,[385,74,44,30]],["add",48,98,1,1,[429,74,30]],["add",305,98,-1,1,[385,74,44,30]],["add",32,317,1,1,[385,74,30]],["add",314,317,-1,1,[385,74,44,30]],["scale",314,-1,1,[385,74,44,30]],["add",319,85,1,1,[459,44,30]],["add",307,85,-1,1,[385,74,44,30]],["add",85,98,1,2,[385,74,44,30]],["add",98,85,-1,1,[385,74,44,30]],["add",496,315,1,1,[385,44,30]],["add",496,230,1,1,[385,65,32,18,10,6]],["add",497,48,1,1,[429,74,30]],["add",497,228,1,1,[390,64,32,20,10,1]],["add",498,311,1,1,[385,74,50]],["add",499,306,1,1,[415,84,44]],["add",500,310,1,1,[415,84,50]],["add",501,308,1,1,[385,74,44]],["add",502,312,1,1,[415,74,44]],["add",503,24,1,1,[385,84,50]],["add",504,316,1,1,[385,84,44]],["add",505,318,1,1,[415,74,50]],["add",506,32,1,1,[385,74,30]],["add",305,319,1,1,[391,76,44,30]],["add",331,329,1,1,[321,193,30]],["add",325,329,-1,1,[266,138,75,30]],["scale",325,-1,1,[266,138,75,30]],["add",34,49,1,1,[266,138,30]],["add",321,49,-1,1,[266,138,75,30]],["add",50,333,1,1,[266,193,30]],["add",330,333,-1,1,[266,138,75,30]],["scale",330,-1,1,[266,138,75,30]],["add",335,33,1,1,[321,138,30]],["add",323,33,-1,1,[266,138,75,30]],["add",33,49,1,2,[266,138,75,30]],["add",49,33,-1,1,[266,138,75,30]],["add",508,331,1,1,[321,193,30]],["add",508,450,1,1,[257,129,64,38,18,12]],["add",509,34,1,1,[266,138,30]],["add",509,451,1,1,[257,129,71,33,21,11]],["add",510,327,1,1,[276,138,85]],["add",511,322,1,1,[266,148,85]],["add",512,326,1,1,[266,138,75]],["add",513,324,1,1,[276,148,75]],["add",514,328,1,1,[276,138,75]],["add",515,109,1,1,[266,148,75]],["add",516,332,1,1,[266,138,85]],["add",517,334,1,1,[276,148,85]],["add",518,50,1,1,[266,193,30]],["add",321,335,1,1,[288,138,97,30]],["add",347,345,1,1,[429,70,30]],["add",341,345,-1,1,[416,70,19,13]],["scale",341,-1,1,[416,70,19,13]],["add",82,6,1,1,[416,19,13]],["add",337,6,-1,1,[416,70,19,13]],["add",75,349,1,1,[416,70,30]],["add",346,349,-1,1,[416,70,19,13]],["scale",346,-1,1,[416,70,19,13]],["add",351,1,1,1,[486,19,13]],["add",339,1,-1,1,[416,70,19,13]],["add",520,347,1,1,[429,70,30]],["add",520,232,-2,1,[394,64,32,24,6,1]],["add",521,82,1,1,[416,19,13]],["add",521,7,-2,1,[416,96,18,10,6,1]],["add",522,343,1,1,[416,65,19,7]],["add",523,338,1,1,[435,82,10,7]],["add",524,342,1,1,[426,75,19,7]],["add",525,340,1,1,[416,65,10,7]],["add",526,344,1,1,[416,65,19,10]],["add",527,28,1,1,[423,70,20,13]],["add",528,348,1,1,[423,70,19,10]],["add",529,350,1,1,[416,65,20,13]],["add",530,75,1,1,[416,70,30]],["add",531,351,1,1,[486,19,13]],["add",363,361,1,1,[262,134,30]],["add",357,361,-1,1,[262,134,102,30]],["scale",357,-1,1,[262,134,102,30]],["add",73,83,1,1,[352,224,30]],["add",353,83,-1,1,[262,134,102,30]],["add",84,365,1,1,[262,224,30]],["add",362,365,-1,1,[262,134,102,30]],["scale",362,-1,1,[262,134,102,30]],["add",367,74,1,1,[352,134,30]],["add",355,74,-1,1,[262,134,102,30]],["add",74,83,1,2,[262,134,102,30]],["add",83,74,-1,1,[262,134,102,30]],["add",532,363,1,1,[262,134,30]],["add",532,452,-2,1,[257,129,75,33,25,7]],["add",533,73,1,1,[352,224,30]],["add",533,453,-2,1,[288,160,64,18,11,7]],["add",534,359,1,1,[280,129,120,7]],["add",535,354,1,1,[257,152,120,7]],["add",536,358,1,1,[257,129,97,7]],["add",537,356,1,1,[280,152,97,7]],["add",538,360,1,1,[262,129,102,25]],["add",539,60,1,1,[257,134,102,25]],["add",540,364,1,1,[257,129,97,25]],["add",541,366,1,1,[262,134,97,25]],["add",542,84,1,1,[262,224,30]],["add",543,367,1,1,[352,134,30]],["add",379,377,1,1,[392,37,22]],["add",373,377,-1,1,[392,67,37,22]],["scale",373,-1,1,[392,67,37,22]],["add",67,80,1,1,[414,67,51]],["add",369,80,-1,1,[392,67,37,22]],["add",3,381,1,1,[392,67,51]],["add",378,381,-1,1,[392,67,37,22]],["scale",378,-1,1,[392,67,37,22]],["add",383,88,1,1,[459,37,22]],["add",371,88,-1,1,[392,67,37,22]],["add",88,80,1,2,[392,67,37,22]],["add",80,88,-1,1,[392,67,37,22]],["add",544,379,1,1,[392,37,22]],["add",544,236,-2,1,[392,72,33,17,4,3]],["add",545,67,1,1,[414,67,51]],["add",545,238,-2,1,[401,64,48,8,4,3]],["add",546,375,1,1,[392,67,22]],["add",547,370,1,1,[414,85,37]],["add",548,374,1,1,[429,102,22]],["add",549,372,1,1,[392,67,37]],["add",550,376,1,1,[414,67,37]],["add",551,66,1,1,[392,102,22]],["add",552,380,1,1,[392,85,37]],["add",553,382,1,1,[429,67,22]],["add",554,3,1,1,[392,67,51]],["add",555,383,1,1,[459,37,22]],["add",395,393,1,1,[328,200,51]],["add",389,393,-1,1,[259,131,75,51]],["scale",389,-1,1,[259,131,75,51]],["add",5,68,1,1,[259,131,51]],["add",385,68,-1,1,[259,131,75,51]],["add",69,397,1,1,[259,200,51]],["add",394,397,-1,1,[259,131,75,51]],["scale",394,-1,1,[259,131,75,51]],["add",399,4,1,1,[328,131,51]],["add",387,4,-1,1,[259,131,75,51]],["add",556,395,1,1,[328,200,51]],["add",556,454,-2,1,[264,136,64,33,18,7]],["add",557,5,1,1,[259,131,51]],["add",557,455,-2,1,[259,131,82,51,11,7]],["add",558,391,1,1,[304,131,120]],["add",559,386,1,1,[259,176,120]],["add",560,390,1,1,[259,131,75]],["add",561,388,1,1,[304,176,75]],["add",562,392,1,1,[304,131,75]],["add",563,97,1,1,[259,176,75]],["add",564,396,1,1,[259,131,120]],["add",565,398,1,1,[304,176,120]],["add",566,69,1,1,[259,200,51]],["add",567,399,1,1,[328,131,51]],["add",568,407,1,1,[292,164,75]],["add",569,402,1,1,[265,137,75]],["add",570,406,1,1,[292,137,102]],["add",571,404,1,1,[265,164,102]],["add",572,408,1,1,[292,164,102]],["add",573,105,1,1,[265,137,102]],["add",574,412,1,1,[292,137,75]],["add",575,414,1,1,[265,164,75]],["add",576,423,1,1,[431,100,28]],["add",577,418,1,1,[386,73,49]],["add",578,422,1,1,[414,85,49]],["add",579,420,1,1,[386,73,28]],["add",580,424,1,1,[386,85,49]],["add",581,44,1,1,[431,73,28]],["add",582,428,1,1,[386,100,28]],["add",583,430,1,1,[414,73,49]],["add",584,439,1,1,[268,140,51]],["add",585,434,1,1,[274,146,51]],["add",383,585,-1,2,[260,132,68,37,22,15]],["add",287,434,-1,2,[264,136,72,41,26,7]],["add",586,438,1,1,[289,161,30]],["add",587,436,1,1,[268,140,30]],["add",351,587,-1,2,[257,129,65,39,19,13]],["add",319,436,-1,2,[267,139,75,43,25,7]],["add",588,440,1,1,[268,161,30]],["add",589,46,1,1,[289,140,30]],["add",367,589,1,1,[257,134,65,32,20,10]],["add",335,46,1,1,[288,138,96,24,6,1]],["add",590,444,1,1,[274,140,51]],["add",591,446,1,1,[268,146,51]],["add",399,591,1,1,[260,131,68,34,17,8]],["add",303,446,1,1,[264,145,72,48,4,3]],["add",129,299,-1,2,[273,145,79,51]],["add",212,54,-1,2,[324,196,41,26]],["add",168,554,1,1,[392,64,33,17,3]],["add",150,439,-1,2,[264,136,51,4]],["add",143,555,1,1,[395,64,33,18,4]],["add",152,283,-1,2,[271,145,81,51]],["add",166,100,-1,2,[324,192,41,26]],["add",214,566,1,1,[259,132,76,33,18]],["add",131,444,1,1,[274,136,72,51,4]],["add",167,567,1,1,[260,131,76,33,18]],["add",219,331,-1,2,[321,193,44,30]],["add",160,34,-1,2,[266,138,103,30]],["add",144,530,1,1,[385,70,33,30]],["add",136,586,-1,2,[289,161,64,18,10,6]],["add",197,531,1,1,[390,65,33,19,13]],["add",134,315,-1,2,[321,192,44,30]],["add",146,48,-1,2,[295,138,74,30]],["add",162,542,1,1,[262,193,33,30]],["add",221,588,1,1,[256,161,97,18,10,6]],["add",145,543,1,1,[257,134,64,33,30]],["add",170,363,-1,2,[262,134,107,30]],["add",194,73,-1,2,[352,224,19,13]],["add",187,506,1,1,[385,70,18,12]],["add",140,438,-1,2,[256,128,76,32,30,1]],["add",113,305,1,1,[391,64,32,18,12]],["add",142,347,-1,2,[299,134,70,30]],["add",185,82,-1,2,[352,192,19,13]],["add",196,518,1,1,[262,193,18,12]],["add",172,440,1,1,[268,128,64,32,30,1]],["add",186,321,1,1,[288,134,97,18,12]],["add",207,395,-1,2,[328,200,37,22]],["add",179,5,-1,2,[259,131,93,51]],["add",115,273,1,1,[388,81,48,12,3]],["add",56,439,-1,2,[264,136,81,48,4,3]],["add",200,275,1,1,[391,68,37,22,12]],["add",176,379,-1,2,[328,192,37,22]],["add",117,67,-1,2,[285,131,67,51]],["add",181,289,1,1,[273,132,64,51,12]],["add",102,444,1,1,[273,136,72,48,4,3]],["add",116,291,1,1,[260,145,64,51,12]],["add",283,299,1,1,[271,143,79,45,30]],["add",100,54,1,1,[320,192,41,26,4]],["add",315,331,1,1,[320,192,44,30,1]],["add",48,34,1,1,[266,138,74,45,30]],["add",347,363,1,1,[262,134,70,45,30]],["add",82,73,1,1,[320,192,32,19,13]],["add",379,395,1,1,[320,192,37,22,8]],["add",67,5,1,1,[259,131,67,45,30]],["add",279,311,1,1,[385,72,40,24,5,2]],["add",274,306,1,1,[408,80,40,4,2,1]],["add",295,327,1,1,[273,136,80,40,5,2]],["add",290,322,1,1,[264,145,80,40,5,2]],["add",343,375,1,1,[392,65,40,17,5,2]],["add",338,370,1,1,[401,80,32,8,5,2]],["add",359,391,1,1,[280,129,80,40,5,2]],["add",354,386,1,1,[257,152,80,40,5,2]],["add",278,326,1,1,[266,138,75,42,26,7]],["add",276,324,1,1,[272,144,72,41,4,3]],["add",294,310,1,1,[264,136,75,42,24,7]],["add",292,308,1,1,[272,144,74,42,6,1]],["add",358,374,1,1,[257,129,75,42,17,7]],["add",356,372,1,1,[272,144,67,34,8,7]],["add",342,390,1,1,[259,131,75,42,19,7]],["add",340,388,1,1,[272,144,65,32,10,7]],["add",247,498,1,1,[260,132,74,42,24,1]],["add",242,499,1,1,[258,130,75,42,25,6]],["add",263,512,1,1,[260,132,69,36,23,14]],["add",258,513,1,1,[260,132,66,35,16,9]],["add",344,407,-1,2,[260,132,65,32,19,10]],["add",28,402,-1,2,[260,132,70,39,20,13]],["add",364,423,-1,2,[257,129,75,42,25,5]],["add",366,418,-1,2,[260,132,73,40,25,2]],["add",246,510,1,1,[261,130,68,34,17,8]],["add",244,511,1,1,[258,133,68,34,17,8]],["add",262,500,1,1,[390,68,34,16,8,1]],["add",260,501,1,1,[385,66,34,17,8,6]],["add",360,406,-1,2,[262,129,68,34,17,8]],["add",60,404,-1,2,[257,134,68,34,17,8]],["add",348,422,-1,2,[389,68,32,17,8,2]],["add",350,420,-1,2,[386,65,34,17,8,5]],["add",456,474,1,1,[257,129,72,42,26,4]],["add",457,475,1,1,[257,129,76,41,29,3]],["add",466,488,1,1,[257,129,69,35,23,9]],["add",467,489,1,1,[257,129,66,36,16,14]],["add",376,408,1,1,[257,129,67,37,30]],["add",66,105,1,1,[257,129,102,22,8]],["add",396,428,1,1,[257,129,100,28,2]],["add",398,430,1,1,[257,129,73,47,30]],["add",458,486,1,1,[261,130,65,32,20,10]],["add",459,487,1,1,[258,133,65,32,20,10]],["add",464,476,1,1,[387,65,32,16,10,4]],["add",465,477,1,1,[388,65,32,20,9,3]],["add",392,412,1,1,[292,131,65,20,10]],["add",97,414,1,1,[259,164,65,20,10]],["add",380,424,1,1,[386,65,37,20,10]],["add",382,44,1,1,[421,65,20,8,2]],["add",248,546,-1,2,[288,160,67,17,8,7]],["add",10,547,-1,2,[258,130,75,34,25,7]],["add",268,560,-1,2,[259,131,75,35,25,7]],["add",270,561,-1,2,[288,160,66,16,9,7]],["add",280,568,-1,2,[288,160,72,25,4,3]],["add",38,569,-1,2,[265,137,75,41,25,7]],["add",300,578,-1,2,[264,136,75,40,25,7]],["add",302,579,-1,2,[288,160,73,25,5,2]],["add",252,558,-1,2,[296,130,96,24,6,1]],["add",254,559,-1,2,[258,168,96,24,6,1]],["add",264,548,-1,2,[418,96,16,8,6,1]],["add",79,549,-1,2,[392,66,34,24,6,1]],["add",296,570,-1,2,[290,136,96,24,6,1]],["add",19,571,-1,2,[264,162,96,24,6,1]],["add",284,576,-1,2,[424,96,24,4,2,1]],["add",286,577,-1,2,[386,72,40,24,6,1]],["add",460,522,-1,2,[264,136,65,32,19,7]],["add",461,523,-1,2,[258,130,82,51,10,7]],["add",468,536,-1,2,[257,129,82,51,9,7]],["add",469,537,-1,2,[264,136,66,35,16,7]],["add",312,572,1,1,[264,136,74,44,31]],["add",24,573,1,1,[264,136,84,50,1]],["add",332,580,1,1,[264,136,85,49,2]],["add",334,581,1,1,[264,136,73,47,28]],["add",462,534,-1,2,[280,129,72,48,4,3]],["add",463,535,-1,2,[257,152,72,48,4,3]],["add",470,524,-1,2,[393,72,32,16,4,3]],["add",471,525,-1,2,[400,65,48,9,4,3]],["add",328,574,1,1,[276,137,72,48,3]],["add",109,575,1,1,[265,148,72,48,3]],["add",316,582,1,1,[385,72,44,28,3]],["add",318,583,1,1,[412,72,48,2,1]],["add",478,526,1,1,[388,65,36,16,9,3]],["add",479,527,1,1,[387,66,32,16,9,4]],["add",490,538,1,1,[262,129,66,36,16,9]],["add",491,539,1,1,[257,134,66,36,16,9]],["add",502,550,1,1,[390,66,36,16,8,1]],["add",503,551,1,1,[385,66,34,16,9,6]],["add",514,562,1,1,[260,131,66,36,16,9]],["add",515,563,1,1,[259,148,66,36,9]],["add",480,540,1,1,[257,129,76,45,25,3]],["add",481,541,1,1,[258,130,72,41,25,4]],["add",492,528,1,1,[258,130,70,39,19,10]],["add",493,529,1,1,[258,130,65,32,20,13]],["add",516,552,1,1,[258,130,68,37,17,8]],["add",517,553,1,1,[258,130,67,34,22,15]],["add",504,564,1,1,[258,130,76,44,24,1]],["add",505,565,1,1,[258,130,74,43,25,6]],["add",273,554,1,1,[388,64,33,17,12,3]],["add",275,555,1,1,[387,64,33,18,8,4]],["add",506,530,1,1,[385,70,33,18,12]],["add",305,531,1,1,[390,64,32,18,12,1]],["add",518,542,1,1,[262,193,33,18,12]],["add",321,543,1,1,[257,134,64,33,18,12]],["add",289,566,1,1,[259,132,64,33,18,12]],["add",291,567,1,1,[260,131,64,33,18,12]],["add",592,349,-1,1,[320,192,45,30]],["add",593,349,-1,1,[320,192,45,30]],["add",594,349,1,1,[320,192,45,30]],["add",592,243,1,1,[320,192,45,30]],["add",593,243,-1,1,[320,192,45,30]],["add",596,243,-1,1,[320,192,45,30]],["add",592,365,1,1,[320,192,45,30]],["add",594,365,-1,1,[320,192,45,30]],["add",596,365,-1,1,[320,192,45,30]],["add",593,361,-1,1,[320,192,45,30]],["add",594,361,1,1,[320,192,45,30]],["add",596,361,-1,1,[320,192,45,30]],["add",592,283,1,1,[271,143,79,45,30]],["add",593,100,1,1,[320,192,41,26,4]],["add",594,315,1,1,[320,192,44,30,1]],["add",349,48,1,1,[266,138,74,45,30]],["add",596,347,1,1,[262,134,70,45,30]],["add",243,82,1,1,[320,192,32,19,13]],["add",365,379,1,1,[320,192,37,22,8]],["add",361,67,1,1,[259,131,67,45,30]],["add",600,401,-1,1,[80,40,5,2]],["add",601,401,-1,1,[80,40,5,2]],["add",602,401,1,1,[80,40,5,2]],["add",600,403,1,1,[80,40,5,2]],["add",601,403,-1,1,[80,40,5,2]],["add",604,403,-1,1,[80,40,5,2]],["add",600,606,1,1,[80,40,5,2]],["add",602,606,-1,1,[80,40,5,2]],["add",604,606,-1,1,[80,40,5,2]],["add",601,405,-1,1,[80,40,5,2]],["add",602,405,1,1,[80,40,5,2]],["add",604,405,-1,1,[80,40,5,2]],["add",600,279,1,1,[385,72,40,24,5,2]],["add",601,274,1,1,[408,80,40,4,2,1]],["add",602,295,1,1,[273,136,80,40,5,2]],["add",401,290,1,1,[264,145,80,40,5,2]],["add",604,343,1,1,[392,65,40,17,5,2]],["add",403,338,1,1,[401,80,32,8,5,2]],["add",606,359,1,1,[280,129,80,40,5,2]],["add",405,354,1,1,[257,152,80,40,5,2]],["add",608,410,-1,1,[144,75,42,7]],["add",609,410,-1,1,[144,75,42,7]],["add",610,410,1,1,[144,75,42,7]],["add",608,417,1,1,[144,75,42,7]],["add",609,417,-1,1,[144,75,42,7]],["add",612,417,-1,1,[144,75,42,7]],["add",608,419,1,1,[144,75,42,7]],["add",610,419,-1,1,[144,75,42,7]],["add",612,419,-1,1,[144,75,42,7]],["add",609,421,-1,1,[144,75,42,7]],["add",610,421,1,1,[144,75,42,7]],["add",612,421,-1,1,[144,75,42,7]],["add",608,278,1,1,[266,138,75,42,26,7]],["add",609,276,1,1,[272,144,72,41,4,3]],["add",610,294,1,1,[264,136,75,42,24,7]],["add",410,292,1,1,[272,144,74,42,6,1]],["add",612,358,1,1,[257,129,75,42,17,7]],["add",417,356,1,1,[272,144,67,34,8,7]],["add",419,342,1,1,[259,131,75,42,19,7]],["add",421,340,1,1,[272,144,65,32,10,7]],["scale",68,1,2,[259,131,75,51]],["add",68,4,-1,1,[259,131,75,51]],["add",31,12,1,2,[388,75,41,26]],["add",616,1,-1,1,[260,132,75,51]],["add",617,1,-1,1,[260,132,75,51]],["add",618,1,1,1,[260,132,75,51]],["add",616,4,-2,1,[260,132,75,51]],["add",617,4,2,1,[260,132,75,51]],["add",620,4,-1,1,[260,132,75,51]],["add",616,6,-2,1,[260,132,75,51]],["add",618,6,2,1,[260,132,75,51]],["add",620,6,-1,1,[260,132,75,51]],["add",617,12,2,1,[260,132,75,51]],["add",618,12,-2,1,[260,132,75,51]],["add",620,12,-1,1,[260,132,75,51]],["add",616,247,1,1,[260,132,74,42,24,1]],["add",617,242,1,1,[258,130,75,42,25,6]],["add",618,263,1,1,[260,132,69,36,23,14]],["add",1,258,1,1,[260,132,66,35,16,9]],["add",620,344,1,1,[260,132,65,32,19,10]],["add",4,28,1,1,[260,132,70,39,20,13]],["add",6,364,1,1,[257,129,75,42,25,5]],["add",12,366,1,1,[260,132,73,40,25,2]],["add",624,426,-1,1,[68,34,17,8]],["add",625,426,-1,1,[68,34,17,8]],["add",626,426,1,1,[68,34,17,8]],["add",624,433,-2,1,[68,34,17,8]],["add",625,433,2,1,[68,34,17,8]],["add",628,433,-1,1,[68,34,17,8]],["add",624,435,-2,1,[68,34,17,8]],["add",626,435,2,1,[68,34,17,8]],["add",628,435,-1,1,[68,34,17,8]],["add",625,437,2,1,[68,34,17,8]],["add",626,437,-2,1,[68,34,17,8]],["add",628,437,-1,1,[68,34,17,8]],["add",624,246,1,1,[261,130,68,34,17,8]],["add",625,244,1,1,[258,133,68,34,17,8]],["add",626,262,1,1,[390,68,34,16,8,1]],["add",426,260,1,1,[385,66,34,17,8,6]],["add",628,360,1,1,[262,129,68,34,17,8]],["add",433,60,1,1,[257,134,68,34,17,8]],["add",435,348,1,1,[389,68,32,17,8,2]],["add",437,350,1,1,[386,65,34,17,8,5]],["add",632,635,-1,1,[257,129,102,30]],["add",633,635,-1,1,[257,129,102,30]],["add",634,635,1,1,[257,129,102,30]],["add",632,637,-2,1,[257,129,102,30]],["add",633,637,2,1,[257,129,102,30]],["add",636,637,-1,1,[257,129,102,30]],["add",632,638,-2,1,[257,129,102,30]],["add",634,638,2,1,[257,129,102,30]],["add",636,638,-1,1,[257,129,102,30]],["add",633,639,2,1,[257,129,102,30]],["add",634,639,-2,1,[257,129,102,30]],["add",636,639,-1,1,[257,129,102,30]],["add",632,456,1,1,[257,129,72,42,26,4]],["add",633,457,1,1,[257,129,76,41,29,3]],["add",634,466,1,1,[257,129,69,35,23,9]],["add",635,467,1,1,[257,129,66,36,16,14]],["add",636,376,1,1,[257,129,67,37,30]],["add",637,66,1,1,[257,129,102,22,8]],["add",638,396,1,1,[257,129,100,28,2]],["add",639,398,1,1,[257,129,73,47,30]],["add",640,250,-1,1,[423,65,20,10]],["add",641,250,-1,1,[423,65,20,10]],["add",642,250,1,1,[423,65,20,10]],["add",640,266,-2,1,[423,65,20,10]],["add",641,266,2,1,[423,65,20,10]],["add",644,266,-1,1,[423,65,20,10]],["add",640,259,-2,1,[423,65,20,10]],["add",642,259,2,1,[423,65,20,10]],["add",644,259,-1,1,[423,65,20,10]],["add",641,261,2,1,[423,65,20,10]],["add",642,261,-2,1,[423,65,20,10]],["add",644,261,-1,1,[423,65,20,10]],["add",640,458,1,1,[261,130,65,32,20,10]],["add",641,459,1,1,[258,133,65,32,20,10]],["add",642,464,1,1,[387,65,32,16,10,4]],["add",250,465,1,1,[388,65,32,20,9,3]],["add",644,392,1,1,[292,131,65,20,10]],["add",266,97,1,1,[259,164,65,20,10]],["add",259,380,1,1,[386,65,37,20,10]],["add",261,382,1,1,[421,65,20,8,2]],["add",648,530,-1,1,[288,160,75,25,7]],["add",649,530,-1,1,[288,160,75,25,7]],["add",650,530,1,1,[288,160,75,25,7]],["add",648,563,1,1,[288,160,75,25,7]],["add",649,563,-1,1,[288,160,75,25,7]],["add",652,563,-1,1,[288,160,75,25,7]],["add",648,542,1,1,[288,160,75,25,7]],["add",650,542,-1,1,[288,160,75,25,7]],["add",652,542,-1,1,[288,160,75,25,7]],["add",649,442,-1,1,[288,160,75,25,7]],["add",650,442,1,1,[288,160,75,25,7]],["add",652,442,-1,1,[288,160,75,25,7]],["add",648,248,1,1,[288,160,67,17,8,7]],["add",649,10,1,1,[258,130,75,34,25,7]],["add",650,268,1,1,[259,131,75,35,25,7]],["add",530,270,1,1,[288,160,66,16,9,7]],["add",652,280,1,1,[288,160,72,25,4,3]],["add",563,38,1,1,[265,137,75,41,25,7]],["add",542,300,1,1,[264,136,75,40,25,7]],["add",442,302,1,1,[288,160,73,25,5,2]],["add",656,333,-1,1,[427,96,24,6]],["add",657,333,-1,1,[427,96,24,6]],["add",658,333,1,1,[427,96,24,6]],["add",656,317,1,1,[427,96,24,6]],["add",657,317,-1,1,[427,96,24,6]],["add",660,317,-1,1,[427,96,24,6]],["add",656,257,1,1,[427,96,24,6]],["add",658,257,-1,1,[427,96,24,6]],["add",660,257,-1,1,[427,96,24,6]],["add",657,245,-1,1,[427,96,24,6]],["add",658,245,1,1,[427,96,24,6]],["add",660,245,-1,1,[427,96,24,6]],["add",656,252,1,1,[296,130,96,24,6,1]],["add",657,254,1,1,[258,168,96,24,6,1]],["add",658,264,1,1,[418,96,16,8,6,1]],["add",333,79,1,1,[392,66,34,24,6,1]],["add",660,296,1,1,[290,136,96,24,6,1]],["add",317,19,1,1,[264,162,96,24,6,1]],["add",257,284,1,1,[424,96,24,4,2,1]],["add",245,286,1,1,[386,72,40,24,6,1]],["add",664,460,1,1,[264,136,65,32,19,7]],["add",665,461,1,1,[258,130,82,51,10,7]],["add",666,468,1,1,[257,129,82,51,9,7]],["add",667,469,1,1,[264,136,66,35,16,7]],["add",668,312,1,1,[264,136,74,44,31]],["add",669,24,1,1,[264,136,84,50,1]],["add",670,332,1,1,[264,136,85,49,2]],["add",671,334,1,1,[264,136,73,47,28]],["add",672,241,-1,1,[413,72,48,3]],["add",673,241,-1,1,[413,72,48,3]],["add",674,241,1,1,[413,72,48,3]],["add",672,234,1,1,[413,72,48,3]],["add",673,234,-1,1,[413,72,48,3]],["add",676,234,-1,1,[413,72,48,3]],["add",672,229,1,1,[413,72,48,3]],["add",674,229,-1,1,[413,72,48,3]],["add",676,229,-1,1,[413,72,48,3]],["add",673,227,-1,1,[413,72,48,3]],["add",674,227,1,1,[413,72,48,3]],["add",676,227,-1,1,[413,72,48,3]],["add",672,462,1,1,[280,129,72,48,4,3]],["add",673,463,1,1,[257,152,72,48,4,3]],["add",674,470,1,1,[393,72,32,16,4,3]],["add",241,471,1,1,[400,65,48,9,4,3]],["add",676,328,1,1,[276,137,72,48,3]],["add",234,109,1,1,[265,148,72,48,3]],["add",229,316,1,1,[385,72,44,28,3]],["add",227,318,1,1,[412,72,48,2,1]],["add",49,285,-1,1,[407,66,36,9]],["add",83,285,-1,1,[407,66,36,9]],["add",98,285,1,1,[407,66,36,9]],["add",49,225,1,1,[407,66,36,9]],["add",83,225,-1,1,[407,66,36,9]],["add",101,225,-1,1,[407,66,36,9]],["add",49,281,1,1,[407,66,36,9]],["add",98,281,-1,1,[407,66,36,9]],["add",101,281,-1,1,[407,66,36,9]],["add",83,393,-1,1,[407,66,36,9]],["add",98,393,1,1,[407,66,36,9]],["add",101,393,-1,1,[407,66,36,9]],["add",49,478,1,1,[388,65,36,16,9,3]],["add",83,479,1,1,[387,66,32,16,9,4]],["add",98,490,1,1,[262,129,66,36,16,9]],["add",285,491,1,1,[257,134,66,36,16,9]],["add",101,502,1,1,[390,66,36,16,8,1]],["add",225,503,1,1,[385,66,34,16,9,6]],["add",281,514,1,1,[260,131,66,36,16,9]],["add",393,515,1,1,[259,148,66,36,9]],["add",68,397,-1,1,[258,130,85,45]],["add",80,397,-1,1,[258,130,85,45]],["add",88,397,1,1,[258,130,85,45]],["add",68,377,1,1,[258,130,85,45]],["add",80,377,-1,1,[258,130,85,45]],["add",31,377,-1,1,[258,130,85,45]],["add",68,381,1,1,[258,130,85,45]],["add",88,381,-1,1,[258,130,85,45]],["add",31,381,-1,1,[258,130,85,45]],["add",80,345,-1,1,[258,130,85,45]],["add",88,345,1,1,[258,130,85,45]],["add",31,345,-1,1,[258,130,85,45]],["add",68,480,1,1,[257,129,76,45,25,3]],["add",80,481,1,1,[258,130,72,41,25,4]],["add",88,492,1,1,[258,130,70,39,19,10]],["add",397,493,1,1,[258,130,65,32,20,13]],["add",31,516,1,1,[258,130,68,37,17,8]],["add",377,517,1,1,[258,130,67,34,22,15]],["add",381,504,1,1,[258,130,76,44,24,1]],["add",345,505,1,1,[258,130,74,43,25,6]],["add",33,301,-1,1,[455,33,18,12]],["add",55,301,-1,1,[455,33,18,12]],["add",74,301,1,1,[455,33,18,12]],["add",33,329,1,1,[455,33,18,12]],["add",55,329,-1,1,[455,33,18,12]],["add",85,329,-1,1,[455,33,18,12]],["add",33,297,1,1,[455,33,18,12]],["add",74,297,-1,1,[455,33,18,12]],["add",85,297,-1,1,[455,33,18,12]],["add",55,313,-1,1,[455,33,18,12]],["add",74,313,1,1,[455,33,18,12]],["add",85,313,-1,1,[455,33,18,12]],["add",33,273,1,1,[388,64,33,17,12,3]],["add",55,275,1,1,[387,64,33,18,8,4]],["add",74,506,1,1,[385,70,33,18,12]],["add",301,305,1,1,[390,64,32,18,12,1]],["add",85,518,1,1,[262,193,33,18,12]],["add",329,321,1,1,[257,134,64,33,18,12]],["add",297,289,1,1,[259,132,64,33,18,12]],["add",313,291,1,1,[260,131,64,33,18,12]],["add",215,484,-1,2,[260,132,68,37,21,12,3]],["add",129,448,-1,2,[256,128,67,34,17,8,4]],["add",124,485,-1,2,[256,128,64,33,18,11,4]],["add",212,449,-1,2,[260,132,64,33,17,8,3]],["add",168,584,-1,2,[260,132,64,33,17,8,3]],["add",150,3,1,1,[256,128,67,34,17,8,4]],["add",143,585,-1,2,[256,128,64,33,18,11,4]],["add",189,383,1,1,[260,132,68,37,21,12,3]],["add",130,472,-1,2,[256,131,64,34,17,8,4]],["add",152,231,-1,2,[259,128,64,34,17,8,4]],["add",213,473,-1,2,[260,128,68,33,17,8,3]],["add",166,226,-1,2,[256,132,68,33,17,8,3]],["add",214,590,1,1,[256,132,68,33,17,8,3]],["add",131,69,1,1,[259,128,64,34,17,8,4]],["add",167,591,1,1,[260,128,68,33,17,8,3]],["add",151,399,1,1,[256,131,64,34,17,8,4]],["add",157,508,-1,2,[256,128,64,38,18,12,1]],["add",219,450,-1,2,[257,129,64,32,18,10,6]],["add",210,509,-1,2,[257,129,65,33,19,11,6]],["add",160,451,-1,2,[256,128,70,32,20,10,1]],["add",144,438,-1,2,[256,128,70,32,20,10,1]],["add",136,75,1,1,[257,129,64,32,18,10,6]],["add",197,587,-1,2,[257,129,65,33,19,11,6]],["add",147,351,1,1,[256,128,64,38,18,12,1]],["add",220,496,-1,2,[257,128,65,32,18,10,6]],["add",134,230,-1,2,[256,129,65,32,18,10,6]],["add",161,497,-1,2,[256,134,64,32,20,10,1]],["add",146,228,-1,2,[262,128,64,32,20,10,1]],["add",162,440,1,1,[262,128,64,32,20,10,1]],["add",221,84,1,1,[256,129,65,32,18,10,6]],["add",145,589,1,1,[256,134,64,32,20,10,1]],["add",135,367,1,1,[257,128,65,32,18,10,6]],["add",205,532,-1,2,[257,129,65,33,19,10,7]],["add",170,452,1,1,[256,128,74,32,24,6,1]],["add",118,533,-1,2,[256,128,64,32,18,11,7]],["add",194,453,1,1,[288,160,64,18,10,6,1]],["add",187,586,-1,2,[288,160,64,18,10,6,1]],["add",140,32,1,1,[256,128,74,32,24,6,1]],["add",113,436,-1,2,[256,128,64,32,18,11,7]],["add",198,319,1,1,[257,129,65,33,19,10,7]],["add",171,520,-1,2,[256,138,64,32,24,6,1]],["add",142,232,1,1,[266,128,64,32,24,6,1]],["add",195,521,-1,2,[288,128,96,18,10,6,1]],["add",185,7,1,1,[256,160,96,18,10,6,1]],["add",196,588,1,1,[256,160,96,18,10,6,1]],["add",172,50,1,1,[266,128,64,32,24,6,1]],["add",186,46,1,1,[288,128,96,18,10,6,1]],["add",141,335,1,1,[256,138,64,32,24,6,1]],["add",120,556,-1,2,[256,128,64,33,18,8,7]],["add",207,454,1,1,[264,136,64,33,17,4,3]],["add",192,557,-1,2,[259,131,67,34,17,11,7]],["add",179,455,1,1,[256,128,81,48,8,4,3]],["add",115,439,-1,2,[256,128,81,48,8,4,3]],["add",178,56,1,1,[264,136,64,33,17,4,3]],["add",200,434,-1,2,[259,131,67,34,17,11,7]],["add",138,287,1,1,[256,128,64,33,18,8,7]],["add",208,544,-1,2,[264,128,72,33,17,4,3]],["add",176,236,1,1,[256,136,72,33,17,4,3]],["add",180,545,-1,2,[256,145,64,48,8,4,3]],["add",117,238,1,1,[273,128,64,48,8,4,3]],["add",181,444,1,1,[273,128,64,48,8,4,3]],["add",209,102,1,1,[256,136,72,33,17,4,3]],["add",116,446,1,1,[256,145,64,48,8,4,3]],["add",177,303,1,1,[264,128,72,33,17,4,3]],["add",169,119,1,1,[256,128,64,40,25,5,2]],["add",119,169,-1,2,[256,128,64,40,25,5,2]],["scale",119,-2,1,[256,128,64,32,17,8,5,2]],["add",112,139,1,1,[256,128,64,35,16,9,7]],["add",139,112,-1,2,[256,128,64,35,16,9,7]],["scale",139,-2,1,[256,128,64,34,16,8,6,1]],["add",204,193,1,1,[258,130,66,33,18,11,7]],["add",193,204,-1,2,[258,130,66,33,18,11,7]],["scale",193,-2,1,[258,130,66,32,18,10,6,1]],["add",188,199,1,1,[320,192,33,16,9,5,2]],["add",199,188,-1,2,[320,192,33,16,9,5,2]],["scale",199,-2,1,[257,129,65,33,16,9,5,2]],["add",174,122,1,1,[256,137,64,40,16,5,2]],["add",122,174,-1,2,[256,137,64,40,16,5,2]],["scale",122,-2,1,[256,129,64,32,16,8,5,2]],["add",182,203,1,1,[256,144,80,33,9,5,2]],["add",203,182,-1,2,[256,144,80,33,9,5,2]],["scale",203,-2,1,[256,129,65,33,17,9,5,2]],["add",175,123,1,1,[265,128,64,40,16,5,2]],["add",123,175,-1,2,[265,128,64,40,16,5,2]],["scale",123,-2,1,[257,128,64,32,16,8,5,2]],["add",183,202,1,1,[272,128,80,33,9,5,2]],["add",202,183,-1,2,[272,128,80,33,9,5,2]],["scale",202,-2,1,[257,128,65,33,17,9,5,2]],["add",206,191,1,1,[258,130,66,35,18,9,7]],["add",191,206,-1,2,[258,130,66,35,18,9,7]],["scale",191,-2,1,[258,130,66,34,18,8,6,1]],["add",184,201,1,1,[272,144,64,33,9,5,2]],["add",201,184,-1,2,[272,144,64,33,9,5,2]],["scale",201,-2,1,[257,129,64,33,17,9,5,2]],["add",173,121,1,1,[256,128,73,40,16,5,2]],["add",121,173,-1,2,[256,128,73,40,16,5,2]],["scale",121,-2,1,[256,128,65,32,16,8,5,2]],["add",114,137,1,1,[256,128,64,33,16,11,7]],["add",137,114,-1,2,[256,128,64,33,16,11,7]],["scale",137,-2,1,[256,128,64,32,16,10,6,1]],["add",129,150,1,1,[256,128,67,34,17,8,4]],["add",150,129,-1,2,[256,128,67,34,17,8,4]],["scale",150,-2,1,[256,128,66,34,16,8,4,1]],["add",124,143,1,1,[256,128,64,33,18,11,4]],["add",143,124,-1,2,[256,128,64,33,18,11,4]],["scale",143,-2,1,[256,128,64,32,18,10,4,1]],["add",215,189,1,1,[260,132,68,37,21,12,3]],["add",189,215,-1,2,[260,132,68,37,21,12,3]],["scale",189,-2,1,[260,132,68,36,20,12,2,1]],["add",212,168,1,1,[260,132,64,33,17,8,3]],["add",168,212,-1,2,[260,132,64,33,17,8,3]],["scale",168,-2,1,[260,132,64,32,16,8,2,1]],["add",152,131,1,1,[259,128,64,34,17,8,4]],["add",131,152,-1,2,[259,128,64,34,17,8,4]],["scale",131,-2,1,[257,128,64,32,17,8,4,2]],["add",213,167,1,1,[260,128,68,33,17,8,3]],["add",167,213,-1,2,[260,128,68,33,17,8,3]],["scale",167,-2,1,[260,128,68,32,16,8,2,1]],["add",130,151,1,1,[256,131,64,34,17,8,4]],["add",151,130,-1,2,[256,131,64,34,17,8,4]],["scale",151,-2,1,[256,130,64,34,16,8,4,1]],["add",166,214,1,1,[256,132,68,33,17,8,3]],["add",214,166,-1,2,[256,132,68,33,17,8,3]],["scale",214,-2,1,[256,129,65,33,17,8,5,3]],["add",219,136,1,1,[257,129,64,32,18,10,6]],["add",136,219,-1,2,[257,129,64,32,18,10,6]],["scale",136,-2,1,[257,129,64,32,16,8,4,2]],["add",210,197,1,1,[257,129,65,33,19,11,6]],["add",197,210,-1,2,[257,129,65,33,19,11,6]],["scale",197,-2,1,[257,129,65,33,17,9,4,2]],["add",157,147,1,1,[256,128,64,38,18,12,1]],["add",147,157,-1,2,[256,128,64,38,18,12,1]],["scale",147,-2,1,[256,128,64,34,18,8,4,1]],["add",160,144,1,1,[256,128,70,32,20,10,1]],["add",144,160,-1,2,[256,128,70,32,20,10,1]],["scale",144,-2,1,[256,128,66,32,16,10,4,1]],["add",134,221,1,1,[256,129,65,32,18,10,6]],["add",221,134,-1,2,[256,129,65,32,18,10,6]],["scale",221,-2,1,[256,129,65,32,17,9,5,3]],["add",161,145,1,1,[256,134,64,32,20,10,1]],["add",145,161,-1,2,[256,134,64,32,20,10,1]],["scale",145,-2,1,[256,130,64,32,16,10,4,1]],["add",220,135,1,1,[257,128,65,32,18,10,6]],["add",135,220,-1,2,[257,128,65,32,18,10,6]],["scale",135,-2,1,[257,128,65,32,16,8,4,2]],["add",146,162,1,1,[262,128,64,32,20,10,1]],["add",162,146,-1,2,[262,128,64,32,20,10,1]],["scale",162,-2,1,[260,128,64,32,20,8,2,1]],["add",170,140,1,1,[256,128,74,32,24,6,1]],["add",140,170,-1,2,[256,128,74,32,24,6,1]],["scale",140,-2,1,[256,128,66,32,16,8,6,1]],["add",118,113,1,1,[256,128,64,32,18,11,7]],["add",113,118,-1,2,[256,128,64,32,18,11,7]],["scale",113,-2,1,[256,128,64,32,17,8,4,3]],["add",205,198,1,1,[257,129,65,33,19,10,7]],["add",198,205,-1,2,[257,129,65,33,19,10,7]],["scale",198,-2,1,[257,129,65,33,17,8,5,2]],["add",194,187,1,1,[288,160,64,18,10,6,1]],["add",187,194,-1,2,[288,160,64,18,10,6,1]],["scale",187,-2,1,[288,160,64,16,8,4,2,1]],["add",142,172,1,1,[266,128,64,32,24,6,1]],["add",172,142,-1,2,[266,128,64,32,24,6,1]],["scale",172,-2,1,[264,128,64,32,24,4,2,1]],["add",195,186,1,1,[288,128,96,18,10,6,1]],["add",186,195,-1,2,[288,128,96,18,10,6,1]],["scale",186,-2,1,[288,128,96,16,8,4,2,1]],["add",171,141,1,1,[256,138,64,32,24,6,1]],["add",141,171,-1,2,[256,138,64,32,24,6,1]],["scale",141,-2,1,[256,130,64,32,16,8,6,1]],["add",185,196,1,1,[256,160,96,18,10,6,1]],["add",196,185,-1,2,[256,160,96,18,10,6,1]],["scale",196,-2,1,[256,130,66,34,18,10,6,1]],["add",207,178,1,1,[264,136,64,33,17,4,3]],["add",178,207,-1,2,[264,136,64,33,17,4,3]],["scale",178,-2,1,[264,136,64,32,16,4,2,1]],["add",192,200,1,1,[259,131,67,34,17,11,7]],["add",200,192,-1,2,[259,131,67,34,17,11,7]],["scale",200,-2,1,[257,129,65,32,17,9,5,2]],["add",120,138,1,1,[256,128,64,33,18,8,7]],["add",138,120,-1,2,[256,128,64,33,18,8,7]],["scale",138,-2,1,[256,128,64,32,18,8,6,1]],["add",179,115,1,1,[256,128,81,48,8,4,3]],["add",115,179,-1,2,[256,128,81,48,8,4,3]],["scale",115,-2,1,[256,128,65,32,16,8,4,3]],["add",176,209,1,1,[256,136,72,33,17,4,3]],["add",209,176,-1,2,[256,136,72,33,17,4,3]],["scale",209,-2,1,[256,129,65,33,17,9,4,3]],["add",180,116,1,1,[256,145,64,48,8,4,3]],["add",116,180,-1,2,[256,145,64,48,8,4,3]],["scale",116,-2,1,[256,129,64,32,16,8,4,3]],["add",208,177,1,1,[264,128,72,33,17,4,3]],["add",177,208,-1,2,[264,128,72,33,17,4,3]],["scale",177,-2,1,[264,128,72,32,16,4,2,1]],["add",117,181,1,1,[273,128,64,48,8,4,3]],["add",181,117,-1,2,[273,128,64,48,8,4,3]],["scale",181,-2,1,[272,128,64,48,8,4,2,1]],["add",154,217,1,1,[258,128,66,33,16,9,5]],["add",217,154,-1,2,[258,128,66,33,16,9,5]],["scale",217,-2,1,[257,128,65,33,16,9,5,3]],["add",127,165,1,1,[261,128,64,36,16,9,2]],["add",165,127,-1,2,[261,128,64,36,16,9,2]],["scale",165,-2,1,[260,128,64,36,16,8,2,1]],["add",153,218,1,1,[256,130,66,33,16,9,5]],["add",218,153,-1,2,[256,130,66,33,16,9,5]],["scale",218,-2,1,[256,129,65,33,16,9,5,3]],["add",126,164,1,1,[256,133,64,36,16,9,2]],["add",164,126,-1,2,[256,133,64,36,16,9,2]],["scale",164,-2,1,[256,132,64,36,16,8,2,1]],["add",128,156,1,1,[256,128,64,33,21,12,2]],["add",156,128,-1,2,[256,128,64,33,21,12,2]],["scale",156,-2,1,[256,128,64,32,20,12,2,1]],["add",125,163,1,1,[256,128,69,36,16,9,2]],["add",163,125,-1,2,[256,128,69,36,16,9,2]],["scale",163,-2,1,[256,128,68,36,16,8,2,1]],["add",155,216,1,1,[258,130,64,33,16,9,5]],["add",216,155,-1,2,[258,130,64,33,16,9,5]],["scale",216,-2,1,[257,129,64,33,16,9,5,3]],["add",190,211,1,1,[258,130,66,35,18,11,5]],["add",211,190,-1,2,[258,130,66,35,18,11,5]],["scale",211,-2,1,[257,129,65,32,17,8,5,3]],["add",132,158,1,1,[256,133,64,33,16,12,2]],["add",158,132,-1,2,[256,133,64,33,16,12,2]],["scale",158,-2,1,[256,132,64,32,16,12,2,1]],["add",148,223,1,1,[256,130,64,33,18,9,5]],["add",223,148,-1,2,[256,130,64,33,18,9,5]],["scale",223,-2,1,[256,129,64,33,17,9,5,3]],["add",149,222,1,1,[258,128,64,33,18,9,5]],["add",222,149,-1,2,[258,128,64,33,18,9,5]],["scale",222,-2,1,[257,128,64,33,17,9,5,3]],["add",133,159,1,1,[261,128,64,33,16,12,2]],["add",159,133,-1,2,[261,128,64,33,16,12,2]],["scale",159,-2,1,[260,128,64,32,16,12,2,1]],["add",283,379,1,1,[256,128,64,34,17,8,7]],["add",379,283,-1,2,[256,128,64,34,17,8,7]],["add",139,283,-1,2,[256,128,64,34,16,8,6,1]],["add",119,379,1,1,[256,128,64,32,17,8,5,2]],["add",100,67,1,1,[256,128,64,41,25,4,3]],["add",67,100,-1,2,[256,128,64,41,25,4,3]],["add",112,100,-1,2,[256,128,64,32,16,9,4,3]],["add",169,67,1,1,[256,128,64,40,24,4,2,1]],["add",315,347,1,1,[256,128,64,42,24,6,1]],["add",347,315,-1,2,[256,128,64,42,24,6,1]],["add",139,315,-1,2,[256,128,64,34,16,8,6,1]],["add",169,347,1,1,[256,128,64,40,24,4,2,1]],["add",48,82,1,1,[256,128,64,32,19,10,7]],["add",82,48,-1,2,[256,128,64,32,19,10,7]],["add",112,48,-1,2,[256,128,64,32,16,9,4,3]],["add",119,82,1,1,[256,128,64,32,17,8,5,2]],["add",592,361,1,1,[259,131,67,33,18,11,7]],["add",361,592,-1,2,[259,131,67,33,18,11,7]],["add",199,592,-1,2,[257,129,65,33,16,9,5,2]],["add",193,361,1,1,[258,130,66,32,18,10,6,1]],["add",593,365,1,1,[320,192,33,17,8,4,3]],["add",365,593,-1,2,[320,192,33,17,8,4,3]],["add",188,593,-1,2,[320,192,32,16,8,4,2,1]],["add",204,365,1,1,[257,129,65,33,17,8,4,3]],["add",594,243,1,1,[320,192,32,18,10,6,1]],["add",243,594,-1,2,[320,192,32,18,10,6,1]],["add",188,594,-1,2,[320,192,32,16,8,4,2,1]],["add",193,243,1,1,[258,130,66,32,18,10,6,1]],["add",349,596,1,1,[257,129,65,33,18,11,7]],["add",596,349,-1,2,[257,129,65,33,18,11,7]],["add",199,349,-1,2,[257,129,65,33,16,9,5,2]],["add",204,596,1,1,[257,129,65,33,17,8,4,3]],["add",279,359,1,1,[256,129,72,40,24,5,2]],["add",359,279,-1,2,[256,129,72,40,24,5,2]],["add",203,279,-1,2,[256,129,65,33,17,9,5,2]],["add",122,359,1,1,[256,129,64,32,16,8,5,2]],["add",274,354,1,1,[256,152,80,40,4,2,1]],["add",354,274,-1,2,[256,152,80,40,4,2,1]],["add",182,274,-1,2,[256,144,80,32,8,4,2,1]],["add",174,354,1,1,[256,136,64,40,16,4,2,1]],["add",295,343,1,1,[256,136,65,40,17,5,2]],["add",343,295,-1,2,[256,136,65,40,17,5,2]],["add",203,295,-1,2,[256,129,65,33,17,9,5,2]],["add",174,343,1,1,[256,136,64,40,16,4,2,1]],["add",290,338,1,1,[256,145,80,32,8,5,2]],["add",338,290,-1,2,[256,145,80,32,8,5,2]],["add",182,290,-1,2,[256,144,80,32,8,4,2,1]],["add",122,338,1,1,[256,129,64,32,16,8,5,2]],["add",600,405,1,1,[257,128,72,40,24,5,2]],["add",405,600,-1,2,[257,128,72,40,24,5,2]],["add",202,600,-1,2,[257,128,65,33,17,9,5,2]],["add",123,405,1,1,[257,128,64,32,16,8,5,2]],["add",601,606,1,1,[280,128,80,40,4,2,1]],["add",606,601,-1,2,[280,128,80,40,4,2,1]],["add",183,601,-1,2,[272,128,80,32,8,4,2,1]],["add",175,606,1,1,[264,128,64,40,16,4,2,1]],["add",602,403,1,1,[273,128,80,32,8,5,2]],["add",403,602,-1,2,[273,128,80,32,8,5,2]],["add",183,602,-1,2,[272,128,80,32,8,4,2,1]],["add",123,403,1,1,[257,128,64,32,16,8,5,2]],["add",401,604,1,1,[264,128,65,40,17,5,2]],["add",604,401,-1,2,[264,128,65,40,17,5,2]],["add",202,401,-1,2,[257,128,65,33,17,9,5,2]],["add",175,604,1,1,[264,128,64,40,16,4,2,1]],["add",278,342,1,1,[259,131,66,35,19,9,7]],["add",342,278,-1,2,[259,131,66,35,19,9,7]],["add",201,278,-1,2,[257,129,64,33,17,9,5,2]],["add",191,342,1,1,[258,130,66,34,18,8,6,1]],["add",276,340,1,1,[272,144,65,32,9,4,3]],["add",340,276,-1,2,[272,144,65,32,9,4,3]],["add",184,276,-1,2,[272,144,64,32,8,4,2,1]],["add",206,340,1,1,[257,129,65,32,17,9,4,3]],["add",294,358,1,1,[257,129,66,35,17,9,7]],["add",358,294,-1,2,[257,129,66,35,17,9,7]],["add",201,294,-1,2,[257,129,64,33,17,9,5,2]],["add",206,358,1,1,[257,129,65,32,17,9,4,3]],["add",292,356,1,1,[272,144,66,34,8,6,1]],["add",356,292,-1,2,[272,144,66,34,8,6,1]],["add",184,292,-1,2,[272,144,64,32,8,4,2,1]],["add",191,356,1,1,[258,130,66,34,18,8,6,1]],["add",608,421,1,1,[256,128,65,32,16,10,7]],["add",421,608,-1,2,[256,128,65,32,16,10,7]],["add",137,608,-1,2,[256,128,64,32,16,10,6,1]],["add",121,421,1,1,[256,128,65,32,16,8,5,2]],["add",609,419,1,1,[256,128,72,41,16,4,3]],["add",419,609,-1,2,[256,128,72,41,16,4,3]],["add",114,609,-1,2,[256,128,64,33,16,8,4,3]],["add",173,419,1,1,[256,128,72,40,16,4,2,1]],["add",610,417,1,1,[256,128,67,34,16,8,7]],["add",417,610,-1,2,[256,128,67,34,16,8,7]],["add",114,610,-1,2,[256,128,64,33,16,8,4,3]],["add",121,417,1,1,[256,128,65,32,16,8,5,2]],["add",410,612,1,1,[256,128,74,42,16,6,1]],["add",612,410,-1,2,[256,128,74,42,16,6,1]],["add",137,410,-1,2,[256,128,64,32,16,10,6,1]],["add",173,612,1,1,[256,128,72,40,16,4,2,1]],["add",247,364,-2,1,[256,128,74,42,24,4,1]],["add",364,247,1,4,[256,128,74,42,24,4,1]],["add",143,247,-1,2,[256,128,64,32,18,10,4,1]],["add",150,364,-2,1,[256,128,66,34,16,8,4,1]],["add",242,366,-2,1,[256,128,73,40,25,4,2]],["add",366,242,1,4,[256,128,73,40,25,4,2]],["add",124,242,-1,2,[256,128,64,33,16,9,4,2]],["add",129,366,-2,1,[256,128,65,32,17,8,4,2]],["add",263,344,-2,1,[256,128,65,32,19,10,4]],["add",344,263,1,4,[256,128,65,32,19,10,4]],["add",143,263,-1,2,[256,128,64,32,18,10,4,1]],["add",129,344,-2,1,[256,128,65,32,17,8,4,2]],["add",258,28,-2,1,[256,128,66,35,16,9,4]],["add",28,258,1,4,[256,128,66,35,16,9,4]],["add",124,258,-1,2,[256,128,64,33,16,9,4,2]],["add",150,28,-2,1,[256,128,66,34,16,8,4,1]],["add",616,12,-2,1,[260,132,72,40,24,2,1]],["add",12,616,1,4,[260,132,72,40,24,2,1]],["add",168,616,-1,2,[260,132,64,32,16,8,2,1]],["add",189,12,-2,1,[260,132,68,36,20,12,2,1]],["add",617,6,-2,1,[257,129,72,41,25,5,3]],["add",6,617,1,4,[257,129,72,41,25,5,3]],["add",212,617,-1,2,[257,129,64,33,17,8,5,3]],["add",215,6,-2,1,[257,129,65,32,16,9,5,3]],["add",618,4,-2,1,[260,132,69,36,20,13,3]],["add",4,618,1,4,[260,132,69,36,20,13,3]],["add",212,618,-1,2,[257,129,64,33,17,8,5,3]],["add",189,4,-2,1,[260,132,68,36,20,12,2,1]],["add",1,620,-2,1,[260,132,65,32,16,9,3]],["add",620,1,1,4,[260,132,65,32,16,9,3]],["add",168,1,-1,2,[260,132,64,32,16,8,2,1]],["add",215,620,-2,1,[257,129,65,32,16,9,5,3]],["add",246,348,-2,1,[261,128,68,32,17,8,2]],["add",348,246,1,4,[261,128,68,32,17,8,2]],["add",167,246,-1,2,[260,128,68,32,16,8,2,1]],["add",131,348,-2,1,[257,128,64,32,17,8,4,2]],["add",244,350,-2,1,[258,128,65,34,17,8,5]],["add",350,244,1,4,[258,128,65,34,17,8,5]],["add",213,244,-1,2,[257,128,65,33,17,8,5,3]],["add",152,350,-2,1,[258,128,64,34,16,8,4,1]],["add",262,360,-2,1,[262,128,68,34,16,8,1]],["add",360,262,1,4,[262,128,68,34,16,8,1]],["add",167,262,-1,2,[260,128,68,32,16,8,2,1]],["add",152,360,-2,1,[258,128,64,34,16,8,4,1]],["add",260,60,-2,1,[257,128,66,34,17,8,6]],["add",60,260,1,4,[257,128,66,34,17,8,6]],["add",213,260,-1,2,[257,128,65,33,17,8,5,3]],["add",131,60,-2,1,[257,128,64,32,17,8,4,2]],["add",624,437,-2,1,[256,130,65,34,17,8,5]],["add",437,624,1,4,[256,130,65,34,17,8,5]],["add",214,624,-1,2,[256,129,65,33,17,8,5,3]],["add",151,437,-2,1,[256,130,64,34,16,8,4,1]],["add",625,435,-2,1,[256,133,68,32,17,8,2]],["add",435,625,1,4,[256,133,68,32,17,8,2]],["add",166,625,-1,2,[256,132,68,32,16,8,2,1]],["add",130,435,-2,1,[256,129,64,32,17,8,4,2]],["add",626,433,-2,1,[256,134,68,34,16,8,1]],["add",433,626,1,4,[256,134,68,34,16,8,1]],["add",166,626,-1,2,[256,132,68,32,16,8,2,1]],["add",151,433,-2,1,[256,130,64,34,16,8,4,1]],["add",426,628,-2,1,[256,129,66,34,17,8,6]],["add",628,426,1,4,[256,129,66,34,17,8,6]],["add",214,426,-1,2,[256,129,65,33,17,8,5,3]],["add",130,628,-2,1,[256,129,64,32,17,8,4,2]],["add",456,396,-2,1,[257,129,72,40,24,4,2]],["add",396,456,1,4,[257,129,72,40,24,4,2]],["add",197,456,-1,2,[257,129,65,33,17,9,4,2]],["add",136,396,-2,1,[257,129,64,32,16,8,4,2]],["add",457,398,-2,1,[257,129,73,41,24,5,3]],["add",398,457,1,4,[257,129,73,41,24,5,3]],["add",210,457,-1,2,[257,129,65,33,16,8,5,3]],["add",219,398,-2,1,[257,129,64,32,17,9,5,3]],["add",466,376,-2,1,[257,129,67,35,17,9,6]],["add",376,466,1,4,[257,129,67,35,17,9,6]],["add",197,466,-1,2,[257,129,65,33,17,9,4,2]],["add",219,376,-2,1,[257,129,64,32,17,9,5,3]],["add",467,66,-2,1,[257,129,66,34,16,8,6]],["add",66,467,1,4,[257,129,66,34,16,8,6]],["add",210,467,-1,2,[257,129,65,33,16,8,5,3]],["add",136,66,-2,1,[257,129,64,32,16,8,4,2]],["add",632,639,-2,1,[256,128,72,42,26,4,1]],["add",639,632,1,4,[256,128,72,42,26,4,1]],["add",144,632,-1,2,[256,128,66,32,16,10,4,1]],["add",147,639,-2,1,[256,128,64,34,18,8,4,1]],["add",633,638,-2,1,[256,128,76,40,28,2,1]],["add",638,633,1,4,[256,128,76,40,28,2,1]],["add",160,633,-1,2,[256,128,68,32,20,8,2,1]],["add",157,638,-2,1,[256,128,64,36,16,12,2,1]],["add",634,637,-2,1,[256,128,68,34,22,8,1]],["add",637,634,1,4,[256,128,68,34,22,8,1]],["add",160,634,-1,2,[256,128,68,32,20,8,2,1]],["add",147,637,-2,1,[256,128,64,34,18,8,4,1]],["add",635,636,-2,1,[256,128,66,36,16,14,1]],["add",636,635,1,4,[256,128,66,36,16,14,1]],["add",144,635,-1,2,[256,128,66,32,16,10,4,1]],["add",157,636,-2,1,[256,128,64,36,16,12,2,1]],["add",458,380,-2,1,[256,130,65,32,17,10,5]],["add",380,458,1,4,[256,130,65,32,17,10,5]],["add",145,458,-1,2,[256,130,64,32,16,10,4,1]],["add",221,380,-2,1,[256,129,65,32,17,9,5,3]],["add",459,382,-2,1,[256,133,65,32,20,8,2]],["add",382,459,1,4,[256,133,65,32,20,8,2]],["add",161,459,-1,2,[256,132,64,32,20,8,2,1]],["add",134,382,-2,1,[256,129,65,32,16,8,4,2]],["add",464,392,-2,1,[256,131,65,32,16,10,4]],["add",392,464,1,4,[256,131,65,32,16,10,4]],["add",145,464,-1,2,[256,130,64,32,16,10,4,1]],["add",134,392,-2,1,[256,129,65,32,16,8,4,2]],["add",465,97,-2,1,[256,132,65,32,20,9,3]],["add",97,465,1,4,[256,132,65,32,20,9,3]],["add",161,465,-1,2,[256,132,64,32,20,8,2,1]],["add",221,97,-2,1,[256,129,65,32,17,9,5,3]],["add",640,261,-2,1,[261,128,65,32,20,8,2]],["add",261,640,1,4,[261,128,65,32,20,8,2]],["add",162,640,-1,2,[260,128,64,32,20,8,2,1]],["add",135,261,-2,1,[257,128,65,32,16,8,4,2]],["add",641,259,-2,1,[258,128,65,32,17,10,5]],["add",259,641,1,4,[258,128,65,32,17,10,5]],["add",146,641,-1,2,[258,128,64,32,16,10,4,1]],["add",220,259,-2,1,[257,128,65,32,17,9,5,3]],["add",642,266,-2,1,[259,128,65,32,16,10,4]],["add",266,642,1,4,[259,128,65,32,16,10,4]],["add",146,642,-1,2,[258,128,64,32,16,10,4,1]],["add",135,266,-2,1,[257,128,65,32,16,8,4,2]],["add",250,644,-2,1,[260,128,65,32,20,9,3]],["add",644,250,1,4,[260,128,65,32,20,9,3]],["add",162,250,-1,2,[260,128,64,32,20,8,2,1]],["add",220,644,-2,1,[257,128,65,32,17,9,5,3]],["add",248,300,1,1,[256,128,67,32,17,8,7]],["add",300,248,-1,2,[256,128,67,32,17,8,7]],["add",113,248,1,1,[256,128,64,32,17,8,4,3]],["add",140,300,-2,1,[256,128,66,32,16,8,6,1]],["add",10,302,1,1,[256,128,73,32,25,5,2]],["add",302,10,-1,2,[256,128,73,32,25,5,2]],["add",118,10,1,1,[256,128,64,32,16,9,5,2]],["add",170,302,-2,1,[256,128,72,32,24,4,2,1]],["add",268,280,1,1,[256,128,72,32,25,4,3]],["add",280,268,-1,2,[256,128,72,32,25,4,3]],["add",113,268,1,1,[256,128,64,32,17,8,4,3]],["add",170,280,-2,1,[256,128,72,32,24,4,2,1]],["add",270,38,1,1,[256,128,66,32,16,9,7]],["add",38,270,-1,2,[256,128,66,32,16,9,7]],["add",118,270,1,1,[256,128,64,32,16,9,5,2]],["add",140,38,-2,1,[256,128,66,32,16,8,6,1]],["add",648,442,1,1,[288,160,65,17,8,5,2]],["add",442,648,-1,2,[288,160,65,17,8,5,2]],["add",187,648,1,1,[288,160,64,16,8,4,2,1]],["add",198,442,-2,1,[257,129,65,33,17,8,5,2]],["add",649,542,1,1,[258,130,65,34,19,10,7]],["add",542,649,-1,2,[258,130,65,34,19,10,7]],["add",194,649,1,1,[258,130,64,34,18,10,6,1]],["add",205,542,-2,1,[257,129,65,33,16,9,4,3]],["add",650,563,1,1,[259,131,65,35,19,10,7]],["add",563,650,-1,2,[259,131,65,35,19,10,7]],["add",194,650,1,1,[258,130,64,34,18,10,6,1]],["add",198,563,-2,1,[257,129,65,33,17,8,5,2]],["add",530,652,1,1,[288,160,65,16,9,4,3]],["add",652,530,-1,2,[288,160,65,16,9,4,3]],["add",187,530,1,1,[288,160,64,16,8,4,2,1]],["add",205,652,-2,1,[257,129,65,33,16,9,4,3]],["add",252,284,1,1,[296,128,96,24,4,2,1]],["add",284,252,-1,2,[296,128,96,24,4,2,1]],["add",186,252,1,1,[288,128,96,16,8,4,2,1]],["add",172,284,-2,1,[264,128,64,32,24,4,2,1]],["add",254,286,1,1,[258,128,72,40,24,6,1]],["add",286,254,-1,2,[258,128,72,40,24,6,1]],["add",195,254,1,1,[258,128,66,34,18,10,6,1]],["add",142,286,-2,1,[258,128,64,32,16,8,6,1]],["add",264,296,1,1,[290,128,96,16,8,6,1]],["add",296,264,-1,2,[290,128,96,16,8,6,1]],["add",186,264,1,1,[288,128,96,16,8,4,2,1]],["add",142,296,-2,1,[258,128,64,32,16,8,6,1]],["add",79,19,1,1,[264,128,66,34,24,6,1]],["add",19,79,-1,2,[264,128,66,34,24,6,1]],["add",195,79,1,1,[258,128,66,34,18,10,6,1]],["add",172,19,-2,1,[264,128,64,32,24,4,2,1]],["add",656,245,1,1,[256,130,72,40,24,6,1]],["add",245,656,-1,2,[256,130,72,40,24,6,1]],["add",196,656,1,1,[256,130,66,34,18,10,6,1]],["add",141,245,-2,1,[256,130,64,32,16,8,6,1]],["add",657,257,1,1,[256,168,96,24,4,2,1]],["add",257,657,-1,2,[256,168,96,24,4,2,1]],["add",185,657,1,1,[256,160,96,16,8,4,2,1]],["add",171,257,-2,1,[256,136,64,32,24,4,2,1]],["add",658,317,1,1,[256,162,96,16,8,6,1]],["add",317,658,-1,2,[256,162,96,16,8,6,1]],["add",185,658,1,1,[256,160,96,16,8,4,2,1]],["add",141,317,-2,1,[256,130,64,32,16,8,6,1]],["add",333,660,1,1,[256,136,66,34,24,6,1]],["add",660,333,-1,2,[256,136,66,34,24,6,1]],["add",196,333,1,1,[256,130,66,34,18,10,6,1]],["add",171,660,-2,1,[256,136,64,32,24,4,2,1]],["add",460,332,1,1,[264,136,65,32,17,5,2]],["add",332,460,-1,2,[264,136,65,32,17,5,2]],["add",200,460,1,1,[257,129,65,32,17,9,5,2]],["add",178,332,-2,1,[264,136,64,32,16,4,2,1]],["add",461,334,1,1,[258,130,67,34,17,10,7]],["add",334,461,-1,2,[258,130,67,34,17,10,7]],["add",192,461,1,1,[258,130,66,34,16,10,6,1]],["add",207,334,-2,1,[257,129,64,33,17,9,4,3]],["add",468,312,1,1,[257,129,67,34,17,9,7]],["add",312,468,-1,2,[257,129,67,34,17,9,7]],["add",200,468,1,1,[257,129,65,32,17,9,5,2]],["add",207,312,-2,1,[257,129,64,33,17,9,4,3]],["add",469,24,1,1,[264,136,66,34,16,6,1]],["add",24,469,-1,2,[264,136,66,34,16,6,1]],["add",192,469,1,1,[258,130,66,34,16,10,6,1]],["add",178,24,-2,1,[264,136,64,32,16,4,2,1]],["add",664,671,1,1,[256,128,65,32,19,8,7]],["add",671,664,-1,2,[256,128,65,32,19,8,7]],["add",115,664,1,1,[256,128,65,32,16,8,4,3]],["add",138,671,-2,1,[256,128,64,32,18,8,6,1]],["add",665,670,1,1,[256,128,80,49,8,5,2]],["add",670,665,-1,2,[256,128,80,49,8,5,2]],["add",179,665,1,1,[256,128,80,48,8,4,2,1]],["add",120,670,-2,1,[256,128,64,33,16,8,5,2]],["add",666,669,1,1,[256,128,82,50,8,6,1]],["add",669,666,-1,2,[256,128,82,50,8,6,1]],["add",179,666,1,1,[256,128,80,48,8,4,2,1]],["add",138,669,-2,1,[256,128,64,32,18,8,6,1]],["add",667,668,1,1,[256,128,66,35,16,8,7]],["add",668,667,-1,2,[256,128,66,35,16,8,7]],["add",115,667,1,1,[256,128,65,32,16,8,4,3]],["add",120,668,-2,1,[256,128,64,33,16,8,5,2]],["add",462,316,1,1,[256,129,72,40,24,4,3]],["add",316,462,-1,2,[256,129,72,40,24,4,3]],["add",116,462,1,1,[256,129,64,32,16,8,4,3]],["add",209,316,-2,1,[256,129,65,33,17,9,4,3]],["add",463,318,1,1,[256,152,72,48,4,2,1]],["add",318,463,-1,2,[256,152,72,48,4,2,1]],["add",180,463,1,1,[256,144,64,48,8,4,2,1]],["add",176,318,-2,1,[256,136,72,32,16,4,2,1]],["add",470,328,1,1,[256,137,72,32,16,4,3]],["add",328,470,-1,2,[256,137,72,32,16,4,3]],["add",116,470,1,1,[256,129,64,32,16,8,4,3]],["add",176,328,-2,1,[256,136,72,32,16,4,2,1]],["add",471,109,1,1,[256,144,65,48,9,4,3]],["add",109,471,-1,2,[256,144,65,48,9,4,3]],["add",180,471,1,1,[256,144,64,48,8,4,2,1]],["add",209,109,-2,1,[256,129,65,33,17,9,4,3]],["add",672,227,1,1,[280,128,72,48,4,2,1]],["add",227,672,-1,2,[280,128,72,48,4,2,1]],["add",181,672,1,1,[272,128,64,48,8,4,2,1]],["add",177,227,-2,1,[264,128,72,32,16,4,2,1]],["add",673,229,1,1,[257,128,72,40,24,4,3]],["add",229,673,-1,2,[257,128,72,40,24,4,3]],["add",117,673,1,1,[257,128,64,32,16,8,4,3]],["add",208,229,-2,1,[257,128,65,33,17,9,4,3]],["add",674,234,1,1,[265,128,72,32,16,4,3]],["add",234,674,-1,2,[265,128,72,32,16,4,3]],["add",117,674,1,1,[257,128,64,32,16,8,4,3]],["add",177,234,-2,1,[264,128,72,32,16,4,2,1]],["add",241,676,1,1,[272,128,65,48,9,4,3]],["add",676,241,-1,2,[272,128,65,48,9,4,3]],["add",181,241,1,1,[272,128,64,48,8,4,2,1]],["add",208,676,-2,1,[257,128,65,33,17,9,4,3]],["add",478,514,1,1,[260,128,65,36,16,9,3]],["add",514,478,-1,2,[260,128,65,36,16,9,3]],["add",165,478,1,1,[260,128,64,36,16,8,2,1]],["add",217,514,-2,1,[257,128,65,33,16,9,5,3]],["add",479,515,1,1,[259,128,66,32,16,9,4]],["add",515,479,-1,2,[259,128,66,32,16,9,4]],["add",127,479,1,1,[257,128,64,32,16,9,4,2]],["add",154,515,-2,1,[258,128,66,32,16,8,4,1]],["add",490,502,1,1,[262,128,66,36,16,8,1]],["add",502,490,-1,2,[262,128,66,36,16,8,1]],["add",165,490,1,1,[260,128,64,36,16,8,2,1]],["add",154,502,-2,1,[258,128,66,32,16,8,4,1]],["add",491,503,1,1,[257,128,66,34,16,9,6]],["add",503,491,-1,2,[257,128,66,34,16,9,6]],["add",127,491,1,1,[257,128,64,32,16,9,4,2]],["add",217,503,-2,1,[257,128,65,33,16,9,5,3]],["add",49,393,1,1,[256,132,65,36,16,9,3]],["add",393,49,-1,2,[256,132,65,36,16,9,3]],["add",164,49,1,1,[256,132,64,36,16,8,2,1]],["add",218,393,-2,1,[256,129,65,33,16,9,5,3]],["add",83,281,1,1,[256,131,66,32,16,9,4]],["add",281,83,-1,2,[256,131,66,32,16,9,4]],["add",126,83,1,1,[256,129,64,32,16,9,4,2]],["add",153,281,-2,1,[256,130,66,32,16,8,4,1]],["add",98,225,1,1,[256,129,66,34,16,9,6]],["add",225,98,-1,2,[256,129,66,34,16,9,6]],["add",126,98,1,1,[256,129,64,32,16,9,4,2]],["add",218,225,-2,1,[256,129,65,33,16,9,5,3]],["add",285,101,1,1,[256,134,66,36,16,8,1]],["add",101,285,-1,2,[256,134,66,36,16,8,1]],["add",164,285,1,1,[256,132,64,36,16,8,2,1]],["add",153,101,-2,1,[256,130,66,32,16,8,4,1]],["add",480,504,1,1,[256,128,76,44,24,2,1]],["add",504,480,-1,2,[256,128,76,44,24,2,1]],["add",163,480,1,1,[256,128,68,36,16,8,2,1]],["add",156,504,-2,1,[256,128,64,32,20,12,2,1]],["add",481,505,1,1,[256,128,72,41,25,4,2]],["add",505,481,-1,2,[256,128,72,41,25,4,2]],["add",125,481,1,1,[256,128,65,32,16,9,4,2]],["add",128,505,-2,1,[256,128,64,33,17,8,4,2]],["add",492,516,1,1,[256,128,68,37,17,8,2]],["add",516,492,-1,2,[256,128,68,37,17,8,2]],["add",163,492,1,1,[256,128,68,36,16,8,2,1]],["add",128,516,-2,1,[256,128,64,33,17,8,4,2]],["add",493,517,1,1,[256,128,65,32,20,13,2]],["add",517,493,-1,2,[256,128,65,32,20,13,2]],["add",125,493,1,1,[256,128,65,32,16,9,4,2]],["add",156,517,-2,1,[256,128,64,32,20,12,2,1]],["add",68,345,1,1,[257,129,73,40,25,5,3]],["add",345,68,-1,2,[257,129,73,40,25,5,3]],["add",211,68,1,1,[257,129,65,32,17,8,5,3]],["add",216,345,-2,1,[257,129,64,33,16,9,5,3]],["add",80,381,1,1,[258,130,72,40,24,4,1]],["add",381,80,-1,2,[258,130,72,40,24,4,1]],["add",190,80,1,1,[258,130,66,34,18,10,4,1]],["add",155,381,-2,1,[258,130,64,32,16,8,4,1]],["add",88,377,1,1,[258,130,67,34,19,10,5]],["add",377,88,-1,2,[258,130,67,34,19,10,5]],["add",190,88,1,1,[258,130,66,34,18,10,4,1]],["add",216,377,-2,1,[257,129,64,33,16,9,5,3]],["add",397,31,1,1,[258,130,65,32,17,8,5]],["add",31,397,-1,2,[258,130,65,32,17,8,5]],["add",211,397,1,1,[257,129,65,32,17,8,5,3]],["add",155,31,-2,1,[258,130,64,32,16,8,4,1]],["add",273,289,1,1,[256,132,64,33,17,12,3]],["add",289,273,-1,2,[256,132,64,33,17,12,3]],["add",223,273,1,1,[256,129,64,33,17,9,5,3]],["add",158,289,-2,1,[256,132,64,32,16,12,2,1]],["add",275,291,1,1,[256,131,64,33,18,8,4]],["add",291,275,-1,2,[256,131,64,33,18,8,4]],["add",148,275,1,1,[256,130,64,32,18,8,4,1]],["add",132,291,-2,1,[256,129,64,33,16,8,4,2]],["add",506,518,1,1,[256,129,64,33,18,10,6]],["add",518,506,-1,2,[256,129,64,33,18,10,6]],["add",223,506,1,1,[256,129,64,33,17,9,5,3]],["add",132,518,-2,1,[256,129,64,33,16,8,4,2]],["add",305,321,1,1,[256,134,64,32,18,12,1]],["add",321,305,-1,2,[256,134,64,32,18,12,1]],["add",148,305,1,1,[256,130,64,32,18,8,4,1]],["add",158,321,-2,1,[256,132,64,32,16,12,2,1]],["add",33,313,1,1,[260,128,64,33,17,12,3]],["add",313,33,-1,2,[260,128,64,33,17,12,3]],["add",159,33,1,1,[260,128,64,32,16,12,2,1]],["add",222,313,-2,1,[257,128,64,33,17,9,5,3]],["add",55,297,1,1,[259,128,64,33,18,8,4]],["add",297,55,-1,2,[259,128,64,33,18,8,4]],["add",133,55,1,1,[257,128,64,33,16,8,4,2]],["add",149,297,-2,1,[258,128,64,32,18,8,4,1]],["add",74,329,1,1,[257,128,64,33,18,10,6]],["add",329,74,-1,2,[257,128,64,33,18,10,6]],["add",133,74,1,1,[257,128,64,33,16,8,4,2]],["add",222,329,-2,1,[257,128,64,33,17,9,5,3]],["add",301,85,1,1,[262,128,64,32,18,12,1]],["add",85,301,-1,2,[262,128,64,32,18,12,1]],["add",159,301,1,1,[260,128,64,32,16,12,2,1]],["add",149,85,-2,1,[258,128,64,32,18,8,4,1]]],"restore":[["add",572,408,-1,1,[256,128,66,36,22,8,1]],["add",573,105,-1,1,[256,128,66,36,22,8,1]],["add",574,412,-1,1,[256,128,65,36,20,9,3]],["add",575,414,-1,1,[256,128,65,36,20,9,3]],["add",580,424,-1,1,[256,128,65,37,20,8,2]],["add",581,44,-1,1,[256,128,65,37,20,8,2]],["add",582,428,-1,1,[256,128,72,44,28,2,1]],["add",583,430,-1,1,[256,128,72,44,28,2,1]],["scale",311,-1,1,[256,128,72,40,24,4,2,1]],["add",311,498,1,1,[256,128,72,40,24,4,2,1]],["add",498,311,-1,1,[256,128,72,40,24,4,2,1]],["add",511,322,-1,1,[256,128,65,32,17,8,5,2]],["add",327,511,1,1,[256,128,65,32,17,8,5,2]],["add",511,327,-1,1,[256,128,65,32,17,8,5,2]],["add",327,511,1,1,[256,128,65,32,17,8,5,2]],["scale",511,-1,1,[256,128,65,32,17,8,5,2]],["add",448,231,-1,1,[256,128,64,33,17,8,4,3]],["add",484,448,-1,1,[256,128,64,33,17,8,4,3]],["add",449,226,-1,1,[256,128,64,33,17,8,4,3]],["add",485,449,-1,1,[256,128,64,33,17,8,4,3]],["add",450,230,-1,1,[256,128,64,32,18,10,6,1]],["add",508,450,-1,1,[256,128,64,32,18,10,6,1]],["add",451,228,-1,1,[256,128,64,32,18,10,6,1]],["add",509,451,-1,1,[256,128,64,32,18,10,6,1]],["add",452,232,-1,1,[256,128,64,32,18,10,6,1]],["add",532,452,2,1,[256,128,64,32,18,10,6,1]],["add",453,7,-1,1,[256,128,64,32,18,10,6,1]],["add",533,453,2,1,[256,128,64,32,18,10,6,1]],["add",454,236,-1,1,[256,128,64,33,17,8,4,3]],["add",556,454,2,1,[256,128,64,33,17,8,4,3]],["add",455,238,-1,1,[256,128,64,33,17,8,4,3]],["add",557,455,2,1,[256,128,64,33,17,8,4,3]],["add",484,231,-1,1,[256,128,64,33,17,8,4,3]],["add",484,299,-1,1,[256,128,64,33,17,8,4,3]],["add",485,226,-1,1,[256,128,64,33,17,8,4,3]],["add",485,54,-1,1,[256,128,64,33,17,8,4,3]],["add",499,306,-1,1,[256,128,72,40,24,4,2,1]],["add",498,499,1,1,[256,128,72,40,24,4,2,1]],["add",499,498,-1,1,[256,128,72,40,24,4,2,1]],["add",498,499,1,1,[256,128,72,40,24,4,2,1]],["scale",499,-1,1,[256,128,64,32,16,8,4,2,1]],["add",500,310,-1,1,[256,128,66,34,16,8,6,1]],["add",501,308,-1,1,[256,128,66,34,16,8,6,1]],["add",508,331,-1,1,[256,128,64,32,18,10,6,1]],["add",508,230,-1,1,[256,128,64,32,18,10,6,1]],["add",509,228,-1,1,[256,128,64,32,18,10,6,1]],["add",509,34,-1,1,[256,128,64,32,18,10,6,1]],["add",510,511,-1,1,[256,128,65,32,17,8,5,2]],["add",512,326,-1,1,[256,128,65,32,16,9,4,3]],["add",513,324,-1,1,[256,128,65,32,16,9,4,3]],["add",531,351,-1,1,[256,128,64,32,18,10,6,1]],["add",531,587,-1,2,[256,128,64,32,18,10,6,1]],["add",351,531,1,1,[256,128,64,32,18,10,6,1]],["add",532,363,-1,1,[256,128,64,32,18,10,6,1]],["add",532,232,2,1,[256,128,64,32,18,10,6,1]],["add",533,7,2,1,[256,128,64,32,18,10,6,1]],["add",533,73,-1,1,[256,128,64,32,18,10,6,1]],["add",543,367,-1,1,[256,128,64,32,18,10,6,1]],["add",543,589,1,1,[256,128,64,32,18,10,6,1]],["add",367,543,1,1,[256,128,64,32,18,10,6,1]],["scale",554,-1,1,[256,128,64,33,17,8,4,3]],["add",554,3,1,1,[256,128,64,33,17,8,4,3]],["add",3,554,-1,1,[256,128,64,33,17,8,4,3]],["add",555,383,-1,1,[256,128,64,33,17,8,4,3]],["add",555,585,-1,2,[256,128,64,33,17,8,4,3]],["add",383,555,1,1,[256,128,64,33,17,8,4,3]],["add",556,236,2,1,[256,128,64,33,17,8,4,3]],["add",556,395,-1,1,[256,128,64,33,17,8,4,3]],["add",557,5,-1,1,[256,128,64,33,17,8,4,3]],["add",557,238,2,1,[256,128,64,33,17,8,4,3]],["add",566,69,-1,1,[256,128,64,33,17,8,4,3]],["add",69,566,1,1,[256,128,64,33,17,8,4,3]],["add",567,399,-1,1,[256,128,64,33,17,8,4,3]],["add",567,591,1,1,[256,128,64,33,17,8,4,3]],["add",399,567,1,1,[256,128,64,33,17,8,4,3]],["add",584,439,-1,1,[256,128,64,33,17,8,4,3]],["add",585,434,-1,1,[256,128,64,33,17,8,4,3]],["add",383,585,1,2,[256,128,64,33,17,8,4,3]],["add",586,438,-1,1,[256,128,64,32,18,10,6,1]],["add",587,436,-1,1,[256,128,64,32,18,10,6,1]],["add",351,587,1,2,[256,128,64,32,18,10,6,1]],["add",588,440,-1,1,[256,128,64,32,18,10,6,1]],["add",589,46,-1,1,[256,128,64,32,18,10,6,1]],["add",367,589,-1,1,[256,128,64,32,18,10,6,1]],["add",590,444,-1,1,[256,128,64,33,17,8,4,3]],["add",591,446,-1,1,[256,128,64,33,17,8,4,3]],["add",399,591,-1,1,[256,128,64,33,17,8,4,3]]],"warps":[[921,243,[1,2,4,8,64,19,104,197,325],[384,133,85,45],[320,192,45,30]],[1044,250,[1,2,4,32,128,47,145,68,483],[384,133,85,45],[486,65,20,10]],[1044,266,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1044,259,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[1084,333,[1,2,8,32,44,128,59,66,489],[384,193,75,30],[459,96,24,6]],[1084,317,[1,2,8,32,44,48,66,128,330],[385,74,44,30],[459,96,24,6]],[1064,530,[1,2,8,15,27,74,170,32,417],[385,70,33,18,12],[384,160,75,25,7]],[1132,285,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1132,281,[1,2,4,16,27,53,81,128,337],[388,75,41,26],[469,66,36,9]],[1172,301,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,297,[1,2,4,64,128,143,151,160,326],[384,196,85,51],[455,33,18,12]],[1172,313,[1,2,4,64,74,86,99,128,326],[385,74,44,30],[455,33,18,12]],[1172,329,[1,2,4,64,74,128,81,99,389],[384,193,75,30],[455,33,18,12]],[921,349,[1,2,4,27,46,8,198,64,264],[416,70,19,13],[320,192,45,30]],[1152,345,[1,2,4,40,86,8,132,16,408],[416,70,19,13],[384,130,85,45]],[921,365,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[921,361,[1,2,4,8,16,64,107,198,326],[384,134,102,30],[320,192,45,30]],[1152,381,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,377,[1,2,4,8,43,80,129,16,408],[392,67,37,22],[384,130,85,45]],[1152,397,[1,2,4,8,16,62,94,129,387],[384,131,75,51],[384,130,85,45]],[1132,393,[1,2,4,16,128,138,55,65,470],[384,131,75,51],[469,66,36,9]],[1132,225,[1,2,4,10,33,68,16,128,325],[448,38,21,11],[469,66,36,9]],[1112,227,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,229,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,234,[1,4,8,6,57,68,16,128,325],[448,38,21,11],[469,72,48,3]],[1112,241,[1,4,8,16,128,26,185,65,476],[384,133,85,45],[469,72,48,3]],[1084,245,[1,2,8,32,128,47,145,105,450],[384,133,85,45],[459,96,24,6]],[1084,257,[1,2,8,12,32,27,105,128,363],[400,69,35,14],[459,96,24,6]],[1044,261,[1,2,4,12,32,23,68,128,326],[400,69,35,14],[486,65,20,10]],[941,401,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[941,403,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[941,405,[1,8,16,128,256,147,140,169,209],[384,194,75,45],[80,40,5,2]],[961,410,[1,2,8,16,256,30,57,90,129],[384,194,75,45],[144,75,42,7]],[961,417,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,419,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[961,421,[1,2,8,16,31,51,90,256,402],[386,73,45,28],[144,75,42,7]],[1004,426,[1,2,4,128,140,148,163,256,326],[386,73,45,28],[68,34,17,8]],[1004,433,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1004,435,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1004,437,[1,2,4,128,142,148,256,166,192],[384,191,51,30],[68,34,17,8]],[1064,442,[1,2,4,8,23,70,32,172,396],[384,191,51,30],[384,160,75,25]],[1064,542,[1,2,8,15,27,74,32,129,394],[262,193,33,18,12],[384,160,75,25,7]],[984,1,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,4,[1,2,4,8,16,32,64,135,263],[384,131,75,51],[384,132,75,51]],[984,6,[1,2,4,54,72,8,130,16,284],[416,70,19,13],[384,132,75,51]],[984,12,[1,2,4,8,57,66,143,16,272],[388,75,41,26],[384,132,75,51]],[1172,33,[1,2,4,64,84,128,98,111,389],[266,138,75,30],[455,45,33,18]],[1173,55,[1,2,4,64,128,145,367,160,326],[273,145,85,51],[455,33,490,18]],[1174,74,[1,2,4,64,84,128,364,39,449],[262,134,102,30],[455,33,490,18]],[1177,85,[1,2,4,64,415,86,99,128,326],[385,74,44,30],[455,33,18,473]],[1132,49,[1,2,4,16,121,128,55,80,389],[266,138,75,30],[407,66,36,111]],[1133,83,[1,2,4,16,392,128,162,68,401],[262,134,102,30],[407,66,36,414]],[1134,98,[1,2,4,16,50,492,80,128,278],[385,74,44,30],[407,66,504,36]],[1137,101,[1,2,4,16,128,285,161,195,278],[273,145,85,51],[407,66,36,414]],[1152,68,[1,2,4,8,16,188,94,129,257],[259,131,75,51],[258,130,85,175]],[1153,80,[1,2,4,8,83,424,129,16,282],[392,67,37,22],[258,130,429,85]],[1154,88,[1,2,4,8,427,80,129,16,282],[392,67,37,22],[258,130,85,429]],[1157,31,[1,2,4,8,39,92,137,16,278],[388,75,41,26],[258,130,85,45]],[557,273,[1,4,8,16,23,33,68,128,268],[388,75,41,26],[388,81,48,3]],[558,275,[1,2,4,8,16,32,67,128,259],[388,75,41,26],[391,72,41,26]],[583,289,[1,2,4,8,16,32,89,153,256],[273,145,85,51],[273,136,76,51]],[584,291,[1,2,4,8,16,32,89,128,281],[273,145,85,51],[264,145,76,51]],[610,305,[1,2,4,8,16,32,70,128,262],[385,74,44,30],[391,76,44,30]],[636,321,[1,2,4,8,16,32,106,128,298],[266,138,75,30],[288,138,97,30]],[1067,563,[1,2,8,6,32,17,73,136,291],[259,148,66,36,9],[288,160,75,25,7]]]},"report":{"R":480,"h":9,"local_profile":{"1":2364,"2":647,"3":297,"4":120,"5":26,"8":8},"v":112,"width_inventory":{"4":26,"5":9,"7":62,"8":78,"9":240}},"declared_gate_edit":[["delete",168,["add",162,518,1,1]],["delete",169,["add",135,543,1,1]],["insert",168,["add",146,640,1,4]],["insert",169,["add",162,640,-1,4]],["insert",170,["add",220,640,1,4]],["insert",171,["add",135,640,-1,4]],["insert",172,["add",146,641,1,4]],["insert",173,["add",641,518,4,1]],["insert",174,["add",162,641,1,4]],["insert",175,["add",641,518,-4,1]],["insert",176,["add",220,641,1,4]],["insert",177,["add",641,543,4,1]],["insert",178,["add",135,641,1,4]],["insert",179,["add",641,543,-4,1]],["insert",180,["add",146,642,1,4]],["insert",181,["add",162,642,1,4]],["insert",182,["add",220,642,1,4]],["insert",183,["add",135,642,-1,4]],["insert",184,["add",146,644,-1,2]],["insert",185,["add",162,644,1,2]],["insert",186,["add",220,644,1,2]],["insert",187,["add",135,644,1,2]],["delete",237,["add",133,696,-1,2]],["delete",238,["add",159,696,1,2]],["delete",239,["add",149,696,-1,2]],["delete",240,["add",222,696,1,2]],["delete",241,["add",133,697,-1,2]],["delete",242,["add",159,697,-1,2]],["delete",243,["add",149,697,-1,2]],["delete",244,["add",222,697,-1,2]],["delete",245,["add",133,698,-1,2]],["delete",246,["add",159,698,-1,2]],["delete",247,["add",149,698,-1,2]],["delete",248,["add",222,698,1,2]],["delete",249,["add",133,700,-1,2]],["delete",250,["add",159,700,1,2]],["delete",251,["add",149,700,1,2]],["delete",252,["add",222,700,1,2]],["insert",569,["add",55,101,1,2]],["insert",570,["add",101,55,-1,1]],["insert",595,["add",85,98,1,2]],["insert",596,["add",98,85,-1,1]],["insert",621,["add",33,49,1,2]],["insert",622,["add",49,33,-1,1]],["insert",671,["add",74,83,1,2]],["insert",672,["add",83,74,-1,1]],["delete",1034,["add",33,49,1,2]],["delete",1035,["add",49,33,-1,1]],["delete",1036,["add",55,101,1,2]],["delete",1037,["add",101,55,-1,1]],["delete",1038,["add",74,83,1,2]],["delete",1039,["add",83,74,-1,1]],["delete",1040,["add",85,98,1,2]],["delete",1041,["add",98,85,-1,1]],["delete",1042,["add",33,250,-1,1]],["delete",1043,["add",55,250,-1,1]],["delete",1044,["add",74,250,1,1]],["delete",1045,["add",33,266,-2,1]],["delete",1046,["add",55,266,2,1]],["delete",1047,["add",85,266,-1,1]],["delete",1048,["add",33,259,-2,1]],["delete",1049,["add",74,259,2,1]],["delete",1050,["add",85,259,-1,1]],["delete",1051,["add",55,261,2,1]],["delete",1052,["add",74,261,-2,1]],["delete",1053,["add",85,261,-1,1]],["delete",1054,["add",33,458,1,1]],["delete",1055,["add",55,459,1,1]],["delete",1056,["add",74,464,1,1]],["insert",1044,["add",640,250,-1,1]],["insert",1045,["add",641,250,-1,1]],["insert",1046,["add",642,250,1,1]],["insert",1047,["add",640,266,-2,1]],["insert",1048,["add",641,266,2,1]],["insert",1049,["add",644,266,-1,1]],["insert",1050,["add",640,259,-2,1]],["insert",1051,["add",642,259,2,1]],["insert",1052,["add",644,259,-1,1]],["insert",1053,["add",641,261,2,1]],["insert",1054,["add",642,261,-2,1]],["insert",1055,["add",644,261,-1,1]],["insert",1056,["add",640,458,1,1]],["insert",1057,["add",641,459,1,1]],["insert",1058,["add",642,464,1,1]],["delete",1058,["add",85,392,1,1]],["insert",1060,["add",644,392,1,1]],["delete",1170,["add",696,301,-1,1]],["delete",1171,["add",697,301,-1,1]],["delete",1172,["add",698,301,1,1]],["delete",1173,["add",696,329,1,1]],["delete",1174,["add",697,329,-1,1]],["delete",1175,["add",700,329,-1,1]],["delete",1176,["add",696,297,1,1]],["delete",1177,["add",698,297,-1,1]],["delete",1178,["add",700,297,-1,1]],["delete",1179,["add",697,313,-1,1]],["delete",1180,["add",698,313,1,1]],["delete",1181,["add",700,313,-1,1]],["delete",1182,["add",696,273,1,1]],["delete",1183,["add",697,275,1,1]],["delete",1184,["add",698,506,1,1]],["insert",1172,["add",33,301,-1,1]],["insert",1173,["add",55,301,-1,1]],["insert",1174,["add",74,301,1,1]],["insert",1175,["add",33,329,1,1]],["insert",1176,["add",55,329,-1,1]],["insert",1177,["add",85,329,-1,1]],["insert",1178,["add",33,297,1,1]],["insert",1179,["add",74,297,-1,1]],["insert",1180,["add",85,297,-1,1]],["insert",1181,["add",55,313,-1,1]],["insert",1182,["add",74,313,1,1]],["insert",1183,["add",85,313,-1,1]],["insert",1184,["add",33,273,1,1]],["insert",1185,["add",55,275,1,1]],["insert",1186,["add",74,506,1,1]],["delete",1186,["add",700,518,1,1]],["insert",1188,["add",85,518,1,1]],["delete",1630,["add",33,261,-2,1]],["delete",1631,["add",261,33,1,4]],["delete",1632,["add",162,33,-1,2]],["insert",1632,["add",640,261,-2,1]],["insert",1633,["add",261,640,1,4]],["insert",1634,["add",162,640,-1,2]],["delete",1634,["add",55,259,-2,1]],["delete",1635,["add",259,55,1,4]],["delete",1636,["add",146,55,-1,2]],["insert",1636,["add",641,259,-2,1]],["insert",1637,["add",259,641,1,4]],["insert",1638,["add",146,641,-1,2]],["delete",1638,["add",74,266,-2,1]],["delete",1639,["add",266,74,1,4]],["delete",1640,["add",146,74,-1,2]],["insert",1640,["add",642,266,-2,1]],["insert",1641,["add",266,642,1,4]],["insert",1642,["add",146,642,-1,2]],["delete",1642,["add",250,85,-2,1]],["delete",1643,["add",85,250,1,4]],["insert",1644,["add",250,644,-2,1]],["insert",1645,["add",644,250,1,4]],["delete",1645,["add",220,85,-2,1]],["insert",1647,["add",220,644,-2,1]],["delete",1854,["add",696,313,1,1]],["delete",1855,["add",313,696,-1,2]],["delete",1856,["add",159,696,1,1]],["insert",1856,["add",33,313,1,1]],["insert",1857,["add",313,33,-1,2]],["insert",1858,["add",159,33,1,1]],["delete",1858,["add",697,297,1,1]],["delete",1859,["add",297,697,-1,2]],["delete",1860,["add",133,697,1,1]],["insert",1860,["add",55,297,1,1]],["insert",1861,["add",297,55,-1,2]],["insert",1862,["add",133,55,1,1]],["delete",1862,["add",698,329,1,1]],["delete",1863,["add",329,698,-1,2]],["delete",1864,["add",133,698,1,1]],["insert",1864,["add",74,329,1,1]],["insert",1865,["add",329,74,-1,2]],["insert",1866,["add",133,74,1,1]],["delete",1866,["add",301,700,1,1]],["delete",1867,["add",700,301,-1,2]],["insert",1868,["add",301,85,1,1]],["insert",1869,["add",85,301,-1,2]],["delete",1869,["add",149,700,-2,1]],["insert",1871,["add",149,85,-2,1]]]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_base.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_base.json new file mode 100644 index 0000000000..aaa75e547f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_base.json @@ -0,0 +1 @@ +{"credit": "#2226 anticipatory dirty borrowing (Cinna Davis / 1337isnot1337), adapted to T74 words", "variant": "rl651d653", "pairs": [{"register": 597, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 243, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 643, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 250, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 645, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 266, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 646, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 259, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 659, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 333, "retirement_B_event": 788, "retirement_frame": 211, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [266, 138, 75, 30]}, {"register": 661, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 317, "retirement_B_event": 769, "retirement_frame": 182, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 74, 44, 30]}, {"register": 651, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 530, "retirement_B_event": 1055, "retirement_frame": 736, "retirement_dimension": 5, "old_final_dimension": 8, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 70, 33, 18, 12]}, {"register": 683, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 285, "retirement_B_event": 733, "retirement_frame": 124, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [388, 75, 41, 26]}, {"register": 686, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 281, "retirement_B_event": 731, "retirement_frame": 124, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [388, 75, 41, 26]}, {"register": 699, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 301, "retirement_B_event": 751, "retirement_frame": 153, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [273, 145, 85, 51]}, {"register": 702, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 297, "retirement_B_event": 749, "retirement_frame": 153, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [273, 145, 85, 51]}, {"register": 703, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 313, "retirement_B_event": 767, "retirement_frame": 182, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 74, 44, 30]}, {"register": 701, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 329, "retirement_B_event": 786, "retirement_frame": 211, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [266, 138, 75, 30]}, {"register": 595, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 349, "retirement_B_event": 807, "retirement_frame": 240, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [416, 70, 19, 13]}, {"register": 695, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 345, "retirement_B_event": 805, "retirement_frame": 240, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [416, 70, 19, 13]}, {"register": 598, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 365, "retirement_B_event": 825, "retirement_frame": 269, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 134, 102, 30]}, {"register": 599, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 361, "retirement_B_event": 823, "retirement_frame": 269, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 134, 102, 30]}, {"register": 694, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 381, "retirement_B_event": 843, "retirement_frame": 298, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [392, 67, 37, 22]}, {"register": 693, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 377, "retirement_B_event": 841, "retirement_frame": 298, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [392, 67, 37, 22]}, {"register": 691, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 397, "retirement_B_event": 861, "retirement_frame": 327, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [259, 131, 75, 51]}, {"register": 687, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 393, "retirement_B_event": 859, "retirement_frame": 327, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [259, 131, 75, 51]}, {"register": 685, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 225, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 679, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 227, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 678, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 229, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 677, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 234, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 675, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 241, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 663, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 245, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 662, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 257, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 647, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 261, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 603, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 401, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 605, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 403, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 607, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 405, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 611, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 410, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 613, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 417, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 614, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 419, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 615, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 421, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 627, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 426, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [391, 68, 34, 17], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 629, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 433, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [391, 68, 34, 17], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 630, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 435, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [391, 68, 34, 17], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 631, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 437, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [391, 68, 34, 17], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 655, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 442, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 654, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 542, "retirement_B_event": 1057, "retirement_frame": 738, "retirement_dimension": 5, "old_final_dimension": 9, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 193, 33, 18, 12]}], "initial_corrections": [], "early_tail_events": [{"old_tail_index": 34, "before_B": 734, "gate": ["add", 282, 285, -1, 1, 124]}, {"old_tail_index": 35, "before_B": 734, "gate": ["scale", 282, 1, -1, 124]}, {"old_tail_index": 36, "before_B": 732, "gate": ["add", 277, 281, -1, 1, 124]}, {"old_tail_index": 37, "before_B": 732, "gate": ["scale", 277, 1, -1, 124]}, {"old_tail_index": 38, "before_B": 735, "gate": ["add", 275, 31, -1, 1, 124]}, {"old_tail_index": 39, "before_B": 733, "gate": ["add", 273, 12, -1, 1, 124]}, {"old_tail_index": 40, "before_B": 752, "gate": ["add", 298, 301, -1, 1, 153]}, {"old_tail_index": 41, "before_B": 752, "gate": ["scale", 298, 1, -1, 153]}, {"old_tail_index": 42, "before_B": 750, "gate": ["add", 293, 297, -1, 1, 153]}, {"old_tail_index": 43, "before_B": 750, "gate": ["scale", 293, 1, -1, 153]}, {"old_tail_index": 44, "before_B": 753, "gate": ["add", 291, 55, -1, 1, 153]}, {"old_tail_index": 45, "before_B": 751, "gate": ["add", 289, 101, -1, 1, 153]}, {"old_tail_index": 46, "before_B": 770, "gate": ["add", 314, 317, -1, 1, 182]}, {"old_tail_index": 47, "before_B": 770, "gate": ["scale", 314, 1, -1, 182]}, {"old_tail_index": 48, "before_B": 768, "gate": ["add", 309, 313, -1, 1, 182]}, {"old_tail_index": 49, "before_B": 768, "gate": ["scale", 309, 1, -1, 182]}, {"old_tail_index": 50, "before_B": 771, "gate": ["add", 307, 85, -1, 1, 182]}, {"old_tail_index": 51, "before_B": 769, "gate": ["add", 305, 98, -1, 1, 182]}, {"old_tail_index": 52, "before_B": 789, "gate": ["add", 330, 333, -1, 1, 211]}, {"old_tail_index": 53, "before_B": 789, "gate": ["scale", 330, 1, -1, 211]}, {"old_tail_index": 54, "before_B": 787, "gate": ["add", 325, 329, -1, 1, 211]}, {"old_tail_index": 55, "before_B": 787, "gate": ["scale", 325, 1, -1, 211]}, {"old_tail_index": 56, "before_B": 790, "gate": ["add", 323, 33, -1, 1, 211]}, {"old_tail_index": 57, "before_B": 788, "gate": ["add", 321, 49, -1, 1, 211]}, {"old_tail_index": 58, "before_B": 808, "gate": ["add", 346, 349, -1, 1, 240]}, {"old_tail_index": 59, "before_B": 808, "gate": ["scale", 346, 1, -1, 240]}, {"old_tail_index": 60, "before_B": 806, "gate": ["add", 341, 345, -1, 1, 240]}, {"old_tail_index": 61, "before_B": 806, "gate": ["scale", 341, 1, -1, 240]}, {"old_tail_index": 62, "before_B": 809, "gate": ["add", 339, 1, -1, 1, 240]}, {"old_tail_index": 63, "before_B": 807, "gate": ["add", 337, 6, -1, 1, 240]}, {"old_tail_index": 64, "before_B": 826, "gate": ["add", 362, 365, -1, 1, 269]}, {"old_tail_index": 65, "before_B": 826, "gate": ["scale", 362, 1, -1, 269]}, {"old_tail_index": 66, "before_B": 824, "gate": ["add", 357, 361, -1, 1, 269]}, {"old_tail_index": 67, "before_B": 824, "gate": ["scale", 357, 1, -1, 269]}, {"old_tail_index": 68, "before_B": 827, "gate": ["add", 355, 74, -1, 1, 269]}, {"old_tail_index": 69, "before_B": 825, "gate": ["add", 353, 83, -1, 1, 269]}, {"old_tail_index": 70, "before_B": 844, "gate": ["add", 378, 381, -1, 1, 298]}, {"old_tail_index": 71, "before_B": 844, "gate": ["scale", 378, 1, -1, 298]}, {"old_tail_index": 72, "before_B": 842, "gate": ["add", 373, 377, -1, 1, 298]}, {"old_tail_index": 73, "before_B": 842, "gate": ["scale", 373, 1, -1, 298]}, {"old_tail_index": 74, "before_B": 845, "gate": ["add", 371, 88, -1, 1, 298]}, {"old_tail_index": 75, "before_B": 843, "gate": ["add", 369, 80, -1, 1, 298]}, {"old_tail_index": 76, "before_B": 862, "gate": ["add", 394, 397, -1, 1, 327]}, {"old_tail_index": 77, "before_B": 862, "gate": ["scale", 394, 1, -1, 327]}, {"old_tail_index": 78, "before_B": 860, "gate": ["add", 389, 393, -1, 1, 327]}, {"old_tail_index": 79, "before_B": 860, "gate": ["scale", 389, 1, -1, 327]}, {"old_tail_index": 80, "before_B": 863, "gate": ["add", 387, 4, -1, 1, 327]}, {"old_tail_index": 81, "before_B": 861, "gate": ["add", 385, 68, -1, 1, 327]}], "replay": {"status": "PASS_EXACT_FREE_OPERATOR_BORROWING_REPLAY", "local_profile": {"1": 2353, "2": 500, "3": 416, "4": 128, "5": 42, "8": 8}, "local_mass": 5387, "remaining_registers": 662, "zero_FULL_cleanup_buffers": 78, "exact_cold_restoration": [{"register": 273, "frame": 124, "preparation": {"273": "1"}}, {"register": 275, "frame": 124, "preparation": {"275": "1"}}, {"register": 277, "frame": 124, "preparation": {"277": "1"}}, {"register": 282, "frame": 124, "preparation": {"282": "1"}}, {"register": 289, "frame": 153, "preparation": {"289": "1"}}, {"register": 291, "frame": 153, "preparation": {"291": "1"}}, {"register": 293, "frame": 153, "preparation": {"293": "1"}}, {"register": 298, "frame": 153, "preparation": {"298": "1"}}, {"register": 305, "frame": 182, "preparation": {"305": "1"}}, {"register": 307, "frame": 182, "preparation": {"307": "1"}}, {"register": 309, "frame": 182, "preparation": {"309": "1"}}, {"register": 314, "frame": 182, "preparation": {"314": "1"}}, {"register": 321, "frame": 211, "preparation": {"321": "1"}}, {"register": 323, "frame": 211, "preparation": {"323": "1"}}, {"register": 325, "frame": 211, "preparation": {"325": "1"}}, {"register": 330, "frame": 211, "preparation": {"330": "1"}}, {"register": 337, "frame": 240, "preparation": {"337": "1"}}, {"register": 339, "frame": 240, "preparation": {"339": "1"}}, {"register": 341, "frame": 240, "preparation": {"341": "1"}}, {"register": 346, "frame": 240, "preparation": {"346": "1"}}, {"register": 353, "frame": 269, "preparation": {"353": "1"}}, {"register": 355, "frame": 269, "preparation": {"355": "1"}}, {"register": 357, "frame": 269, "preparation": {"357": "1"}}, {"register": 362, "frame": 269, "preparation": {"362": "1"}}, {"register": 369, "frame": 298, "preparation": {"369": "1"}}, {"register": 371, "frame": 298, "preparation": {"371": "1"}}, {"register": 373, "frame": 298, "preparation": {"373": "1"}}, {"register": 378, "frame": 298, "preparation": {"378": "1"}}, {"register": 385, "frame": 327, "preparation": {"385": "1"}}, {"register": 387, "frame": 327, "preparation": {"387": "1"}}, {"register": 389, "frame": 327, "preparation": {"389": "1"}}, {"register": 394, "frame": 327, "preparation": {"394": "1"}}, {"register": 572, "frame": 1005, "preparation": {"572": "1", "408": "-1"}}, {"register": 573, "frame": 1005, "preparation": {"573": "1", "105": "-1"}}, {"register": 574, "frame": 1004, "preparation": {"574": "1", "412": "-1"}}, {"register": 575, "frame": 1004, "preparation": {"575": "1", "414": "-1"}}, {"register": 580, "frame": 1006, "preparation": {"580": "1", "424": "-1"}}, {"register": 581, "frame": 1006, "preparation": {"581": "1", "44": "-1"}}, {"register": 582, "frame": 1007, "preparation": {"582": "1", "428": "-1"}}, {"register": 583, "frame": 1007, "preparation": {"583": "1", "430": "-1"}}, {"register": 311, "frame": 1003, "preparation": {"498": "1", "311": "-1"}}, {"register": 327, "frame": 1002, "preparation": {"511": "1", "322": "-1"}}, {"register": 448, "frame": 998, "preparation": {"448": "1", "231": "-1"}}, {"register": 449, "frame": 998, "preparation": {"449": "1", "226": "-1"}}, {"register": 450, "frame": 999, "preparation": {"450": "1", "230": "-1"}}, {"register": 451, "frame": 999, "preparation": {"451": "1", "228": "-1"}}, {"register": 452, "frame": 999, "preparation": {"452": "1", "232": "-1"}}, {"register": 453, "frame": 999, "preparation": {"453": "1", "7": "-1"}}, {"register": 454, "frame": 998, "preparation": {"454": "1", "236": "-1"}}, {"register": 455, "frame": 998, "preparation": {"455": "1", "238": "-1"}}, {"register": 484, "frame": 998, "preparation": {"484": "1", "231": "-1", "299": "-1"}}, {"register": 485, "frame": 998, "preparation": {"485": "1", "226": "-1", "54": "-1"}}, {"register": 498, "frame": 1003, "preparation": {"499": "1", "306": "-1"}}, {"register": 500, "frame": 1001, "preparation": {"500": "1", "310": "-1"}}, {"register": 501, "frame": 1001, "preparation": {"501": "1", "308": "-1"}}, {"register": 508, "frame": 999, "preparation": {"508": "1", "331": "-1", "230": "-1"}}, {"register": 509, "frame": 999, "preparation": {"509": "1", "228": "-1", "34": "-1"}}, {"register": 510, "frame": 1002, "preparation": {"511": "-1", "510": "1"}}, {"register": 512, "frame": 1000, "preparation": {"512": "1", "326": "-1"}}, {"register": 513, "frame": 1000, "preparation": {"513": "1", "324": "-1"}}, {"register": 531, "frame": 999, "preparation": {"531": "1", "351": "-1", "587": "-1/2"}}, {"register": 532, "frame": 999, "preparation": {"532": "1", "363": "-1", "232": "2"}}, {"register": 533, "frame": 999, "preparation": {"533": "1", "7": "2", "73": "-1"}}, {"register": 543, "frame": 999, "preparation": {"543": "1", "367": "-1", "589": "1"}}, {"register": 554, "frame": 998, "preparation": {"554": "-1", "3": "1"}}, {"register": 555, "frame": 998, "preparation": {"555": "1", "383": "-1", "585": "-1/2"}}, {"register": 556, "frame": 998, "preparation": {"556": "1", "236": "2", "395": "-1"}}, {"register": 557, "frame": 998, "preparation": {"557": "1", "5": "-1", "238": "2"}}, {"register": 566, "frame": 998, "preparation": {"566": "1", "69": "-1"}}, {"register": 567, "frame": 998, "preparation": {"567": "1", "399": "-1", "591": "1"}}, {"register": 584, "frame": 998, "preparation": {"584": "1", "439": "-1"}}, {"register": 585, "frame": 998, "preparation": {"585": "1", "434": "-1"}}, {"register": 586, "frame": 999, "preparation": {"586": "1", "438": "-1"}}, {"register": 587, "frame": 999, "preparation": {"587": "1", "436": "-1"}}, {"register": 588, "frame": 999, "preparation": {"588": "1", "440": "-1"}}, {"register": 589, "frame": 999, "preparation": {"589": "1", "46": "-1"}}, {"register": 590, "frame": 998, "preparation": {"590": "1", "444": "-1"}}, {"register": 591, "frame": 998, "preparation": {"591": "1", "446": "-1"}}], "symbolic_warps": [{"operator": 1, "borrow_from": 243, "removed": 597, "from_basis": [261, 133, 85, 45], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 14, "borrow_from": 349, "removed": 595, "from_basis": [416, 70, 19, 13], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 16, "borrow_from": 365, "removed": 598, "from_basis": [262, 134, 102, 30], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 17, "borrow_from": 361, "removed": 599, "from_basis": [262, 134, 102, 30], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 30, "borrow_from": 401, "removed": 603, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 31, "borrow_from": 403, "removed": 605, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 32, "borrow_from": 405, "removed": 607, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 33, "borrow_from": 410, "removed": 611, "from_basis": [265, 137, 75, 45], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 34, "borrow_from": 417, "removed": 613, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 35, "borrow_from": 419, "removed": 614, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 36, "borrow_from": 421, "removed": 615, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 37, "borrow_from": 426, "removed": 627, "from_basis": [386, 73, 45, 28], "to_basis": [391, 68, 34, 17], "physical_handoff_rank": 0}, {"operator": 38, "borrow_from": 433, "removed": 629, "from_basis": [268, 140, 45, 30], "to_basis": [391, 68, 34, 17], "physical_handoff_rank": 0}, {"operator": 39, "borrow_from": 435, "removed": 630, "from_basis": [268, 140, 45, 30], "to_basis": [391, 68, 34, 17], "physical_handoff_rank": 0}, {"operator": 40, "borrow_from": 437, "removed": 631, "from_basis": [268, 140, 45, 30], "to_basis": [391, 68, 34, 17], "physical_handoff_rank": 0}, {"operator": 2, "borrow_from": 250, "removed": 643, "from_basis": [261, 133, 85, 45], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 3, "borrow_from": 266, "removed": 645, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 4, "borrow_from": 259, "removed": 646, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 29, "borrow_from": 261, "removed": 647, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 7, "borrow_from": 530, "removed": 651, "from_basis": [385, 70, 33, 18, 12], "to_basis": [384, 160, 75, 25, 7], "physical_handoff_rank": 0}, {"operator": 41, "borrow_from": 442, "removed": 655, "from_basis": [268, 140, 45, 30], "to_basis": [384, 160, 75, 25], "physical_handoff_rank": 0}, {"operator": 42, "borrow_from": 542, "removed": 654, "from_basis": [262, 193, 33, 18, 12], "to_basis": [384, 160, 75, 25, 7], "physical_handoff_rank": 0}, {"operator": 5, "borrow_from": 333, "removed": 659, "from_basis": [266, 138, 75, 30], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 6, "borrow_from": 317, "removed": 661, "from_basis": [385, 74, 44, 30], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 27, "borrow_from": 245, "removed": 663, "from_basis": [261, 133, 85, 45], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 28, "borrow_from": 257, "removed": 662, "from_basis": [400, 69, 35, 14], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 23, "borrow_from": 227, "removed": 679, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 24, "borrow_from": 229, "removed": 678, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 25, "borrow_from": 234, "removed": 677, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 26, "borrow_from": 241, "removed": 675, "from_basis": [261, 133, 85, 45], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 8, "borrow_from": 285, "removed": 683, "from_basis": [388, 75, 41, 26], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 9, "borrow_from": 281, "removed": 686, "from_basis": [388, 75, 41, 26], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 21, "borrow_from": 393, "removed": 687, "from_basis": [259, 131, 75, 51], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 22, "borrow_from": 225, "removed": 685, "from_basis": [448, 38, 21, 11], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 15, "borrow_from": 345, "removed": 695, "from_basis": [416, 70, 19, 13], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 18, "borrow_from": 381, "removed": 694, "from_basis": [392, 67, 37, 22], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 19, "borrow_from": 377, "removed": 693, "from_basis": [392, 67, 37, 22], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 20, "borrow_from": 397, "removed": 691, "from_basis": [259, 131, 75, 51], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 10, "borrow_from": 301, "removed": 699, "from_basis": [273, 145, 85, 51], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 11, "borrow_from": 297, "removed": 702, "from_basis": [273, 145, 85, 51], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 12, "borrow_from": 313, "removed": 703, "from_basis": [385, 74, 44, 30], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 13, "borrow_from": 329, "removed": 701, "from_basis": [266, 138, 75, 30], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}]}, "gaussian": {"status": "PASS_EXACT_GAUSSIAN_BORROW_HANDOFFS", "operators": 42, "records": [{"operator": 1, "G_columns": [1, 2, 4, 8, 64, 19, 104, 197, 325], "handoff_exact_monomial_sha256": "6cf8c0f9b98f3f5b3fc8b5cc39734c2a340bdde82b7013e9b77f12930b816490", "full_exit_exact_monomial_sha256": "270a211e83af324abd684553bedbcafb54aa0f2d882124d2120566884a9d7959"}, {"operator": 14, "G_columns": [1, 2, 4, 27, 46, 8, 198, 64, 264], "handoff_exact_monomial_sha256": "409dcf3130f1420b7a9f53a000956599f07e670a81747d51895826f9753a1b02", "full_exit_exact_monomial_sha256": "726e078d38693898e271f2870e25422f7f0b89a5042f05e92246260497abce5a"}, {"operator": 16, "G_columns": [1, 2, 4, 8, 16, 64, 107, 198, 326], "handoff_exact_monomial_sha256": "128488b96c4be786bca41db2dd094730dfe5ba743ada1e41df2148f3d4ea1684", "full_exit_exact_monomial_sha256": "2de4692a470bc8807c2c93b9bfdde380c12422c5ab7eb258e6a6a469c0274fd2"}, {"operator": 17, "G_columns": [1, 2, 4, 8, 16, 64, 107, 198, 326], "handoff_exact_monomial_sha256": "128488b96c4be786bca41db2dd094730dfe5ba743ada1e41df2148f3d4ea1684", "full_exit_exact_monomial_sha256": "2de4692a470bc8807c2c93b9bfdde380c12422c5ab7eb258e6a6a469c0274fd2"}, {"operator": 30, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 31, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 32, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 33, "G_columns": [1, 2, 8, 16, 256, 30, 57, 90, 129], "handoff_exact_monomial_sha256": "a110db1ecdf22c9fb177ba8da8022231d8c498aca5114e846ee96be1f3930a78", "full_exit_exact_monomial_sha256": "a2acaaa3f8426dd5fcddc0963dc028f3935edc0f8b8db21e64b3b13651c4794d"}, {"operator": 34, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 35, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 36, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 37, "G_columns": [1, 2, 4, 8, 29, 47, 77, 128, 261], "handoff_exact_monomial_sha256": "4d5e3716c6663e7c72ae969dfc2bb1d41b5a75ca49f9180b44fb4aa0676db55c", "full_exit_exact_monomial_sha256": "da709e429065e49d0128c24e6b8d73d7949d2d15ac6c9865b597d23694d84ae2"}, {"operator": 38, "G_columns": [1, 2, 4, 8, 31, 47, 128, 72, 395], "handoff_exact_monomial_sha256": "d6d2eb1462ff1334a3a5f205042992ef1b75e41a1fd6c592453efc12e93b40b4", "full_exit_exact_monomial_sha256": "eb75c7473be2e377108991106d2d0029a160fc26722c04d66721ba1828935a9c"}, {"operator": 39, "G_columns": [1, 2, 4, 8, 31, 47, 128, 72, 395], "handoff_exact_monomial_sha256": "d6d2eb1462ff1334a3a5f205042992ef1b75e41a1fd6c592453efc12e93b40b4", "full_exit_exact_monomial_sha256": "eb75c7473be2e377108991106d2d0029a160fc26722c04d66721ba1828935a9c"}, {"operator": 40, "G_columns": [1, 2, 4, 8, 31, 47, 128, 72, 395], "handoff_exact_monomial_sha256": "d6d2eb1462ff1334a3a5f205042992ef1b75e41a1fd6c592453efc12e93b40b4", "full_exit_exact_monomial_sha256": "eb75c7473be2e377108991106d2d0029a160fc26722c04d66721ba1828935a9c"}, {"operator": 2, "G_columns": [1, 2, 4, 32, 128, 47, 145, 68, 483], "handoff_exact_monomial_sha256": "274ab0dc9326a464b10185c96fbf4733d6d8a71072edc6177751f18c0bade9a0", "full_exit_exact_monomial_sha256": "4128f5981c0da1da48b95f9448451412b037a42ef0b87a20799e18afe86b2a84"}, {"operator": 3, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 4, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 29, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 7, "G_columns": [1, 2, 8, 15, 27, 74, 170, 32, 417], "handoff_exact_monomial_sha256": "861d3f5483747265c5dcc74ae83379abc7cc96036e0ae982d2a342b943094740", "full_exit_exact_monomial_sha256": "fc7d6040dedc7d22a41bf203e1092c9d3fc510a623ddca697a7649cc444c8163"}, {"operator": 41, "G_columns": [1, 2, 4, 8, 23, 70, 32, 172, 396], "handoff_exact_monomial_sha256": "da2efaf833906b554c722a17cc7f074d87b909a8486423ffdc53e04b65372de0", "full_exit_exact_monomial_sha256": "b3633f1dfc8d6ad0d8eac3b953ba2cc217a83e681e4ac93aa41849460ecbeac9"}, {"operator": 42, "G_columns": [1, 2, 8, 15, 27, 74, 32, 129, 394], "handoff_exact_monomial_sha256": "230e6fecbc94c0cf2da12903787af836f323ad381aa32674d22233c107069db3", "full_exit_exact_monomial_sha256": "31d703f818e3e52a4c2768d30af947358093673cab0005d4c82a33accee62192"}, {"operator": 5, "G_columns": [1, 2, 8, 32, 44, 128, 59, 66, 489], "handoff_exact_monomial_sha256": "1058f8b951102c293951a04e36ad83b3e0ad7c4b372b8ecef8035dad5a18e1bf", "full_exit_exact_monomial_sha256": "f10368763cbdc46b83fb478fd50c2dc8391757e01f040fe67aae7e0020ce9860"}, {"operator": 6, "G_columns": [1, 2, 8, 32, 44, 48, 66, 128, 330], "handoff_exact_monomial_sha256": "09ec6b3f9fa181cdd0dac78d2c35b4594723a305960e8eb75e1ec3ee22cf2693", "full_exit_exact_monomial_sha256": "e93033cf83683623d8e52ed40b2429c2ef15523b61700441b88758d1af77ee30"}, {"operator": 27, "G_columns": [1, 2, 8, 32, 128, 47, 145, 105, 450], "handoff_exact_monomial_sha256": "94122f9a3de80d451b243e2e6473a8bc0f56d5c3625f0154cd99ab50fbbf022e", "full_exit_exact_monomial_sha256": "035484c8054886881108ee0cccb238df6bc0a3c1f785486ff9d3f419ce1f7dec"}, {"operator": 28, "G_columns": [1, 2, 8, 12, 32, 27, 105, 128, 363], "handoff_exact_monomial_sha256": "9950407ae3dafcbbb524121019a731b0bb3ea637a121bae2230499c8135296c7", "full_exit_exact_monomial_sha256": "fed181a27b1767b27418eda196bc3f8c9971d270783d0ecaec54547400e8a1ff"}, {"operator": 23, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 24, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 25, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 26, "G_columns": [1, 4, 8, 16, 128, 26, 185, 65, 476], "handoff_exact_monomial_sha256": "313bb2ad48197e123504a494e7261c4f16f8345b61502472a505f5e8a4ffeed2", "full_exit_exact_monomial_sha256": "5183b631ae214ae8fcd40bb479ba34be715ba2bc497e4974afd327fd9422e099"}, {"operator": 8, "G_columns": [1, 2, 4, 16, 27, 53, 81, 128, 337], "handoff_exact_monomial_sha256": "1f0bc88ef72044371a1b248bf457df6baaf719b79f0b68f5b6344f882ab4279a", "full_exit_exact_monomial_sha256": "3f70bc24f57a78fedd30541c26a2ce7ae0bb03ef5c3d83848efb3bc3f790ea13"}, {"operator": 9, "G_columns": [1, 2, 4, 16, 27, 53, 81, 128, 337], "handoff_exact_monomial_sha256": "1f0bc88ef72044371a1b248bf457df6baaf719b79f0b68f5b6344f882ab4279a", "full_exit_exact_monomial_sha256": "3f70bc24f57a78fedd30541c26a2ce7ae0bb03ef5c3d83848efb3bc3f790ea13"}, {"operator": 21, "G_columns": [1, 2, 4, 16, 128, 138, 55, 65, 470], "handoff_exact_monomial_sha256": "9aac5012d2e6559816243a71a3d2242f9ab1fd5c93999852154b17d7016246b1", "full_exit_exact_monomial_sha256": "fe67c87c4305ec4904f7b1caff4270da969cbec68b30396419d56ad034bb077a"}, {"operator": 22, "G_columns": [1, 2, 4, 10, 33, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "ff04b6e08be7b0eecc02fe682db07c8443be8d8ccfc01acd954bf9d340a23725", "full_exit_exact_monomial_sha256": "9cac0ebf245216aa73aef54a6b1f2819dd58890566e175330b89efaa55081010"}, {"operator": 15, "G_columns": [1, 2, 4, 40, 86, 8, 132, 16, 408], "handoff_exact_monomial_sha256": "cec7ff0123251549c69eaeb589fa79562a842ecf40de40aecc761bdf043c4fd2", "full_exit_exact_monomial_sha256": "40efcad72e80e65e7f8a29c26622bcfba6ebbfced1ba108478c5cb79f016afe4"}, {"operator": 18, "G_columns": [1, 2, 4, 8, 43, 80, 129, 16, 408], "handoff_exact_monomial_sha256": "542bcfe937ce79a4f3132048c70c7899637044e281e6156d0429de47515c75e2", "full_exit_exact_monomial_sha256": "cd610342e99dd286b5604c783a53b18f9e8805b700d2a2ab1f2a69f38998664a"}, {"operator": 19, "G_columns": [1, 2, 4, 8, 43, 80, 129, 16, 408], "handoff_exact_monomial_sha256": "542bcfe937ce79a4f3132048c70c7899637044e281e6156d0429de47515c75e2", "full_exit_exact_monomial_sha256": "cd610342e99dd286b5604c783a53b18f9e8805b700d2a2ab1f2a69f38998664a"}, {"operator": 20, "G_columns": [1, 2, 4, 8, 16, 62, 94, 129, 387], "handoff_exact_monomial_sha256": "1d151f1d9ddc9aed0a277c1d756e1deb703f2c5b4be38cdbb598cbe428de3dfb", "full_exit_exact_monomial_sha256": "07afa8d5a0aec069987438247c55b91ed85c84d71e6bfbd636da943e937120d7"}, {"operator": 10, "G_columns": [1, 2, 4, 64, 128, 143, 151, 160, 326], "handoff_exact_monomial_sha256": "7c58ca977f777b8a9c2e9708aa59f53ca850db9ca068470c1079bba62cc15191", "full_exit_exact_monomial_sha256": "416ddf0788d10d7a1b3304dad5c801688b1fd8bddc6e08cff90f5a02bb764f6b"}, {"operator": 11, "G_columns": [1, 2, 4, 64, 128, 143, 151, 160, 326], "handoff_exact_monomial_sha256": "7c58ca977f777b8a9c2e9708aa59f53ca850db9ca068470c1079bba62cc15191", "full_exit_exact_monomial_sha256": "416ddf0788d10d7a1b3304dad5c801688b1fd8bddc6e08cff90f5a02bb764f6b"}, {"operator": 12, "G_columns": [1, 2, 4, 64, 74, 86, 99, 128, 326], "handoff_exact_monomial_sha256": "4483ff575eb4cbc74feb2e8d95c414bf361bbae7df79d88a16c821e72b829429", "full_exit_exact_monomial_sha256": "b1417ab0cf194f64c94a9a5d584e7fe22beccea88e65d7a0ca8ece5c3b32b77e"}, {"operator": 13, "G_columns": [1, 2, 4, 64, 74, 128, 81, 99, 389], "handoff_exact_monomial_sha256": "4c210d00727ae6d8766019b938ee502095a23011211d32929689c043538eb19c", "full_exit_exact_monomial_sha256": "df2e2ec142b4b4fc1b4726e7f2b381e9231672788a4c440ff372587ddcf02720"}]}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_extra.json new file mode 100644 index 0000000000..da21386aee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/inputs/witness_43_extra.json @@ -0,0 +1 @@ +{"credit": "#2226 anticipatory dirty borrowing (Cinna Davis / 1337isnot1337), adapted to T74 words", "variant": "rl651d653", "pairs": [{"register": 597, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 243, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 643, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 250, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 645, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 266, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 646, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 259, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 659, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 333, "retirement_B_event": 788, "retirement_frame": 211, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [266, 138, 75, 30]}, {"register": 661, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 317, "retirement_B_event": 769, "retirement_frame": 182, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 74, 44, 30]}, {"register": 651, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 530, "retirement_B_event": 1055, "retirement_frame": 736, "retirement_dimension": 5, "old_final_dimension": 8, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 70, 33, 18, 12]}, {"register": 683, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 285, "retirement_B_event": 733, "retirement_frame": 124, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [388, 75, 41, 26]}, {"register": 686, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 281, "retirement_B_event": 731, "retirement_frame": 124, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [388, 75, 41, 26]}, {"register": 699, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 301, "retirement_B_event": 751, "retirement_frame": 153, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [273, 145, 85, 51]}, {"register": 702, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 297, "retirement_B_event": 749, "retirement_frame": 153, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [273, 145, 85, 51]}, {"register": 703, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 313, "retirement_B_event": 767, "retirement_frame": 182, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [385, 74, 44, 30]}, {"register": 701, "base": 696, "common_basis": [455, 33, 18, 12], "dimension": 4, "deadline": 1165, "deleted_echo_indices": [], "low": false, "borrow_from": 329, "retirement_B_event": 786, "retirement_frame": 211, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1165, "handoff_basis": [455, 33, 18, 12], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [266, 138, 75, 30]}, {"register": 595, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 349, "retirement_B_event": 807, "retirement_frame": 240, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [416, 70, 19, 13]}, {"register": 695, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 345, "retirement_B_event": 805, "retirement_frame": 240, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [416, 70, 19, 13]}, {"register": 598, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 365, "retirement_B_event": 825, "retirement_frame": 269, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 134, 102, 30]}, {"register": 599, "base": 592, "common_basis": [320, 192, 45, 30], "dimension": 4, "deadline": 1061, "deleted_echo_indices": [], "low": false, "borrow_from": 361, "retirement_B_event": 823, "retirement_frame": 269, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1061, "handoff_basis": [320, 192, 45, 30], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 134, 102, 30]}, {"register": 694, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 381, "retirement_B_event": 843, "retirement_frame": 298, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [392, 67, 37, 22]}, {"register": 693, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 377, "retirement_B_event": 841, "retirement_frame": 298, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [392, 67, 37, 22]}, {"register": 691, "base": 688, "common_basis": [258, 130, 85, 45], "dimension": 4, "deadline": 1157, "deleted_echo_indices": [], "low": false, "borrow_from": 397, "retirement_B_event": 861, "retirement_frame": 327, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1157, "handoff_basis": [384, 130, 85, 45], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [259, 131, 75, 51]}, {"register": 687, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 393, "retirement_B_event": 859, "retirement_frame": 327, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [259, 131, 75, 51]}, {"register": 685, "base": 680, "common_basis": [407, 66, 36, 9], "dimension": 4, "deadline": 1149, "deleted_echo_indices": [], "low": false, "borrow_from": 225, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1149, "handoff_basis": [469, 66, 36, 9], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 679, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 227, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 678, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 229, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 677, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 234, "retirement_B_event": -1, "retirement_frame": 37, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [448, 38, 21, 11]}, {"register": 675, "base": 672, "common_basis": [413, 72, 48, 3], "dimension": 4, "deadline": 1141, "deleted_echo_indices": [], "low": false, "borrow_from": 241, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1141, "handoff_basis": [469, 72, 48, 3], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 663, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 245, "retirement_B_event": -1, "retirement_frame": 66, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [261, 133, 85, 45]}, {"register": 662, "base": 656, "common_basis": [427, 96, 24, 6], "dimension": 4, "deadline": 1125, "deleted_echo_indices": [], "low": false, "borrow_from": 257, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1125, "handoff_basis": [459, 96, 24, 6], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 647, "base": 640, "common_basis": [423, 65, 20, 10], "dimension": 4, "deadline": 1109, "deleted_echo_indices": [], "low": false, "borrow_from": 261, "retirement_B_event": -1, "retirement_frame": 95, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1109, "handoff_basis": [486, 65, 20, 10], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [400, 69, 35, 14]}, {"register": 603, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 401, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 605, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 403, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 607, "base": 600, "common_basis": [409, 80, 40, 5, 2], "dimension": 5, "deadline": 1069, "deleted_echo_indices": [], "low": false, "borrow_from": 405, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1069, "handoff_basis": [80, 40, 5, 2], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 611, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 410, "retirement_B_event": -1, "retirement_frame": 356, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [265, 137, 75, 45]}, {"register": 613, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 417, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 614, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 419, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 615, "base": 608, "common_basis": [272, 144, 75, 42, 7], "dimension": 5, "deadline": 1077, "deleted_echo_indices": [], "low": false, "borrow_from": 421, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1077, "handoff_basis": [144, 75, 42, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 627, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 426, "retirement_B_event": -1, "retirement_frame": 385, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [68, 34, 17, 8], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [386, 73, 45, 28]}, {"register": 629, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 433, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [68, 34, 17, 8], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 630, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 435, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [68, 34, 17, 8], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 631, "base": 624, "common_basis": [391, 68, 34, 17, 8], "dimension": 5, "deadline": 1093, "deleted_echo_indices": [], "low": false, "borrow_from": 437, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1093, "handoff_basis": [68, 34, 17, 8], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 655, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 442, "retirement_B_event": -1, "retirement_frame": 414, "retirement_dimension": 4, "old_final_dimension": 9, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [268, 140, 45, 30]}, {"register": 654, "base": 648, "common_basis": [288, 160, 75, 25, 7], "dimension": 5, "deadline": 1117, "deleted_echo_indices": [], "low": false, "borrow_from": 542, "retirement_B_event": 1057, "retirement_frame": 738, "retirement_dimension": 5, "old_final_dimension": 9, "handoff_B": 1117, "handoff_basis": [384, 160, 75, 25, 7], "handoff_paid_rank": 0, "anticipate": false, "retirement_basis": [262, 193, 33, 18, 12]}], "initial_corrections": [], "early_tail_events": [{"old_tail_index": 34, "before_B": 734, "gate": ["add", 282, 285, -1, 1, 124]}, {"old_tail_index": 35, "before_B": 734, "gate": ["scale", 282, 1, -1, 124]}, {"old_tail_index": 36, "before_B": 732, "gate": ["add", 277, 281, -1, 1, 124]}, {"old_tail_index": 37, "before_B": 732, "gate": ["scale", 277, 1, -1, 124]}, {"old_tail_index": 38, "before_B": 735, "gate": ["add", 275, 31, -1, 1, 124]}, {"old_tail_index": 39, "before_B": 733, "gate": ["add", 273, 12, -1, 1, 124]}, {"old_tail_index": 40, "before_B": 752, "gate": ["add", 298, 301, -1, 1, 153]}, {"old_tail_index": 41, "before_B": 752, "gate": ["scale", 298, 1, -1, 153]}, {"old_tail_index": 42, "before_B": 750, "gate": ["add", 293, 297, -1, 1, 153]}, {"old_tail_index": 43, "before_B": 750, "gate": ["scale", 293, 1, -1, 153]}, {"old_tail_index": 44, "before_B": 753, "gate": ["add", 291, 55, -1, 1, 153]}, {"old_tail_index": 45, "before_B": 751, "gate": ["add", 289, 101, -1, 1, 153]}, {"old_tail_index": 46, "before_B": 770, "gate": ["add", 314, 317, -1, 1, 182]}, {"old_tail_index": 47, "before_B": 770, "gate": ["scale", 314, 1, -1, 182]}, {"old_tail_index": 48, "before_B": 768, "gate": ["add", 309, 313, -1, 1, 182]}, {"old_tail_index": 49, "before_B": 768, "gate": ["scale", 309, 1, -1, 182]}, {"old_tail_index": 50, "before_B": 771, "gate": ["add", 307, 85, -1, 1, 182]}, {"old_tail_index": 51, "before_B": 769, "gate": ["add", 305, 98, -1, 1, 182]}, {"old_tail_index": 52, "before_B": 789, "gate": ["add", 330, 333, -1, 1, 211]}, {"old_tail_index": 53, "before_B": 789, "gate": ["scale", 330, 1, -1, 211]}, {"old_tail_index": 54, "before_B": 787, "gate": ["add", 325, 329, -1, 1, 211]}, {"old_tail_index": 55, "before_B": 787, "gate": ["scale", 325, 1, -1, 211]}, {"old_tail_index": 56, "before_B": 790, "gate": ["add", 323, 33, -1, 1, 211]}, {"old_tail_index": 57, "before_B": 788, "gate": ["add", 321, 49, -1, 1, 211]}, {"old_tail_index": 58, "before_B": 808, "gate": ["add", 346, 349, -1, 1, 240]}, {"old_tail_index": 59, "before_B": 808, "gate": ["scale", 346, 1, -1, 240]}, {"old_tail_index": 60, "before_B": 806, "gate": ["add", 341, 345, -1, 1, 240]}, {"old_tail_index": 61, "before_B": 806, "gate": ["scale", 341, 1, -1, 240]}, {"old_tail_index": 62, "before_B": 809, "gate": ["add", 339, 1, -1, 1, 240]}, {"old_tail_index": 63, "before_B": 807, "gate": ["add", 337, 6, -1, 1, 240]}, {"old_tail_index": 64, "before_B": 826, "gate": ["add", 362, 365, -1, 1, 269]}, {"old_tail_index": 65, "before_B": 826, "gate": ["scale", 362, 1, -1, 269]}, {"old_tail_index": 66, "before_B": 824, "gate": ["add", 357, 361, -1, 1, 269]}, {"old_tail_index": 67, "before_B": 824, "gate": ["scale", 357, 1, -1, 269]}, {"old_tail_index": 68, "before_B": 827, "gate": ["add", 355, 74, -1, 1, 269]}, {"old_tail_index": 69, "before_B": 825, "gate": ["add", 353, 83, -1, 1, 269]}, {"old_tail_index": 70, "before_B": 844, "gate": ["add", 378, 381, -1, 1, 298]}, {"old_tail_index": 71, "before_B": 844, "gate": ["scale", 378, 1, -1, 298]}, {"old_tail_index": 72, "before_B": 842, "gate": ["add", 373, 377, -1, 1, 298]}, {"old_tail_index": 73, "before_B": 842, "gate": ["scale", 373, 1, -1, 298]}, {"old_tail_index": 74, "before_B": 845, "gate": ["add", 371, 88, -1, 1, 298]}, {"old_tail_index": 75, "before_B": 843, "gate": ["add", 369, 80, -1, 1, 298]}, {"old_tail_index": 76, "before_B": 862, "gate": ["add", 394, 397, -1, 1, 327]}, {"old_tail_index": 77, "before_B": 862, "gate": ["scale", 394, 1, -1, 327]}, {"old_tail_index": 78, "before_B": 860, "gate": ["add", 389, 393, -1, 1, 327]}, {"old_tail_index": 79, "before_B": 860, "gate": ["scale", 389, 1, -1, 327]}, {"old_tail_index": 80, "before_B": 863, "gate": ["add", 387, 4, -1, 1, 327]}, {"old_tail_index": 81, "before_B": 861, "gate": ["add", 385, 68, -1, 1, 327]}], "replay": {"status": "PASS_EXACT_FREE_OPERATOR_BORROWING_REPLAY", "local_profile": {"1": 2341, "2": 508, "3": 420, "4": 124, "5": 42, "8": 8}, "local_mass": 5387, "remaining_registers": 662, "zero_FULL_cleanup_buffers": 78, "exact_cold_restoration": [{"register": 273, "frame": 124, "preparation": {"273": "1"}}, {"register": 275, "frame": 124, "preparation": {"275": "1"}}, {"register": 277, "frame": 124, "preparation": {"277": "1"}}, {"register": 282, "frame": 124, "preparation": {"282": "1"}}, {"register": 289, "frame": 153, "preparation": {"289": "1"}}, {"register": 291, "frame": 153, "preparation": {"291": "1"}}, {"register": 293, "frame": 153, "preparation": {"293": "1"}}, {"register": 298, "frame": 153, "preparation": {"298": "1"}}, {"register": 305, "frame": 182, "preparation": {"305": "1"}}, {"register": 307, "frame": 182, "preparation": {"307": "1"}}, {"register": 309, "frame": 182, "preparation": {"309": "1"}}, {"register": 314, "frame": 182, "preparation": {"314": "1"}}, {"register": 321, "frame": 211, "preparation": {"321": "1"}}, {"register": 323, "frame": 211, "preparation": {"323": "1"}}, {"register": 325, "frame": 211, "preparation": {"325": "1"}}, {"register": 330, "frame": 211, "preparation": {"330": "1"}}, {"register": 337, "frame": 240, "preparation": {"337": "1"}}, {"register": 339, "frame": 240, "preparation": {"339": "1"}}, {"register": 341, "frame": 240, "preparation": {"341": "1"}}, {"register": 346, "frame": 240, "preparation": {"346": "1"}}, {"register": 353, "frame": 269, "preparation": {"353": "1"}}, {"register": 355, "frame": 269, "preparation": {"355": "1"}}, {"register": 357, "frame": 269, "preparation": {"357": "1"}}, {"register": 362, "frame": 269, "preparation": {"362": "1"}}, {"register": 369, "frame": 298, "preparation": {"369": "1"}}, {"register": 371, "frame": 298, "preparation": {"371": "1"}}, {"register": 373, "frame": 298, "preparation": {"373": "1"}}, {"register": 378, "frame": 298, "preparation": {"378": "1"}}, {"register": 385, "frame": 327, "preparation": {"385": "1"}}, {"register": 387, "frame": 327, "preparation": {"387": "1"}}, {"register": 389, "frame": 327, "preparation": {"389": "1"}}, {"register": 394, "frame": 327, "preparation": {"394": "1"}}, {"register": 572, "frame": 1005, "preparation": {"572": "1", "408": "-1"}}, {"register": 573, "frame": 1005, "preparation": {"573": "1", "105": "-1"}}, {"register": 574, "frame": 1004, "preparation": {"574": "1", "412": "-1"}}, {"register": 575, "frame": 1004, "preparation": {"575": "1", "414": "-1"}}, {"register": 580, "frame": 1006, "preparation": {"580": "1", "424": "-1"}}, {"register": 581, "frame": 1006, "preparation": {"581": "1", "44": "-1"}}, {"register": 582, "frame": 1007, "preparation": {"582": "1", "428": "-1"}}, {"register": 583, "frame": 1007, "preparation": {"583": "1", "430": "-1"}}, {"register": 311, "frame": 1003, "preparation": {"498": "1", "311": "-1"}}, {"register": 327, "frame": 1002, "preparation": {"511": "1", "322": "-1"}}, {"register": 448, "frame": 998, "preparation": {"448": "1", "231": "-1"}}, {"register": 449, "frame": 998, "preparation": {"449": "1", "226": "-1"}}, {"register": 450, "frame": 999, "preparation": {"450": "1", "230": "-1"}}, {"register": 451, "frame": 999, "preparation": {"451": "1", "228": "-1"}}, {"register": 452, "frame": 999, "preparation": {"452": "1", "232": "-1"}}, {"register": 453, "frame": 999, "preparation": {"453": "1", "7": "-1"}}, {"register": 454, "frame": 998, "preparation": {"454": "1", "236": "-1"}}, {"register": 455, "frame": 998, "preparation": {"455": "1", "238": "-1"}}, {"register": 484, "frame": 998, "preparation": {"484": "1", "231": "-1", "299": "-1"}}, {"register": 485, "frame": 998, "preparation": {"485": "1", "226": "-1", "54": "-1"}}, {"register": 498, "frame": 1003, "preparation": {"499": "1", "306": "-1"}}, {"register": 500, "frame": 1001, "preparation": {"500": "1", "310": "-1"}}, {"register": 501, "frame": 1001, "preparation": {"501": "1", "308": "-1"}}, {"register": 508, "frame": 999, "preparation": {"508": "1", "331": "-1", "230": "-1"}}, {"register": 509, "frame": 999, "preparation": {"509": "1", "228": "-1", "34": "-1"}}, {"register": 510, "frame": 1002, "preparation": {"511": "-1", "510": "1"}}, {"register": 512, "frame": 1000, "preparation": {"512": "1", "326": "-1"}}, {"register": 513, "frame": 1000, "preparation": {"513": "1", "324": "-1"}}, {"register": 531, "frame": 999, "preparation": {"531": "1", "351": "-1", "587": "-1/2"}}, {"register": 532, "frame": 999, "preparation": {"532": "1", "363": "-1", "232": "2"}}, {"register": 533, "frame": 999, "preparation": {"533": "1", "7": "2", "73": "-1"}}, {"register": 543, "frame": 999, "preparation": {"543": "1", "367": "-1", "589": "1"}}, {"register": 554, "frame": 998, "preparation": {"554": "-1", "3": "1"}}, {"register": 555, "frame": 998, "preparation": {"555": "1", "383": "-1", "585": "-1/2"}}, {"register": 556, "frame": 998, "preparation": {"556": "1", "236": "2", "395": "-1"}}, {"register": 557, "frame": 998, "preparation": {"557": "1", "5": "-1", "238": "2"}}, {"register": 566, "frame": 998, "preparation": {"566": "1", "69": "-1"}}, {"register": 567, "frame": 998, "preparation": {"567": "1", "399": "-1", "591": "1"}}, {"register": 584, "frame": 998, "preparation": {"584": "1", "439": "-1"}}, {"register": 585, "frame": 998, "preparation": {"585": "1", "434": "-1"}}, {"register": 586, "frame": 999, "preparation": {"586": "1", "438": "-1"}}, {"register": 587, "frame": 999, "preparation": {"587": "1", "436": "-1"}}, {"register": 588, "frame": 999, "preparation": {"588": "1", "440": "-1"}}, {"register": 589, "frame": 999, "preparation": {"589": "1", "46": "-1"}}, {"register": 590, "frame": 998, "preparation": {"590": "1", "444": "-1"}}, {"register": 591, "frame": 998, "preparation": {"591": "1", "446": "-1"}}], "symbolic_warps": [{"operator": 1, "borrow_from": 243, "removed": 597, "from_basis": [261, 133, 85, 45], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 14, "borrow_from": 349, "removed": 595, "from_basis": [416, 70, 19, 13], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 16, "borrow_from": 365, "removed": 598, "from_basis": [262, 134, 102, 30], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 17, "borrow_from": 361, "removed": 599, "from_basis": [262, 134, 102, 30], "to_basis": [320, 192, 45, 30], "physical_handoff_rank": 0}, {"operator": 30, "borrow_from": 401, "removed": 603, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 31, "borrow_from": 403, "removed": 605, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 32, "borrow_from": 405, "removed": 607, "from_basis": [265, 137, 75, 45], "to_basis": [80, 40, 5, 2], "physical_handoff_rank": 0}, {"operator": 33, "borrow_from": 410, "removed": 611, "from_basis": [265, 137, 75, 45], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 34, "borrow_from": 417, "removed": 613, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 35, "borrow_from": 419, "removed": 614, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 36, "borrow_from": 421, "removed": 615, "from_basis": [386, 73, 45, 28], "to_basis": [144, 75, 42, 7], "physical_handoff_rank": 0}, {"operator": 37, "borrow_from": 426, "removed": 627, "from_basis": [386, 73, 45, 28], "to_basis": [68, 34, 17, 8], "physical_handoff_rank": 0}, {"operator": 38, "borrow_from": 433, "removed": 629, "from_basis": [268, 140, 45, 30], "to_basis": [68, 34, 17, 8], "physical_handoff_rank": 0}, {"operator": 39, "borrow_from": 435, "removed": 630, "from_basis": [268, 140, 45, 30], "to_basis": [68, 34, 17, 8], "physical_handoff_rank": 0}, {"operator": 40, "borrow_from": 437, "removed": 631, "from_basis": [268, 140, 45, 30], "to_basis": [68, 34, 17, 8], "physical_handoff_rank": 0}, {"operator": 2, "borrow_from": 250, "removed": 643, "from_basis": [261, 133, 85, 45], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 3, "borrow_from": 266, "removed": 645, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 4, "borrow_from": 259, "removed": 646, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 29, "borrow_from": 261, "removed": 647, "from_basis": [400, 69, 35, 14], "to_basis": [486, 65, 20, 10], "physical_handoff_rank": 0}, {"operator": 7, "borrow_from": 530, "removed": 651, "from_basis": [385, 70, 33, 18, 12], "to_basis": [384, 160, 75, 25, 7], "physical_handoff_rank": 0}, {"operator": 41, "borrow_from": 442, "removed": 655, "from_basis": [268, 140, 45, 30], "to_basis": [384, 160, 75, 25], "physical_handoff_rank": 0}, {"operator": 42, "borrow_from": 542, "removed": 654, "from_basis": [262, 193, 33, 18, 12], "to_basis": [384, 160, 75, 25, 7], "physical_handoff_rank": 0}, {"operator": 5, "borrow_from": 333, "removed": 659, "from_basis": [266, 138, 75, 30], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 6, "borrow_from": 317, "removed": 661, "from_basis": [385, 74, 44, 30], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 27, "borrow_from": 245, "removed": 663, "from_basis": [261, 133, 85, 45], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 28, "borrow_from": 257, "removed": 662, "from_basis": [400, 69, 35, 14], "to_basis": [459, 96, 24, 6], "physical_handoff_rank": 0}, {"operator": 23, "borrow_from": 227, "removed": 679, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 24, "borrow_from": 229, "removed": 678, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 25, "borrow_from": 234, "removed": 677, "from_basis": [448, 38, 21, 11], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 26, "borrow_from": 241, "removed": 675, "from_basis": [261, 133, 85, 45], "to_basis": [469, 72, 48, 3], "physical_handoff_rank": 0}, {"operator": 8, "borrow_from": 285, "removed": 683, "from_basis": [388, 75, 41, 26], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 9, "borrow_from": 281, "removed": 686, "from_basis": [388, 75, 41, 26], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 21, "borrow_from": 393, "removed": 687, "from_basis": [259, 131, 75, 51], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 22, "borrow_from": 225, "removed": 685, "from_basis": [448, 38, 21, 11], "to_basis": [469, 66, 36, 9], "physical_handoff_rank": 0}, {"operator": 15, "borrow_from": 345, "removed": 695, "from_basis": [416, 70, 19, 13], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 18, "borrow_from": 381, "removed": 694, "from_basis": [392, 67, 37, 22], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 19, "borrow_from": 377, "removed": 693, "from_basis": [392, 67, 37, 22], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 20, "borrow_from": 397, "removed": 691, "from_basis": [259, 131, 75, 51], "to_basis": [384, 130, 85, 45], "physical_handoff_rank": 0}, {"operator": 10, "borrow_from": 301, "removed": 699, "from_basis": [273, 145, 85, 51], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 11, "borrow_from": 297, "removed": 702, "from_basis": [273, 145, 85, 51], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 12, "borrow_from": 313, "removed": 703, "from_basis": [385, 74, 44, 30], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}, {"operator": 13, "borrow_from": 329, "removed": 701, "from_basis": [266, 138, 75, 30], "to_basis": [455, 33, 18, 12], "physical_handoff_rank": 0}]}, "gaussian": {"status": "PASS_EXACT_GAUSSIAN_BORROW_HANDOFFS", "operators": 42, "records": [{"operator": 1, "G_columns": [1, 2, 4, 8, 64, 19, 104, 197, 325], "handoff_exact_monomial_sha256": "6cf8c0f9b98f3f5b3fc8b5cc39734c2a340bdde82b7013e9b77f12930b816490", "full_exit_exact_monomial_sha256": "270a211e83af324abd684553bedbcafb54aa0f2d882124d2120566884a9d7959"}, {"operator": 14, "G_columns": [1, 2, 4, 27, 46, 8, 198, 64, 264], "handoff_exact_monomial_sha256": "409dcf3130f1420b7a9f53a000956599f07e670a81747d51895826f9753a1b02", "full_exit_exact_monomial_sha256": "726e078d38693898e271f2870e25422f7f0b89a5042f05e92246260497abce5a"}, {"operator": 16, "G_columns": [1, 2, 4, 8, 16, 64, 107, 198, 326], "handoff_exact_monomial_sha256": "128488b96c4be786bca41db2dd094730dfe5ba743ada1e41df2148f3d4ea1684", "full_exit_exact_monomial_sha256": "2de4692a470bc8807c2c93b9bfdde380c12422c5ab7eb258e6a6a469c0274fd2"}, {"operator": 17, "G_columns": [1, 2, 4, 8, 16, 64, 107, 198, 326], "handoff_exact_monomial_sha256": "128488b96c4be786bca41db2dd094730dfe5ba743ada1e41df2148f3d4ea1684", "full_exit_exact_monomial_sha256": "2de4692a470bc8807c2c93b9bfdde380c12422c5ab7eb258e6a6a469c0274fd2"}, {"operator": 30, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 31, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 32, "G_columns": [1, 8, 16, 128, 256, 147, 140, 169, 209], "handoff_exact_monomial_sha256": "92f7d354f79c5184db61c3266271bbdb5a503848925289336cf1f74731916572", "full_exit_exact_monomial_sha256": "9524c1b6e789428fdf922bdcba1039c0a161c8a92e3fde97a412840e90e0d09d"}, {"operator": 33, "G_columns": [1, 2, 8, 16, 256, 30, 57, 90, 129], "handoff_exact_monomial_sha256": "a110db1ecdf22c9fb177ba8da8022231d8c498aca5114e846ee96be1f3930a78", "full_exit_exact_monomial_sha256": "a2acaaa3f8426dd5fcddc0963dc028f3935edc0f8b8db21e64b3b13651c4794d"}, {"operator": 34, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 35, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 36, "G_columns": [1, 2, 8, 16, 31, 51, 90, 256, 402], "handoff_exact_monomial_sha256": "fe18b6b1d93e1bd2dfc42c93ae0f3b7bd5b64f1dfe76c105c99b5597fbb23988", "full_exit_exact_monomial_sha256": "7ebe71197c980ded084c48963fe498382794bf3f57de6b9b3bca235d51a52949"}, {"operator": 37, "G_columns": [1, 2, 4, 128, 140, 148, 163, 256, 326], "handoff_exact_monomial_sha256": "62f2562e12a18ef2d8c268d2fdd1bfcb34684cea2dae09b217ac34110135c735", "full_exit_exact_monomial_sha256": "756453b9cc6e61dba03533c817ce262eac13900257fc69e640eef93a3201a200"}, {"operator": 38, "G_columns": [1, 2, 4, 128, 142, 148, 256, 166, 192], "handoff_exact_monomial_sha256": "dad763c2edceec567f5f9316d842bbf96789bfe7471a71c20ee14efc9c051875", "full_exit_exact_monomial_sha256": "f42354bd2ebea83322169e5e018eecdfb2e8dec803e0e8e0136da6153f96df36"}, {"operator": 39, "G_columns": [1, 2, 4, 128, 142, 148, 256, 166, 192], "handoff_exact_monomial_sha256": "dad763c2edceec567f5f9316d842bbf96789bfe7471a71c20ee14efc9c051875", "full_exit_exact_monomial_sha256": "f42354bd2ebea83322169e5e018eecdfb2e8dec803e0e8e0136da6153f96df36"}, {"operator": 40, "G_columns": [1, 2, 4, 128, 142, 148, 256, 166, 192], "handoff_exact_monomial_sha256": "dad763c2edceec567f5f9316d842bbf96789bfe7471a71c20ee14efc9c051875", "full_exit_exact_monomial_sha256": "f42354bd2ebea83322169e5e018eecdfb2e8dec803e0e8e0136da6153f96df36"}, {"operator": 2, "G_columns": [1, 2, 4, 32, 128, 47, 145, 68, 483], "handoff_exact_monomial_sha256": "274ab0dc9326a464b10185c96fbf4733d6d8a71072edc6177751f18c0bade9a0", "full_exit_exact_monomial_sha256": "4128f5981c0da1da48b95f9448451412b037a42ef0b87a20799e18afe86b2a84"}, {"operator": 3, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 4, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 29, "G_columns": [1, 2, 4, 12, 32, 23, 68, 128, 326], "handoff_exact_monomial_sha256": "3cbf1001720666131788bfaff5a9170b32261c3a1838ee8bf1cfcd065c79c8d2", "full_exit_exact_monomial_sha256": "716f8283675093de63d721830e4fad12fd8a39d2ffe7c752f05d21f3e4a33571"}, {"operator": 7, "G_columns": [1, 2, 8, 15, 27, 74, 170, 32, 417], "handoff_exact_monomial_sha256": "861d3f5483747265c5dcc74ae83379abc7cc96036e0ae982d2a342b943094740", "full_exit_exact_monomial_sha256": "fc7d6040dedc7d22a41bf203e1092c9d3fc510a623ddca697a7649cc444c8163"}, {"operator": 41, "G_columns": [1, 2, 4, 8, 23, 70, 32, 172, 396], "handoff_exact_monomial_sha256": "da2efaf833906b554c722a17cc7f074d87b909a8486423ffdc53e04b65372de0", "full_exit_exact_monomial_sha256": "b3633f1dfc8d6ad0d8eac3b953ba2cc217a83e681e4ac93aa41849460ecbeac9"}, {"operator": 42, "G_columns": [1, 2, 8, 15, 27, 74, 32, 129, 394], "handoff_exact_monomial_sha256": "230e6fecbc94c0cf2da12903787af836f323ad381aa32674d22233c107069db3", "full_exit_exact_monomial_sha256": "31d703f818e3e52a4c2768d30af947358093673cab0005d4c82a33accee62192"}, {"operator": 5, "G_columns": [1, 2, 8, 32, 44, 128, 59, 66, 489], "handoff_exact_monomial_sha256": "1058f8b951102c293951a04e36ad83b3e0ad7c4b372b8ecef8035dad5a18e1bf", "full_exit_exact_monomial_sha256": "f10368763cbdc46b83fb478fd50c2dc8391757e01f040fe67aae7e0020ce9860"}, {"operator": 6, "G_columns": [1, 2, 8, 32, 44, 48, 66, 128, 330], "handoff_exact_monomial_sha256": "09ec6b3f9fa181cdd0dac78d2c35b4594723a305960e8eb75e1ec3ee22cf2693", "full_exit_exact_monomial_sha256": "e93033cf83683623d8e52ed40b2429c2ef15523b61700441b88758d1af77ee30"}, {"operator": 27, "G_columns": [1, 2, 8, 32, 128, 47, 145, 105, 450], "handoff_exact_monomial_sha256": "94122f9a3de80d451b243e2e6473a8bc0f56d5c3625f0154cd99ab50fbbf022e", "full_exit_exact_monomial_sha256": "035484c8054886881108ee0cccb238df6bc0a3c1f785486ff9d3f419ce1f7dec"}, {"operator": 28, "G_columns": [1, 2, 8, 12, 32, 27, 105, 128, 363], "handoff_exact_monomial_sha256": "9950407ae3dafcbbb524121019a731b0bb3ea637a121bae2230499c8135296c7", "full_exit_exact_monomial_sha256": "fed181a27b1767b27418eda196bc3f8c9971d270783d0ecaec54547400e8a1ff"}, {"operator": 23, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 24, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 25, "G_columns": [1, 4, 8, 6, 57, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "2dfc1e190b74d747165f8b25691dc73760c41f5a81d14c11f3b6fcdaacbf84a9", "full_exit_exact_monomial_sha256": "3a285b1adc2256fba3abc2bfd6fd2af9cbb1e623058268e950e49d3731d4b25b"}, {"operator": 26, "G_columns": [1, 4, 8, 16, 128, 26, 185, 65, 476], "handoff_exact_monomial_sha256": "313bb2ad48197e123504a494e7261c4f16f8345b61502472a505f5e8a4ffeed2", "full_exit_exact_monomial_sha256": "5183b631ae214ae8fcd40bb479ba34be715ba2bc497e4974afd327fd9422e099"}, {"operator": 8, "G_columns": [1, 2, 4, 16, 27, 53, 81, 128, 337], "handoff_exact_monomial_sha256": "1f0bc88ef72044371a1b248bf457df6baaf719b79f0b68f5b6344f882ab4279a", "full_exit_exact_monomial_sha256": "3f70bc24f57a78fedd30541c26a2ce7ae0bb03ef5c3d83848efb3bc3f790ea13"}, {"operator": 9, "G_columns": [1, 2, 4, 16, 27, 53, 81, 128, 337], "handoff_exact_monomial_sha256": "1f0bc88ef72044371a1b248bf457df6baaf719b79f0b68f5b6344f882ab4279a", "full_exit_exact_monomial_sha256": "3f70bc24f57a78fedd30541c26a2ce7ae0bb03ef5c3d83848efb3bc3f790ea13"}, {"operator": 21, "G_columns": [1, 2, 4, 16, 128, 138, 55, 65, 470], "handoff_exact_monomial_sha256": "9aac5012d2e6559816243a71a3d2242f9ab1fd5c93999852154b17d7016246b1", "full_exit_exact_monomial_sha256": "fe67c87c4305ec4904f7b1caff4270da969cbec68b30396419d56ad034bb077a"}, {"operator": 22, "G_columns": [1, 2, 4, 10, 33, 68, 16, 128, 325], "handoff_exact_monomial_sha256": "ff04b6e08be7b0eecc02fe682db07c8443be8d8ccfc01acd954bf9d340a23725", "full_exit_exact_monomial_sha256": "9cac0ebf245216aa73aef54a6b1f2819dd58890566e175330b89efaa55081010"}, {"operator": 15, "G_columns": [1, 2, 4, 40, 86, 8, 132, 16, 408], "handoff_exact_monomial_sha256": "cec7ff0123251549c69eaeb589fa79562a842ecf40de40aecc761bdf043c4fd2", "full_exit_exact_monomial_sha256": "40efcad72e80e65e7f8a29c26622bcfba6ebbfced1ba108478c5cb79f016afe4"}, {"operator": 18, "G_columns": [1, 2, 4, 8, 43, 80, 129, 16, 408], "handoff_exact_monomial_sha256": "542bcfe937ce79a4f3132048c70c7899637044e281e6156d0429de47515c75e2", "full_exit_exact_monomial_sha256": "cd610342e99dd286b5604c783a53b18f9e8805b700d2a2ab1f2a69f38998664a"}, {"operator": 19, "G_columns": [1, 2, 4, 8, 43, 80, 129, 16, 408], "handoff_exact_monomial_sha256": "542bcfe937ce79a4f3132048c70c7899637044e281e6156d0429de47515c75e2", "full_exit_exact_monomial_sha256": "cd610342e99dd286b5604c783a53b18f9e8805b700d2a2ab1f2a69f38998664a"}, {"operator": 20, "G_columns": [1, 2, 4, 8, 16, 62, 94, 129, 387], "handoff_exact_monomial_sha256": "1d151f1d9ddc9aed0a277c1d756e1deb703f2c5b4be38cdbb598cbe428de3dfb", "full_exit_exact_monomial_sha256": "07afa8d5a0aec069987438247c55b91ed85c84d71e6bfbd636da943e937120d7"}, {"operator": 10, "G_columns": [1, 2, 4, 64, 128, 143, 151, 160, 326], "handoff_exact_monomial_sha256": "7c58ca977f777b8a9c2e9708aa59f53ca850db9ca068470c1079bba62cc15191", "full_exit_exact_monomial_sha256": "416ddf0788d10d7a1b3304dad5c801688b1fd8bddc6e08cff90f5a02bb764f6b"}, {"operator": 11, "G_columns": [1, 2, 4, 64, 128, 143, 151, 160, 326], "handoff_exact_monomial_sha256": "7c58ca977f777b8a9c2e9708aa59f53ca850db9ca068470c1079bba62cc15191", "full_exit_exact_monomial_sha256": "416ddf0788d10d7a1b3304dad5c801688b1fd8bddc6e08cff90f5a02bb764f6b"}, {"operator": 12, "G_columns": [1, 2, 4, 64, 74, 86, 99, 128, 326], "handoff_exact_monomial_sha256": "4483ff575eb4cbc74feb2e8d95c414bf361bbae7df79d88a16c821e72b829429", "full_exit_exact_monomial_sha256": "b1417ab0cf194f64c94a9a5d584e7fe22beccea88e65d7a0ca8ece5c3b32b77e"}, {"operator": 13, "G_columns": [1, 2, 4, 64, 74, 128, 81, 99, 389], "handoff_exact_monomial_sha256": "4c210d00727ae6d8766019b938ee502095a23011211d32929689c043538eb19c", "full_exit_exact_monomial_sha256": "df2e2ec142b4b4fc1b4726e7f2b381e9231672788a4c440ff372587ddcf02720"}]}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/lowfour_controls.py b/research/gmx-t74-borrow43-handoff/new/borrow/lowfour_controls.py new file mode 100644 index 0000000000..055052e79a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/lowfour_controls.py @@ -0,0 +1,61 @@ +import sys,json,gzip,copy,tempfile,io,contextlib +from pathlib import Path +sys.path.insert(0,str(Path(__file__).parent)) +import audit_local as al +import word_patch as WP +def run(w,tmp): + p=Path(tmp)/'m.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode())) + with contextlib.redirect_stdout(io.StringIO()):return al.run(p,Path(tmp)/'m.out.json',None,None) +def main(wordp,outp): + w0=json.loads(gzip.decompress(Path(wordp).read_bytes()));tmp=tempfile.mkdtemp();res=[];good=True + rep=run(w0,tmp);res.append(dict(control='unmutated',status=rep['status']));print('unmutated',rep['status']) + npre=w0['prelude_events'];pre=w0['A'][:npre] + def mut():return copy.deepcopy(w0) + def rederive(m): + m2=copy.deepcopy(m);A=m2['A'];m2['A']=A[npre:];m2['cleanup']=WP.derive_cleanup(m2,WP.restored_of(w0));m2['A']=A;return m2 + def expect(name,m): + nonlocal good + try:run(m,tmp);res.append(dict(control=name,rejected=False));print('NOT REJECTED',name);good=False + except RuntimeError as e:res.append(dict(control=name,rejected=True,reason=str(e)[:140]));print('rejected',name,'|',str(e)[:100]) + ia=next(i for i,e in enumerate(pre) if e[0]=='add') + m=mut();m['A'][ia][3]=-m['A'][ia][3];expect('prelude correction sign flipped',m) + m=mut();m['A'][ia][3]*=2;expect('prelude correction coefficient doubled',m) + ib=next(i for i,e in enumerate(pre) if e[0]=='add' and e[2]!=pre[ia][2] and e[1]!=pre[ia][1]);m=mut();m['A'][ia][1],m['A'][ib][1]=m['A'][ib][1],m['A'][ia][1];expect('prelude correction targets swapped',m) # two corrections with different sources and different targets (same-source corrections commute, and equal targets make the swap a no-op) + iw=[i for i,e in enumerate(pre) if e[0]=='warp'];m=mut();del m['A'][iw[1]];m['prelude_events']-=1;expect('prelude return warp dropped',m) + m=mut();del m['A'][iw[0]];m['prelude_events']-=1;expect('prelude forward warp dropped',m) + ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==135];m=mut() + for i in reversed(ids):del m['A'][i] + m['prelude_events']-=len(ids);expect('all prelude corrections of target 135 dropped',m) + m=mut();m['A'][0][-1]=[31];expect('prelude target scale at a different line',m) + m=mut();m['A'][iw[0]][2]=m['A'][iw[0]][2]+1 if abs(m['A'][iw[0]][2])i:r[0]-=1 + expect('source restoration gate dropped (cleanup re-derived)',rederive(m)) + # rewritten helper gate on the borrowed source removed + j=next(i for i,g in enumerate(w0['B']) if g[0]=='add' and g[1]==33 and g[2]==250) + m=mut();del m['B'][j] + for r in m['warps']: + if r[0]>j:r[0]-=1 + expect('rewritten source gate dropped (cleanup re-derived)',rederive(m)) + m=mut();m['B'][j][3]=-m['B'][j][3];expect('rewritten source gate sign flipped (cleanup re-derived)',rederive(m)) + # entrance frames of raised buffers + q=next(iter(w0['start_extra'])) + for q in ('474','522','534'): + m=mut();m['start_extra'][q]=[];expect('raised buffer entrance dropped %s'%q,m) + m=mut();m['start_extra'][q]=[1< x2 -> ... ; x_{k+1} may follow x_k (dirty borrow +of a retired register, LIFO-mirrored by the FULL cleanup) iff + (L) end(x_k) < start(x_{k+1}) (liveness) + (F) dim(frame of x_k at its last touch) <= dim(first gate frame of x_{k+1}) + (fixed gate frames; a rank-0 K_G warp can re-seat the lender inside the follower's first frame) +Sources (live from t=0, hold an input) and targets/restored cold helpers (must hold their value at the +end) can never follow; targets and restored cold helpers can never lead. + +Minimum helper registers = (#streams - max matching) - #source heads; deletable = 429 - that. +Price: an edge x->y removes x's final climb and y's entry climb and adds the link climb +(dim f1(y) - d(x)); this is additive, so a max-weight matching under the first-order price is the +best first-order alias set; it is then priced exactly (root of the package's global profile with the +freed mass as rank-48 idle, and ceiling.py ideal-idle). + +Modes: literal (compensation dirt reads count as touches at their time) / relaxed (they do not). +usage: chains.py WORD.json.gz +""" +import sys, json, math +from collections import Counter, defaultdict +from wordmodel import Word, regs + +M_, KAPPA = 73, 0.0017036763879936765 +GLOBAL = {1: 1595615, 2: 420912, 3: 224424, 4: 79920, 5: 22013, 7: 2664, 8: 2664, 48: 25752} +WFAM, CALLS = 66304, 666 + + +def c1(r, a=KAPPA, m=M_, R=48): + """first-order moment price of one rank-r child replaced by r/R idle children of rank R""" + if r <= 0: + return 0.0 + return (r / m) ** (1 - a) - (r / R) * (R / m) ** (1 - a) + + +def root(prof, W=WFAM, m=M_): + f = lambda a: sum(n * (r / m) ** (1 - a) for r, n in prof.items()) / W - 1 + lo, hi = 0.0, 0.05 + for _ in range(200): + mid = (lo + hi) / 2 + if f(mid) < 0: + lo = mid + else: + hi = mid + return lo + + +def price_root(base, P): + """T74 package model: replace the per-call local profile base by P on all 666 calls, freed mass as rank-48 idle""" + g = Counter(GLOBAL) + for k, v in base.items(): + g[k] -= CALLS * v + for k, v in P.items(): + g[k] += CALLS * v + g[48] += CALLS * (sum(k * v for k, v in base.items()) - sum(k * v for k, v in P.items())) / 48 + a = root(dict(g)) + return dict(kappa=a, gain=a / root(GLOBAL) - 1) + + +def build_streams(Wd, relaxed): + v = Wd.v + restored = {int(q) for q in Wd.w.get('helper_final', {})} + lend = {} + for t, (sec, e) in enumerate(Wd.events): + if sec == 'Bwarp': + lend.setdefault(e[1], t) + gf = Wd.gateframe + S = [] + for r in Wd.live: + if v <= r < 2 * v: + continue + tt = [(t, s) for t, s in Wd.touches.get(r, [])] + cuts = [lend[r]] if r in lend else [] + parts = [] + if cuts: + parts.append(('pre', [x for x in tt if x[0] < cuts[0]])) + parts.append(('post', [x for x in tt if x[0] >= cuts[0]])) + else: + parts.append(('', tt)) + for k, (part, ts) in enumerate(parts): + last_part = k == len(parts) - 1 + ft = [t for t, s in ts if t in gf] # framed gates + if not ft and not ts: + continue + frames = [gf[t] for t in ft] + dims = [] + for f in frames: + if not dims or len(f) != dims[-1]: + dims.append(len(f)) + tsel = [t for t, s in ts if not (relaxed and s in ('precondition', 'compensation'))] + if r < v and part != 'post': + kind, st = 'source', 0 + else: + kind = 'alias' if part == 'post' else 'helper' + st = min(tsel) if tsel else (min(ft) if ft else 0) + en = max(t for t, s in ts) + if r in restored and last_part: + en = Wd.T_END + 1 + sdim = len(Wd.start[r]) if part != 'post' else 0 + S.append(dict(reg=r, part=part, kind=kind, start=st, end=en, dims=dims, + sdim=sdim, enddim=len(Wd.end[r]), restored=(r in restored and last_part), + lastpart=last_part)) + return S + + +def chain_profile(chains, S): + """profile (Counter of climb ranks) of a chain decomposition; chain = list of stream ids""" + P = Counter() + for ch in chains: + x0 = S[ch[0]] + cur = x0['sdim'] + enddim = None + for k, i in enumerate(ch): + x = S[i] + for d in x['dims']: + if d > cur: + P[d - cur] += 1 + cur = d + assert d >= cur + enddim = x['enddim'] if x['restored'] or k == len(ch) - 1 else None + last = S[ch[-1]] + ed = last['enddim'] if last['restored'] else 9 + if ed > cur: + P[ed - cur] += 1 + return P + + +def main(): + Wd = Word(sys.argv[1]) + out = {'word': sys.argv[1]} + base_local = Counter(Wd.paid) + TG = Counter(c[1] for r in range(Wd.v, 2 * Wd.v) for c in Wd.climbs.get(r, [])) + Wd.centre_paid = Wd.centre_paid + TG # constant part: centre path + target climbs + for mode in ('literal', 'relaxed'): + S = build_streams(Wd, mode == 'relaxed') + idx = {(x['reg'], x['part']): i for i, x in enumerate(S)} + # positive control: the word's own chains (lender pre -> post) reproduce the local profile + own = [] + for i, x in enumerate(S): + if x['part'] == 'pre': + own.append([i, idx[(x['reg'], 'post')]]) + elif x['part'] == '': + own.append([i]) + P = chain_profile(own, S) + Wd.centre_paid + assert dict(P) == dict(base_local), (mode, dict(P), dict(base_local)) + # positive control: the existing 51 alias edges satisfy (L) and (F) + bad = [] + for ch in own: + if len(ch) == 2: + a, b = S[ch[0]], S[ch[1]] + if not (a['end'] <= b['start'] and (not a['dims'] or not b['dims'] or a['dims'][-1] <= b['dims'][0])): + bad.append((a['reg'], a['end'], b['start'], a['dims'][-1:], b['dims'][:1])) + res = {'streams': len(S), 'existing_alias_edges': sum(1 for c in own if len(c) == 2), + 'existing_edges_violating': bad} + n = len(S) + lead_ok = [x['kind'] != 'source' and not x['restored'] for x in S] + lead_ok = [not x['restored'] for x in S] # sources may lead (lend) after retiring + follow_ok = [x['kind'] != 'source' for x in S] + import forced + Dm = {} + for fr_ in (False, True): + keep, fidx, N, desc, anc, fst = forced.build(Wd, mode, fr_) + lendregs = {r for k, r, m in fst if k == 'alias'} + mk, dk = {}, {} + for k, r, m in fst: + part = 'post' if k == 'alias' else ('pre' if r in lendregs else '') + x, mm = 0, m + while mm: + low = mm & -mm + x |= desc[low.bit_length() - 1] + mm ^= low + mk[(r, part)] = m + dk[(r, part)] = x + Dm[fr_] = (mk, dk) + for cond in ('L', 'LF', 'R', 'RF'): + E = defaultdict(list) + for i in range(n): + a = S[i] + if not lead_ok[i]: + continue + for j in range(n): + if i == j or not follow_ok[j]: + continue + b = S[j] + if cond[0] == 'L': + if not a['end'] < b['start']: + continue + else: + mk, dk = Dm[cond == 'RF'] + ka, kb = (a['reg'], a['part']), (b['reg'], b['part']) + if ka not in mk or kb not in mk: + continue + if dk[kb] & mk[ka]: + continue + if 'F' in cond and a['dims'] and b['dims'] and a['dims'][-1] > b['dims'][0]: + continue + # weight: x final climb removed, y entry removed, link added + da = a['dims'][-1] if a['dims'] else (a['sdim'] or 0) + fin_a = 9 - da + f1 = b['dims'][0] if b['dims'] else da + sy = b['sdim'] + w = c1(fin_a) + c1(f1 - sy) - c1(max(f1 - da, 0)) + E[i].append((j, w)) + # max cardinality matching (Hopcroft-Karp-lite via augmenting paths) + matchR = {} + + def aug(u, seen): + for j, _ in E[u]: + if j in seen: + continue + seen.add(j) + if j not in matchR or aug(matchR[j], seen): + matchR[j] = u + return True + return False + sys.setrecursionlimit(100000) + mc = sum(1 for u in range(n) if aug(u, set())) + heads = n - mc + src = sum(1 for x in S if x['kind'] == 'source') + Hmin = heads - src + r = dict(edges=sum(len(e) for e in E.values()), max_matching=mc, registers_nontarget=heads, + helper_registers_min=Hmin, deletable_max=len(Wd.helpers) - Hmin) + # max-weight matching (first-order price) with OR-tools + from scipy.optimize import linear_sum_assignment as lsa + import numpy as np + BIG = 0.0 + C = np.zeros((n, n)) + for i, es in E.items(): + for j, w in es: + C[i, j] = -max(w, 0) * 1e6 + if cond in ('L', 'R'): + # liveness only: price the cap as 'the k most valuable streams become frame-local' + val = [] + for i, x in enumerate(S): + if x['kind'] == 'source': + continue + P1 = chain_profile([[i]], S) + val.append((sum(c1(k) * v for k, v in P1.items()), i)) + val.sort(reverse=True) + drop = {i for _, i in val[:r['deletable_max']]} + chains = [[i] for i in range(n) if i not in drop] + Pn = chain_profile(chains, S) + Wd.centre_paid + r['priced_as'] = 'top-%d streams frame-local' % len(drop) + r['local_profile'] = dict(sorted(Pn.items())) + r['local_mass'] = sum(k * v for k, v in Pn.items()) + res[cond] = r + res[cond]['_P'] = Pn + continue + ri, cj = lsa(C) + sel = [(i, j) for i, j in zip(ri, cj) if C[i, j] < 0] + nxt = {i: j for i, j in sel} + prv = {j: i for i, j in sel} + chains = [] + for i in range(n): + if i in prv: + continue + ch = [i] + while ch[-1] in nxt: + ch.append(nxt[ch[-1]]) + chains.append(ch) + assert sum(len(c) for c in chains) == n + Pn = chain_profile(chains, S) + Wd.centre_paid + r['maxweight_edges'] = len(sel) + ownset = {(S[c[0]]['reg'], S[c[1]]['reg']) for c in own if len(c) == 2} + newe = [(S[i]['reg'], S[i]['part'], S[i]['kind'], S[i]['dims'], S[j]['reg'], S[j]['part'], S[j]['dims']) + for i, j in sel if (S[i]['reg'], S[j]['reg']) not in ownset] + r['maxweight_new_edges'] = newe + # envelope: every stream that can follow in some edge and is not followed now -> frame-local + fol = sorted({j for es in E.values() for j, _ in es} - {j for c in own if len(c) == 2 for j in c[1:]}) + r['followable_not_aliased_now'] = [(S[j]['reg'], S[j]['part'], S[j]['dims']) for j in fol] + r['maxweight_local_profile'] = dict(sorted(Pn.items())) + r['maxweight_local_mass'] = sum(k * v for k, v in Pn.items()) + res[cond] = r + res[cond]['_P'] = Pn + out[mode] = res + # ---- pricing + base = dict(Wd.paid) + bm = sum(k * v for k, v in base.items()) + a0 = root(GLOBAL) + out['pricing_base_root'] = a0 + + def price(P): + g = Counter(GLOBAL) + for k, v in base.items(): + g[k] -= CALLS * v + for k, v in P.items(): + g[k] += CALLS * v + freed = CALLS * (bm - sum(k * v for k, v in P.items())) + g[48] += freed / 48 + return root(dict(g)) + + sys.path.insert(0, __import__('os').path.join(__import__('os').path.dirname(__import__('os').path.abspath(__file__)),*(['..']*6),'research','complex-local-word-ceiling')) + import ceiling as CE + from fractions import Fraction as Q + cb = CE.ceiling(base, 73, 896, 9, 64, grid=Q(1, 10 ** 10))[1] + for mode in ('literal', 'relaxed'): + for cond in ('L', 'LF', 'R', 'RF'): + P = out[mode][cond].pop('_P') + a = price(P) + cc = CE.ceiling(dict(P), 73, 896, 9, 64, grid=Q(1, 10 ** 10))[1] + out[mode][cond]['kappa_root_rank48_idle'] = a + out[mode][cond]['gain_vs_2474'] = a / a0 - 1 + out[mode][cond]['ceiling_ratio'] = float(cc / cb) + # ideal: every helper stream frame-local (all helper/alias climbs removed) + P = Counter(Wd.centre_paid) + SS = build_streams(Wd, True) + P += chain_profile([[i] for i, x in enumerate(SS) if x['kind'] == 'source'], SS) + for x in []: + if x['kind'] == 'source': + cur = 1 + for d in x['dims'] + [9]: + if d > cur: + P[d - cur] += 1 + cur = d + a = price(P) + out['ideal_all_helpers_free'] = dict(kappa=a, gain=a / a0 - 1, + ceiling_ratio=float(CE.ceiling(dict(P), 73, 896, 9, 64, grid=Q(1, 10 ** 10))[1] / cb)) + print(json.dumps(out, indent=1, default=str)) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/edit.py b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/edit.py new file mode 100644 index 0000000000..6d8b1e0435 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/edit.py @@ -0,0 +1,66 @@ +"""apply gate deletions/insertions to a BORROW-WORD and repair frames by forward join-lifting; returns new word or reason""" +import copy;from fm import * +def edit_word(w,dels,ins): + """dels: set of (sec,i); ins: list of (sec,i_before,gate_without_frame) ; sec in A|B. warp positions in B are remapped.""" + w2=copy.deepcopy(w) + for sec in ('A','B'): + old=w[sec];new=[];mp={} + insb={} + for (s,i,g) in ins: + if s==sec:insb.setdefault(i,[]).append(g) + for i in range(len(old)+1): + mp[i]=len(new) + for g in insb.get(i,[]):new.append(list(g)+[None]) + if i1 else cur[rs[0]] + if e[-1] is None or minimal:e[-1]=list(j);f=j + else: + f=basis(e[-1]) + if not contained(j,f):f=join(f,j);e[-1]=list(f);lifted+=1 + for r in rs:cur[r]=f + npre=w2.get('prelude_events',0) + for e in w2['A'][:npre]: + if e[0]=='warp': + if not contained(cur[e[1]],basis(e[3])) if minimal else cur[e[1]]!=basis(e[3]):return 'prelude-warp' + cur[e[1]]=basis(e[4]) + else:gate(e) + for e in w2['A'][npre:]:gate(e) + lev={int(t):basis(U) for t,U in w2.get('target_levels',{}).items()} + for t in range(v): + if (not contained(cur[v+t],lev.get(t,()))) if minimal else cur[v+t]!=lev.get(t,()):return 'target-level' + cur[v+t]=lev.get(t,()) + for q,U in zip(w2['centers'],w2['center_frames']): + if (not contained(cur[q],basis(U))) if minimal else cur[q]!=basis(U):return 'center' + cur[q]=basis(U) + byp={} + for op,rec in enumerate(w2['warps'],1):byp.setdefault(rec[0],[]).append(op) + B=w2['B'] + for p in range(len(B)+1): + for op in byp.get(p,[]): + rec=w2['warps'][op-1] + if (not contained(cur[rec[1]],basis(rec[3]))) if minimal else cur[rec[1]]!=basis(rec[3]):return 'warp' + cur[rec[1]]=basis(rec[4]) + if pk and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) +def contained(a,b):return basis(list(a)+list(b))==b +def join(a,b):return basis(list(a)+list(b)) +def regs_of(e):return tuple(e[1:3]) if e[0]=='add' else (e[1],) +def load(p):return json.loads(gzip.decompress(open(p,'rb').read())) +A_=0.0017037 +def phi(d):return (d/73)**(1-A_) +class FM: + def __init__(s,w): + s.w=w;v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];s.v=v;n=2*v+R;s.n=n + full=basis([1<len(cur):c.append(len(f)-len(cur)) + cur=f + assert contained(cur,s.end[r]); + if len(s.end[r])>len(cur):c.append(len(s.end[r])-len(cur)) + return c + def profile(s,F=None): + p=Counter(s.cpieces) + for r in s.live: + for d in s.climbs(r,F):p[d]+=1 + return p + def check_Aend(s,r,F): + ks=[k for k in s.byreg[r] if k= dim lo_L_in ; need some dim F1 of h's first gate >= that, <= dim hi(h_first) + dim Fl >= dim lo(h_last) ; need <= dim hi(L_next) +Strict model (no warps): span(lo_L_in, lo(h gates)) must sit below hi(h gates) & hi(L_next) (containment). +usage: gapbound.py WORD.json.gz out.json""" +import sys,json +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..')] # this directory and new/borrow (audit_local, word_patch, alias_build) +from collections import Counter +from wordmodel import Word,basis,contained,regs +from propbound import meet,span +def lohi(Wd): + w=Wd.w;v=Wd.v;FULL=Wd.full;ports=w['ports'] + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + cU={q:basis(U) for q,U in zip(w['centers'],w['center_frames'])} + ev=Wd.events;bnd=min(t for t,(s,e) in enumerate(ev) if s=='cut') + def stat_lo(q,warped): + if warped:return () + return span(Wd.start[q],(ports[q],)) if q=bnd: + crossed=True + for q,U in cU.items():lo_reg[q]=span(lo_reg.get(q,stat_lo(q,q in warped)),U) + for tt,U in lev.items():lo_reg[v+tt]=span(lo_reg.get(v+tt,()),U) + if e[0]=='warp':warped.add(e[1]);lo_reg[e[1]]=();continue + if t not in Wd.gateframe:continue + rs=regs(e);L=span(*[lo_reg.get(q,stat_lo(q,q in warped)) for q in rs]);lo[t]=L + for q in rs:lo_reg[q]=L + hi_reg={};hi={};crossed=False;lastwarp={} + for t in range(len(ev)-1,-1,-1): + s,e=ev[t] + if not crossed and tb] + if not nxt:continue + prv=[t for t in G[L] if t= d), U0 = L's first gate frame; at most 64""" + Uh=basis(w['helper_final'][str(h)]);d=len(Uh) + Lpos=[p for p,e in enumerate(w['B']) if L in registers(e)] + fr=[basis(w['B'][p][-1]) for p in Lpos];U0=fr[0] + Fs=[f for f in fr if len(f)>=d][0] + if len(U0)>d:return [] + vecs=[x for x in range(1,512) if len(basis(list(Fs)+[x]))==len(Fs)] + out=set() + for vs in itertools.combinations(vecs,d-len(U0)): + B_=basis(list(U0)+list(vs)) + if len(B_)==d:out.add(B_) + if len(out)>=64:break + return sorted(out) +if __name__=='__main__': + import repair2 + w=load(sys.argv[1]);TRACE=None + TRACE,_=repair2.run(copy.deepcopy(w),None) + base=w['report']['local_profile'];pairs=json.load(open(sys.argv[2])) + b0={int(k):v for k,v in base.items()} + res=[] + from collections import Counter;why=Counter() + seen=set() + for x in pairs: + if not x['loose'] or x['w']!=4 or (x['h'],x['L']) in seen:continue + seen.add((x['h'],x['L'])) + try:Es=Es_for(w,x['L'],x['h']) + except Exception as e:why['Es '+str(e)[:40]]+=1;continue + best=None;n=0 + for E in Es: + try:w2=build(w,x['L'],x['h'],E) + except AssertionError as e:why[str(e)[:40]]+=1;continue + n+=1 + lp={int(k):v for k,v in w2['report']['local_profile'].items()} + k=price_root(b0,lp)['kappa'] + if best is None or k>best[0]:best=(k,list(E),lp,w2['report']['width_inventory']) + if best: + res.append(dict(h=x['h'],L=x['L'],nE=len(Es),nok=n,kappa=best[0],E=best[1],lp=best[2],wi=best[3]));print(res[-1],flush=True) + print('base',price_root(b0,b0)['kappa']);print(why.most_common(12)) + json.dump(res,open(sys.argv[3],'w')) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/prelo.py b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/prelo.py new file mode 100644 index 0000000000..6da1c69ec3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/prelo.py @@ -0,0 +1,55 @@ +"""Any-refit test for pre-life hosting of borrower L on retired cold lender h (warp at L's first gate). +After the warp L sits at a frame E of dim d=|cold end of h| (warps keep dim). Every frame refit of the fixed +gate list needs lo'(g) <= hi(g) where lo' is propbound's forward lo propagation with the extra pin E on L. +Necessary: some dim-d E <= hi(L first gate) with all lo' <= hi. usage: prelo.py WORD gapb.json""" +import sys,json,itertools +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..')] # this directory and new/borrow (audit_local, word_patch, alias_build) +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..')] # this directory and new/borrow (audit_local, word_patch, alias_build) +from wordmodel import Word,basis,contained,regs +from propbound import span +from gapbound import lohi +from collections import Counter +Wd=Word(sys.argv[1]);v=Wd.v;w=Wd.w;lo,hi=lohi(Wd) +ports=w['ports'];ev=Wd.events +lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} +cU={q:basis(U) for q,U in zip(w['centers'],w['center_frames'])} +bnd=min(t for t,(s,e) in enumerate(ev) if s=='cut') +def lo_with(pin_t,pin_r,E): + def stat_lo(q,warped): + if warped:return () + return span(Wd.start[q],(ports[q],)) if q=bnd: + crossed=True + for q,U in cU.items():lo_reg[q]=span(lo_reg.get(q,stat_lo(q,q in warped)),U) + for tt,U in lev.items():lo_reg[v+tt]=span(lo_reg.get(v+tt,()),U) + if t==pin_t:lo_reg[pin_r]=E + if e[0]=='warp':warped.add(e[1]);lo_reg[e[1]]=();continue + if t not in Wd.gateframe:continue + rs=regs(e);L_=span(*[lo_reg.get(q,stat_lo(q,q in warped)) for q in rs]) + if not contained(L_,hi[t]):return t + for q in rs:lo_reg[q]=L_ + return None +pairs=[(x['h'],x['L']) for x in json.load(open(sys.argv[2])) if x['loose']] +cold={int(q):basis(U) for q,U in w['helper_final'].items()} +res=Counter();ok=[] +for h,L in sorted(set(pairs)): + if h not in cold:res['h not cold']+=1;continue + d=len(cold[h]) + G=[t for t,s in Wd.touches[L] if t in Wd.gateframe and s not in('precondition','compensation')] + t0=G[0];H=hi[t0] + if len(H)400:break + good=None + for E in sorted(subs): + r=lo_with(t0,L,E) + if r is None:good=E;break + if good:ok.append((h,L,list(good)));print("FEASIBLE",h,L,good,flush=True) + else:res['all E infeasible (lo>hi)']+=1 +print(res,"feasible",len(ok));json.dump(ok,open(sys.argv[3],"w")) if len(sys.argv)>3 else None diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/propbound.py b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/propbound.py new file mode 100644 index 0000000000..58018ab9d0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/propbound.py @@ -0,0 +1,204 @@ +"""(B') Propagated-pin lower bound on helper touch-span log-mass (fixed gate list and order, any frame refit). + +For every frame assignment of the same gate list (audit_local frame calculus: a framed gate g runs at one +frame F_g; each register's frame is monotone and equals F_g right after g; start(q) <= frame(q) <= end(q); +centres sit exactly at U_c and targets exactly at their level lev(t) (default ()) at the A/B boundary; +a source's frame contains its port line outside warp episodes): + F_g >= lo(g) := span( static lower pins of g's registers, lo(previous gate on each register of g) ) + F_g <= hi(g) := meet( static upper pins of g's registers, hi(next gate on each register of g) ) +by induction along each register's gate sequence (forward for lo, backward for hi). Warps are barriers +(no information carried across). Hence on every helper stream, dim F_g in [dim lo(g), dim hi(g)], +nondecreasing, and the touch-span DP (start/end free) over these intervals lower-bounds the log-mass +of its frame chain between first and last touch; summing over helpers lower-bounds the helper inventory +cost of every frame refit of the word. Positive control: the word's own gate frames lie in [lo, hi]. +usage: propbound.py WORD.json.gz +""" +import sys, json, math, functools +from collections import Counter, defaultdict +from wordmodel import Word, basis, contained, regs + +M = 73 +f = lambda r: r * math.log(M / r) if r > 0 else 0.0 + + +@functools.lru_cache(maxsize=None) +def ann(U, h=9): + return basis([y for y in range(1, 1 << h) if all((y & x).bit_count() % 2 == 0 for x in U)]) + + +@functools.lru_cache(maxsize=None) +def meet(a, b): + return ann(basis(list(ann(a)) + list(ann(b)))) + + +def span(*xs): + return basis([z for x in xs for z in x]) + + +def dp_span(lo, hi): + INF = (float('inf'), 10 ** 9) + best = {d: (0.0, 0) for d in range(lo[0], hi[0] + 1)} + for a, b in list(zip(lo, hi))[1:]: + nb = {} + for d0, (c0, k0) in best.items(): + for d in range(max(a, d0), b + 1): + c = (c0 + f(d - d0), k0 + (d > d0)) + if c < nb.get(d, INF): + nb[d] = c + best = nb + return min(best.values()) + + +def dp_full(lo, hi, s, e): + """fixed start/end dims; returns (cost, Counter of climb ranks) of an optimal sequence""" + INF = float('inf') + best = {s: (0.0, ())} + for a, b in list(zip(lo, hi)) + [(e, e)]: + nb = {} + for d0, (c0, rk) in best.items(): + for d in range(max(a, d0), b + 1): + c = c0 + f(d - d0) + if c < nb.get(d, (INF,))[0]: + nb[d] = (c, rk + ((d - d0,) if d > d0 else ())) + best = nb + c, rk = best[e] + return c, Counter(rk) + + +def main(): + Wd = Word(sys.argv[1]) + w = Wd.w; v = Wd.v; FULL = Wd.full; ports = w['ports'] + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + cU = {q: basis(U) for q, U in zip(w['centers'], w['center_frames'])} + import os + CONE = os.environ.get('CONE_ONLY') == '1' + if CONE: + # pure data-flow cone: only source port lines (lower) and target hyperplanes (upper) + cU = {} + Wd.start = [s if q < v else () for q, s in enumerate(Wd.start)] + Wd.end = [e if v <= q < 2 * v else FULL for q, e in enumerate(Wd.end)] + ev = Wd.events + bnd = min(t for t, (s, e) in enumerate(ev) if s == 'cut') # A/B boundary + framed = [t for t in range(len(ev)) if t in Wd.gateframe] + + def stat_lo(q, warped): + if warped: + return () + return span(Wd.start[q], (ports[q],)) if q < v else Wd.start[q] + + # forward pass + lo_reg = {} + warped = set() + lo = {} + crossed = False + for t, (s, e) in enumerate(ev): + if not crossed and t >= bnd: + crossed = True + for q, U in cU.items(): + lo_reg[q] = span(lo_reg.get(q, stat_lo(q, q in warped)), U) + for tt, U in (lev.items() if not CONE else []): + lo_reg[v + tt] = span(lo_reg.get(v + tt, ()), U) + if e[0] == 'warp': + warped.add(e[1]); lo_reg[e[1]] = (); continue + if t not in Wd.gateframe: + continue + rs = regs(e) + L = span(*[lo_reg.get(q, stat_lo(q, q in warped)) for q in rs]) + lo[t] = L + for q in rs: + lo_reg[q] = L + # backward pass + hi_reg = {} + hi = {} + crossed = False + lastwarp = {} + for t in range(len(ev) - 1, -1, -1): + s, e = ev[t] + if not crossed and t < bnd: + crossed = True + for q, U in cU.items(): + hi_reg[q] = meet(hi_reg.get(q, Wd.end[q]), U) + for tt in range(v): + if not CONE: + hi_reg[v + tt] = meet(hi_reg.get(v + tt, Wd.end[v + tt]), lev.get(tt, ())) + if e[0] == 'warp': + hi_reg[e[1]] = FULL; lastwarp[e[1]] = t; continue + if t not in Wd.gateframe: + continue + rs = regs(e) + H = FULL + for q in rs: + H = meet(H, hi_reg.get(q, Wd.end[q] if q not in lastwarp else FULL)) + hi[t] = H + for q in rs: + hi_reg[q] = H + bad = [t for t in lo if not contained(lo[t], hi[t])] + ctrl = [t for t in lo if not (contained(lo[t], Wd.gateframe[t]) and contained(Wd.gateframe[t], hi[t]))] + assert not ctrl, ('positive control failed', ctrl[:5]) + # helper streams (split at B warps) + lend_t = {} + for t, (s, e) in enumerate(ev): + if s == 'Bwarp': + lend_t.setdefault(e[1], t) + rows = [] + for r in Wd.live: + if v <= r < 2 * v: + continue + tt = [t for t, s in Wd.touches.get(r, []) if t in Wd.gateframe] + parts = [('', tt)] + if r in lend_t: + parts = [('pre', [t for t in tt if t < lend_t[r]]), ('post', [t for t in tt if t > lend_t[r]])] + for part, ts in parts: + if not ts or (r < v and part != 'post'): + continue + dims = [] + for t in ts: + d = len(Wd.gateframe[t]) + if not dims or d != dims[-1]: + dims.append(d) + act = sum(f(b - a) for a, b in zip(dims, dims[1:])) + c, k = dp_span([len(lo[t]) for t in ts], [len(hi[t]) for t in ts]) + rows.append(dict(reg=r, part=part, actual=act, climbs=len(dims) - 1, lb=c, lb_climbs=k, + width=len(Wd.end[r]) - len(Wd.start[r]))) + out = dict(word=sys.argv[1], framed_gates=len(lo), infeasible_gates=len(bad), streams=len(rows), + span_actual=sum(x['actual'] for x in rows), span_lb=sum(x['lb'] for x in rows), + actual_climbs=sum(x['climbs'] for x in rows), lb_climbs=sum(x['lb_climbs'] for x in rows), + lb_climb_hist=dict(sorted(Counter(x['lb_climbs'] for x in rows).items())), + gate_slack_hist=dict(sorted(Counter(len(hi[t]) - len(lo[t]) for t in lo).items()))) + out['ratio'] = out['span_lb'] / out['span_actual'] + if not CONE: + # full chains (fixed start/end pins), priced + prof = Counter(Wd.paid) + act_full = lb_full = 0.0 + for r in Wd.helpers + [x for x in Wd.live if x < v and any(e[1] == x for _, e in ev if e[0] == 'warp')]: + if r < v: + continue # source lenders: data climbs kept as is + for c in Wd.climbs.get(r, []): + prof[c[1]] -= 1 + act_full += f(c[1]) + ts = [t for t, s in Wd.touches.get(r, []) if t in Wd.gateframe] + c, rk = dp_full([len(lo[t]) for t in ts], [len(hi[t]) for t in ts], len(Wd.start[r]), len(Wd.end[r])) + lb_full += c + prof += rk + prof = +prof + sys.path.insert(0, __import__('os').path.join(__import__('os').path.dirname(__import__('os').path.abspath(__file__)),*(['..']*6),'research','complex-local-word-ceiling')) + import ceiling as CE + from fractions import Fraction as Q + g = Q(1, 10 ** 12) + b0 = CE.ceiling(dict(Wd.paid), 73, 896, 9, 64, grid=g)[1] + b1 = CE.ceiling(dict(prof), 73, 896, 9, 64, grid=g)[1] + out['full_chain'] = dict(actual=act_full, lb=lb_full, lb_profile=dict(sorted(prof.items())), + ceiling_base=float(b0), ceiling_lb=float(b1), ratio=float(b1 / b0)) + if w['warps']: + from chains import price_root + out['full_chain']['t74_root_kappa'] = price_root(dict(Wd.paid), dict(prof)) + byw = defaultdict(lambda: [0, 0.0, 0.0, 0, 0]) + for x in rows: + b = byw[x['width']]; b[0] += 1; b[1] += x['actual']; b[2] += x['lb']; b[3] += x['climbs']; b[4] += x['lb_climbs'] + out['by_width'] = {k: dict(n=b[0], actual=round(b[1], 1), lb=round(b[2], 1), climbs=b[3], lb_climbs=b[4]) for k, b in sorted(byw.items())} + print(json.dumps(out, indent=1)) + json.dump(rows, open('prop-rows-%s.json' % sys.argv[1].split('/')[-1].split('.')[0], 'w')) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/repair2.py b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/repair2.py new file mode 100644 index 0000000000..2e16cb43e2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/prelife/search/repair2.py @@ -0,0 +1,49 @@ +"""taint repair: original frames kept for untainted gates; a gate touching a register whose current frame differs +from the original run gets frame = join(current frames of its registers) (may LOWER the original frame). +Exact checks (as audit_local): warps need equality, target levels / centres equality, ends containment.""" +import sys +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..')] # this directory and new/borrow (audit_local, word_patch, alias_build) +from audit_local import basis,contained,registers +def join(*xs):return basis([z for x in xs for z in x]) +def run(w,orig_cur_trace=None,mode='taint'): + v=112;full=basis([1< k and piv[j] >> k & 1: + piv[j] ^= piv[k] + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def contained(a, b): + return basis(list(a) + list(b)) == b + + +def regs(e): + return e[1:3] if e[0] == 'add' else e[1:2] + + +class Word: + def __init__(self, path): + w = json.load(gzip.open(path)) + self.w = w + v, h, R = w['report']['v'], w['report']['h'], w['report']['R'] + self.v, self.h, self.R = v, h, R + n = 2 * v + R + self.n = n + self.removed = set(w['removed']) + self.live = [r for r in range(n) if r not in self.removed] + self.helpers = [r for r in self.live if r >= 2 * v] + full = basis([1 << i for i in range(h)]) + self.full = full + end = [full] * v + [basis([x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0]) for p in w['ports']] + [full] * R + for q, U in w.get('helper_final', {}).items(): + end[int(q)] = basis(U) + start = [(p,) for p in w['ports']] + [()] * (v + R) + for q, U in w.get('start_extra', {}).items(): + start[int(q)] = basis(U) + self.start, self.end = start, end + # ---- time-ordered event list: (time, section, item) + ev = [] + for sec in ('precondition', 'compensation'): + for e in w[sec]: + ev.append((sec, e)) + for e in w['A']: + ev.append(('A', e)) + for e in w['cut']: + ev.append(('cut', e)) + byp = defaultdict(list) + for op, rec in enumerate(w['warps'], 1): + byp[rec[0]].append(op) + B = w['B'] + for p in range(len(B) + 1): + for op in byp.get(p, []): + ev.append(('Bwarp', ['warp', w['warps'][op - 1][1], op])) + if p < len(B): + ev.append(('B', B[p])) + for e in w['restore']: + ev.append(('restore', e)) + self.events = ev + self.T_END = len(ev) + # ---- frame replay with climbs (literal copy of audit logic) + cur = list(start) + paid = Counter() + climbs = defaultdict(list) # reg -> [(time, rank, from, to)] + gateframe = {} # time -> frame of the gate (basis) or None + + def climb(q, U, t): + U = basis(U) + assert contained(cur[q], U), ('frame not monotone', q, cur[q], U) + d = len(U) - len(cur[q]) + if d: + paid[d] += 1 + climbs[q].append((t, d, cur[q], U)) + cur[q] = U + + npre = w.get('prelude_events', 0) + warps = w['warps'] + A0 = len(w['precondition']) + len(w['compensation']) + self.frames_at = {} + for t, (sec, e) in enumerate(ev): + if sec in ('precondition', 'compensation', 'cut'): + continue + if e[0] == 'warp': + if sec == 'A': + _, r_, op_, fr_, to_ = e + assert cur[r_] == basis(fr_) + cur[r_] = basis(to_) + else: + _, lender, op = e + _, _, cols, U, E = warps[op - 1] + assert cur[lender] == basis(U) + cur[lender] = basis(E) + continue + gateframe[t] = basis(e[-1]) + for q in regs(e): + climb(q, e[-1], t) + if sec == 'A' and t == A0 + len(w['A']) - 1: + pass + # centre path (between A and B; charged to centres, as in audit) + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + # (centre frames were reached during A; the centre path is extra paid children) + self.centre_paid = Counter() + for q, U in zip(w['centers'], w['center_frames']): + U = basis(U) + served = {lev.get(e[1] - v, ()) for e in w['cut'] if e[2] == q} + for T in sorted(served, key=lambda x: -len(x)): + if T != U: + paid[len(U) - len(T)] += 1 + self.centre_paid[len(U) - len(T)] += 1 + U = T + for q in self.live: + climb(q, end[q], self.T_END) + self.paid = paid + self.climbs = climbs + self.gateframe = gateframe + assert dict(paid) == {int(k): a for k, a in w['report']['local_profile'].items()}, (dict(paid), w['report']['local_profile']) + inv = Counter(len(end[q]) - len(start[q]) for q in self.helpers) + assert dict(inv) == {int(k): a for k, a in w['report']['width_inventory'].items()} + # ---- touches + touches = defaultdict(list) # reg -> [(time, section)] + for t, (sec, e) in enumerate(ev): + if e[0] == 'warp': + touches[e[1]].append((t, sec + ':warp')) + else: + for q in regs(e): + touches[q].append((t, sec)) + self.touches = touches + + def istarget(self, r): + return self.v <= r < 2 * self.v diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/prelife_controls.py b/research/gmx-t74-borrow43-handoff/new/borrow/prelife_controls.py new file mode 100644 index 0000000000..8c0e057dd0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/prelife_controls.py @@ -0,0 +1,76 @@ +"""tamper controls for the six pre-life hostings (L<-h) on a stacked word: each mutant gets its cleanup RE-DERIVED +(word_patch.derive_cleanup, same restored set) so only the semantic content differs; audit_local must reject it. +usage: prelife_controls.py WORD.json.gz ORIG2526WORD.json.gz OUT.json (run by new/rebuild_borrow.py on the shipped word and the PR2526 word) +Scope note: a warp operator G' with G'(U)=E that differs from G off U is NOT treated as a mutant: the audits bind only G(from)=to (the free +warp algebra is free in the operator), and such a G' also passes the native chain; only G(from)=to is a checked property of the warp record.""" +import sys,json,gzip,copy,tempfile,io,contextlib +from pathlib import Path +from fractions import Fraction as F +sys.path.insert(0,str(Path(__file__).resolve().parent)) +import audit_local as al, word_patch +from alias_build import make_G +ld=lambda p:json.loads(gzip.decompress(Path(p).read_bytes())) +w0=ld(sys.argv[1]);orig=ld(sys.argv[2]);tmp=Path(tempfile.mkdtemp()) +PL=[(482,273),(483,275),(494,289),(495,291),(507,305),(519,321)] +rs0=word_patch.restored_of(w0) +def rederive(w,rs): + t=copy.deepcopy(w);t['A']=w['A'][w.get('prelude_events',0):];w['cleanup']=word_patch.derive_cleanup(t,rs);return w +def audit(w): + p=tmp/'m.json.gz';p.write_bytes(gzip.compress(json.dumps(w).encode(),mtime=0)) + with contextlib.redirect_stdout(io.StringIO()):return al.run(p,tmp/'m.out.json',None,None) +res=[];good=True +r=audit(w0);print('unmutated',r['status']);res.append(dict(control='unmutated',status=r['status'])) +def ctl(name,w,rs=rs0,why=()): + global good + try:w=rederive(w,rs) + except Exception as e:res.append(dict(control=name,rejected=True,stage='derive_cleanup',reason=str(e)[:200]));print('rejected(derive)',name,str(e)[:80]);return + try:audit(w);res.append(dict(control=name,rejected=False));print('NOT REJECTED',name);good=False + except RuntimeError as e: + ok=any(x in str(e) for x in why) if why else True;good&=ok + res.append(dict(control=name,rejected=True,reason=str(e)[:200],expected_reason_match=ok));print('rejected' if ok else 'WRONG-REASON',name,'|',str(e)[:100]) +v=112;n=2*v+w0['report']['R'] +opof={rec[1]:i+1 for i,rec in enumerate(w0['warps'])} +TM=('target map failed',) +for k,(L,h) in enumerate(PL): + op=opof[h];ci=[i for i,c in enumerate(w0['initial_corrections']) if c['source']==h];assert ci,(L,h) + i0=ci[0];h2=PL[(k+1)%6][1] + w=copy.deepcopy(w0);c=w['initial_corrections'][i0];c['coefficient']=str(-F(c['coefficient']));ctl(f'{L}<-{h}: correction sign flipped',w,why=TM) + w=copy.deepcopy(w0);c=w['initial_corrections'][i0];c['coefficient']=str(2*F(c['coefficient']));ctl(f'{L}<-{h}: correction coefficient doubled',w,why=TM) + w=copy.deepcopy(w0);del w['initial_corrections'][i0];ctl(f'{L}<-{h}: one correction dropped',w,why=TM) + w=copy.deepcopy(w0);w['initial_corrections']=[c for c in w['initial_corrections'] if c['source']!=h];ctl(f'{L}<-{h}: all {len(ci)} corrections dropped',w,why=TM) + w=copy.deepcopy(w0);c=w['initial_corrections'][i0];c['source']=h2;c['operator_word']=[opof[h2]];ctl(f'{L}<-{h}: correction read through neighbouring host {h2} (consistent lender/op)',w,why=TM) + w=copy.deepcopy(w0);c=w['initial_corrections'][i0];c['operator_word']=[op,op];ctl(f'{L}<-{h}: correction operator word doubled [op,op]',w,why=TM) + tg=sorted({c['target'] for c in w0['initial_corrections']}|{x for x in range(v,2*v)}) + w=copy.deepcopy(w0);c=w['initial_corrections'][i0];c['target']=next(t for t in range(v,2*v) if t!=c['target'] and all(not(d['target']==t and d['source']==h) for d in w['initial_corrections']));ctl(f'{L}<-{h}: correction moved to another target port',w,why=TM) + # anticipatory corrections NOT pulled back through the precondition: raw compensation vector of L from #2526 + raw={} + for e in orig['compensation']: + if e[0]=='add' and e[2]==L:raw[e[1]]=raw.get(e[1],F(0))+F(e[3],e[4]) + cur={c['target']:F(c['coefficient']) for c in w0['initial_corrections'] if c['source']==h} + if {t:x for t,x in raw.items() if x}!=cur: + w=copy.deepcopy(w0);w['initial_corrections']=[c for c in w['initial_corrections'] if c['source']!=h]+[dict(target=t,source=h,operator_word=[op],coefficient=str(x)) for t,x in sorted(raw.items()) if x] + ctl(f'{L}<-{h}: raw compensation (not pulled back through precondition)',w,why=TM) + else:res.append(dict(control=f'{L}<-{h}: raw==pulled-back, control vacuous'));print('vacuous pullback',L,h) + # warp G replaced by an invertible G' that does NOT send U to E (record otherwise unchanged). NB: a G' with G'(U)=E that differs + # off U is NOT a mutant: the audit algebra is free in the warp operator (only G(from)=to is bound), see gfree below. + rec=w0['warps'][op-1];G=rec[2];U=al.basis(rec[3]);E=al.basis(rec[4]) + for j in range(9): + G2=list(G);G2[j]^=1<<((j+1)%9) + if al.ginv(G2,9) is not None and al.basis([al.gmul(G2,u) for u in U])!=E:break + w=copy.deepcopy(w0);w['warps'][op-1][2]=G2;ctl(f'{L}<-{h}: warp G replaced by invertible G\' with G\'(U)!=E',w,why=('G(from)!=to',)) + # warp image E replaced by another frame of the same dimension (consistent G) + Lfirst=rec[0];F1=al.basis(w0['B'][Lfirst][-1]) + alt=None + for y in range(1,512): + E2=al.basis(list(E[1:])+[y]) + if len(E2)==len(E) and E2!=E:alt=E2;break + w=copy.deepcopy(w0);w['warps'][op-1][2]=make_G(U,alt);w['warps'][op-1][4]=list(alt);ctl(f'{L}<-{h}: warp image E replaced by another dim-{len(E)} frame',w,why=('frame not monotone','target map failed','warp frame mismatch','G(from)!=to')) + # warp dropped (op ids renumbered; corrections of h dropped too -- no operator to read through) + w=copy.deepcopy(w0);del w['warps'][op-1];w['initial_corrections']=[dict(c,operator_word=[o-1 if o>op else o for o in c['operator_word']]) for c in w['initial_corrections'] if c['source']!=h] + ctl(f'{L}<-{h}: pre-life warp and its corrections dropped',w,why=('frame not monotone','target map failed','warp frame mismatch')) + # warp moved one gate later (after h's first hosted gate) + w=copy.deepcopy(w0);w['warps'][op-1][0]=rec[0]+1;ctl(f'{L}<-{h}: warp moved after host first gate',w,why=('frame not monotone','warp frame mismatch','target map failed')) + # host claimed cold again (status lie): helper_final restored to its #2526 cold frame, restored set incl. h + w=copy.deepcopy(w0);w['helper_final'][str(h)]=orig['helper_final'][str(h)];ctl(f'{L}<-{h}: host re-declared cold (helper_final restored)',w,rs=rs0|{h},why=('frame not monotone','restored cold','endpoint','target map','width inventory mismatch','paid profile mismatch')) +Path(sys.argv[3]).write_text(json.dumps(dict(all_rejected_for_expected_reason=good,controls=res),indent=1)) +print('ALL PRELIFE CONTROLS OK' if good else 'CONTROL FAILURE',len(res)-1) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-pinned.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-pinned.json new file mode 100644 index 0000000000..513e8584ca --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-pinned.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w0.json.gz", + "content_sha256": "0c3f353c53a8572d0a1a85bbe87e114475ff5ec6c4aeced09025de97b70d6611", + "compressed_sha256": "b30729818782e8fa0d15dd95864d85d4acc4324ef4fa53a34ad061de20d4c581", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 42, + "independent_inputs": 662, + "warps": 42, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 150, + "local_profile": { + "1": 2353, + "2": 500, + "3": 416, + "4": 128, + "5": 42, + "8": 8 + }, + "local_mass": 5387, + "width_inventory": { + "4": 37, + "5": 9, + "7": 38, + "8": 114, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": { + "base_sha256": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "sections_match_minus_removed": true + }, + "checked_columns": 662, + "elapsed_seconds": 0.5940000000118744, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-prekernel.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-prekernel.json new file mode 100644 index 0000000000..f53013561b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base-prekernel.json @@ -0,0 +1,41 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w5.json.gz", + "content_sha256": "ff1e5e240a14ce02273f58d9fa14b4bf16fc9b3dcef47063e5f65049ee89fd4a", + "compressed_sha256": "57137b17c90380a4cc8cb5b21c716c4516bbde15ab10cc2cd2081e38145f2574", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 50, + "independent_inputs": 654, + "warps": 50, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 142, + "local_profile": { + "1": 2363, + "2": 632, + "3": 326, + "4": 120, + "5": 34, + "7": 4, + "8": 4 + }, + "local_mass": 5315, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 86, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 654, + "elapsed_seconds": 0.5780000000086147, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base.json new file mode 100644 index 0000000000..8ec281fbb3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43base.json @@ -0,0 +1,40 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "BORROW-WORD-43base.json.gz", + "content_sha256": "94a88069f6b4381127973dc66b6244f072939f21d84c99e2239a74fd768c07b1", + "compressed_sha256": "7ded9c8667c123bf0f7833cca78cf7dc79c2dcaca04da405ebfcbbcaf3ebe2ac", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2369, + "2": 632, + "3": 320, + "4": 118, + "5": 26, + "7": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.5940000000118744, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-pinned.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-pinned.json new file mode 100644 index 0000000000..02209710b9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-pinned.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w0.json.gz", + "content_sha256": "94ffb6abe121b37a1c58eae7a7527b90ad5b56e227ef277f819f1f710605d9cb", + "compressed_sha256": "a4ff11eabe128210d71e8d4fbe84c98a352e87ee1578c2d875fc6791ae87d630", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 42, + "independent_inputs": 662, + "warps": 42, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 150, + "local_profile": { + "1": 2341, + "2": 508, + "3": 420, + "4": 124, + "5": 42, + "8": 8 + }, + "local_mass": 5387, + "width_inventory": { + "4": 37, + "5": 9, + "7": 38, + "8": 114, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": { + "base_sha256": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "sections_match_minus_removed": true + }, + "checked_columns": 662, + "elapsed_seconds": 0.625, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-prekernel.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-prekernel.json new file mode 100644 index 0000000000..b91adeee1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra-prekernel.json @@ -0,0 +1,41 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "w5.json.gz", + "content_sha256": "a49ceabc4405d3eba6de5d1cca754c4a030c0940e9d6dac8a8d2ffc96d40af50", + "compressed_sha256": "0a073c246b68b9fdbefa61299e797e5fc106364a3fa5151e48218c5009158bd9", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 50, + "independent_inputs": 654, + "warps": 50, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 142, + "local_profile": { + "1": 2363, + "2": 632, + "3": 326, + "4": 120, + "5": 34, + "7": 4, + "8": 4 + }, + "local_mass": 5315, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 86, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 654, + "elapsed_seconds": 0.5789999999979045, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra.json new file mode 100644 index 0000000000..305077f2a6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/AUDIT-43extra.json @@ -0,0 +1,40 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "BORROW-WORD-43extra.json.gz", + "content_sha256": "005629c8398da94700cea290c2a80d242eea7a3c13ce464b9e509c591ef732df", + "compressed_sha256": "334701c6a6c6d4f67278841412f4deefa72f1b7a28ab7b6ab09ffce98efcad7b", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2369, + "2": 632, + "3": 320, + "4": 118, + "5": 26, + "7": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.5929999999934807, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43base.json new file mode 100644 index 0000000000..250aeb9950 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43base.json @@ -0,0 +1,124 @@ +{ + "all_controls_rejected_for_expected_reason": true, + "controls": [ + { + "control": "unmutated", + "rejected": false, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD" + }, + { + "control": "wrong G (invertible, G(from)!=to)", + "rejected": true, + "reason": "G(from)!=to", + "expected_reason_match": true + }, + { + "control": "non-invertible G", + "rejected": true, + "reason": "G not invertible", + "expected_reason_match": true + }, + { + "control": "non-invertible G (zero column)", + "rejected": true, + "reason": "G not invertible", + "expected_reason_match": true + }, + { + "control": "frame mismatch (from frame differs from current)", + "rejected": true, + "reason": "G(from)!=to", + "expected_reason_match": true + }, + { + "control": "frame mismatch (consistent G, from frame differs from lender current frame)", + "rejected": true, + "reason": "warp frame mismatch (1, 243, (261, 133, 85, 45), (260, 133, 85, 45))", + "expected_reason_match": true + }, + { + "control": "frame mismatch (warp moved to a position where the lender frame differs)", + "rejected": true, + "reason": "frame not monotone (243, (261, 133, 85, 45), (320, 192, 45, 30))", + "expected_reason_match": true + }, + { + "control": "missing inverse warp in cleanup", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "all inverse warps missing", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "algebra without inverse warps does not restore inputs", + "failed_inputs": 140, + "rejected": true + }, + { + "control": "dim(from)!=dim(to)", + "rejected": true, + "reason": "dim(from)!=dim(to)", + "expected_reason_match": true + }, + { + "control": "inverse warp not at FULL", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "cleanup uses real restored input instead of private buffer", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "restoration gate dropped (derived cleanup)", + "rejected": true, + "reason": "paid profile mismatch {1: 2353, 2: 498, 3: 416, 4: 129, 5: 42, 8: 8}", + "expected_reason_match": true + }, + { + "control": "false cold-restoration claim (register not restored)", + "rejected": true, + "reason": "frame not monotone (472, (256, 131, 64, 34, 17, 8, 4), (1,))", + "expected_reason_match": true + }, + { + "control": "restoration gate dropped", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "gate on removed helper", + "rejected": true, + "reason": "register out of range or removed helper referenced", + "expected_reason_match": true + }, + { + "control": "wrong claimed profile", + "rejected": true, + "reason": "paid profile mismatch {1: 2353, 2: 500, 3: 416, 4: 128, 5: 42, 8: 8}", + "expected_reason_match": true + }, + { + "control": "wrong claimed width inventory", + "rejected": true, + "reason": "width inventory mismatch {4: 37, 5: 9, 7: 38, 8: 114, 9: 240}", + "expected_reason_match": true + }, + { + "control": "frame chain not monotone", + "rejected": true, + "reason": "frame not monotone (114, (45,), ())", + "expected_reason_match": true + } + ], + "seconds": 189615.0 +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43extra.json new file mode 100644 index 0000000000..4ca2d96dc2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-43extra.json @@ -0,0 +1,124 @@ +{ + "all_controls_rejected_for_expected_reason": true, + "controls": [ + { + "control": "unmutated", + "rejected": false, + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD" + }, + { + "control": "wrong G (invertible, G(from)!=to)", + "rejected": true, + "reason": "G(from)!=to", + "expected_reason_match": true + }, + { + "control": "non-invertible G", + "rejected": true, + "reason": "G not invertible", + "expected_reason_match": true + }, + { + "control": "non-invertible G (zero column)", + "rejected": true, + "reason": "G not invertible", + "expected_reason_match": true + }, + { + "control": "frame mismatch (from frame differs from current)", + "rejected": true, + "reason": "G(from)!=to", + "expected_reason_match": true + }, + { + "control": "frame mismatch (consistent G, from frame differs from lender current frame)", + "rejected": true, + "reason": "warp frame mismatch (1, 243, (261, 133, 85, 45), (260, 133, 85, 45))", + "expected_reason_match": true + }, + { + "control": "frame mismatch (warp moved to a position where the lender frame differs)", + "rejected": true, + "reason": "frame not monotone (243, (261, 133, 85, 45), (320, 192, 45, 30))", + "expected_reason_match": true + }, + { + "control": "missing inverse warp in cleanup", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "all inverse warps missing", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "algebra without inverse warps does not restore inputs", + "failed_inputs": 140, + "rejected": true + }, + { + "control": "dim(from)!=dim(to)", + "rejected": true, + "reason": "dim(from)!=dim(to)", + "expected_reason_match": true + }, + { + "control": "inverse warp not at FULL", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "cleanup uses real restored input instead of private buffer", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "restoration gate dropped (derived cleanup)", + "rejected": true, + "reason": "paid profile mismatch {1: 2341, 2: 506, 3: 420, 4: 125, 5: 42, 8: 8}", + "expected_reason_match": true + }, + { + "control": "false cold-restoration claim (register not restored)", + "rejected": true, + "reason": "frame not monotone (472, (256, 131, 64, 34, 17, 8, 4), (1,))", + "expected_reason_match": true + }, + { + "control": "restoration gate dropped", + "rejected": true, + "reason": "explicit cleanup differs from derived inverse-reverse at FULL", + "expected_reason_match": true + }, + { + "control": "gate on removed helper", + "rejected": true, + "reason": "register out of range or removed helper referenced", + "expected_reason_match": true + }, + { + "control": "wrong claimed profile", + "rejected": true, + "reason": "paid profile mismatch {1: 2341, 2: 508, 3: 420, 4: 124, 5: 42, 8: 8}", + "expected_reason_match": true + }, + { + "control": "wrong claimed width inventory", + "rejected": true, + "reason": "width inventory mismatch {4: 37, 5: 9, 7: 38, 8: 114, 9: 240}", + "expected_reason_match": true + }, + { + "control": "frame chain not monotone", + "rejected": true, + "reason": "frame not monotone (114, (45,), ())", + "expected_reason_match": true + } + ], + "seconds": 189640.187 +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43base.json new file mode 100644 index 0000000000..fedeefd5ee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43base.json @@ -0,0 +1,13 @@ +{ + "kernel_sign_flipped": true, + "kernel_read_dropped": true, + "kernel_coefficient_doubled": true, + "kernel_read_moved_to_neighbour_register": true, + "alias8_sign_flipped": true, + "alias8_coefficient_doubled": true, + "alias8_warp_dropped": true, + "entrance_start_frame_dropped": true, + "entrance_start_frame_widened": true, + "handoff_sign_flipped": true, + "handoff_coefficient_doubled": true +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43extra.json new file mode 100644 index 0000000000..fedeefd5ee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-KERNEL-43extra.json @@ -0,0 +1,13 @@ +{ + "kernel_sign_flipped": true, + "kernel_read_dropped": true, + "kernel_coefficient_doubled": true, + "kernel_read_moved_to_neighbour_register": true, + "alias8_sign_flipped": true, + "alias8_coefficient_doubled": true, + "alias8_warp_dropped": true, + "entrance_start_frame_dropped": true, + "entrance_start_frame_widened": true, + "handoff_sign_flipped": true, + "handoff_coefficient_doubled": true +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43base.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43base.json new file mode 100644 index 0000000000..758181d535 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43base.json @@ -0,0 +1,129 @@ +{ + "all_rejected": true, + "controls": [ + { + "control": "unmutated", + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD" + }, + { + "control": "prelude correction sign flipped", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude correction coefficient doubled", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude correction targets swapped", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude return warp dropped", + "rejected": true, + "reason": "frame not monotone (49, (30,), (148,))" + }, + { + "control": "prelude forward warp dropped", + "rejected": true, + "reason": "frame not monotone (49, (148,), (30,))" + }, + { + "control": "all prelude corrections of target 135 dropped", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "prelude target scale at a different line", + "rejected": true, + "reason": "frame not monotone (141, (31,), (30,))" + }, + { + "control": "prelude warp uses another operator id", + "rejected": true, + "reason": "prelude warp operator/lender" + }, + { + "control": "prelude warp lands on a different line", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "prelude unmarked", + "rejected": true, + "reason": "warp item after the prelude" + }, + { + "control": "lifted target level missing", + "rejected": true, + "reason": "target centre levels" + }, + { + "control": "new warp from-frame wrong", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "new warp G wrong", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "source restoration gate dropped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "rewritten source gate dropped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "rewritten source gate sign flipped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "raised buffer entrance dropped 474", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 474", + "rejected": true, + "reason": "frame not monotone (474, (256, 128, 64, 32, 16, 8, 4, 2, 1), (82, 42))" + }, + { + "control": "raised buffer entrance dropped 522", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 522", + "rejected": true, + "reason": "frame not monotone (522, (256, 128, 64, 32, 16, 8, 4, 2, 1), (82, 7))" + }, + { + "control": "raised buffer entrance dropped 534", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 534", + "rejected": true, + "reason": "frame not monotone (534, (256, 128, 64, 32, 16, 8, 4, 2, 1), (120, 7))" + }, + { + "control": "wrong claimed profile", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 632, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "wrong claimed width inventory", + "rejected": true, + "reason": "width inventory mismatch {4: 33, 5: 9, 7: 62, 8: 78, 9: 240}" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json new file mode 100644 index 0000000000..758181d535 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json @@ -0,0 +1,129 @@ +{ + "all_rejected": true, + "controls": [ + { + "control": "unmutated", + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD" + }, + { + "control": "prelude correction sign flipped", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude correction coefficient doubled", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude correction targets swapped", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "prelude return warp dropped", + "rejected": true, + "reason": "frame not monotone (49, (30,), (148,))" + }, + { + "control": "prelude forward warp dropped", + "rejected": true, + "reason": "frame not monotone (49, (148,), (30,))" + }, + { + "control": "all prelude corrections of target 135 dropped", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "prelude target scale at a different line", + "rejected": true, + "reason": "frame not monotone (141, (31,), (30,))" + }, + { + "control": "prelude warp uses another operator id", + "rejected": true, + "reason": "prelude warp operator/lender" + }, + { + "control": "prelude warp lands on a different line", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "prelude unmarked", + "rejected": true, + "reason": "warp item after the prelude" + }, + { + "control": "lifted target level missing", + "rejected": true, + "reason": "target centre levels" + }, + { + "control": "new warp from-frame wrong", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "new warp G wrong", + "rejected": true, + "reason": "G(from)!=to" + }, + { + "control": "source restoration gate dropped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 29" + }, + { + "control": "rewritten source gate dropped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "rewritten source gate sign flipped (cleanup re-derived)", + "rejected": true, + "reason": "target map failed 23" + }, + { + "control": "raised buffer entrance dropped 474", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 474", + "rejected": true, + "reason": "frame not monotone (474, (256, 128, 64, 32, 16, 8, 4, 2, 1), (82, 42))" + }, + { + "control": "raised buffer entrance dropped 522", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 522", + "rejected": true, + "reason": "frame not monotone (522, (256, 128, 64, 32, 16, 8, 4, 2, 1), (82, 7))" + }, + { + "control": "raised buffer entrance dropped 534", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 633, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "raised buffer entrance widened 534", + "rejected": true, + "reason": "frame not monotone (534, (256, 128, 64, 32, 16, 8, 4, 2, 1), (120, 7))" + }, + { + "control": "wrong claimed profile", + "rejected": true, + "reason": "paid profile mismatch {1: 2369, 2: 632, 3: 320, 4: 118, 5: 26, 7: 8}" + }, + { + "control": "wrong claimed width inventory", + "rejected": true, + "reason": "width inventory mismatch {4: 33, 5: 9, 7: 62, 8: 78, 9: 240}" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-base.json b/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-base.json new file mode 100644 index 0000000000..c8ee8004a5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-base.json @@ -0,0 +1,946 @@ +{ + "word": "PR2575/PR2530 new/borrow/words/BORROW-WORD-43base.json.gz", + "followers": 58, + "followers_excluded": { + "touched-before-B": 286, + "restored-cold": 78 + }, + "lenders": 410, + "lenders_excluded": { + "touched-in-restore": 46, + "restored-cold": 78 + }, + "counts": { + "live": 3920, + "blocked": 3872, + "blocked:both": 3872, + "refit-ok": 48 + }, + "follower_F1_hist": { + "(1, 1)": 48, + "(4, 5)": 9, + "(5, 5)": 1 + }, + "lender_U_lo_hist": { + "(8, 8, 'gate')": 264, + "(7, 6, 'gate')": 66, + "(6, 6, 'gate')": 56, + "(8, 6, 'gate')": 8, + "(8, 7, 'gate')": 8, + "(6, 5, 'gate')": 8 + }, + "pairs": [ + [ + 606, + 550, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 551, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 552, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 553, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 562, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 563, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 564, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 565, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 550, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 551, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 552, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 553, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 562, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 563, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 564, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 565, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 550, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 551, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 552, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 553, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 562, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 563, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 564, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 565, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 550, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 551, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 552, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 553, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 562, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 563, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 564, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 565, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 550, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 551, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 552, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 553, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 562, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 563, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 564, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 565, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 550, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 551, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 552, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 553, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 562, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 563, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 564, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 565, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ] + ] +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-extra.json b/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-extra.json new file mode 100644 index 0000000000..f144af1885 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/results/pairs-extra.json @@ -0,0 +1,946 @@ +{ + "word": "PR2575/PR2530 new/borrow/words/BORROW-WORD-43extra.json.gz", + "followers": 58, + "followers_excluded": { + "touched-before-B": 286, + "restored-cold": 78 + }, + "lenders": 410, + "lenders_excluded": { + "touched-in-restore": 46, + "restored-cold": 78 + }, + "counts": { + "live": 3920, + "blocked": 3872, + "blocked:both": 3872, + "refit-ok": 48 + }, + "follower_F1_hist": { + "(1, 1)": 48, + "(4, 5)": 9, + "(5, 5)": 1 + }, + "lender_U_lo_hist": { + "(8, 8, 'gate')": 264, + "(7, 6, 'gate')": 66, + "(6, 6, 'gate')": 56, + "(8, 6, 'gate')": 8, + "(8, 7, 'gate')": 8, + "(6, 5, 'gate')": 8 + }, + "pairs": [ + [ + 606, + 550, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 551, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 552, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 553, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 562, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 563, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 564, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 606, + 565, + "refit", + { + "first": 12059, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 550, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 551, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 552, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 553, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 562, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 563, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 564, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 635, + 565, + "refit", + { + "first": 12149, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 550, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 551, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 552, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 553, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 562, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 563, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 564, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 637, + 565, + "refit", + { + "first": 12153, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 550, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 551, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 552, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 553, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 562, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 563, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 564, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 638, + 565, + "refit", + { + "first": 12156, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 550, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 551, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 552, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 553, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 562, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 563, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 564, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 639, + 565, + "refit", + { + "first": 12159, + "F1": 4, + "hi": 5, + "S": 4, + "width": 5 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 550, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12006, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 551, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12007, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 552, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12014, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 553, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12015, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 562, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12008, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 563, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12009, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 564, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12016, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ], + [ + 653, + 565, + "refit", + { + "first": 12214, + "F1": 5, + "hi": 5, + "S": 5, + "width": 4 + }, + { + "last": 12017, + "U": 6, + "lo": 5, + "kind": "gate", + "src": false + } + ] + ] +} diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/bounds.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/bounds.py new file mode 100644 index 0000000000..06be5e89df --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/bounds.py @@ -0,0 +1,131 @@ +"""Exact per-gate frame bounds lo(g) <= F_g <= hi(g) over ALL refits of a fixed BORROW-WORD gate list +(audit_local frame calculus, exact pins: start/end, A/B-boundary equality pins for targets (levels) and +centres (U_c) applied to the last A gate itself, warp U equality on the lender's preceding gate and E as +lower bound after). The solution set is a lattice (pointwise meet/join), and constraints only point +forward in time, so lo and hi are attained and can be mixed across any time cut. +""" +import sys, json, gzip, functools +from collections import defaultdict +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..'),_os.path.join(_H,'..','..','prelife','search')] # this dir, new/borrow, prelife/search (wordmodel) +from wordmodel import Word, basis, contained, regs + +H = 9 + + +@functools.lru_cache(maxsize=None) +def ann(U): + return basis([y for y in range(1, 1 << H) if all((y & x).bit_count() % 2 == 0 for x in U)]) + + +@functools.lru_cache(maxsize=None) +def meet(a, b): + return ann(basis(list(ann(a)) + list(ann(b)))) + + +def span(*xs): + return basis([z for x in xs for z in x]) + + +class Bounds: + def __init__(s, path): + Wd = Word(path); s.Wd = Wd + w = Wd.w; v = Wd.v; s.v = v + ev = Wd.events; s.ev = ev + s.bnd = min(t for t, (sec, e) in enumerate(ev) if sec == 'cut') + lev = {int(t): basis(U) for t, U in w.get('target_levels', {}).items()} + pin = {v + t: lev.get(t, ()) for t in range(v)} + for q, U in zip(w['centers'], w['center_frames']): + pin[q] = basis(U) + s.pin = pin + warps = w['warps'] + # per-register event list (framed gates and warps), with times + byreg = defaultdict(list) + for t, (sec, e) in enumerate(ev): + if sec in ('precondition', 'compensation', 'cut'): + continue + if e[0] == 'warp': + if sec == 'A': + _, r, op, fr, to = e + byreg[r].append((t, 'warp', basis(fr), basis(to))) + else: + _, r, op = e + rec = warps[op - 1] + byreg[r].append((t, 'warp', basis(rec[3]), basis(rec[4]))) + else: + for q in regs(e): + byreg[q].append((t, 'gate')) + s.byreg = byreg + xlo = defaultdict(tuple); xhi = defaultdict(lambda: Wd.full) + stat_bad = [] + for r, L in byreg.items(): + # start lower pin on the first gate (if before any warp) + prevg = None; cur_lo = Wd.start[r] + for x in L: + if x[1] == 'warp': + if prevg is None: + if Wd.start[r] != x[2]: + stat_bad.append(('warp-start', r)) + else: + xlo[prevg] = span(xlo[prevg], x[2]); xhi[prevg] = meet(xhi[prevg], x[2]) + prevg = None + else: + prevg = x[0] + # boundary equality pins + if r in pin: + lastA = [x[0] for x in L if x[0] < s.bnd and x[1] == 'gate'] + if lastA: + g = lastA[-1] + xlo[g] = span(xlo[g], pin[r]); xhi[g] = meet(xhi[g], pin[r]) + s.stat_bad = stat_bad + # forward pass + lo = {}; lo_reg = {} + crossed = False + for t, (sec, e) in enumerate(ev): + if not crossed and t >= s.bnd: + crossed = True + for q, U in pin.items(): + lo_reg[q] = span(lo_reg.get(q, Wd.start[q]), U) + if sec in ('precondition', 'compensation', 'cut'): + continue + if e[0] == 'warp': + r = e[1] + E = basis(e[4]) if sec == 'A' else basis(warps[e[2] - 1][4]) + lo_reg[r] = E; continue + rs = regs(e) + Lw = span(xlo[t], *[lo_reg.get(q, Wd.start[q]) for q in rs]) + lo[t] = Lw + for q in rs: + lo_reg[q] = Lw + hi = {}; hi_reg = {} + crossed = False + for t in range(len(ev) - 1, -1, -1): + sec, e = ev[t] + if not crossed and t < s.bnd: + crossed = True + for q, U in pin.items(): + hi_reg[q] = meet(hi_reg.get(q, Wd.end[q]), U) + if sec in ('precondition', 'compensation', 'cut'): + continue + if e[0] == 'warp': + r = e[1] + U = basis(e[3]) if sec == 'A' else basis(warps[e[2] - 1][3]) + hi_reg[r] = U; continue + rs = regs(e) + Hh = xhi[t] + for q in rs: + Hh = meet(Hh, hi_reg.get(q, Wd.end[q])) + hi[t] = Hh + for q in rs: + hi_reg[q] = Hh + s.lo, s.hi = lo, hi + gf = Wd.gateframe + s.infeasible = [t for t in lo if not contained(lo[t], hi[t])] + s.ctrl_bad = [t for t in lo if not (contained(lo[t], gf[t]) and contained(gf[t], hi[t]))] + assert not s.ctrl_bad, s.ctrl_bad[:5] + assert not s.infeasible + + +if __name__ == '__main__': + b = Bounds(sys.argv[1]) + from collections import Counter + print('gates', len(b.lo), 'slack hist', dict(sorted(Counter(len(b.hi[t]) - len(b.lo[t]) for t in b.lo).items())), 'static bad', b.stat_bad) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/eval1.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/eval1.py new file mode 100644 index 0000000000..79ea16b9df --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/eval1.py @@ -0,0 +1,71 @@ +"""evaluate alias stacks with minimal-change refits. usage: eval1.py WORD.json.gz 'h:L,h:L' [...] (each arg one stack) +prints per stack: refit changes, new local profile, delta vs word profile""" +import sys, json, gzip, copy +from collections import Counter +from bounds import Bounds, basis, contained, regs +from refit import Refit +import alias_build as mkalias + + +def apply_stack(path, stack, verbose=False): + b = Bounds(path); R = Refit(b); Wd = b.Wd; w = Wd.w + log = [] + for h, L in stack: + gh = [x for x in b.byreg[h] if x[1] == 'gate'][0][0] + gl = [x for x in b.byreg[L] if x[1] == 'gate'][-1][0] + U = R.F(gl); F1 = R.F(gh) + if len(U) > len(F1): + X = b.lo[gl] + if len(X) > len(F1): + # lower as far as needed: lo, and raise follower to hi + pass + r1 = R.lower(gl, X) if len(X) < len(U) else [] + if isinstance(r1, str): + return None, 'lower-fail ' + r1 + U = R.F(gl) + r2 = [] + if len(U) > len(F1): + r2 = R.raise_(gh, b.hi[gh]) + if isinstance(r2, str): + return None, 'raise-fail ' + r2 + F1 = R.F(gh) + if len(U) > len(F1): + return None, 'still-blocked' + log.append((h, L, len(r1), len(r2), [(t, len(o), len(n)) for t, o, n in r1], [(t, len(o), len(n)) for t, o, n in r2])) + else: + log.append((h, L, 0, 0, [], [])) + # recompute profile on the refit word (before aliasing) as control and then alias + w = copy.deepcopy(w) + for h, L in stack: + # E: a dim|U| subspace of F1 (F1 itself when dims agree, else the lowest |U| basis vectors of F1) + first = min(p for p, e in enumerate(w['B']) if e[0] != 'warp' and h in mkalias.registers(e)) + U = mkalias.frame_at_B(w, L, first); F1 = basis(w['B'][first][-1]) + E = list(F1) if len(F1) == len(U) else None + if E is None: + S = basis(w['start_extra'][str(h)]) + if len(S) == len(U): + E = list(S) + elif len(U) < len(F1): + E = list(F1)[len(F1) - len(U):] + assert len(basis(E)) == len(U) + else: + return None, 'E-choice' + w, rec = mkalias.alias(w, h, L, E) + lp, wi = mkalias.profile(w) + w['report'] = dict(w['report'], local_profile=lp, width_inventory=wi) + return w, log + + +if __name__ == '__main__': + path = sys.argv[1] + base = mkalias.profile(mkalias.load(path))[0] + for arg in sys.argv[2:]: + stack = [tuple(map(int, x.split(':'))) for x in arg.split(',')] + w, log = apply_stack(path, stack) + if w is None: + print(arg, 'FAIL', log); continue + lp = {int(k): v for k, v in w['report']['local_profile'].items()} + d = Counter(lp); d.subtract({int(k): v for k, v in base.items()}) + print(arg, 'profile', lp, 'delta', {k: v for k, v in sorted(d.items()) if v}, 'widths', w['report']['width_inventory']) + for x in log: + print(' ', x[:4], 'lowered', x[4][:12], 'raised', x[5][:12]) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/mkcand.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/mkcand.py new file mode 100644 index 0000000000..ae73c4e4f0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/mkcand.py @@ -0,0 +1,12 @@ +"""mkcand.py NAME 'h:L,...' -> cand/NAME-{b,e}.json.gz (refit + aliases on both #2526 words)""" +import os as _os,sys as _sys;_H=_os.path.dirname(_os.path.abspath(__file__));_sys.path[:0]=[_H,_os.path.join(_H,'..','..'),_os.path.join(_H,'..','..','prelife','search')] # this dir, new/borrow, prelife/search (wordmodel) +import sys,json,gzip,os +from eval1 import apply_stack +D=_os.path.join(_os.path.dirname(_os.path.abspath(__file__)),'..','..','words')+'/' # NB: the shipped words already carry the stack; run on the PR2526 words +os.makedirs('cand',exist_ok=True) +stack=[tuple(map(int,x.split(':'))) for x in sys.argv[2].split(',')] +for k,wt in (('b','base'),('e','extra')): + w,log=apply_stack(D+f'BORROW-WORD-43{wt}.json.gz',stack) + assert w is not None,log + print(wt,w['report']['local_profile'],w['report']['width_inventory']) + open(f'cand/{sys.argv[1]}-{k}.json.gz','wb').write(gzip.compress(json.dumps(w,separators=(',',':')).encode())) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/pairs.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/pairs.py new file mode 100644 index 0000000000..a9f9cd1a81 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/pairs.py @@ -0,0 +1,88 @@ +"""Alias pairs (helper h -> retired lender L) on a BORROW-WORD, classified: + live : liveness OK in mkalias sense (L's last event < h's first B gate; L not in restore; L no later warp) + fixed : frame rule holds with the word's own frames (dim U_L <= dim F1_h) + refit : frame rule holds in SOME refit: dim lo(L_last) <= dim hi(h_first) (exact, lattice argument) +usage: pairs.py WORD.json.gz OUT.json +""" +import sys, json +from collections import Counter, defaultdict +from bounds import Bounds, basis, contained, regs + +b = Bounds(sys.argv[1]); Wd = b.Wd; w = Wd.w; v = Wd.v; ev = b.ev +restored = {int(q) for q in w.get('helper_final', {})} +lenders_now = {rec[1] for rec in w['warps']} +B0 = min(t for t, (sec, e) in enumerate(ev) if sec in ('B', 'Bwarp')) +# touches (all sections, incl. cut / pre / comp) per register +touch = defaultdict(list) +for t, (sec, e) in enumerate(ev): + if e[0] == 'warp': + touch[e[1]].append((t, sec)) + else: + for q in regs(e): + touch[q].append((t, sec)) +# followers +fol = {} +why_not_f = Counter() +for h in Wd.helpers: + T = touch.get(h, []) + if h in restored: + why_not_f['restored-cold'] += 1; continue + if any(sec not in ('B', 'restore', 'Bwarp') for t, sec in T): + why_not_f['touched-before-B'] += 1; continue + if h in lenders_now: + why_not_f['already-a-lender'] += 1; continue + gs = [t for t, sec in T if sec in ('B', 'restore')] + if not gs: + why_not_f['untouched'] += 1; continue + first = gs[0] + fol[h] = dict(first=first, F1=len(Wd.gateframe[first]), hi=len(b.hi[first]), S=len(Wd.start[h]), + width=len(Wd.end[h]) - len(Wd.start[h])) +# lenders +lend = {} +why_not_l = Counter() +for L in Wd.live: + if v <= L < 2 * v: + continue + if L in restored: + why_not_l['restored-cold'] += 1; continue + T = touch.get(L, []) + if any(sec == 'restore' for t, sec in T): + why_not_l['touched-in-restore'] += 1; continue + last = T[-1][0] if T else -1 + # frame after last event: last framed gate or warp E or start + lastf = [x for x in b.byreg.get(L, [])] + if lastf and lastf[-1][1] == 'warp': + U = len(lastf[-1][3]); lo = U; kind = 'warpE' + elif lastf: + g = lastf[-1][0]; U = len(Wd.gateframe[g]); lo = len(b.lo[g]); kind = 'gate' + else: + U = len(Wd.start[L]); lo = U; kind = 'start' + lend[L] = dict(last=last, U=U, lo=lo, kind=kind, src=L < v) +cnt = Counter(); rows = [] +for h, f in fol.items(): + for L, l in lend.items(): + if L == h: + continue + if not l['last'] < f['first']: + continue + cnt['live'] += 1 + if l['U'] <= f['F1']: + cnt['fixed-ok'] += 1; rows.append((h, L, 'fixed')); continue + if l['lo'] <= f['hi']: + cnt['refit-ok'] += 1; rows.append((h, L, 'refit')) + else: + # reason + r = [] + if l['lo'] > f['F1']: r.append('lender-floor>F1') + if l['U'] > f['hi']: r.append('U>follower-ceiling') + cnt['blocked'] += 1 + cnt['blocked:' + ('both' if len(r) == 2 else (r[0] if r else 'joint'))] += 1 +out = dict(word=sys.argv[1], followers=len(fol), followers_excluded=dict(why_not_f), lenders=len(lend), + lenders_excluded=dict(why_not_l), counts=dict(cnt), + follower_F1_hist=dict((str(k),c) for k,c in Counter((f['F1'], f['hi']) for f in fol.values()).most_common()), + lender_U_lo_hist={str(k): c for k, c in Counter((l['U'], l['lo'], l['kind']) for l in lend.values()).most_common()}, + pairs=[(h, L, k, fol[h], lend[L]) for h, L, k in rows]) +json.dump(out, open(sys.argv[2], 'w'), indent=0, default=str) +print(json.dumps({k: out[k] for k in out if k != 'pairs'}, default=str)) +print('fixed-ok', [(h, L) for h, L, k in rows if k == 'fixed'][:40]) +print('refit-ok', [(h, L) for h, L, k in rows if k == 'refit'][:80]) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/refit.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/refit.py new file mode 100644 index 0000000000..8843b4c61f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/refit.py @@ -0,0 +1,92 @@ +"""minimal-change frame refits on a BORROW-WORD (in place on Bounds.Wd.w): +lower(t, X): gate t to F_t & X, backward meet-closure; raise_(t, Y): gate t to F_t + Y, forward join-closure. +Both check every pin (start, end, warp U/E, A/B-boundary equality pins). Return list of changed gate times or a failure string.""" +from bounds import Bounds, basis, contained, regs, meet, span + + +class Refit: + def __init__(s, b): + s.b = b; s.Wd = b.Wd; s.ev = b.ev + s.pos = {} # (reg, time) -> index in byreg list + for r, L in b.byreg.items(): + for i, x in enumerate(L): + s.pos[(r, x[0])] = i + + def F(s, t): + return basis(s.ev[t][1][-1]) + + def setF(s, t, U): + s.ev[t][1][-1] = list(U) + + def lower(s, t0, X): + b = s.b; Wd = s.Wd + C = {t0: basis(X)} + changed = [] + import heapq + heap = [-t0]; done = set() + while heap: + t = -heapq.heappop(heap) + if t in done: + continue + done.add(t) + old = s.F(t); new = meet(old, C[t]) + if new == old: + continue + if not contained(b.lo[t], new): + return 'below-lo@%d' % t + s.setF(t, new); changed.append((t, old, new)) + for q in regs(s.ev[t][1]): + L = b.byreg[q]; i = s.pos[(q, t)] + if t >= b.bnd and q in b.pin: + pa = [x for x in L[:i] if x[0] >= b.bnd] + if not pa and not contained(b.pin[q], new): + return 'pin@%d' % q + if i == 0: + if not contained(Wd.start[q], new): + return 'start@%d' % q + continue + x = L[i - 1] + if x[1] == 'warp': + if not contained(x[3], new): + return 'warpE@%d' % q + continue + k = x[0] + C[k] = meet(C.get(k, Wd.full), new) + heapq.heappush(heap, -k) + return changed + + def raise_(s, t0, Y): + b = s.b; Wd = s.Wd + J = {t0: basis(Y)} + changed = [] + import heapq + heap = [t0]; done = set() + while heap: + t = heapq.heappop(heap) + if t in done: + continue + done.add(t) + old = s.F(t); new = span(old, J[t]) + if new == old: + continue + if not contained(new, b.hi[t]): + return 'above-hi@%d' % t + s.setF(t, new); changed.append((t, old, new)) + for q in regs(s.ev[t][1]): + L = b.byreg[q]; i = s.pos[(q, t)] + if t < b.bnd and q in b.pin and not [x for x in L[i + 1:] if x[0] < b.bnd]: + if new != b.pin[q]: + return 'pin@%d' % q + if i == len(L) - 1: + if not contained(new, Wd.end[q]): + return 'end@%d' % q + continue + x = L[i + 1] + if x[1] == 'warp': + if new != x[2]: + return 'warpU@%d' % q + continue + k = x[0] + J[k] = span(J.get(k, ()), new) + heapq.heappush(heap, k) + return changed diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/why.py b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/why.py new file mode 100644 index 0000000000..2b5e5d1052 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/refit/search/why.py @@ -0,0 +1,23 @@ +import sys,json +from collections import Counter +from bounds import Bounds,regs +from collections import defaultdict +b=Bounds(sys.argv[1]);Wd=b.Wd;w=Wd.w;v=Wd.v;ev=b.ev +restored={int(q) for q in w.get('helper_final',{})};lenders_now={r[1] for r in w['warps']} +touch=defaultdict(list) +for t,(sec,e) in enumerate(ev): + for q in ((e[1],) if e[0]=='warp' else regs(e)):touch[q].append((t,sec)) +c=Counter();fl=set() +for h in Wd.helpers: + T=touch[h] + if h in restored or h in lenders_now or any(s not in('B','restore','Bwarp') for t,s in T):continue + g=[x for x in b.byreg[h] if x[1]=='gate'][0][0];F1=len(Wd.gateframe[g]);hi=len(b.hi[g]) + for L in Wd.live: + if v<=L<2*v or L in restored or any(s=='restore' for t,s in touch[L]) or L==h:continue + if not touch[L][-1][0]=N}|{g[2]-N for g in w['cleanup'] if g[0]=='add' and g[2]>=N} +def apply_kernel(w,patch): + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['sections'].items():r[k]=copy.deepcopy(v) + r['report']['local_profile']=patch['local_profile'] + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_handoff(w,patch): + """coherent multi-helper handoff edit (retired-source replacement of high roles): replace the listed top-level fields and the report, re-derive the cleanup from the changed word""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_lowfour(w,patch): + """four low aliases through lifted-target compensation (PR2436 mechanism): replace the listed fields; the A section starts with the + explicit prelude (patch fields['prelude_events'] leading items); the inverse-reverse cleanup is derived WITHOUT the prelude.""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r['prelude_events']:] + r['cleanup']=derive_cleanup(t,rs) + return r + +def apply_prelife(w,patch): + """pre-life hosting (this package): a cold host h, after it has restored itself and retired, hosts the whole life of a dim-0-start + helper L through one B warp; h stops being cold, so the restored (private-buffer) set of the derived cleanup is the NEW helper_final + key set (not the input word's). Replace the listed fields and the report; re-derive the inverse-reverse cleanup without the prelude.""" + r=copy.deepcopy(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r.get('prelude_events',0):] + r['cleanup']=derive_cleanup(t,{int(q) for q in r['helper_final']}) + return r diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz new file mode 100644 index 0000000000..d3878e3be5 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz new file mode 100644 index 0000000000..0638b6ad9d Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md b/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md new file mode 100644 index 0000000000..a14b299ef5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md @@ -0,0 +1,21 @@ +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the borrowing work's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py new file mode 100644 index 0000000000..82beaa9c1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py @@ -0,0 +1,165 @@ +"""Paid residual wrappers for entering helpers (Lemma A): generation and independent decoding. Apache-2.0. +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The wrapper construction follows PR #458 +(chafreaky): a helper that starts at frame E and ends at FULL has the physical residual S_E = T_FULL T_E^-1 (apply T_E^-1 first); +S_E = L_E (C_[w] x I) R_E with R_E applied first; the wrappers R_E^-1 before the whole local invocation and L_E^-1 after its +full-frame cleanup turn the residual into the coordinate factor C_[w] x I and restore the other 9 - w coordinates identically. +usage: adapters_gk.py CANONICAL-WORD.json.gz RESIDUAL-ADAPTERS.json OUT-LEMMA-A.json +Writes the recipes (generation uses clifford_exact.lower_child) and then DECODES the serialized monomials with the primitive +constructors of clifford_exact (not lower_child) and checks, for every entrance frame, that L_E^-1 S_E R_E^-1 has exactly the +tableau and zero-state vector (global phase included) of fourier(9, range(w)); mutated recipes (wrong phase, swapped sides, wrong +translation, wrong width) must be rejected.""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy, gzip, json, sys +from pathlib import Path +# Package-path adaptation only; the exact wrapper mathematics is unchanged. +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE / 'vendor/clifford')) # BW: the pinned vendor531 clifford_exact (byte copy) +sys.path.insert(0, str(HERE)) +from clifford_exact import canonical_frame, lower_child, fourier, diag, perm, xgate, Op, identity, transpose, inv, parity, monomial as mono_of, mv +import bw_gauss +n = 9; FULL = tuple(1 << i for i in range(n)) +def monomial_op(rec): + """decode a serialized monomial (matrix rows, quadratic rows, Z4 linear part, translation, phase)""" + out = diag(n, tuple(rec['quadratic_rows']), tuple(rec['linear_Z4'])).then(perm(n, tuple(rec['matrix_rows']))).then(xgate(n, rec['offset'])) + return out.then(Op(n, identity(n), [('phase', rec['phase'])])) +def S_of(U, END=FULL): + # HPE: a helper that starts at E=U and ends at END has residual T_END T_E^-1 (END = FULL is the inherited case) + return canonical_frame(n, tuple(U)).adjoint().then(canonical_frame(n, tuple(END))) +def wrapped_ok(U, rec, END=FULL): + """exactly: L^-1 S R^-1 = C_[w] x I (apply order: R^-1, S, L^-1), w = dim END - dim E""" + w = len(END) - len(U); S = S_of(U, END); Rm = monomial_op(rec['right']); Lm = monomial_op(rec['left']) + net = Rm.adjoint().then(S).then(Lm.adjoint()); target = fourier(n, range(w)) + return rec['rank'] == w and net.tab == target.tab and net.zero_state() == target.zero_state() +def _contains(a, b): + a = list(a) + for x in b: + for y in sorted(a, reverse=True): + if x >> (y.bit_length() - 1) & 1: x ^= y + if x: return False + return True +def Kop(G_cols): + """BW: K_G = perm(G) then diag(Q), Q = I + G^-T G^-1: PR2226's monomial() and the conjugator inside clifford_exact.canonical_frame.""" + G = transpose(tuple(G_cols), n); gi = inv(G, n) + Q = tuple((1 << i) ^ sum(parity(gi_i & gi_j) << j for j, gi_j in enumerate(transpose(gi, n))) for i, gi_i in enumerate(transpose(gi, n))) + return perm(n, G).then(diag(n, Q)) +def numeric_K(G_cols): + import numpy as np + pv, ph = bw_gauss.monomial(list(G_cols), n) + N = 1 << n; re = np.zeros((N, N), dtype=np.int64); im = np.zeros((N, N), dtype=np.int64) + unit = [(1, 0), (0, 1), (-1, 0), (0, -1)] + for x in range(N): re[pv[x], x], im[pv[x], x] = unit[ph[x]] + return re, im, 0 +def warp_ok(G_cols, rec): + """BW: the serialized monomial equals PR2226's exact numpy K_G on all 512 columns (indep. decode) and its op decodes to K_G exactly.""" + m = bw_gauss.recipe_matrix(rec, n) + if not bw_gauss.equal_scaled(numeric_K(G_cols), m): return False + dec = monomial_op(rec); ref = Kop(G_cols) + return dec.tab == ref.tab and dec.zero_state() == ref.zero_state() + +def main(): + c = json.load(gzip.open(sys.argv[1])); frames = c['frames']; v = c['v'] + starts = sorted({c['start'][r] for r in range(2 * v, len(c['start'])) if c['start'][r] != 0 and c['final'][r] == 1}) + # HPE: (entrance, terminal) pairs of helpers ending at a proper subspace; key 'E:U'. Inherited words have none. + ends = sorted({(c['start'][r], c['final'][r]) for r in range(2 * v, len(c['start'])) if c['final'][r] != 1}) + # COLD-HPE: e == 0 (a cold helper, entrance = bottom, T_0 = I) is allowed: the (0, U) recipe is keyed '0:U' + assert all(len(frames[u]) < n and _contains(frames[u], frames[e]) for e, u in ends) + cold_ends = [(e, u) for e, u in ends if e == 0] + recipes = {} + for f in starts: + U = frames[f]; rec, compiled = lower_child(S_of(U)) + recipes[str(f)] = dict(frame=f, vectors=list(U), entrance_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + for e, u in ends: + E, U = frames[e], frames[u]; rec, compiled = lower_child(S_of(E, U)) + recipes['%d:%d' % (e, u)] = dict(frame=e, terminal=u, vectors=list(E), terminal_vectors=list(U), entrance_rank=len(E), + terminal_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + # BW: monomial recipes of the warps K_G (anticipatory dirty borrowing, PR2226): one per operator, serialized like a wrapper monomial + warp_recipes = {} + for w in c.get('warps', []): + _, rec_k = mono_of(Kop(w['G_columns'])) + warp_recipes[str(w['op'])] = dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], G_columns=list(w['G_columns']), K=rec_k) + Path(sys.argv[2]).write_text(json.dumps(dict(status='RESIDUAL_ADAPTER_RECIPES', recipes=recipes, warps=warp_recipes), sort_keys=True, separators=(',', ':')) + '\n') + # ---- independent decode of the serialized file + data_all = json.loads(Path(sys.argv[2]).read_text()); data = data_all['recipes'] + dot = lambda a, b: bin(a & b).count('1') & 1 + detail = [] + for f in starts: + rec = data[str(f)]; U = frames[f] + assert wrapped_ok(U, rec), ('wrapper product is not C_[w] x I', f) + detail.append(dict(frame=f, entrance_rank=len(U), residual_width=n - len(U), vectors=list(U), all_even_weight=all(bin(x).count('1') % 2 == 0 for x in U), + totally_isotropic=all(dot(a, b) == 0 for a in U for b in U))) + hdetail = [] + for e, u in ends: # HPE: independent decode, residual width = dim U - dim E + rec = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + assert wrapped_ok(E, rec, U), ('HPE wrapper product is not C_[w] x I', e, u) + hdetail.append(dict(frame=e, terminal=u, entrance_rank=len(E), terminal_rank=len(U), residual_width=len(U) - len(E))) + controls = [] + def reject(name, fn): + f = starts[0]; rec = copy.deepcopy(data[str(f)]); fn(rec) + if wrapped_ok(frames[f], rec): raise AssertionError('mutated wrapper accepted: ' + name) + controls.append(name) + reject('wrong global phase', lambda r: r['right'].__setitem__('phase', (r['right']['phase'] + 1) % 4)) + reject('wrong translation', lambda r: r['left'].__setitem__('offset', r['left']['offset'] ^ 1)) + reject('wrong quadratic form', lambda r: r['right'].__setitem__('quadratic_rows', [x ^ 2 if i == 0 else x for i, x in enumerate(r['right']['quadratic_rows'])]) if False else r['right']['linear_Z4'].__setitem__(0, (r['right']['linear_Z4'][0] + 2) % 4)) + reject('sides swapped', lambda r: (r.__setitem__('left', r['right']), r.__setitem__('right', r['left']))) + reject('wrong width', lambda r: r.__setitem__('rank', r['rank'] + 1)) + if ends: # HPE controls on the first (E, U) pair + e, u = next((p for p in ends if p[0] != 0), ends[0]); rec0 = data['%d:%d' % (e, u)] # COLD-HPE: an entering pair if any (= ends[0] without cold ends) + def hreject(name, ok): + if ok: raise AssertionError('HPE mutation accepted: ' + name) + controls.append(name) + hreject('hpe: U-wrapper decoded against a FULL ending', wrapped_ok(frames[e], rec0)) + hreject('hpe: width misreported as 9 - dim E', wrapped_ok(frames[e], dict(rec0, rank=n - len(frames[e])), frames[u])) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u]) and _contains(frames[f], frames[e])) + hreject('hpe: wrong terminal hyperplane', wrapped_ok(frames[e], rec0, frames[other])) + fe = next(((e2, u2) for e2, u2 in ends if str(e2) in data), None) + if fe: # an entrance shared with FULL-ended helpers: R_{E,FULL} must not serve as R_{E,U} + r2 = data['%d:%d' % fe] + hreject('hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}', wrapped_ok(frames[fe[0]], dict(r2, right=data[str(fe[0])]['right']), frames[fe[1]])) + hreject('hpe: wrong global phase', wrapped_ok(frames[e], dict(rec0, left=dict(rec0['left'], phase=(rec0['left']['phase'] + 1) % 4)), frames[u])) + if cold_ends: # COLD-HPE controls on the first cold pair (0, U): factor_iff_pre says only R_{0,U} itself may precede + e, u = cold_ends[0]; recc = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + ID = dict(matrix_rows=[1 << i for i in range(n)], offset=0, quadratic_rows=[0] * n, linear_Z4=[0] * n, phase=0) + assert monomial_op(ID).tab == identity(n) # the control's wrapper really is the identity + def creject(name, ok): + if ok: raise AssertionError('cold HPE mutation accepted: ' + name) + controls.append(name) + creject('cold hpe: identity pre wrapper instead of R_{0,U}', wrapped_ok(E, dict(recc, right=ID), U)) + creject('cold hpe: identity post wrapper instead of L_{0,U}', wrapped_ok(E, dict(recc, left=ID), U)) + creject('cold hpe: no wrappers (cold FULL convention L = R = I)', wrapped_ok(E, dict(recc, left=ID, right=ID), U)) + creject('cold hpe: U-wrapper decoded against a FULL ending', wrapped_ok(E, recc)) + creject('cold hpe: width misreported as 9', wrapped_ok(E, dict(recc, rank=n), U)) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u])) + creject('cold hpe: wrong terminal hyperplane', wrapped_ok(E, recc, frames[other])) + creject('cold hpe: wrong global phase', wrapped_ok(E, dict(recc, right=dict(recc['right'], phase=(recc['right']['phase'] + 1) % 4)), U)) + ent = next((p for p in ends if p[0] != 0 and p[1] == u), None) + same = lambda x, y: monomial_op(x).tab == monomial_op(y).tab and monomial_op(x).zero_state() == monomial_op(y).zero_state() + if ent and not same(data['%d:%d' % ent]['right'], recc['right']): # an entering helper ending at the same U: its R_{E,U} must not serve as R_{0,U} + creject('cold hpe: pre wrapper resolved to an entering recipe R_{E,U}', wrapped_ok(E, dict(recc, right=data['%d:%d' % ent]['right']), U)) + wdetail = [] + for w in c.get('warps', []): # BW: independent decode of every warp recipe, then mutation controls on the first warp + rec = data_all['warps'][str(w['op'])] + assert rec['G_columns'] == w['G_columns'] + assert warp_ok(w['G_columns'], rec['K']), ('warp recipe differs from the exact monomial K_G', w['op']) + wdetail.append(dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], columns_checked=1 << n)) + if c.get('warps'): + w0 = c['warps'][0]; k0 = data_all['warps'][str(w0['op'])]['K'] + def wreject(name, ok): + if ok: raise AssertionError('warp mutation accepted: ' + name) + controls.append(name) + wreject('warp: wrong global phase', warp_ok(w0['G_columns'], dict(k0, phase=(k0['phase'] + 1) % 4))) + wreject('warp: wrong translation', warp_ok(w0['G_columns'], dict(k0, offset=k0['offset'] ^ 1))) + wreject('warp: wrong linear phase', warp_ok(w0['G_columns'], dict(k0, linear_Z4=[(k0['linear_Z4'][0] + 2) % 4] + k0['linear_Z4'][1:]))) + wreject('warp: wrong quadratic form', warp_ok(w0['G_columns'], dict(k0, quadratic_rows=[k0['quadratic_rows'][0] ^ 2, k0['quadratic_rows'][1] ^ 1] + k0['quadratic_rows'][2:]))) + wreject('warp: recipe of another operator', warp_ok(w0['G_columns'], data_all['warps'][str(c['warps'][1]['op'])]['K'])) + wreject('warp: inverse recipe used as the warp', warp_ok(w0['G_columns'], mono_of(Kop(w0['G_columns']).adjoint())[1])) + G2 = list(w0['G_columns']); G2[0] ^= G2[1] + wreject('warp: wrong G (frame-changed column)', warp_ok(G2, k0)) + sing = list(w0['G_columns']); sing[1] = sing[0] + try: Kop(sing); raise SystemExit('non-invertible G accepted') + except (AssertionError, StopIteration, ValueError): controls.append('warp: non-invertible G') + res = dict(status='PASS_RESIDUAL_WRAPPERS_ARE_EXACT', frames=len(detail), **({'hyperplane_end_pairs': hdetail} if ends else {}), **({'cold_hyperplane_end_pairs': len(cold_ends)} if cold_ends else {}), wrappers_reject=controls, all_even_weight=all(d['all_even_weight'] for d in detail), **({'warp_recipes_exact_on_all_512_columns': wdetail} if wdetail else {}), + all_totally_isotropic=all(d['totally_isotropic'] for d in detail), detail=detail) + Path(sys.argv[3]).write_text(json.dumps(res, indent=1) + '\n') + print('Lemma A (exact): L^-1 S_E R^-1 = C_[w] x I for', len(detail), 'entrance frames, global phase included;', len(controls), 'wrapper mutations rejected; all-even-weight:', res['all_even_weight']) +if __name__ == '__main__': main() diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py new file mode 100644 index 0000000000..61c1abd327 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py @@ -0,0 +1,278 @@ +# Local independent replay of the attributed PR514 / PR433 checker (icekylinx with OpenAI Codex assistance), extended (BW) with +# monomial warps and private zero buffers for anticipatory dirty borrowing (PR2226, Cinna Davis @1337isnot1337, with OpenAI +# Codex assistance, Apache-2.0). The exact Gaussian column products below are a port of PR2226's operators.py (change / +# monomial / apply_mono / coord / frame / check); they use only numpy and share no code with the emitter or with the +# clifford_exact phase compiler. Every edit is marked "BW:". The complete inherited checker and its controls are retained. +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy,gzip,hashlib,json,sys,time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +import numpy as np +sys.path.insert(0,str(Path(__file__).resolve().parent)) +OUT=Path(sys.argv[1]) +c=json.load(gzip.open(OUT/'CANONICAL-WORD.json.gz')) +ir={'local_programs':json.load(gzip.open(OUT/'LOCAL-PROGRAMS.json.gz'))} +v,R,h=c['v'],c['R'],c['h'];n=2*v+R;frames=c['frames'] +levels={int(t):f for t,f in c.get('target_levels',{}).items()} +entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] +plain={r for r in range(n) if r not in set(entering)} + +def contains(a,b): + for x in a: + for y in b: + if x>>(y.bit_length()-1)&1:x^=y + if x:return False + return True +hpe={r for r in range(2*v,n) if c['final'][r]!=1} +assert all(len(frames[c['final'][r]])0:assert sorted(lin(G,x) for x in span(U))==sorted(span(E)),'G does not carry the from frame onto the to frame' + else:assert sorted(lin(G,x) for x in span(E))==sorted(span(U)),'G^-1 does not carry the from frame onto the to frame' + z=warp_product(G,U,E,op,h,qmut) + fwd=check_mono(z) + bre,bim,bexp=z # inverse-transpose of a (scaled) unitary monomial is its entrywise conjugate + bwd=check_mono((bre,-bim,bexp)) + WARPCACHE[key]=(fwd,bwd);return WARPCACHE[key] +# --------------------------------------------------------------------------------------------------------------------------- +def add_row(row,src,q): + for j,x in src.items(): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def local(events,back,table=None,qmut=None): + table=c['warps'] if table is None else table + G_of={w['op']:w['G_columns'] for w in table} + 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=[];chain={};wrappers=[] + wset=set(wrapped);pre_seen=set();post_seen=set();zlive=set();warp_hashes=[];nwarp=0 + allowed=['zero_frame_precondition','entry_adapters','A','centers','B']+(['cleanup_tail'] if c.get('tail') else [])+['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==[(r,f) for r,f in enumerate(c['start']) if r in plain] and sorted(r for k_,r,f_ in wrappers if k_=='pre')==wrapped + if event[1]=='centers':assert all(cur[r]==levels.get(r-v,0) for r in range(v,2*v)) + if event[1]=='full_frame_cleanup':assert cur==c['final'] and exit==[(r,f) for r,f in enumerate(c['final']) if r not in hpe] + assert not private + elif tag=='residual_adapter': + _,kind,r,f,*end=event;assert r in wrapped and f==c['start'][r] and kind in ('pre','post') + assert end==([c['final'][r]] if r in hpe else []) + if end and kind=='post':assert cur[r]==end[0] + assert (kind=='pre' and phases[-1]=='entry_adapters') or (kind=='post' and phases[-1]=='full_frame_cleanup') + assert (kind,r) not in {(k,x) for k,x,_ in wrappers};wrappers.append((kind,r,f)) + (pre_seen if kind=='pre' else post_seen).add(r) + 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=='zero_buffer': # BW: private FULL-frame zero buffers of the cleanup; allocated empty, returned empty + _,kind,z=event;assert phases[-1]=='full_frame_cleanup' and z in zb + if kind=='alloc': + assert z not in zlive and ('Z',z) not in rows;zlive.add(z);rows['Z',z]={};norm['Z',z]=Q(0) + else: + assert kind=='free' and z in zlive and not rows['Z',z];zlive.remove(z) + elif tag=='warp': # BW: monomial logical reference change, rank zero, exact on all 512 columns + _,r,op,f0,f1=event;nwarp+=1 + assert op and abs(op) in G_of and phases[-1] in ('zero_frame_precondition','A','B','cleanup_tail','full_frame_cleanup') + assert not private + if r[0]=='L': + assert cur[r[1]]==f0,('warp frame mismatch',r,cur[r[1]],f0) + assert r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen),('warp wrapper order',r) + else: + assert r[0]=='Z' and r[1] in zlive and f0==f1==1 + assert len(frames[f0])==len(frames[f1]),'a warp is rank zero: equal dimensions' + warp_hashes.append(warp_columns(op,f0,f1,G_of[abs(op)],qmut)) + rows[tuple(r)]=warp_row(rows[tuple(r)],op) + if r[0]=='L':cur[r[1]]=f1 + 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 contains(frames[a],frames[b]) if back else contains(frames[b],frames[a]) + assert rank==abs(len(frames[a])-len(frames[b]))>0 + chain.setdefault(k,[]).append((a,b)) + 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 and (r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen)),('common frame / wrapper order',r,cur[r[1]],f) + elif r[0]=='Z': # BW: a zero buffer lives only inside the FULL-frame cleanup, at FULL + assert r[1] in zlive and f==1 and phases[-1]=='full_frame_cleanup',('zero buffer misuse',r) + 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 + 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,{}) + add_row(row,rows[source],q) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and set(centers)==set(range(len(c['centers']))) and not private and not zlive + assert sorted(r for k,r,_ in wrappers if k=='pre')==wrapped and sorted(r for k,r,_ in wrappers if k=='post')==wrapped + for k,st in chain.items(): + cf=c['center_frames'][k] + if back:assert st[-1][1]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + else:assert st[0][0]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + assert all(not row for reg,row in rows.items() if reg[0] in 'CZ') + assert cur==c['final'] + for r in range(n): + expected={(r,()):Q(1)} + if back and r0)==(sign>0),start) +def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup')) +mutations=[ + ('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)), + ('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))), + ('wrong_common_frame',lambda es:next(e for e in es if e[0]=='scalar' and e[2]!=0).__setitem__(2,0)), + ('wrong_child_rank',lambda es:next(e for e in es if e[0]=='climb').__setitem__(5,99)), +]+([ + ('missing_pre_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre'))), + ('missing_post_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post'))), + ('wrapper_with_wrong_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[2] in entering).__setitem__(3,0)), + ('wrapper_in_wrong_phase',lambda es:es.insert(es.index(['phase','A']),es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post')))), + ('wrapper_on_a_data_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,3)), + ('wrapper_on_a_target_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,v+3)), + ('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])), +] if entering else [])+([ + ('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))), + ('centre_descent_step_skipped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0))), +] if levels else [])+([ + ('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()), + ('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()), + ('hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).__setitem__(4,1)), + ('hpe_tail_gate_at_full_frame',lambda es:next(e for e in es[es.index(['phase','cleanup_tail']):] if e[0]=='scalar').__setitem__(2,1)), + ('hpe_tail_climb_dropped',lambda es:es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='climb'))), + ('hpe_helper_exit_adapter_to_full',lambda es:es.insert(es.index(['phase','full_frame_cleanup']),['adapter','new_to_old',min(hpe),1])), + ('hpe_tail_gate_moved_into_full_cleanup',lambda es:(lambda x:(x.__setitem__(2,1),es.insert(es.index(['phase','full_frame_cleanup'])+1,x)))(es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='scalar')))), +] if hpe else [])+([ + ('cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','old_to_new',cold[0],0]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_dropped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_post_wrapper_replaced_by_exit_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','new_to_old',cold[0],c['final'][cold[0]]]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_resolved_to_cold_full_convention',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).pop()), + ('cold_hpe_wrapper_with_nonzero_entrance',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).__setitem__(3,1)), + ('cold_hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]).__setitem__(4,1)), + ('cold_hpe_premix_gate_before_pre_wrapper',lambda es:(lambda ev:es.insert(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]),ev))(es.pop(next(i for i,e in enumerate(es) if e[0]=='scalar' and (('L',cold[0]) in [tuple(e[1][1])]+([tuple(e[1][2])] if e[1][0] in ('add','copy') else []))))) ), +] if cold else []) +# BW: mutations of the warp / zero-buffer events (each must be rejected by the literal replay) +if c.get('warps'): + def other_frame(es,i): # a frame of the same dimension that is not the event's own to-frame + e=es[i];return next(f for f in range(len(frames)) if f not in (e[3],e[4]) and len(frames[f])==len(frames[e[4]]) and f!=0) + mutations+=[ + ('warp_missing_inverse_at_full_cleanup',lambda es:es.pop(cleanup_warp(es))), + ('warp_missing_forward',lambda es:es.pop(first_warp(es,1,phase_at(es,'B')))), + ('warp_frame_mismatch',lambda es:(lambda i:es[i].__setitem__(3,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_to_frame_not_carried_by_G',lambda es:(lambda i:es[i].__setitem__(4,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_sign',lambda es:(lambda i:es[i].__setitem__(2,-es[i][2]))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_operator',lambda es:(lambda i:es[i].__setitem__(2,es[i][2]%len(c['warps'])+1))(first_warp(es,1,phase_at(es,'B')))), + ('warp_inverse_moved_before_use',lambda es:es.insert(first_warp(es,1,phase_at(es,'B')),es.pop(cleanup_warp(es)))), + ('warp_inverse_wrong_frame',lambda es:es[cleanup_warp(es)].__setitem__(3,0)), + ('warp_rank_changing',lambda es:(lambda i:es[i].__setitem__(4,0))(first_warp(es,1,phase_at(es,'B')))), + ('warp_phase_B_dropped_gate_after_warp',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar',first_warp(es,1,phase_at(es,'B'))))), + ] +if zb: + mutations+=[ + ('zero_buffer_not_freed',lambda es:es.pop(ev_index(es,lambda e:e[0]=='zero_buffer' and e[1]=='free'))), + ('zero_buffer_gate_outside_cleanup',lambda es:es.insert(phase_at(es,'full_frame_cleanup')-1,['scalar',['add',['Z',zb[0]],['L',0],1,1],1])), + ('zero_buffer_garbage_left',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar' and e[1][0]=='add' and e[1][1]==['Z',zb[0]] ,phase_at(es,'full_frame_cleanup')))), + ] +def mutate_gate_to_L(es): + i=ev_index(es,lambda e:e[0]=='scalar' and ['Z',zb[0]] in [e[1][1]]+([e[1][2]] if e[1][0]=='add' else []),phase_at(es,'full_frame_cleanup')) + g=es[i][1];es[i][1]=[g[0]]+[(['L',zb[0]] if x==['Z',zb[0]] else x) for x in g[1:3]]+list(g[3:]) +if zb: + mutations.append(('zero_buffer_replaced_by_restored_register_at_full',mutate_gate_to_L)) +for name,mut in mutations: + es=copy.deepcopy(ir['local_programs']['forward']);mut(es) # a mutation that cannot be built is an error, not a rejection + try:local(es,False) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('mutation accepted: '+name) +# BW: table / operator tampering of the warps themselves +def tampered(name,table_fn,qmut=None): + t=copy.deepcopy(c['warps']);table_fn(t) + try:local(ir['local_programs']['forward'],False,table=t,qmut=qmut) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('tampered warp operator accepted: '+name) +if c.get('warps'): + def wrongG(t): + U=frames[t[0]['from_frame']];E=frames[t[0]['to_frame']] + G=list(t[0]['G_columns']);outside=next(x for x in range(1,1<0 else -1,abs(e[2]),e[3],e[4])) +assert used==set(map(tuple,c.get('warp_edges',[]))),'emitted warp classes differ from the word' +by={(w['sign'],w['op'],w['old'],w['new']):w for w in rec_all.get('warps',[])} +assert set(by)==used,('recipe classes differ from the emitted warp classes',len(set(by)^used)) +def numeric_K(G): + pv,ph=g.monomial(list(G),h);N=1<0 and k[2]!=k[3]);w=by[key];sign,op,f0,f1=key;left=w['left'];Gx=G_of[op] + reject('recipe: wrong global phase',product_ok(*key,dict(left,phase=(left['phase']+1)%4))) + reject('recipe: wrong translation',product_ok(*key,dict(left,offset=left['offset']^1))) + reject('recipe: wrong linear phase',product_ok(*key,dict(left,linear_Z4=[(left['linear_Z4'][0]+2)%4]+left['linear_Z4'][1:]))) + reject('recipe: wrong quadratic form',product_ok(*key,dict(left,quadratic_rows=[left['quadratic_rows'][0]^2,left['quadratic_rows'][1]^1]+left['quadratic_rows'][2:]))) + reject('recipe: wrong matrix',product_ok(*key,dict(left,matrix_rows=[left['matrix_rows'][1],left['matrix_rows'][0]]+left['matrix_rows'][2:]))) + G2=list(Gx);G2[0]^=G2[1] + reject('recipe: wrong G (still invertible)',product_ok(*key,left,G=G2)) + sing=list(Gx);sing[1]=sing[0] + reject('recipe: non-invertible G',product_ok(*key,left,G=sing)) + reject('recipe: inverse warp recipe used for the forward warp',product_ok(sign,op,f0,f1,next(x for k,x in by.items() if k[0]==-sign and k[1]==op)['left']) if any(k[0]==-sign and k[1]==op for k in by) else False) + # frame mismatch: the recipe of this class used for a class with another frame + other=next((k for k in by if k!=key and k[0]==sign and k[1]!=op),None) + reject('recipe: recipe of another warp class',product_ok(*key,by[other]['left']) if other else False) + reject('recipe: swapped from/to frames',product_ok(sign,op,f1,f0,left)) + # a class missing from the recipe file + try: + miss=copy.copy(by);miss.pop(key);assert set(miss)==used + except AssertionError:controls.append('recipe: missing warp class') + else:raise AssertionError('missing class accepted') + reject('logical: wrong G',logical_ok(op,res_all['warps'][str(op)]['K'],G=G2)) + reject('logical: wrong phase',logical_ok(op,dict(res_all['warps'][str(op)]['K'],phase=(res_all['warps'][str(op)]['K']['phase']+1)%4))) +out=dict(status='PASS_WARP_RECIPES_EXACT_ON_ALL_512_COLUMNS',canonical_word_sha256=hashlib.sha256((OUT/'CANONICAL-WORD.json.gz').read_bytes()).hexdigest(), + recipe_sha256=hashlib.sha256((OUT/'CLIFFORD-RECIPES.json').read_bytes()).hexdigest(),warp_classes=len(by),operators=len(c.get('warps',[])), + columns_each=1< 0, G^-1(f0) = f1 for op < 0). The same event stream serves both orientations: +the inverse-transpose of a monomial K_G is the monomial conj(K_G) (same permutation, conjugated phases), a different +formal symbol of the free operator algebra, and the exact column check of the physical product is run for both. +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import sys as _sys, os as _os; _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) +import gzip,hashlib,json +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path(_sys.argv[1]);cp=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(cp)) +frames=c['frames'];v,R,h=c['v'],c['R'],c['h'];n=2*v+R +def digest(x):return hashlib.sha256(json.dumps(x,sort_keys=True,separators=(',',':')).encode()).hexdigest() +def basis(vs): + b={} + for x in vs: + for p in sorted(b,reverse=True): + if x>>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 reg(x):return list(x) if isinstance(x,list) else ['L',x] # BW: ['Z', c] is a private zero buffer +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',reg(e[1]),reg(e[2]),e[3],e[4]] + return ['scale',reg(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) + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) +def lregs(e):return [r for r in ([e[1]]+([e[2]] if e[0]=='add' else [])) if not isinstance(r,list)] + +def expand(e): + """BW: a twisted addition t += c*W(s) at frame zero: warp s by W, add, unwarp (all rank zero at frame 0).""" + if e[0]!='tadd':return [e] + _,t,s,word,a,b,f=e + return [['warp',s,op,0,0] for op in reversed(word)]+[['add',t,s,a,b,0]]+[['warp',s,-op,0,0] for op in word] + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + def warp(e): + _,r,op,f0,f1=e + if isinstance(r,list):assert r[0]=='Z' and f0==f1==1 + else: + assert cur[r]==f0,('warp frame mismatch',r,cur[r],f0);cur[r]=f1 + event(['warp',reg(r),op,f0,f1]) + event(['phase','zero_frame_precondition']) + for e0 in c['precondition']+c['compensation']: + for e in expand(e0): + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] + hpe={r for r in range(2*v,n) if c['final'][r]!=1} + wrapped=sorted(set(entering)|hpe) + for r,f in enumerate(c['start']): + if r in wrapped:event(['residual_adapter','pre',r,f]+([c['final'][r]] if c['final'][r]!=1 else [])) + else: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')+(('cleanup_tail',) if c.get('tail') else ())+('final',): + event(['phase',part]) + if part in ('A','B','cleanup_tail'): + for e in (c['tail'] if part=='cleanup_tail' else c[part]): + if e[0]=='warp':warp(e);continue # BW: monomial reference change, no climb + for r in lregs(e):climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + lv=lambda r:c.get('target_levels',{}).get(str(r-v),0) + assert all(cur[r]==lv(r) for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];assert cur[r]==cf + terms=[e for e in c['cut'] if e[2]==r] + path=[cf]+sorted({lv(e[1]) for e in terms}-{cf},key=lambda x:-len(frames[x])) + C=['C',k] + if not back: + scal(['clear',C],cf);scal(['copy',C,['L',r]],cf) + for a in range(len(path)): + if a>0:event(['center',k,path[a-1],path[a],len(frames[path[a-1]])-len(frames[path[a]])]) + for e in terms: + if lv(e[1])==path[a]:scal(['add',['L',e[1]],C,e[3],e[4]],path[a]) + scal(['clear',C],path[-1]) + else: + scal(['clear',C],path[-1]) + for a in range(len(path)-1,-1,-1): + for e in terms: + if lv(e[1])==path[a]:scal(['add',C,['L',e[1]],e[3],e[4]],path[a]) + if a>0:event(['center',k,path[a],path[a-1],len(frames[path[a-1]])-len(frames[path[a]])]) + scal(['add',['L',r],C,-1,1],cf);scal(['clear',C],cf) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']): + if r not in hpe:event(['adapter','new_to_old',r,f]) + event(['phase','full_frame_cleanup']) + zb=c.get('zero_buffers',[]) + for z in zb:event(['zero_buffer','alloc',z]) # BW: private FULL-frame zero buffers stand in for the restored (hyperplane-ended) helpers + for e in c['cleanup']: + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['final'][r]==1 for r in regs) + assert all(r[0]=='Z' and r[1] in zb for r in [e[1]]+([e[2]] if e[0]=='add' else []) if isinstance(r,list)) + scal(scalar(e,back),1) + for z in zb:event(['zero_buffer','free',z]) + for r in wrapped:event(['residual_adapter','post',r,c['start'][r]]+([c['final'][r]] if r in hpe else [])) + event(['phase','done']) + return out + +def add_row(dst,src,q): + for j,x in src.items(): + z=dst.get(j,Q(0))+q*x + if z:dst[j]=z + else:dst.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def check_local(events,back): + # BW: literal scalar replay of the emitted stream in the free warp algebra (rows over (register, warp word)), centres and zero buffers. + state={('L',r):{(r,()):Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0;zlive=set();nwarp=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]=='zero_buffer': + z=e[2] + if e[1]=='alloc':assert z not in zlive;zlive.add(z);state['Z',z]={} + else:assert not state['Z',z] and z in zlive;zlive.remove(z) + elif e[0]=='warp': + t=tuple(e[1]);nwarp+=1;state[t]=warp_row(state[t],e[2]) + 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]={(var,w):x for (var,w),x in state.get(tuple(op[2]),{}).items()};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]) + add_row(row,state.get(s,{}),q) + assert not live and not zlive and all(not row for r,row in state.items() if r[0] in 'CZ') + for r in range(n): + expected={(r,()):Q(1)} + if back and r>i&1:out^=col + return out +def f2rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) +def extend(xs,hh): + out=list(xs) + for i in range(hh): + if f2rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(hh) for j in range(hh)) + permv=np.array([lin(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(hh))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(hh) for j in range(i+1,hh)) + for x in permv],dtype=np.int64)%4 + return permv,phase +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1<0 else -1);return frame(z,E,hh,1) +def recipe_matrix(rec,hh): + """Dense exact matrix (re, im, exp=0) of a serialized clifford_exact monomial (matrix_rows, quadratic_rows, linear_Z4, offset, phase): + |x> -> i^(qvalue(x)+phase) |G x ^ offset>, qvalue = sum alpha_i x_i + 2 sum_{i in x} parity((Q_i >> (i+1)) & (x >> (i+1))).""" + N=1<>i&1)+2*sum(((Q[i]>>(i+1))&(x>>(i+1))).bit_count()&1 for i in range(hh) if x>>i&1)+ph)%4 + re[y,x],im[y,x]=unit[q] + return re,im,0 +def equal_scaled(z,m): + """z (scaled by 2^exp) equals m (exp 0) entrywise exactly""" + re,im,exp=z;return bool(np.array_equal(re,m[0]<0 else K.adjoint() + op=ops[f0].adjoint().then(Ks).then(ops[f1]);rec,compiled=lower_child(op) + assert rec['rank']==0 and rec['right'] is None,('warp is not a monomial Clifford',sign,op_id,f0,f1) + Z=bw_gauss.warp_product(G,frames[f0],frames[f1],sign*op_id,n) + assert bw_gauss.equal_scaled(Z,bw_gauss.recipe_matrix(rec['left'],n)),('recipe differs from the exact column product',sign,op_id,f0,f1) + hist['warp']+=1;warps.append({'sign':sign,'op':op_id,'old':f0,'new':f1,'G_columns':G,**rec}) +raw=json.dumps({'children':recipes,'endpoint_adapters':adapters,'warps':warps},sort_keys=True,separators=(',',':')).encode() +(OUT/'CLIFFORD-RECIPES.json').write_bytes(raw) +result={'status':'PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES', + 'canonical_word_sha256':hashlib.sha256(P.read_bytes()).hexdigest(), + 'frames':len(frames),'directed_edges':len(edges),'ranks':{str(k):x for k,x in hist.items()}, + 'endpoint_adapters':len(adapters),'warp_recipes':len(warps),'warp_recipes_rank_zero':all(w['rank']==0 for w in warps), + 'warp_recipes_equal_exact_512_column_product':True, + 'all_child_equalities_include_global_phase':True, + 'recipe_sha256':hashlib.sha256(raw).hexdigest(),'seconds':time.monotonic()-start, + 'scope':'Every local frame, centre transition and warp. Expanded scalar-interface integration and global emitted program are separate obligations.'} +(OUT/'CLIFFORD-REVIEW.json').write_text(json.dumps(result,indent=2)+'\n') +print('PASS exact local phases',result['seconds'],'seconds',flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py new file mode 100644 index 0000000000..a519863fd8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py @@ -0,0 +1,58 @@ +"""Tamper controls of the native borrow chain. Every tampered BORROW-WORD / emitted artifact must be REJECTED by the chain. +usage: bw_tamper.py BORROW-WORD.json.gz NATIVE_LOCAL_DIR WORK_DIR [--files] (--files also reruns the heavier file-level stages)""" +import copy,gzip,json,os,shutil,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent +word_path=Path(sys.argv[1]).resolve();local=Path(sys.argv[2]).resolve();work=Path(sys.argv[3]).resolve();work.mkdir(parents=True,exist_ok=True) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 +def run(script,*args): + p=subprocess.run([sys.executable,'-B',str(HERE/script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,creationflags=flags) + return p.returncode,p.stdout.decode(errors='replace') +W=json.loads(gzip.decompress(word_path.read_bytes())) +results=[];t0=time.monotonic() +def word_tamper(name,fn,expect): + w=copy.deepcopy(W);fn(w);p=work/(name+'.json.gz');p.write_bytes(gzip.compress(json.dumps(w).encode())) + out=work/('out-'+name) + if out.exists():shutil.rmtree(out) + rc,log=run('bw_transport.py',p,out) + ok=rc!=0 and expect in log + results.append(dict(name=name,rejected=rc!=0,expected_reason=expect,reason_matches=expect in log,last_line=log.strip().splitlines()[-1][:200] if log.strip() else '')) + assert ok,(name,rc,log[-600:]) +def sw(g,i,j):g[i],g[j]=g[j],g[i] +first_cleanup_warp=lambda w:next(i for i,e in enumerate(w['cleanup']) if e[0]=='warp') +word_tamper('wrong_G_not_carrying_frame',lambda w:w['warps'][0].__setitem__(2,[w['warps'][0][2][0]^w['warps'][0][2][1]]+w['warps'][0][2][1:]),'G does not map the from frame onto the to frame') +word_tamper('non_invertible_G',lambda w:w['warps'][0][2].__setitem__(1,w['warps'][0][2][0]),'non-invertible G') +word_tamper('missing_inverse_warp_in_cleanup',lambda w:w['cleanup'].pop(first_cleanup_warp(w)),'arbitrary-input endpoint') +word_tamper('missing_forward_warp',lambda w:w['warps'].pop(0),'') +word_tamper('frame_mismatch_from_basis',lambda w:w['warps'][0].__setitem__(3,next(x[3] for x in w['warps'] if sorted(x[3])!=sorted(w['warps'][0][3]) and len(x[3])==len(w['warps'][0][3]))),'') +word_tamper('inverse_warp_sign_flipped',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],abs(w['cleanup'][first_cleanup_warp(w)][2]),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_wrong_operator',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],-(abs(w['cleanup'][first_cleanup_warp(w)][2])%len(w['warps'])+1),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_on_wrong_register',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',(w['cleanup'][first_cleanup_warp(w)][1]+1)%(w['report']['v']*2),w['cleanup'][first_cleanup_warp(w)][2],w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('warp_moved_after_its_first_use',lambda w:w['warps'][0].__setitem__(0,w['warps'][0][0]+5),'') +if W['initial_corrections']: + word_tamper('initial_correction_sign_flipped',lambda w:w['initial_corrections'][0].__setitem__('coefficient',str(-__import__('fractions').Fraction(w['initial_corrections'][0]['coefficient']))),'arbitrary-input endpoint') + word_tamper('initial_correction_dropped',lambda w:w['initial_corrections'].pop(0),'arbitrary-input endpoint') + word_tamper('initial_correction_wrong_operator',lambda w:w['initial_corrections'][0].__setitem__('operator_word',[w['initial_corrections'][0]['operator_word'][0]%len(w['warps'])+1]),'arbitrary-input endpoint') +word_tamper('zero_buffer_gate_dropped',lambda w:w['cleanup'].pop(next(i for i,e in enumerate(w['cleanup']) if e[0]=='add' and e[1]>=2*w['report']['v']+w['report']['R'])),'arbitrary-input endpoint') +if '--files' in sys.argv: + def file_tamper(name,script,files,mutate,expect_fail=True): + d=work/('files-'+name) + if d.exists():shutil.rmtree(d) + shutil.copytree(local,d);mutate(d) + rc,log=run(script,d,*[]) if script!='bw_adapters.py' else run(script,d/'CANONICAL-WORD.json.gz',d/'RESIDUAL-ADAPTERS.json',d/'WRAPPER-CHECKS.json') + results.append(dict(name=name,rejected=rc!=0,last_line=log.strip().splitlines()[-1][:200] if log.strip() else ''));assert rc!=0,(name,log[-400:]) + def edit_json(path,fn,gz=False): + d=json.loads(gzip.decompress(path.read_bytes()) if gz else path.read_text());fn(d) + path.write_bytes(gzip.compress(json.dumps(d,sort_keys=True,separators=(',',':')).encode(),mtime=0) if gz else json.dumps(d,sort_keys=True,separators=(',',':')).encode()) + def recipe_phase(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left'].__setitem__('phase',(next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left']['phase']+1)%4)) + def recipe_drop_inverse(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:r['warps'].pop(next(i for i,x in enumerate(r['warps']) if x['sign']<0))) + def recipe_swap_G(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0).__setitem__('G_columns',next(x for x in r['warps'] if x['sign']>0)['G_columns'][::-1])) + def prog_drop_warp(d):edit_json(d/'LOCAL-PROGRAMS.json.gz',lambda p:p['forward'].pop(next(i for i,e in enumerate(p['forward']) if e[0]=='warp' and e[2]<0 and i>len(p['forward'])//2)),gz=True) + def prog_wrong_G(d):edit_json(d/'CANONICAL-WORD.json.gz',lambda c:c['warps'][0].__setitem__('G_columns',c['warps'][0]['G_columns'][::-1]),gz=True) + file_tamper('recipe_phase_tampered','bw_check_recipes.py',None,recipe_phase) + file_tamper('recipe_inverse_missing','bw_check_recipes.py',None,recipe_drop_inverse) + file_tamper('recipe_G_tampered','bw_check_recipes.py',None,recipe_swap_G) + file_tamper('program_missing_inverse_warp','bw_audit_local.py',None,prog_drop_warp) + file_tamper('word_G_reversed','bw_audit_local.py',None,prog_wrong_G) +(work/'TAMPER-RESULTS.json').write_text(json.dumps(dict(status='PASS_ALL_TAMPERS_REJECTED',tampers=results,seconds=time.monotonic()-t0),indent=1)+'\n') +print('PASS all',len(results),'tampers rejected in',round(time.monotonic()-t0,1),'s') diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py new file mode 100644 index 0000000000..08248542b1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py @@ -0,0 +1,416 @@ +"""Transport an explicit BORROW-WORD to the native canonical frame-id form, with warps, and replay it exactly. + +Anticipatory dirty borrowing is the construction of PR2226 (Cinna Davis, @1337isnot1337, with OpenAI Codex +assistance; Apache-2.0): a retiring helper's register is lent to a later helper through a monomial Clifford +logical reference change K_G ("warp"), the retired field's value being replaced by K_G z. The explicit +chronological BORROW-WORD (canonical coordinates, literal frames, warps, cold restoration, inverse cleanup +with private zero buffers) is the builder output of the borrowing work (P1/P2). This script is the +transport stage of the native chain (the analogue of hpe_audit_and_transport.py): it never trusts the builder. +It replays the program in the free operator algebra generated by the warps over every arbitrary input, +in BOTH orientations (forward and inverse-transpose), checks every frame chain and the paid profile, compacts +the helper registers to R' = R - k, and writes the native CANONICAL-WORD. + +usage: bw_transport.py BORROW-WORD.json[.gz] OUT_DIR +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import argparse +import copy +import gzip +import hashlib +import json +import sys +import time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def basis(vs): + pivots = {} + for x in vs: + for k in sorted(pivots, reverse=True): + if x >> k & 1: + x ^= pivots[k] + if x: + k = x.bit_length() - 1 + for j in pivots: + if pivots[j] >> k & 1: + pivots[j] ^= x + pivots[k] = x + return tuple(pivots[k] for k in sorted(pivots, reverse=True)) + + +def span(b): + s = {0} + for x in b: + s |= {t ^ x for t in s} + return frozenset(s) + + +def rank_of(vs): + return len(basis(vs)) + + +def solve_G(cols, h): + """G given as images of e_i; returns (invertible?, image-of-subspace function).""" + def lin(x): + out = 0 + for i, c in enumerate(cols): + if x >> i & 1: + out ^= c + return out + return lin, rank_of(cols) == h + + +# ---- free operator algebra over the warps ------------------------------------------------------------------ +def add_row(dst, src, c): + for key, value in list(src.items()): + z = dst.get(key, Q(0)) + c * value + if z: + dst[key] = z + elif key in dst: + del dst[key] + + +def warp_row(row, op): + out = {} + for (var, word), value in row.items(): + word = word[1:] if word and word[0] == -op else (op,) + word + out[var, word] = value + return out + + +def is_dyadic(q): + return q.denominator & (q.denominator - 1) == 0 + + +def gate_regs(e): + if e[0] == 'add': + return [e[1], e[2]] + if e[0] == 'scale': + return [e[1]] + raise AssertionError(e[0]) + + +def dual(e): + e = list(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + e[3] = -e[3] + elif e[0] == 'scale': + e[2], e[3] = e[3], e[2] + return e + + +def apply_gate(e, rows, back): + if back: + e = dual(e) + if e[0] == 'scale': + q = Q(e[2], e[3]) + assert q + rows[e[1]] = {j: q * x for j, x in rows[e[1]].items()} + else: + assert e[1] != e[2] + add_row(rows[e[1]], rows[e[2]], Q(e[3], e[4])) + + +def run(word_path, out): + t0 = time.monotonic() + word = read(word_path) + assert word['kind'] == 'BORROW-WORD' + v, h, R0 = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 + n0 = 2 * v + R0 + removed = sorted(word['removed']) + assert all(2 * v <= r < n0 for r in removed) and len(set(removed)) == len(removed) + k = len(removed) + kept = [r for r in range(n0) if r not in set(removed)] + newid = {r: i for i, r in enumerate(kept)} + n = len(kept) + R = R0 - k + assert n == 2 * v + R + Zbase = n0 # builder convention: zero buffer of restored c is register n0 + c + ports = word['ports'] + assert len(set(ports)) == v + full = tuple(1 << i for i in range(h - 1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def R_(r): # register -> new register (int) or ['Z', c] + if isinstance(r, list): + return r + if r >= Zbase: + return ['Z', newid[r - Zbase]] + return newid[r] + + start = [fid([p]) for p in ports] + [0] * (v + R) + for r, frame in word['start_extra'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + start[newid[int(r)]] = fid(frame) + final = [1] * v + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + [1] * R + helper_final = {} + for r, frame in word['helper_final'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + helper_final[newid[int(r)]] = fid(frame) + final[newid[int(r)]] = helper_final[newid[int(r)]] + zero_buffers = sorted(helper_final) # every restored (hyperplane-ended) helper is replaced by a private zero buffer in the FULL cleanup + + def gate(e): + e = copy.deepcopy(e) + # Four-low lifted-target port (PR2436 mechanism): literal A-phase warp after the entry adapters. + if e[0] == 'warp': + assert len(e) == 5 + return ['warp', R_(e[1]), e[2], fid(e[3]), fid(e[4])] + if e[0] == 'add': + e[1], e[2] = R_(e[1]), R_(e[2]) + else: + e[1] = R_(e[1]) + e[-1] = None if e[-1] is None else fid(e[-1]) + return e + + # warps: operator table; op id = position + 1; G given by images of the basis vectors + warps = [] + for i, (pos, lender, G, frm, to) in enumerate(word['warps']): + warps.append({'op': i + 1, 'B_pos': pos, 'lender': newid[lender], 'G_columns': list(G), + 'from_frame': fid(frm), 'to_frame': fid(to)}) + byp = {} + for w_ in warps: + byp.setdefault(w_['B_pos'], []).append(w_) + + def warp_event(r, op, f0, f1): + return ['warp', r, op, f0, f1] + + # compensation (zero frame): initial corrections first, as twisted additions t += c * W(s) + pre = [] + for term in word['initial_corrections']: + q = Q(term['coefficient']) + pre.append(['tadd', newid[term['target']], newid[term['source']], list(term['operator_word']), + q.numerator, q.denominator, 0]) + precondition = pre + [gate(e) for e in word['precondition']] # the formal initial corrections come first (PR2226 order) + compensation = [gate(e) for e in word['compensation']] + A = [gate(e) for e in word['A']] + cut = [gate(e) for e in word['cut']] + B = [] + for p in range(len(word['B']) + 1): + for w_ in sorted(byp.get(p, []), key=lambda x: x['op']): + B.append(warp_event(w_['lender'], w_['op'], w_['from_frame'], w_['to_frame'])) + if p < len(word['B']): + B.append(gate(word['B'][p])) + assert sum(1 for e in B if e[0] == 'warp') == len(warps) + tail = [gate(e) for e in word['restore']] + cleanup = [] + for e in word['cleanup']: + if e[0] == 'warp': + cleanup.append(warp_event(R_(e[1]), e[2], 1, 1)) + assert basis(e[3]) == full + else: + cleanup.append(gate(e)) + centers = [newid[r] for r in word['centers']] + center_frames = [fid(f) for f in word['center_frames']] + levels = {str(t): fid(f) for t, f in word['target_levels'].items()} + + canonical = dict(h=h, v=v, R=R, ports=ports, frames=frames, start=start, final=final, + precondition=precondition, compensation=compensation, A=A, cut=cut, B=B, tail=tail, + cleanup=cleanup, centers=centers, center_frames=center_frames, target_levels=levels, + warps=warps, zero_buffers=zero_buffers, removed=removed, helper_origin=kept[2 * v:], + borrow=dict(k=k, base=word.get('base'), original_helpers=R0)) + # ---- exact scalar replay in the free algebra over the warps (both orientations) ----------------------------------- + nz = len(zero_buffers) + + def regkey(r): + return tuple(r) if isinstance(r, list) else ('L', r) + + def expand_tadd(e): + _, t, s, wordops, a, b, f = e + ev = [warp_event(s, op, 0, 0) for op in reversed(wordops)] + ev.append(['add', t, s, a, b, 0]) + ev += [warp_event(s, -op, 0, 0) for op in wordops] + return ev + + def program(): + yield 'pre', [x for e in precondition + compensation for x in (expand_tadd(e) if e[0] == 'tadd' else [e])] + yield 'A', A + yield 'A', cut + yield 'B', B + yield 'tail', tail + yield 'cleanup', cleanup + + def fullprog(): + return [(part, e) for part, es in program() for e in es] + prog = fullprog() + for back in (False, True): + rows = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for c in zero_buffers: + rows[('Z', c)] = {} + for part, e in prog: + if e[0] == 'warp': + key = ('L', e[1]) if not isinstance(e[1], list) else tuple(e[1]) + rows[key] = warp_row(rows[key], e[2]) + else: + if e[0] == 'add': + src, dst = regkey(e[2]), regkey(e[1]) + a, b = e[3], e[4] + if back: + src, dst, a = dst, src, -a + assert src != dst + add_row(rows[dst], rows[src], Q(a, b)) + else: + key = regkey(e[1]) + a, b = (e[3], e[2]) if back else (e[2], e[3]) + q = Q(a, b) + assert q + rows[key] = {j: q * x for j, x in rows[key].items()} + expected = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for t in range(v): + if back: + expected[('L', t)][(v + t, ())] = Q(-1) + else: + expected[('L', v + t)][(t, ())] = Q(1) + for c in zero_buffers: + expected[('Z', c)] = {} + bad = [key for key in expected if rows[key] != expected[key]] + assert not bad, ('arbitrary-input endpoint (free warp algebra)', back, bad[:8]) + # dyadic primitives + for part, e in prog: + if e[0] == 'add': + assert is_dyadic(Q(e[3], e[4])) + elif e[0] == 'scale': + q = Q(e[2], e[3]) + a = abs(q.numerator) + assert is_dyadic(q) and a and a & (a - 1) == 0 + + wrapped_regs = {r for r in range(2 * v, n) if start[r] != 0 or final[r] != 1} # entering or hyperplane-ended helpers carry wrappers + # ---- frame chains, paid profile, edges, warps ------------------------------------------------------------------- + contains = lambda a, b: basis(frames[a] + frames[b]) == tuple(frames[b]) + cur = start.copy() + paid, edges = Counter(), set() + wsum = {w_['op']: w_ for w_ in warps} + G_of = {} + for w_ in warps: + lin, inv_ = solve_G(w_['G_columns'], h) + assert inv_, ('non-invertible G', w_['op']) + img = basis([lin(x) for x in frames[w_['from_frame']]]) + assert img == tuple(frames[w_['to_frame']]), ('G does not map the from frame onto the to frame', w_['op']) + assert len(frames[w_['from_frame']]) == len(frames[w_['to_frame']]) + G_of[w_['op']] = lin + warp_edges = set() + + def regs_of(e): + return [r for r in gate_regs(e) if not isinstance(r, list)] + + def climb(r, f): + old = cur[r] + assert contains(old, f), ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + paid[degree] += 1 + edges.add((old, f)) + cur[r] = f + + def do_warp(e): + _, r, op, f0, f1 = e + if isinstance(r, list): + assert r[0] == 'Z' + assert f0 == f1 == 1 + return + assert cur[r] == f0, ('warp frame mismatch', r, op, cur[r], f0) + a = abs(op) + lin = G_of[a] + if op > 0: + ok = basis([lin(x) for x in frames[f0]]) == tuple(frames[f1]) + else: + ok = basis([lin(x) for x in frames[f1]]) == tuple(frames[f0]) + assert ok, ('warp G does not carry the frame', op, f0, f1) + cur[r] = f1 + warp_edges.add((1 if op > 0 else -1, a, f0, f1)) + + # zero-frame phase + for e in precondition + compensation: + if e[0] == 'tadd': + assert start[e[2]] == 0 and start[e[1]] == 0 and e[-1] == 0 and e[2] not in set(wrapped_regs) and all(op != 0 for op in e[3]) + for ev in expand_tadd(e): + if ev[0] == 'warp': + do_warp(ev) # frame 0 -> 0: K_G itself is the physical operator + continue + for r in regs_of(e): + assert start[r] == 0 and e[-1] == 0, ('zero-frame precondition on a nonzero entrance', e) + for part in ('A', 'B'): + if part == 'B': + assert all(cur[r] == f for r, f in zip(centers, center_frames)) + assert all(cur[v + t] == levels.get(str(t), 0) for t in range(v)) + for r, frame in zip(centers, center_frames): + served = {levels.get(str(e[1] - v), 0) for e in cut if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert contains(f, old) + if old != f: + paid[len(frames[old]) - len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in (A if part == 'A' else B): + if e[0] == 'warp': + do_warp(e) + else: + for r in regs_of(e): + climb(r, e[-1]) + for e in tail: + for r in regs_of(e): + climb(r, e[-1]) + for r, f in enumerate(final): + climb(r, f) + for e in cleanup: + if e[0] == 'warp': + do_warp(e) + continue + for r in gate_regs(e): + if isinstance(r, list): + assert r[0] == 'Z' and r[1] in set(zero_buffers) and e[-1] == 1 + else: + assert final[r] == 1 and e[-1] == 1, ('cleanup on a non-FULL end', e) + assert all(len(frames[final[r]]) < h for r in zero_buffers) + assert set(zero_buffers) == set(helper_final) + rep = word['report'] + assert dict(paid) == {int(r): c for r, c in rep['local_profile'].items()}, ('paid profile differs', dict(paid), rep['local_profile']) + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + canonical['warp_edges'] = sorted(warp_edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out / 'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + raw = word_path.read_bytes() + (out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(gzip.decompress(raw) if word_path.suffix == '.gz' else raw, mtime=0)) + receipt = dict(status='PASS_BORROW_WORD_FREE_ALGEBRA_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=hashlib.sha256(gzip.decompress(raw) if word_path.suffix == '.gz' else raw).hexdigest(), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=R, original_helpers=R0, removed_helpers=k, + zero_buffers=nz, warps=len(warps), warp_events=sum(e[0] == 'warp' for part, e in prog), + initial_corrections=len(word['initial_corrections']), + scalar_operations=len([1 for p, e in prog if e[0] != 'warp']), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r * z for r, z in paid.items()), + widths=[len(frames[final[r]]) - len(frames[start[r]]) for r in range(2 * v, n)], + frames=len(frames), directed_edges=len(edges), warp_edge_classes=len(warp_edges), + seconds=time.monotonic() - t0, + scope='Fresh exact forward and inverse-transpose replay over a free noncommutative warp algebra on every arbitrary input, native frame chains, dyadic primitives, zero buffers returned to zero. Physical Clifford exactness of every warp is checked by the local replay and the phase recipes.') + (out / 'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2) + '\n') + print(json.dumps({k_: x for k_, x in receipt.items() if k_ != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('word', type=Path) + ap.add_argument('out', type=Path) + a = ap.parse_args() + run(a.word, a.out) diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md new file mode 100644 index 0000000000..5ea70357a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md @@ -0,0 +1,22 @@ +# Attribution and license + +New construction, proof text and checkers: Cinna Davis (@1337isnot1337), with +substantial OpenAI Codex assistance, Apache-2.0. + +The selected complex canonical word is the PR1042 ancestry retained in PR1094. +Jeremy Kothe, Rohan Arun, Hao Yan, Chafik Boukhalfa, icekylinx, Jonathan Capalbo +and the source package's full provider/frame/controller lineage retain credit. +Ali Romman supplied the source-bound fixed-block theorem and certificate; +Thomas DiFiore supplied the earlier block discovery. The borrowing construction +does not attribute its changed interface to those predecessor results. + +`price_engine.py` is an unchanged copy of the incorporated +`research/complex-local-word-ceiling/ceiling.py`: Douglas Colkitt, with Claude +(Anthropic) assistance; original SPDX/license context and docstring retained. +General Clifford frame and exact Gaussian normal forms are inherited from +`notes/general-clifford-frames.tex` and the repository's credited phase/compiler +lineage. The package independently checks its actual local Gaussian products. + +Source hashes, base commits and the copied engine's Git blob are in SOURCES.json. +No full native supplier, all-size compiler, precision theorem or new kappa is +claimed. No independent human review is claimed. diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/clifford_exact.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/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<>i&1:out^=c + return out + + +def rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) + + +def extend(xs,h): + out=list(xs) + for i in range(h): + if rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(h) for j in range(h)) + perm=np.array([linear(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(h))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(h) for j in range(i+1,h)) + for x in perm],dtype=np.int64)%4 + return perm,phase + + +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp + + +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1<=1 and not a.work.exists(),'positive pairs and fresh work required') + source_bytes(HERE/'vendor');word=HERE/f'fixtures/WORD-{a.provider}.json.gz' + pins=json.loads((HERE/'PINS.json').read_text()) + need(hashlib.sha256(word.read_bytes()).hexdigest()==pins[word.relative_to(HERE).as_posix()],'fixture digest') + a.work.mkdir(parents=True) + samples=[];comparisons=[];env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1');env.pop('PYTHONOPTIMIZE',None) + for i in range(a.pairs): + paths={} + for engine in (('reference','sparse') if i%2==0 else ('sparse','reference')): + out=a.work/f'pair{i}-{engine}';cmd=[sys.executable,'-I','-B',str(HERE/'run_native.py'),str(word),str(out),'--engine',engine] + start=time.monotonic() + with (a.work/f'pair{i}-{engine}.log').open('w') as log:r=subprocess.run(cmd,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=900) + elapsed=time.monotonic()-start;need(r.returncode==0,'native benchmark run failed '+str(out)) + receipt=json.loads((out/'RESULT.json').read_text());need(receipt['status']=='PASS_COMPLETE_T74_NATIVE_REPLAY','native receipt') + samples.append({'pair':i,'engine':engine,'wall_seconds':elapsed,'steps':receipt['steps']});paths[engine]=out/'native/local' + (a.work/'SAMPLES.json').write_text(json.dumps(samples,indent=2)+'\n');print('PASS sample',i,engine,round(elapsed,3),flush=True) + result=compare(paths['reference'],paths['sparse']);comparisons.append(result);print(result['status'],i,flush=True) + medians={e:statistics.median(s['wall_seconds'] for s in samples if s['engine']==e) for e in ('reference','sparse')} + result={'status':'PASS_COMPLETE_T74_NATIVE_BENCHMARK','provider':a.provider,'pairs':a.pairs,'samples':samples,'comparisons':comparisons,'median_wall_seconds':medians,'speedup':medians['reference']/medians['sparse'],'python':platform.python_version(),'platform':platform.platform(),'cpu_count':os.cpu_count(),'input_sha256':hashlib.sha256(word.read_bytes()).hexdigest(),'scope':'Fresh sequential subprocesses; all five stages and independent warp recipe check run each time. No cached result reuse. Shared host; OS caches not flushed. Timings descriptive, not a correctness threshold.'} + (a.work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n');print(result['status'],result['speedup'],flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/common.py b/research/gmx-t74-borrow43-handoff/new/fastnative/common.py new file mode 100644 index 0000000000..9ed8d88b97 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/common.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Authenticate the closed source snapshot before importing any vendored code.""" +import hashlib +import json +from pathlib import Path +HERE = Path(__file__).resolve().parent + +def need(condition, message): + if not condition: + raise ValueError(message) + +def sha(body): + return hashlib.sha256(body).hexdigest() + +def source_bytes(vendor): + pins = json.loads((HERE / 'PINS.json').read_text()) + expected = {p.removeprefix('vendor/'): h for p, h in pins.items() if p.startswith('vendor/')} + paths = list(vendor.rglob('*')) + need(not vendor.is_symlink() and all(not p.is_symlink() for p in paths), 'source symlink') + actual = {p.relative_to(vendor).as_posix(): p.read_bytes() for p in paths if p.is_file()} + need(set(actual) == set(expected), 'complete source path inventory') + for name, body in actual.items(): + need(sha(body) == expected[name], 'source digest: ' + name) + return actual diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/compare.py b/research/gmx-t74-borrow43-handoff/new/fastnative/compare.py new file mode 100644 index 0000000000..f3c60c6133 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/compare.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Compare all native mathematical outputs; only two elapsed fields are omitted. +Gzip container hashes are independently checked before semantic normalization. +""" +import gzip +import hashlib +import json +from pathlib import Path +import sys +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from common import need +FILES = { + 'CANONICAL-WORD.json.gz', 'FULL-WORD.json.gz', 'LOCAL-PROGRAMS.json.gz', + 'CLIFFORD-RECIPES.json', 'CLIFFORD-REVIEW.json', 'INDEPENDENT-LOCAL-REPLAY.json', + 'LOCAL-CHECKS.json', 'RESIDUAL-ADAPTERS.json', 'SCALAR-FRAME-AUDIT.json', + 'WARP-RECIPE-CHECKS.json', 'WRAPPER-CHECKS.json', +} +def sha(data): + return hashlib.sha256(data).hexdigest() +def canonical(value): + return json.dumps(value,sort_keys=True,separators=(',',':')).encode() +def normalized(directory): + need({p.name for p in directory.iterdir()}==FILES, 'complete native output inventory') + raw={n:(directory/n).read_bytes() for n in FILES} + data={n:gzip.decompress(b) if n.endswith('.gz') else b for n,b in raw.items()} + values={n:json.loads(b) for n,b in data.items()} + # Preserve and validate every hash's binding. Only container-dependent hashes + # are replaced by the digest of the actual decompressed artifact for comparison. + for n in ('INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json','WARP-RECIPE-CHECKS.json'): + need(values[n]['canonical_word_sha256']==sha(raw['CANONICAL-WORD.json.gz']), 'canonical container binding '+n) + values[n]['canonical_word_sha256']=sha(data['CANONICAL-WORD.json.gz']) + for n in ('CLIFFORD-REVIEW.json','WARP-RECIPE-CHECKS.json'): + need(values[n]['recipe_sha256']==sha(raw['CLIFFORD-RECIPES.json']), 'recipe byte binding '+n) + need(values['INDEPENDENT-LOCAL-REPLAY.json']['local_programs_sha256']==sha(raw['LOCAL-PROGRAMS.json.gz']), 'program container binding') + values['INDEPENDENT-LOCAL-REPLAY.json']['local_programs_sha256']=sha(data['LOCAL-PROGRAMS.json.gz']) + audit=values['SCALAR-FRAME-AUDIT.json'] + need(audit['input_content_sha256']==sha(data['FULL-WORD.json.gz']), 'full word binding') + need(audit['canonical_content_sha256']==sha(data['CANONICAL-WORD.json.gz']), 'canonical content binding') + for n in ('SCALAR-FRAME-AUDIT.json','CLIFFORD-REVIEW.json'): + seconds=values[n].pop('seconds') + need(type(seconds) in (float,int) and seconds>=0, 'valid elapsed field '+n) + return values + +def compare(first,second): + a,b=normalized(first),normalized(second) + need(a==b,'native outputs differ: '+str([n for n in FILES if a[n]!=b[n]])) + return {'status':'PASS_ALL_NATIVE_OUTPUTS_IDENTICAL','files':len(FILES), + 'normalized_sha256':sha(canonical(a)), + 'recipe_bytes_sha256':sha((first/'CLIFFORD-RECIPES.json').read_bytes())} + +if __name__=='__main__': + print(json.dumps(compare(Path(sys.argv[1]),Path(sys.argv[2])),indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/controls.py b/research/gmx-t74-borrow43-handoff/new/fastnative/controls.py new file mode 100644 index 0000000000..5877dead77 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/controls.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Rejection controls at source, word, emitted recipe and receipt boundaries.""" +import copy +import gzip +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile +import random + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from common import HERE, need, source_bytes +from compare import compare + + +def evaluator_check(): + """Finite differential check against this snapshot's original dense algebra. + + Seed2, dimensions1..5, twelve length20 circuits per dimension, every input + basis column. Covers all five gate kinds, both C signs and adjoints. This + supplements the predecessor proof; it is not a full formal proof. + """ + from stage import module + source_bytes(HERE / 'vendor') + algebra = module('clifford_exact', HERE / 'vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py') + tables = module('test_exact_tables', HERE / 'vendor/accelerators/tables.py') + sparse = module('test_exact_sparse', HERE / 'vendor/accelerators/sparse_state.py') + rng = random.Random(2) + columns = 0 + for n in range(1, 6): + for _ in range(12): + op = algebra.ident(n) + for j in range(20): + if j % 5 == 0: + rows = [1 << i for i in range(n)] + if n > 1: + for _ in range(2 * n): + a, b = rng.sample(range(n), 2) + rows[a] ^= rows[b] + gate = algebra.perm(n, rows) + elif j % 5 == 1: + rows = [0] * n + for a in range(n): + for b in range(a, n): + if rng.randrange(2): + rows[a] |= 1 << b + rows[b] |= 1 << a + alpha = [((rows[i] >> i) & 1) + 2 * rng.randrange(2) for i in range(n)] + gate = algebra.diag(n, rows, alpha) + elif j % 5 == 2: + gate = algebra.cgate(n, rng.randrange(1 << n), rng.choice((-1, 1))) + elif j % 5 == 3: + gate = algebra.xgate(n, rng.randrange(1 << n)) + else: + gate = algebra.ident(n) + gate.circuit.append(('phase', rng.randrange(4))) + op = op.then(gate) + for candidate in (op, op.adjoint()): + for basis in range(1 << n): + need(candidate.zero_state(basis) == sparse.zero_state(candidate, tables, basis), + 'dense/sparse exact state mismatch') + columns += 1 + print('PASS_T74_EXACT_STATE_DIFFERENTIAL', columns, 'columns') + + +def reject(argv, message): + result = subprocess.run([sys.executable, '-I', '-B', *map(str, argv)], + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, timeout=45) + text = result.stdout.decode(errors='replace') + need(result.returncode != 0 and message in text, 'expected rejection: ' + message + '\n' + text[-2000:]) + + +def check(local): + evaluator_check() + controls = [] + with tempfile.TemporaryDirectory(prefix='t74-negative-') as temporary: + root = Path(temporary) + # Authenticate before loading even the first vendored import. A sentinel + # would be created if tampered code were executed before rejection. + for mutation in ('digest', 'extra', 'missing', 'symlink'): + vendor = root / mutation + shutil.copytree(HERE / 'vendor', vendor) + target = vendor / 'accelerators/tables.py' + if mutation == 'digest': + sentinel = root / 'EXECUTED' + target.write_text('from pathlib import Path\nPath(' + repr(str(sentinel)) + ').touch()\n') + message = 'source digest' + elif mutation == 'extra': + (vendor / 'unlisted.py').write_text('raise RuntimeError("unlisted")\n') + message = 'complete source path inventory' + elif mutation == 'missing': + target.unlink() + message = 'complete source path inventory' + else: + target.unlink() + target.symlink_to(HERE / 'vendor/accelerators/tables.py') + message = 'source symlink' + reject([HERE / 'stage.py', '--vendor', vendor, '--script', 'bw_phases.py', root / 'unused'], message) + controls.append('source:' + mutation) + need(not (root / 'EXECUTED').exists(), 'tampered source executed') + package = root / 'changed fixture package' + shutil.copytree(HERE, package, ignore=shutil.ignore_patterns('__pycache__')) + fixture = package / 'fixtures/WORD-base.json.gz' + fixture.write_bytes(fixture.read_bytes() + b'changed') + unused = root / 'benchmark-must-not-start' + reject([package / 'benchmark.py', '--pairs', 1, '--work', unused], 'fixture digest') + need(not unused.exists(), 'invalid benchmark fixture created outputs') + controls.append('benchmark-fixture') + for script in ('run_native.py', 'stage.py', 'verify.py'): + reject(['-O', HERE / script], 'assertions must remain enabled') + controls.append('optimized:' + script) + existing = root / 'existing' + existing.mkdir() + (existing / 'preserve').write_text('do not overwrite') + reject([HERE / 'run_native.py', HERE / 'fixtures/WORD-base.json.gz', existing], 'fresh work directory required') + need(list(existing.iterdir()) == [existing / 'preserve'] and + (existing / 'preserve').read_text() == 'do not overwrite', 'existing output changed') + controls.append('existing-output') + + word = json.loads(gzip.decompress((HERE / 'fixtures/WORD-base.json.gz').read_bytes())) + for mutation in ('singular-warp', 'paid-profile'): + bad = copy.deepcopy(word) + if mutation == 'singular-warp': + bad['warps'][0][2][1] = bad['warps'][0][2][0] + message = 'non-invertible G' + else: + key = next(iter(bad['report']['local_profile'])) + bad['report']['local_profile'][key] += 1 + message = 'paid profile differs' + path = root / (mutation + '.json') + path.write_text(json.dumps(bad)) + for engine in ('reference', 'sparse'): + out = root / (mutation + '-' + engine) + reject([HERE / 'run_native.py', path, out, '--engine', engine], 'stage failed') + log = out / ('reference-driver.log' if engine == 'reference' else 'native-bw_transport.py.log') + need(message in log.read_text(), 'wrong rejection reason for ' + str(out)) + need(not (out / 'RESULT.json').exists(), 'failed native run wrote success') + controls.append('word:' + mutation + ':' + engine) + + # Exercise the independent checker on mutated FILES, in addition to its + # thirteen retained internal matrix-mutation controls in every full run. + for mutation in ('phase', 'missing-class'): + out = root / ('recipe-' + mutation) + shutil.copytree(local, out) + path = out / 'CLIFFORD-RECIPES.json' + recipes = json.loads(path.read_text()) + if mutation == 'phase': + left = recipes['warps'][0]['left'] + left['phase'] = (left['phase'] + 1) % 4 + message = 'warp recipe is not the exact column product' + else: + recipes['warps'].pop() + message = 'recipe classes differ' + path.write_text(json.dumps(recipes)) + reject([HERE / 'vendor/native/new/code/borrow/bw_check_recipes.py', out], message) + controls.append('recipe-file:' + mutation) + + for mutation in ('coverage', 'missing-file', 'container-binding'): + out = root / ('receipt-' + mutation) + shutil.copytree(local, out) + if mutation == 'missing-file': + (out / 'LOCAL-CHECKS.json').unlink() + message = 'complete native output inventory' + else: + path = out / 'WARP-RECIPE-CHECKS.json' + receipt = json.loads(path.read_text()) + if mutation == 'coverage': + receipt['controls_rejected'].pop() + message = 'native outputs differ' + else: + receipt['canonical_word_sha256'] = '0' * 64 + message = 'canonical container binding' + path.write_text(json.dumps(receipt)) + try: + compare(local, out) + except ValueError as error: + need(message in str(error), 'wrong comparison failure') + else: + raise AssertionError('altered native outputs accepted: ' + mutation) + controls.append('comparison:' + mutation) + print('PASS_T74_NATIVE_FAST_BOUNDARY_CONTROLS', len(controls), json.dumps(controls)) + return controls + + +if __name__ == '__main__': + need(__debug__, 'assertions must remain enabled') + source_bytes(HERE / 'vendor') + check(Path(sys.argv[1])) diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/BENCHMARK.json b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/BENCHMARK.json new file mode 100644 index 0000000000..53c0d77ab3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/BENCHMARK.json @@ -0,0 +1,249 @@ +{ + "status": "PASS_COMPLETE_T74_NATIVE_BENCHMARK", + "provider": "base", + "pairs": 3, + "samples": [ + { + "pair": 0, + "engine": "reference", + "wall_seconds": 304.12705635900784, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.2277613850019407 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4153370510030072 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 38.20502878499974 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 5.7440066569979535 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 257.3918046769977 + } + ] + }, + { + "pair": 0, + "engine": "sparse", + "wall_seconds": 85.88402091899479, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.189789870986715 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4454092910018517 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 37.58784284500871 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.166318774994579 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 43.39858223599731 + } + ] + }, + { + "pair": 1, + "engine": "sparse", + "wall_seconds": 85.56597218499519, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.1618483210040722 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4005460170010338 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 37.7024452869955 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.0632049500127323 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 43.14079914300237 + } + ] + }, + { + "pair": 1, + "engine": "reference", + "wall_seconds": 308.15912566099723, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.1598684070049785 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4444775400043 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 37.1472855930042 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 5.759292622999055 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 262.5130987189914 + } + ] + }, + { + "pair": 2, + "engine": "reference", + "wall_seconds": 306.74960786000884, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.204015570008778 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4606356029980816 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 38.59787878699717 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 5.9340596520050894 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 259.39262297499226 + } + ] + }, + { + "pair": 2, + "engine": "sparse", + "wall_seconds": 87.2939048440021, + "steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 1.208094222994987 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.4107751400006237 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 38.536898468999425 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 2.150425133993849 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 43.88330491501256 + } + ] + } + ], + "comparisons": [ + { + "status": "PASS_ALL_NATIVE_OUTPUTS_IDENTICAL", + "files": 11, + "normalized_sha256": "72152474a7c1f65f8bddec3197a9661d035e2ef0edfd08751a19038c470f654f", + "recipe_bytes_sha256": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3" + }, + { + "status": "PASS_ALL_NATIVE_OUTPUTS_IDENTICAL", + "files": 11, + "normalized_sha256": "72152474a7c1f65f8bddec3197a9661d035e2ef0edfd08751a19038c470f654f", + "recipe_bytes_sha256": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3" + }, + { + "status": "PASS_ALL_NATIVE_OUTPUTS_IDENTICAL", + "files": 11, + "normalized_sha256": "72152474a7c1f65f8bddec3197a9661d035e2ef0edfd08751a19038c470f654f", + "recipe_bytes_sha256": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3" + } + ], + "median_wall_seconds": { + "reference": 306.74960786000884, + "sparse": 85.88402091899479 + }, + "speedup": 3.5716726415188793, + "python": "3.12.14", + "platform": "Linux-7.2.8-200.fc44.x86_64-x86_64-with-glibc2.43", + "cpu_count": 16, + "input_sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "scope": "Fresh sequential subprocesses; all five stages and independent warp recipe check run each time. No cached result reuse. Shared host; OS caches not flushed. Timings descriptive, not a correctness threshold.", + "numpy_version": "2.2.6", + "stage_median_seconds": { + "reference": { + "native": 1.204015570008778, + "ledgers": 1.4444775400043, + "local-replay": 38.20502878499974, + "wrappers": 5.759292622999055, + "phases": 259.39262297499226 + }, + "sparse": { + "native": 1.189789870986715, + "ledgers": 1.4107751400006237, + "local-replay": 37.7024452869955, + "wrappers": 2.150425133993849, + "phases": 43.39858223599731 + } + }, + "whole_native_time_reduction_percent": 72.00191337874843, + "launch_command": "python3.12 -I -B research/t74-native-fast/benchmark.py --pairs 3 --provider base --work FRESH_DIRECTORY", + "source_pin_manifest_sha256": "f619e8e1c163078fb70c6fc3b98a498a671b8c02927b91d6cc253af2a775b6c9" +} diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/COVERAGE.json b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/COVERAGE.json new file mode 100644 index 0000000000..6ccc53ea51 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/COVERAGE.json @@ -0,0 +1,106 @@ +{ + "scope": "Coverage summary extracted from the complete original base replay. All eleven complete native outputs are compared separately, not merely this summary.", + "arbitrary_live_columns_each_orientation": 639, + "warp_replay": { + "status": "PASS_EXACT_MONOMIAL_WARP_COLUMNS_ALL_512_BOTH_ORIENTATIONS", + "warps": 65, + "event_classes_checked_on_all_512_columns": 202, + "zero_buffers": 72 + }, + "local_controls": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register", + "centre_step_not_nested", + "centre_descent_incomplete", + "hpe_pre_wrapper_resolved_to_full_recipe", + "hpe_post_wrapper_without_terminal_frame", + "hpe_post_wrapper_wrong_terminal_frame", + "hpe_tail_gate_at_full_frame", + "hpe_tail_climb_dropped", + "hpe_helper_exit_adapter_to_full", + "hpe_tail_gate_moved_into_full_cleanup", + "cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter", + "cold_hpe_pre_wrapper_dropped", + "cold_hpe_post_wrapper_replaced_by_exit_adapter", + "cold_hpe_pre_wrapper_resolved_to_cold_full_convention", + "cold_hpe_wrapper_with_nonzero_entrance", + "cold_hpe_post_wrapper_wrong_terminal_frame", + "cold_hpe_premix_gate_before_pre_wrapper", + "warp_missing_inverse_at_full_cleanup", + "warp_missing_forward", + "warp_frame_mismatch", + "warp_to_frame_not_carried_by_G", + "warp_wrong_sign", + "warp_wrong_operator", + "warp_inverse_moved_before_use", + "warp_inverse_wrong_frame", + "warp_rank_changing", + "warp_phase_B_dropped_gate_after_warp", + "zero_buffer_not_freed", + "zero_buffer_gate_outside_cleanup", + "zero_buffer_garbage_left", + "zero_buffer_replaced_by_restored_register_at_full", + "warp_wrong_G_invertible_not_carrying_frame", + "warp_noninvertible_G", + "warp_zero_column_G", + "warp_operator_dropped_from_table", + "warp_wrong_quadratic_phase_of_K" + ], + "wrapper_controls": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width", + "hpe: U-wrapper decoded against a FULL ending", + "hpe: width misreported as 9 - dim E", + "hpe: wrong terminal hyperplane", + "hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}", + "hpe: wrong global phase", + "cold hpe: identity pre wrapper instead of R_{0,U}", + "cold hpe: identity post wrapper instead of L_{0,U}", + "cold hpe: no wrappers (cold FULL convention L = R = I)", + "cold hpe: U-wrapper decoded against a FULL ending", + "cold hpe: width misreported as 9", + "cold hpe: wrong terminal hyperplane", + "cold hpe: wrong global phase", + "warp: wrong global phase", + "warp: wrong translation", + "warp: wrong linear phase", + "warp: wrong quadratic form", + "warp: recipe of another operator", + "warp: inverse recipe used as the warp", + "warp: wrong G (frame-changed column)", + "warp: non-invertible G" + ], + "recipe_controls": [ + "recipe: wrong global phase", + "recipe: wrong translation", + "recipe: wrong linear phase", + "recipe: wrong quadratic form", + "recipe: wrong matrix", + "recipe: wrong G (still invertible)", + "recipe: non-invertible G", + "recipe: inverse warp recipe used for the forward warp", + "recipe: recipe of another warp class", + "recipe: swapped from/to frames", + "recipe: missing warp class", + "logical: wrong G", + "logical: wrong phase" + ], + "recipe_warp_classes": 166, + "recipe_columns_each": 512, + "phase_frames": 1076, + "directed_edges": 2940, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true +} diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/REGISTERED.log b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/REGISTERED.log new file mode 100644 index 0000000000..dd419f7dee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/REGISTERED.log @@ -0,0 +1,20 @@ +CHECK Fresh complete five-stage base native replay, including independent all512-column warp recipes and all inherited controls; compare every native field to pinned reference. Also reject altered source, singular warp, paid profile, recipe, receipt, optimized execution and output reuse. +PASS native +PASS ledgers +PASS local-replay +PASS wrappers +PASS phases +PASS_COMPLETE_T74_NATIVE_REPLAY sparse 86.818 +PASS_T74_EXACT_STATE_DIFFERENTIAL 1488 columns +PASS_T74_NATIVE_FAST_BOUNDARY_CONTROLS 18 ["source:digest", "source:extra", "source:missing", "source:symlink", "benchmark-fixture", "optimized:run_native.py", "optimized:stage.py", "optimized:verify.py", "existing-output", "word:singular-warp:reference", "word:singular-warp:sparse", "word:paid-profile:reference", "word:paid-profile:sparse", "recipe-file:phase", "recipe-file:missing-class", "comparison:coverage", "comparison:missing-file", "comparison:container-binding"] +PASS_T74_NATIVE_FAST_REFERENCE_AND_CONTROLS base +CHECK Fresh complete five-stage extra native replay, including independent all512-column warp recipes and all inherited controls; compare every native field to pinned reference. Execute from a Git-free relocated package in a path with spaces. +PASS native +PASS ledgers +PASS local-replay +PASS wrappers +PASS phases +PASS_COMPLETE_T74_NATIVE_REPLAY sparse 87.385 +PASS_T74_NATIVE_FAST_REFERENCE_AND_CONTROLS extra +PASS_T74_NATIVE_FAST_GIT_FREE_RELOCATION extra +PASS_REGISTERED_RESEARCH_PACKAGE research/t74-native-fast outcome=partial diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/VALIDATION.json b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/VALIDATION.json new file mode 100644 index 0000000000..9848bae05c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/evidence/VALIDATION.json @@ -0,0 +1,44 @@ +{ + "status": "PASS_COMPLETE_T74_NATIVE_FAST_VALIDATION", + "checked_at": "2026-10-15T20:57:23.935468+00:00", + "command": "python3.12 scripts/research_package.py --package research/t74-native-fast", + "python": "3.12.14", + "numpy": "2.2.6", + "registered_exit_code": 0, + "providers": [ + "base", + "extra" + ], + "extra_git_free_relocation": true, + "dense_sparse_columns": 1488, + "boundary_controls_rejected": 18, + "inherited_controls_per_provider": { + "local": 46, + "wrappers": 25, + "recipes": 13 + }, + "benchmark_pairs": 3, + "outputs_compared_per_pair": 11, + "registered_log_sha256": "78a49def69d0465f4318b9e24613246ba5fb6de19441e54b88fb50dfe823f149", + "code_sha256": { + "benchmark.py": "3e544453c89310281d745a37e861cbd79065b1740d90f1ec883fc200b189a557", + "common.py": "8f04e08b99a370fa82115fc46fbb3af4ab44f4facd47de07b01e1a2499a94914", + "compare.py": "ebf877a6f47ef1fd2b797fd6077bd45d132d8cb56ab7553044bae3d86e238e45", + "controls.py": "03131f4dc6a1830f10e35fb837ada456f060ca510994d250c5c2666a6342c23a", + "run_native.py": "a7bfe110fe5098f6ef8bde3c43ecf15e8d1e06149abf7321a4c945383dcc2627", + "stage.py": "3cce27dd5a359ebc4dc70d4aab994aee52bc0a12e59db7da3f902257f876cffe", + "verify.py": "6dbdc56ca6cfde987869e12990a495d7eded78dd1887fb3fdf2d196060220fcc" + }, + "pin_manifest_sha256": "f619e8e1c163078fb70c6fc3b98a498a671b8c02927b91d6cc253af2a775b6c9", + "notes": [ + "The registered log reports outcome=partial because metadata was finalized only after both provider checks succeeded; the complete outcome is recorded now.", + "After timing, benchmark.py gained a fixture-digest guard before any timed subprocess. Its corruption control passes. Timed run_native.py, stage.py, common.py and vendored execution sources are unchanged.", + "Initial sparse-checkout metadata failures were resolved by materializing package paths before the successful full replay. They were not mathematical failures." + ], + "not_claimed": [ + "new kappa", + "complete supplier or outer replay in this round", + "whole-project speedup", + "formal verification of the multiplication theorem" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-base.json.gz b/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-base.json.gz new file mode 100644 index 0000000000..f1fc67a6ea Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-base.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-extra.json.gz b/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-extra.json.gz new file mode 100644 index 0000000000..f06e80c4dd Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/fastnative/fixtures/WORD-extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/requirements.txt b/research/gmx-t74-borrow43-handoff/new/fastnative/requirements.txt new file mode 100644 index 0000000000..aaa34fa3b2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/requirements.txt @@ -0,0 +1 @@ +numpy==2.2.6 diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/run_native.py b/research/gmx-t74-borrow43-handoff/new/fastnative/run_native.py new file mode 100644 index 0000000000..64ef0eb83f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/run_native.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Complete T74 native replay; fresh source snapshot, no result cache. + +Uses the unchanged T74 transport, emitter, local audit, adapters, phase lowering +and independent warp-recipe audit. Only Op.zero_state in the two Clifford-using +stages changes to the previously published exact sparse evaluator. +""" +import argparse +import json +import os +from pathlib import Path +import platform +import subprocess +import sys +import time +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from common import HERE, need, sha, source_bytes + +STEPS = ('native', 'ledgers', 'local-replay', 'wrappers', 'phases') + +def main(): + need(__debug__, 'assertions must remain enabled') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('word', type=Path) + parser.add_argument('work', type=Path) + parser.add_argument('--engine', choices=('reference', 'sparse'), default='sparse') + args = parser.parse_args() + started = time.monotonic() + blobs = source_bytes(HERE / 'vendor') + original = args.word.resolve() + need(original.is_file(), 'input word missing') + body = original.read_bytes() + work = args.work.resolve() + need(not work.exists(), 'fresh work directory required') + work.mkdir(parents=True) + vendor = work / 'source' + for name, contents in blobs.items(): + target = vendor / name + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(contents) + word = work / ('INPUT.json.gz' if original.suffix == '.gz' else 'INPUT.json') + word.write_bytes(body) + native = vendor / 'native/new/code/borrow' + output = work / 'native' + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0') + env.pop('PYTHONOPTIMIZE', None) + commands = [] + def run(name, command, cwd): + before = time.monotonic() + with (work / (name + '.log')).open('w') as log: + result = subprocess.run(command, cwd=cwd, env=env, stdin=subprocess.DEVNULL, + stdout=log, stderr=subprocess.STDOUT) + entry = {'step': name, 'exit_code': result.returncode, + 'seconds': time.monotonic()-before, 'command': command} + commands.append(entry) + (work / 'COMMANDS.json').write_text(json.dumps(commands, indent=2)+'\n') + need(result.returncode == 0, 'stage failed: '+name+'; see '+str(work/(name+'.log'))) + return entry + if args.engine == 'reference': + run('reference-driver', [sys.executable, '-I', '-B', str(vendor/'native/new/run_native_borrow.py'), str(word), str(output)], native) + steps = json.loads((output/'STEPS.json').read_text()) + else: + output.mkdir() + local = output/'local' + plan = [ + ('native', [('bw_transport.py', [word, local])]), + ('ledgers', [('bw_emit.py', [local])]), + ('local-replay', [('bw_audit_local.py', [local])]), + ('wrappers', [('bw_adapters.py', [local/'CANONICAL-WORD.json.gz', local/'RESIDUAL-ADAPTERS.json', local/'WRAPPER-CHECKS.json'])]), + ('phases', [('bw_phases.py', [local]), ('bw_check_recipes.py', [local])]), + ] + steps = [] + for label, scripts in plan: + before = time.monotonic() + for script, arguments in scripts: + if script in ('bw_adapters.py', 'bw_phases.py'): + command = [sys.executable, '-I', '-B', str(HERE/'stage.py'), '--vendor', str(vendor), '--script', script] + else: + command = [sys.executable, '-I', '-B', str(native/script)] + run(label+'-'+script, command + list(map(str, arguments)), native) + steps.append({'step':label,'exit_code':0,'seconds':time.monotonic()-before}) + (output/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n') + print('PASS', label, flush=True) + need([s['step'] for s in steps] == list(STEPS) and all(s['exit_code']==0 for s in steps), 'complete native stage coverage') + need(source_bytes(vendor) == blobs and word.read_bytes() == body, 'source or input modified') + result = {'status':'PASS_COMPLETE_T74_NATIVE_REPLAY', 'engine':args.engine, + 'word_sha256':sha(body), 'source_sha256':{k:sha(v) for k,v in sorted(blobs.items())}, + 'steps':steps, 'seconds':time.monotonic()-started, 'python':platform.python_version(), + 'scope':'Full five-stage native replay including independent all-column warp recipes and original rejection controls; supplier/outer admission separate.'} + (work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n') + print(result['status'], args.engine, round(result['seconds'],3), flush=True) + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/stage.py b/research/gmx-t74-borrow43-handoff/new/fastnative/stage.py new file mode 100644 index 0000000000..9ecc54bca4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/stage.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Run an unchanged pinned T74 script with PR1029/PR662 exact state evaluation.""" +import argparse +import importlib.util +from pathlib import Path +import runpy +import sys +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from common import need, source_bytes + +def module(name, path): + spec = importlib.util.spec_from_file_location(name, path) + result = importlib.util.module_from_spec(spec) + sys.modules[name] = result + spec.loader.exec_module(result) + return result + +def main(): + need(__debug__, 'assertions must remain enabled') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--vendor', type=Path, required=True) + parser.add_argument('--script', choices=('bw_adapters.py', 'bw_phases.py'), required=True) + parser.add_argument('arguments', nargs='+') + args = parser.parse_args() + vendor = args.vendor.resolve() + source_bytes(vendor) + native = vendor / 'native/new/code/borrow' + algebra = module('clifford_exact', native / 'vendor/clifford/clifford_exact.py') + tables = module('t74_exact_tables', vendor / 'accelerators/tables.py') + sparse = module('t74_exact_sparse', vendor / 'accelerators/sparse_state.py') + tables.clear_caches() + algebra.Op.zero_state = lambda self, basis=0: sparse.zero_state(self, tables, basis) + script = native / args.script + sys.argv = [str(script), *args.arguments] + runpy.run_path(str(script), run_name='__main__') + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-NOTICE.md b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-NOTICE.md new file mode 100644 index 0000000000..a3b31e157f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-NOTICE.md @@ -0,0 +1,33 @@ +# Attribution + +Prepared for Ali Romman (@aliromman) with substantial OpenAI Codex assistance. +New code, tests and documentation use the repository's Apache-2.0 license. +No independent human review is claimed. + +- Charles Bethin (@cbethin), PR662, supplied the exact permutation and phase + tables. This package imports those tables unchanged and compares against + his complete dense evaluator. PR662 head: + `458744109003e0958798f27c1f04be78f03663ce`. +- The Gaussian-dyadic algebra and lowering come from the retained + `clifford_exact.py`. `lowering.py` adapts its `monomial` and `lower_child` + routines to take an evaluator argument. `run.py` adapts `phases_full.py`. + The latter credits icekylinx and the PR425 ancestry, with Codex assistance. + The PR531 license and notice remain at + `research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/`. + Those files retain the upstream contributor and AI-assistance notices. +- Jonathan Capalbo's PR942 supplies the retained U8 replay archive used by + the benchmark. Its head is + `1960cfa919a0945d0ca4cb14ea96237000037903`. + The U8 word comes from the PR869/870 lineage, which credits NewBArch's + triangle-hybrid construction and ColdWitness/icekylinx's driver, on Jeremy + Kothe's PR799 X4 work. Chafik Boukhalfa's PR741/890 work and Hao Yan's + PR858 work remain credited in the retained package notices. + +The new contribution is the sparse state update, its explicit compiler +entry point, and the complete U8 comparison with corruption controls and +time/memory measurements. Sparse state propagation is an established general +technique; this package makes no priority claim for that technique. + +The package does not change frozen source files, accepted certificates, +`upstream/`, or the default selected replay. All inherited compiler, +realization, hosting, precision, tape and analytic obligations remain. diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-PROOF.md b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-PROOF.md new file mode 100644 index 0000000000..bbd5990439 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/SPARSE-PROOF.md @@ -0,0 +1,81 @@ +# Exact support updates + +This argument applies to the valid gates from the pinned `clifford_exact.py`. +The input is a basis index `0 <= basis < 2^n`. Each state has Gaussian integer +numerators and a common denominator `2^den`. A missing dictionary key has +numerator zero. The output contains all `2^n` numerators, including zeros. + +## Induction over the circuit + +The initial dictionary has the one entry `basis -> (1, 0)`. It is the same +state as the retained dense evaluator. + +For `P`, the validated binary matrix is invertible. Its index map is a +permutation. Thus no two nonzero entries collide, and omitted zero entries +contribute no value. For `X`, translation by XOR is also a permutation. + +For `D` and `phase`, each amplitude is multiplied by a power of `i`. The +four rotations of `(a, b)` are `(a, b)`, `(-b, a)`, `(-a, -b)`, and `(b, -a)`. +Zero remains zero. The `D` phases and `P` index maps use the unchanged PR662 +tables. Those tables depend on the dimension and all gate coefficients. +They do not depend on a state or on a previous check result. The source pins +retain their exact formulas and bounded caches. + +For `C`, put `y = x xor q` and let `s` be the sign. If the numerators at +`x` and `y` are `(a, b)` and `(c, d)`, the new numerators are + +```text +x: (a - s*b + c + s*d, b + s*a + d - s*c) +y: (c - s*d + a + s*b, d + s*c + b - s*a). +``` + +The denominator exponent increases by one. These are the two rows of the +retained dense update. XOR partitions the index set into pairs when `q != 0`. +The loop visits a pair once if either entry is nonzero. If both entries are +present, it skips the larger index. If only one entry is present, its partner +has value zero. A pair with two zero entries contributes two zeros and need +not be visited. Exact cancellation removes a zero output entry. When `q = 0`, +both formulas give `(2*a, 2*b)` at the same index; the update is the identity +after division by two. + +The common-factor test after `C` gives the same answer on the dictionary as +on the dense vector: omitted entries are zero and are divisible by two. +The other gates only permute entries or rotate their Gaussian coordinates. +They cannot change the common power of two. Thus those gates need no further +normalization. This proves equality of both the complete vector and `den` +after every gate. It also covers circuits whose support shrinks after a +`C` gate. A valid Clifford circuit cannot map a nonzero input to the zero +state, because each gate is invertible. + +## The compiler checks + +`lowering.py` retains the algebra and checks of the pinned lowering routine. +It passes a state evaluator through ordinary function arguments. It changes +no retained module, method or global value. The reference mode calls the +original lowering routine. The dense and sparse modes use the same explicit +lowering code with their respective evaluators. + +Every tableau equality, off-support zero check, denominator check, and global +phase check remains. The final comparison still checks the complete compiled +state against the complete input state. No phase is inferred from a tableau. + +`run.py` retains the frame-span, frame-rank, edge-rank and endpoint-rank checks +of `phases_full.py`. It visits every frame, every directed edge including +center transitions, and every source and target adapter. Its public entry +point rejects optimized Python before it loads the retained assertion-based +algebra. It also rejects source drift and an existing output directory. + +## Work and storage + +Let `s` be the current number of nonzero amplitudes and `N = 2^n`. A state +update now visits `s` entries, or at most `s` XOR pairs, in place of all `N` +entries. Dictionary operations have their usual expected constant lookup +cost. Integer arithmetic remains exact. A first use of a PR662 gate table +still takes `O(N)` work, and the final full output also takes `O(N)` work. +Each of the two retained table caches has at most 64 entries. + +This is a support-sensitive improvement. It is not a polynomial-size +stabilizer representation: the support can be all `N` indices. The benchmark +measures the complete selected dimension-nine phase command, including table +construction, source admission, parsing, lowering, checks and output writing. +It makes no claim about multiplication runtime or the full cold replay. diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/sparse_state.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/sparse_state.py new file mode 100644 index 0000000000..ca39f73494 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/sparse_state.py @@ -0,0 +1,65 @@ +"""Evaluate exact Clifford states on their nonzero support. + +Gate tables are from Charles Bethin's PR662. The support update is new. +Prepared for Ali Romman with substantial OpenAI Codex assistance. +Apache-2.0. +""" + + +def zero_state(op, tables, basis=0): + """Return every Gaussian numerator and the power-of-two denominator.""" + size = 1 << op.n + if not 0 <= basis < size: + raise IndexError(basis) + state = {basis: (1, 0)} + den = 0 + for gate in op.circuit: + kind = gate[0] + if kind == 'P': + mapping = tables.permutation_table(op.n, tuple(gate[1])) + state = {mapping[x]: value for x, value in state.items()} + elif kind == 'X': + state = {x ^ gate[1]: value for x, value in state.items()} + elif kind in ('D', 'phase'): + phases = (tables.phase_table(op.n, tuple(gate[1]), tuple(gate[2])) + if kind == 'D' else None) + out = {} + for x, (a, b) in state.items(): + phase = phases[x] if phases is not None else gate[1] % 4 + if phase == 0: + out[x] = (a, b) + elif phase == 1: + out[x] = (-b, a) + elif phase == 2: + out[x] = (-a, -b) + else: + out[x] = (b, -a) + state = out + elif kind == 'C': + q, sign = gate[1:] + out = {} + for x, (a, b) in state.items(): + y = x ^ q + if y < x and y in state: + continue + c, d = state.get(y, (0, 0)) + first = (a - sign*b + c + sign*d, + b + sign*a + d - sign*c) + second = (c - sign*d + a + sign*b, + d + sign*c + b - sign*a) + if first != (0, 0): + out[x] = first + if second != (0, 0): + out[y] = second + state = out + den += 1 + while den and all((a & 1) == (b & 1) == 0 + for a, b in state.values()): + state = {x: (a // 2, b // 2) for x, (a, b) in state.items()} + den -= 1 + else: + raise AssertionError(gate) + vec = [(0, 0)] * size + for x, value in state.items(): + vec[x] = value + return vec, den diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/tables.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/tables.py new file mode 100644 index 0000000000..5d546d8a05 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/accelerators/tables.py @@ -0,0 +1,82 @@ +"""Exact Gaussian-dyadic state evaluation with bounded, state-free gate tables. + +Charles Bethin, with substantial OpenAI Codex assistance. Apache-2.0. +The gate semantics and normalization follow the pinned clifford_exact.py. +""" +from functools import lru_cache + + +@lru_cache(maxsize=64) +def permutation_table(n, rows): + """Compute Gx from G(x xor lowbit(x)) xor G(lowbit(x)).""" + columns = [sum(((row >> j) & 1) << i for i, row in enumerate(rows)) + for j in range(n)] + table = [0] * (1 << n) + for x in range(1, len(table)): + bit = x & -x + table[x] = table[x ^ bit] ^ columns[bit.bit_length() - 1] + return tuple(table) + + +@lru_cache(maxsize=64) +def phase_table(n, rows, linear): + """Remove the lowest bit; all remaining quadratic partners have larger indices.""" + table = [0] * (1 << n) + for x in range(1, len(table)): + bit = x & -x + i, rest = bit.bit_length() - 1, x ^ bit + table[x] = (table[rest] + linear[i] + + 2 * ((rows[i] & rest).bit_count() & 1)) % 4 + return tuple(table) + + +def clear_caches(): + permutation_table.cache_clear() + phase_table.cache_clear() + + +def zero_state(self, basis=0): + """Drop-in evaluator for valid pinned Op circuits; return the full exact state.""" + size = 1 << self.n + vec = [(0, 0)] * size + vec[basis] = (1, 0) + den = 0 + for gate in self.circuit: + kind = gate[0] + if kind == 'P': + mapping = permutation_table(self.n, tuple(gate[1])) + out = [(0, 0)] * size + for x, value in enumerate(vec): + out[mapping[x]] = value + vec = out + elif kind == 'X': + vec = [vec[x ^ gate[1]] for x in range(size)] + elif kind in ('D', 'phase'): + phases = (phase_table(self.n, tuple(gate[1]), tuple(gate[2])) + if kind == 'D' else [gate[1] % 4] * size) + out = [] + for (a, b), phase in zip(vec, phases): + if phase == 0: + out.append((a, b)) + elif phase == 1: + out.append((-b, a)) + elif phase == 2: + out.append((-a, -b)) + else: + out.append((b, -a)) + vec = out + elif kind == 'C': + q, sign = gate[1:] + out = [] + for x, (a, b) in enumerate(vec): + c, d = vec[x ^ q] + out.append((a - sign*b + c + sign*d, + b + sign*a + d - sign*c)) + vec = out + den += 1 + else: + raise AssertionError(gate) + while den and all((a & 1) == (b & 1) == 0 for a, b in vec): + vec = [(a // 2, b // 2) for a, b in vec] + den -= 1 + return vec, den diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md new file mode 100644 index 0000000000..a14b299ef5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md @@ -0,0 +1,21 @@ +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the borrowing work's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_adapters.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_adapters.py new file mode 100644 index 0000000000..82beaa9c1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_adapters.py @@ -0,0 +1,165 @@ +"""Paid residual wrappers for entering helpers (Lemma A): generation and independent decoding. Apache-2.0. +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The wrapper construction follows PR #458 +(chafreaky): a helper that starts at frame E and ends at FULL has the physical residual S_E = T_FULL T_E^-1 (apply T_E^-1 first); +S_E = L_E (C_[w] x I) R_E with R_E applied first; the wrappers R_E^-1 before the whole local invocation and L_E^-1 after its +full-frame cleanup turn the residual into the coordinate factor C_[w] x I and restore the other 9 - w coordinates identically. +usage: adapters_gk.py CANONICAL-WORD.json.gz RESIDUAL-ADAPTERS.json OUT-LEMMA-A.json +Writes the recipes (generation uses clifford_exact.lower_child) and then DECODES the serialized monomials with the primitive +constructors of clifford_exact (not lower_child) and checks, for every entrance frame, that L_E^-1 S_E R_E^-1 has exactly the +tableau and zero-state vector (global phase included) of fourier(9, range(w)); mutated recipes (wrong phase, swapped sides, wrong +translation, wrong width) must be rejected.""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy, gzip, json, sys +from pathlib import Path +# Package-path adaptation only; the exact wrapper mathematics is unchanged. +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE / 'vendor/clifford')) # BW: the pinned vendor531 clifford_exact (byte copy) +sys.path.insert(0, str(HERE)) +from clifford_exact import canonical_frame, lower_child, fourier, diag, perm, xgate, Op, identity, transpose, inv, parity, monomial as mono_of, mv +import bw_gauss +n = 9; FULL = tuple(1 << i for i in range(n)) +def monomial_op(rec): + """decode a serialized monomial (matrix rows, quadratic rows, Z4 linear part, translation, phase)""" + out = diag(n, tuple(rec['quadratic_rows']), tuple(rec['linear_Z4'])).then(perm(n, tuple(rec['matrix_rows']))).then(xgate(n, rec['offset'])) + return out.then(Op(n, identity(n), [('phase', rec['phase'])])) +def S_of(U, END=FULL): + # HPE: a helper that starts at E=U and ends at END has residual T_END T_E^-1 (END = FULL is the inherited case) + return canonical_frame(n, tuple(U)).adjoint().then(canonical_frame(n, tuple(END))) +def wrapped_ok(U, rec, END=FULL): + """exactly: L^-1 S R^-1 = C_[w] x I (apply order: R^-1, S, L^-1), w = dim END - dim E""" + w = len(END) - len(U); S = S_of(U, END); Rm = monomial_op(rec['right']); Lm = monomial_op(rec['left']) + net = Rm.adjoint().then(S).then(Lm.adjoint()); target = fourier(n, range(w)) + return rec['rank'] == w and net.tab == target.tab and net.zero_state() == target.zero_state() +def _contains(a, b): + a = list(a) + for x in b: + for y in sorted(a, reverse=True): + if x >> (y.bit_length() - 1) & 1: x ^= y + if x: return False + return True +def Kop(G_cols): + """BW: K_G = perm(G) then diag(Q), Q = I + G^-T G^-1: PR2226's monomial() and the conjugator inside clifford_exact.canonical_frame.""" + G = transpose(tuple(G_cols), n); gi = inv(G, n) + Q = tuple((1 << i) ^ sum(parity(gi_i & gi_j) << j for j, gi_j in enumerate(transpose(gi, n))) for i, gi_i in enumerate(transpose(gi, n))) + return perm(n, G).then(diag(n, Q)) +def numeric_K(G_cols): + import numpy as np + pv, ph = bw_gauss.monomial(list(G_cols), n) + N = 1 << n; re = np.zeros((N, N), dtype=np.int64); im = np.zeros((N, N), dtype=np.int64) + unit = [(1, 0), (0, 1), (-1, 0), (0, -1)] + for x in range(N): re[pv[x], x], im[pv[x], x] = unit[ph[x]] + return re, im, 0 +def warp_ok(G_cols, rec): + """BW: the serialized monomial equals PR2226's exact numpy K_G on all 512 columns (indep. decode) and its op decodes to K_G exactly.""" + m = bw_gauss.recipe_matrix(rec, n) + if not bw_gauss.equal_scaled(numeric_K(G_cols), m): return False + dec = monomial_op(rec); ref = Kop(G_cols) + return dec.tab == ref.tab and dec.zero_state() == ref.zero_state() + +def main(): + c = json.load(gzip.open(sys.argv[1])); frames = c['frames']; v = c['v'] + starts = sorted({c['start'][r] for r in range(2 * v, len(c['start'])) if c['start'][r] != 0 and c['final'][r] == 1}) + # HPE: (entrance, terminal) pairs of helpers ending at a proper subspace; key 'E:U'. Inherited words have none. + ends = sorted({(c['start'][r], c['final'][r]) for r in range(2 * v, len(c['start'])) if c['final'][r] != 1}) + # COLD-HPE: e == 0 (a cold helper, entrance = bottom, T_0 = I) is allowed: the (0, U) recipe is keyed '0:U' + assert all(len(frames[u]) < n and _contains(frames[u], frames[e]) for e, u in ends) + cold_ends = [(e, u) for e, u in ends if e == 0] + recipes = {} + for f in starts: + U = frames[f]; rec, compiled = lower_child(S_of(U)) + recipes[str(f)] = dict(frame=f, vectors=list(U), entrance_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + for e, u in ends: + E, U = frames[e], frames[u]; rec, compiled = lower_child(S_of(E, U)) + recipes['%d:%d' % (e, u)] = dict(frame=e, terminal=u, vectors=list(E), terminal_vectors=list(U), entrance_rank=len(E), + terminal_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + # BW: monomial recipes of the warps K_G (anticipatory dirty borrowing, PR2226): one per operator, serialized like a wrapper monomial + warp_recipes = {} + for w in c.get('warps', []): + _, rec_k = mono_of(Kop(w['G_columns'])) + warp_recipes[str(w['op'])] = dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], G_columns=list(w['G_columns']), K=rec_k) + Path(sys.argv[2]).write_text(json.dumps(dict(status='RESIDUAL_ADAPTER_RECIPES', recipes=recipes, warps=warp_recipes), sort_keys=True, separators=(',', ':')) + '\n') + # ---- independent decode of the serialized file + data_all = json.loads(Path(sys.argv[2]).read_text()); data = data_all['recipes'] + dot = lambda a, b: bin(a & b).count('1') & 1 + detail = [] + for f in starts: + rec = data[str(f)]; U = frames[f] + assert wrapped_ok(U, rec), ('wrapper product is not C_[w] x I', f) + detail.append(dict(frame=f, entrance_rank=len(U), residual_width=n - len(U), vectors=list(U), all_even_weight=all(bin(x).count('1') % 2 == 0 for x in U), + totally_isotropic=all(dot(a, b) == 0 for a in U for b in U))) + hdetail = [] + for e, u in ends: # HPE: independent decode, residual width = dim U - dim E + rec = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + assert wrapped_ok(E, rec, U), ('HPE wrapper product is not C_[w] x I', e, u) + hdetail.append(dict(frame=e, terminal=u, entrance_rank=len(E), terminal_rank=len(U), residual_width=len(U) - len(E))) + controls = [] + def reject(name, fn): + f = starts[0]; rec = copy.deepcopy(data[str(f)]); fn(rec) + if wrapped_ok(frames[f], rec): raise AssertionError('mutated wrapper accepted: ' + name) + controls.append(name) + reject('wrong global phase', lambda r: r['right'].__setitem__('phase', (r['right']['phase'] + 1) % 4)) + reject('wrong translation', lambda r: r['left'].__setitem__('offset', r['left']['offset'] ^ 1)) + reject('wrong quadratic form', lambda r: r['right'].__setitem__('quadratic_rows', [x ^ 2 if i == 0 else x for i, x in enumerate(r['right']['quadratic_rows'])]) if False else r['right']['linear_Z4'].__setitem__(0, (r['right']['linear_Z4'][0] + 2) % 4)) + reject('sides swapped', lambda r: (r.__setitem__('left', r['right']), r.__setitem__('right', r['left']))) + reject('wrong width', lambda r: r.__setitem__('rank', r['rank'] + 1)) + if ends: # HPE controls on the first (E, U) pair + e, u = next((p for p in ends if p[0] != 0), ends[0]); rec0 = data['%d:%d' % (e, u)] # COLD-HPE: an entering pair if any (= ends[0] without cold ends) + def hreject(name, ok): + if ok: raise AssertionError('HPE mutation accepted: ' + name) + controls.append(name) + hreject('hpe: U-wrapper decoded against a FULL ending', wrapped_ok(frames[e], rec0)) + hreject('hpe: width misreported as 9 - dim E', wrapped_ok(frames[e], dict(rec0, rank=n - len(frames[e])), frames[u])) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u]) and _contains(frames[f], frames[e])) + hreject('hpe: wrong terminal hyperplane', wrapped_ok(frames[e], rec0, frames[other])) + fe = next(((e2, u2) for e2, u2 in ends if str(e2) in data), None) + if fe: # an entrance shared with FULL-ended helpers: R_{E,FULL} must not serve as R_{E,U} + r2 = data['%d:%d' % fe] + hreject('hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}', wrapped_ok(frames[fe[0]], dict(r2, right=data[str(fe[0])]['right']), frames[fe[1]])) + hreject('hpe: wrong global phase', wrapped_ok(frames[e], dict(rec0, left=dict(rec0['left'], phase=(rec0['left']['phase'] + 1) % 4)), frames[u])) + if cold_ends: # COLD-HPE controls on the first cold pair (0, U): factor_iff_pre says only R_{0,U} itself may precede + e, u = cold_ends[0]; recc = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + ID = dict(matrix_rows=[1 << i for i in range(n)], offset=0, quadratic_rows=[0] * n, linear_Z4=[0] * n, phase=0) + assert monomial_op(ID).tab == identity(n) # the control's wrapper really is the identity + def creject(name, ok): + if ok: raise AssertionError('cold HPE mutation accepted: ' + name) + controls.append(name) + creject('cold hpe: identity pre wrapper instead of R_{0,U}', wrapped_ok(E, dict(recc, right=ID), U)) + creject('cold hpe: identity post wrapper instead of L_{0,U}', wrapped_ok(E, dict(recc, left=ID), U)) + creject('cold hpe: no wrappers (cold FULL convention L = R = I)', wrapped_ok(E, dict(recc, left=ID, right=ID), U)) + creject('cold hpe: U-wrapper decoded against a FULL ending', wrapped_ok(E, recc)) + creject('cold hpe: width misreported as 9', wrapped_ok(E, dict(recc, rank=n), U)) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u])) + creject('cold hpe: wrong terminal hyperplane', wrapped_ok(E, recc, frames[other])) + creject('cold hpe: wrong global phase', wrapped_ok(E, dict(recc, right=dict(recc['right'], phase=(recc['right']['phase'] + 1) % 4)), U)) + ent = next((p for p in ends if p[0] != 0 and p[1] == u), None) + same = lambda x, y: monomial_op(x).tab == monomial_op(y).tab and monomial_op(x).zero_state() == monomial_op(y).zero_state() + if ent and not same(data['%d:%d' % ent]['right'], recc['right']): # an entering helper ending at the same U: its R_{E,U} must not serve as R_{0,U} + creject('cold hpe: pre wrapper resolved to an entering recipe R_{E,U}', wrapped_ok(E, dict(recc, right=data['%d:%d' % ent]['right']), U)) + wdetail = [] + for w in c.get('warps', []): # BW: independent decode of every warp recipe, then mutation controls on the first warp + rec = data_all['warps'][str(w['op'])] + assert rec['G_columns'] == w['G_columns'] + assert warp_ok(w['G_columns'], rec['K']), ('warp recipe differs from the exact monomial K_G', w['op']) + wdetail.append(dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], columns_checked=1 << n)) + if c.get('warps'): + w0 = c['warps'][0]; k0 = data_all['warps'][str(w0['op'])]['K'] + def wreject(name, ok): + if ok: raise AssertionError('warp mutation accepted: ' + name) + controls.append(name) + wreject('warp: wrong global phase', warp_ok(w0['G_columns'], dict(k0, phase=(k0['phase'] + 1) % 4))) + wreject('warp: wrong translation', warp_ok(w0['G_columns'], dict(k0, offset=k0['offset'] ^ 1))) + wreject('warp: wrong linear phase', warp_ok(w0['G_columns'], dict(k0, linear_Z4=[(k0['linear_Z4'][0] + 2) % 4] + k0['linear_Z4'][1:]))) + wreject('warp: wrong quadratic form', warp_ok(w0['G_columns'], dict(k0, quadratic_rows=[k0['quadratic_rows'][0] ^ 2, k0['quadratic_rows'][1] ^ 1] + k0['quadratic_rows'][2:]))) + wreject('warp: recipe of another operator', warp_ok(w0['G_columns'], data_all['warps'][str(c['warps'][1]['op'])]['K'])) + wreject('warp: inverse recipe used as the warp', warp_ok(w0['G_columns'], mono_of(Kop(w0['G_columns']).adjoint())[1])) + G2 = list(w0['G_columns']); G2[0] ^= G2[1] + wreject('warp: wrong G (frame-changed column)', warp_ok(G2, k0)) + sing = list(w0['G_columns']); sing[1] = sing[0] + try: Kop(sing); raise SystemExit('non-invertible G accepted') + except (AssertionError, StopIteration, ValueError): controls.append('warp: non-invertible G') + res = dict(status='PASS_RESIDUAL_WRAPPERS_ARE_EXACT', frames=len(detail), **({'hyperplane_end_pairs': hdetail} if ends else {}), **({'cold_hyperplane_end_pairs': len(cold_ends)} if cold_ends else {}), wrappers_reject=controls, all_even_weight=all(d['all_even_weight'] for d in detail), **({'warp_recipes_exact_on_all_512_columns': wdetail} if wdetail else {}), + all_totally_isotropic=all(d['totally_isotropic'] for d in detail), detail=detail) + Path(sys.argv[3]).write_text(json.dumps(res, indent=1) + '\n') + print('Lemma A (exact): L^-1 S_E R^-1 = C_[w] x I for', len(detail), 'entrance frames, global phase included;', len(controls), 'wrapper mutations rejected; all-even-weight:', res['all_even_weight']) +if __name__ == '__main__': main() diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py new file mode 100644 index 0000000000..912a0c447c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py @@ -0,0 +1,289 @@ +# Local independent replay of the attributed PR514 / PR433 checker (icekylinx with OpenAI Codex assistance), extended (BW) with +# monomial warps and private zero buffers for anticipatory dirty borrowing (PR2226, Cinna Davis @1337isnot1337, with OpenAI +# Codex assistance, Apache-2.0). The exact Gaussian column products below are a port of PR2226's operators.py (change / +# monomial / apply_mono / coord / frame / check); they use only numpy and share no code with the emitter or with the +# clifford_exact phase compiler. Every edit is marked "BW:". The complete inherited checker and its controls are retained. +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy,gzip,hashlib,json,sys,time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +import numpy as np +sys.path.insert(0,str(Path(__file__).resolve().parent)) +OUT=Path(sys.argv[1]) +c=json.load(gzip.open(OUT/'CANONICAL-WORD.json.gz')) +ir={'local_programs':json.load(gzip.open(OUT/'LOCAL-PROGRAMS.json.gz'))} +v,R,h=c['v'],c['R'],c['h'];n=2*v+R;frames=c['frames'] +levels={int(t):f for t,f in c.get('target_levels',{}).items()} +entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] +plain={r for r in range(n) if r not in set(entering)} + +def contains(a,b): + for x in a: + for y in b: + if x>>(y.bit_length()-1)&1:x^=y + if x:return False + return True +hpe={r for r in range(2*v,n) if c['final'][r]!=1} +assert all(len(frames[c['final'][r]])0:assert sorted(lin(G,x) for x in span(U))==sorted(span(E)),'G does not carry the from frame onto the to frame' + else:assert sorted(lin(G,x) for x in span(E))==sorted(span(U)),'G^-1 does not carry the from frame onto the to frame' + z=warp_product(G,U,E,op,h,qmut) + fwd=check_mono(z) + bre,bim,bexp=z # inverse-transpose of a (scaled) unitary monomial is its entrywise conjugate + bwd=check_mono((bre,-bim,bexp)) + WARPCACHE[key]=(fwd,bwd);return WARPCACHE[key] +# --------------------------------------------------------------------------------------------------------------------------- +def add_row(row,src,q): + for j,x in src.items(): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def local(events,back,table=None,qmut=None): + table=c['warps'] if table is None else table + G_of={w['op']:w['G_columns'] for w in table} + 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=[];chain={};wrappers=[] + wset=set(wrapped);pre_seen=set();post_seen=set();zlive=set();warp_hashes=[];nwarp=0 + allowed=['zero_frame_precondition','entry_adapters','A','centers','B']+(['cleanup_tail'] if c.get('tail') else [])+['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==[(r,f) for r,f in enumerate(c['start']) if r in plain] and sorted(r for k_,r,f_ in wrappers if k_=='pre')==wrapped + if event[1]=='centers':assert all(cur[r]==levels.get(r-v,0) for r in range(v,2*v)) + if event[1]=='full_frame_cleanup':assert cur==c['final'] and exit==[(r,f) for r,f in enumerate(c['final']) if r not in hpe] + assert not private + elif tag=='residual_adapter': + _,kind,r,f,*end=event;assert r in wrapped and f==c['start'][r] and kind in ('pre','post') + assert end==([c['final'][r]] if r in hpe else []) + if end and kind=='post':assert cur[r]==end[0] + assert (kind=='pre' and phases[-1]=='entry_adapters') or (kind=='post' and phases[-1]=='full_frame_cleanup') + assert (kind,r) not in {(k,x) for k,x,_ in wrappers};wrappers.append((kind,r,f)) + (pre_seen if kind=='pre' else post_seen).add(r) + 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=='zero_buffer': # BW: private FULL-frame zero buffers of the cleanup; allocated empty, returned empty + _,kind,z=event;assert phases[-1]=='full_frame_cleanup' and z in zb + if kind=='alloc': + assert z not in zlive and ('Z',z) not in rows;zlive.add(z);rows['Z',z]={};norm['Z',z]=Q(0) + else: + assert kind=='free' and z in zlive and not rows['Z',z];zlive.remove(z) + elif tag=='warp': # BW: monomial logical reference change, rank zero, exact on all 512 columns + _,r,op,f0,f1=event;nwarp+=1 + assert op and abs(op) in G_of and phases[-1] in ('zero_frame_precondition','A','B','cleanup_tail','full_frame_cleanup') + assert not private + if r[0]=='L': + assert cur[r[1]]==f0,('warp frame mismatch',r,cur[r[1]],f0) + assert r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen),('warp wrapper order',r) + else: + assert r[0]=='Z' and r[1] in zlive and f0==f1==1 + assert len(frames[f0])==len(frames[f1]),'a warp is rank zero: equal dimensions' + warp_hashes.append(warp_columns(op,f0,f1,G_of[abs(op)],qmut)) + rows[tuple(r)]=warp_row(rows[tuple(r)],op) + if r[0]=='L':cur[r[1]]=f1 + 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 contains(frames[a],frames[b]) if back else contains(frames[b],frames[a]) + assert rank==abs(len(frames[a])-len(frames[b]))>0 + chain.setdefault(k,[]).append((a,b)) + 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 and (r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen)),('common frame / wrapper order',r,cur[r[1]],f) + elif r[0]=='Z': # BW: a zero buffer lives only inside the FULL-frame cleanup, at FULL + assert r[1] in zlive and f==1 and phases[-1]=='full_frame_cleanup',('zero buffer misuse',r) + 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 + 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,{}) + add_row(row,rows[source],q) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and set(centers)==set(range(len(c['centers']))) and not private and not zlive + assert sorted(r for k,r,_ in wrappers if k=='pre')==wrapped and sorted(r for k,r,_ in wrappers if k=='post')==wrapped + for k,st in chain.items(): + cf=c['center_frames'][k] + if back:assert st[-1][1]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + else:assert st[0][0]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + assert all(not row for reg,row in rows.items() if reg[0] in 'CZ') + assert cur==c['final'] + for r in range(n): + expected={(r,()):Q(1)} + if back and r0)==(sign>0),start) +def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup')) +def incomplete_centre_descent(es): + # Split paths lose an intermediate step. An unsplit path is truncated at + # an actual nested rank-one frame, with its child rank repriced correctly. + # Thus the control cannot fail merely because a split no longer exists. + indices=[i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0] + if indices: + es.pop(indices[0]);return + e=next(e for e in es if e[0]=='center') + stop=next(f for f in range(len(frames)) if len(frames[f])==1 and contains(frames[f],frames[e[2]])) + e[3]=stop;e[4]=len(frames[e[2]])-1 + +mutations=[ + ('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)), + ('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))), + ('wrong_common_frame',lambda es:next(e for e in es if e[0]=='scalar' and e[2]!=0).__setitem__(2,0)), + ('wrong_child_rank',lambda es:next(e for e in es if e[0]=='climb').__setitem__(5,99)), +]+([ + ('missing_pre_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre'))), + ('missing_post_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post'))), + ('wrapper_with_wrong_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[2] in entering).__setitem__(3,0)), + ('wrapper_in_wrong_phase',lambda es:es.insert(es.index(['phase','A']),es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post')))), + ('wrapper_on_a_data_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,3)), + ('wrapper_on_a_target_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,v+3)), + ('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])), +] if entering else [])+([ + ('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))), + ('centre_descent_incomplete',incomplete_centre_descent), +] if levels else [])+([ + ('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()), + ('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()), + ('hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).__setitem__(4,1)), + ('hpe_tail_gate_at_full_frame',lambda es:next(e for e in es[es.index(['phase','cleanup_tail']):] if e[0]=='scalar').__setitem__(2,1)), + ('hpe_tail_climb_dropped',lambda es:es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='climb'))), + ('hpe_helper_exit_adapter_to_full',lambda es:es.insert(es.index(['phase','full_frame_cleanup']),['adapter','new_to_old',min(hpe),1])), + ('hpe_tail_gate_moved_into_full_cleanup',lambda es:(lambda x:(x.__setitem__(2,1),es.insert(es.index(['phase','full_frame_cleanup'])+1,x)))(es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='scalar')))), +] if hpe else [])+([ + ('cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','old_to_new',cold[0],0]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_dropped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_post_wrapper_replaced_by_exit_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','new_to_old',cold[0],c['final'][cold[0]]]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_resolved_to_cold_full_convention',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).pop()), + ('cold_hpe_wrapper_with_nonzero_entrance',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).__setitem__(3,1)), + ('cold_hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]).__setitem__(4,1)), + ('cold_hpe_premix_gate_before_pre_wrapper',lambda es:(lambda ev:es.insert(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]),ev))(es.pop(next(i for i,e in enumerate(es) if e[0]=='scalar' and (('L',cold[0]) in [tuple(e[1][1])]+([tuple(e[1][2])] if e[1][0] in ('add','copy') else []))))) ), +] if cold else []) +# BW: mutations of the warp / zero-buffer events (each must be rejected by the literal replay) +if c.get('warps'): + def other_frame(es,i): # a frame of the same dimension that is not the event's own to-frame + e=es[i];return next(f for f in range(len(frames)) if f not in (e[3],e[4]) and len(frames[f])==len(frames[e[4]]) and f!=0) + mutations+=[ + ('warp_missing_inverse_at_full_cleanup',lambda es:es.pop(cleanup_warp(es))), + ('warp_missing_forward',lambda es:es.pop(first_warp(es,1,phase_at(es,'B')))), + ('warp_frame_mismatch',lambda es:(lambda i:es[i].__setitem__(3,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_to_frame_not_carried_by_G',lambda es:(lambda i:es[i].__setitem__(4,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_sign',lambda es:(lambda i:es[i].__setitem__(2,-es[i][2]))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_operator',lambda es:(lambda i:es[i].__setitem__(2,es[i][2]%len(c['warps'])+1))(first_warp(es,1,phase_at(es,'B')))), + ('warp_inverse_moved_before_use',lambda es:es.insert(first_warp(es,1,phase_at(es,'B')),es.pop(cleanup_warp(es)))), + ('warp_inverse_wrong_frame',lambda es:es[cleanup_warp(es)].__setitem__(3,0)), + ('warp_rank_changing',lambda es:(lambda i:es[i].__setitem__(4,0))(first_warp(es,1,phase_at(es,'B')))), + ('warp_phase_B_dropped_gate_after_warp',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar',first_warp(es,1,phase_at(es,'B'))))), + ] +if zb: + mutations+=[ + ('zero_buffer_not_freed',lambda es:es.pop(ev_index(es,lambda e:e[0]=='zero_buffer' and e[1]=='free'))), + ('zero_buffer_gate_outside_cleanup',lambda es:es.insert(phase_at(es,'full_frame_cleanup')-1,['scalar',['add',['Z',zb[0]],['L',0],1,1],1])), + ('zero_buffer_garbage_left',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar' and e[1][0]=='add' and e[1][1]==['Z',zb[0]] ,phase_at(es,'full_frame_cleanup')))), + ] +def mutate_gate_to_L(es): + i=ev_index(es,lambda e:e[0]=='scalar' and ['Z',zb[0]] in [e[1][1]]+([e[1][2]] if e[1][0]=='add' else []),phase_at(es,'full_frame_cleanup')) + g=es[i][1];es[i][1]=[g[0]]+[(['L',zb[0]] if x==['Z',zb[0]] else x) for x in g[1:3]]+list(g[3:]) +if zb: + mutations.append(('zero_buffer_replaced_by_restored_register_at_full',mutate_gate_to_L)) +for name,mut in mutations: + es=copy.deepcopy(ir['local_programs']['forward']);mut(es) # a mutation that cannot be built is an error, not a rejection + try:local(es,False) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('mutation accepted: '+name) +# BW: table / operator tampering of the warps themselves +def tampered(name,table_fn,qmut=None): + t=copy.deepcopy(c['warps']);table_fn(t) + try:local(ir['local_programs']['forward'],False,table=t,qmut=qmut) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('tampered warp operator accepted: '+name) +if c.get('warps'): + def wrongG(t): + U=frames[t[0]['from_frame']];E=frames[t[0]['to_frame']] + G=list(t[0]['G_columns']);outside=next(x for x in range(1,1<0 else -1,abs(e[2]),e[3],e[4])) +assert used==set(map(tuple,c.get('warp_edges',[]))),'emitted warp classes differ from the word' +by={(w['sign'],w['op'],w['old'],w['new']):w for w in rec_all.get('warps',[])} +assert set(by)==used,('recipe classes differ from the emitted warp classes',len(set(by)^used)) +def numeric_K(G): + pv,ph=g.monomial(list(G),h);N=1<0 and k[2]!=k[3]);w=by[key];sign,op,f0,f1=key;left=w['left'];Gx=G_of[op] + reject('recipe: wrong global phase',product_ok(*key,dict(left,phase=(left['phase']+1)%4))) + reject('recipe: wrong translation',product_ok(*key,dict(left,offset=left['offset']^1))) + reject('recipe: wrong linear phase',product_ok(*key,dict(left,linear_Z4=[(left['linear_Z4'][0]+2)%4]+left['linear_Z4'][1:]))) + reject('recipe: wrong quadratic form',product_ok(*key,dict(left,quadratic_rows=[left['quadratic_rows'][0]^2,left['quadratic_rows'][1]^1]+left['quadratic_rows'][2:]))) + reject('recipe: wrong matrix',product_ok(*key,dict(left,matrix_rows=[left['matrix_rows'][1],left['matrix_rows'][0]]+left['matrix_rows'][2:]))) + G2=list(Gx);G2[0]^=G2[1] + reject('recipe: wrong G (still invertible)',product_ok(*key,left,G=G2)) + sing=list(Gx);sing[1]=sing[0] + reject('recipe: non-invertible G',product_ok(*key,left,G=sing)) + reject('recipe: inverse warp recipe used for the forward warp',product_ok(sign,op,f0,f1,next(x for k,x in by.items() if k[0]==-sign and k[1]==op)['left']) if any(k[0]==-sign and k[1]==op for k in by) else False) + # frame mismatch: the recipe of this class used for a class with another frame + other=next((k for k in by if k!=key and k[0]==sign and k[1]!=op),None) + reject('recipe: recipe of another warp class',product_ok(*key,by[other]['left']) if other else False) + reject('recipe: swapped from/to frames',product_ok(sign,op,f1,f0,left)) + # a class missing from the recipe file + try: + miss=copy.copy(by);miss.pop(key);assert set(miss)==used + except AssertionError:controls.append('recipe: missing warp class') + else:raise AssertionError('missing class accepted') + reject('logical: wrong G',logical_ok(op,res_all['warps'][str(op)]['K'],G=G2)) + reject('logical: wrong phase',logical_ok(op,dict(res_all['warps'][str(op)]['K'],phase=(res_all['warps'][str(op)]['K']['phase']+1)%4))) +out=dict(status='PASS_WARP_RECIPES_EXACT_ON_ALL_512_COLUMNS',canonical_word_sha256=hashlib.sha256((OUT/'CANONICAL-WORD.json.gz').read_bytes()).hexdigest(), + recipe_sha256=hashlib.sha256((OUT/'CLIFFORD-RECIPES.json').read_bytes()).hexdigest(),warp_classes=len(by),operators=len(c.get('warps',[])), + columns_each=1< 0, G^-1(f0) = f1 for op < 0). The same event stream serves both orientations: +the inverse-transpose of a monomial K_G is the monomial conj(K_G) (same permutation, conjugated phases), a different +formal symbol of the free operator algebra, and the exact column check of the physical product is run for both. +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import sys as _sys, os as _os; _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) +import gzip,hashlib,json +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path(_sys.argv[1]);cp=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(cp)) +frames=c['frames'];v,R,h=c['v'],c['R'],c['h'];n=2*v+R +def digest(x):return hashlib.sha256(json.dumps(x,sort_keys=True,separators=(',',':')).encode()).hexdigest() +def basis(vs): + b={} + for x in vs: + for p in sorted(b,reverse=True): + if x>>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 reg(x):return list(x) if isinstance(x,list) else ['L',x] # BW: ['Z', c] is a private zero buffer +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',reg(e[1]),reg(e[2]),e[3],e[4]] + return ['scale',reg(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) + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) +def lregs(e):return [r for r in ([e[1]]+([e[2]] if e[0]=='add' else [])) if not isinstance(r,list)] + +def expand(e): + """BW: a twisted addition t += c*W(s) at frame zero: warp s by W, add, unwarp (all rank zero at frame 0).""" + if e[0]!='tadd':return [e] + _,t,s,word,a,b,f=e + return [['warp',s,op,0,0] for op in reversed(word)]+[['add',t,s,a,b,0]]+[['warp',s,-op,0,0] for op in word] + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + def warp(e): + _,r,op,f0,f1=e + if isinstance(r,list):assert r[0]=='Z' and f0==f1==1 + else: + assert cur[r]==f0,('warp frame mismatch',r,cur[r],f0);cur[r]=f1 + event(['warp',reg(r),op,f0,f1]) + event(['phase','zero_frame_precondition']) + for e0 in c['precondition']+c['compensation']: + for e in expand(e0): + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] + hpe={r for r in range(2*v,n) if c['final'][r]!=1} + wrapped=sorted(set(entering)|hpe) + for r,f in enumerate(c['start']): + if r in wrapped:event(['residual_adapter','pre',r,f]+([c['final'][r]] if c['final'][r]!=1 else [])) + else: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')+(('cleanup_tail',) if c.get('tail') else ())+('final',): + event(['phase',part]) + if part in ('A','B','cleanup_tail'): + for e in (c['tail'] if part=='cleanup_tail' else c[part]): + if e[0]=='warp':warp(e);continue # BW: monomial reference change, no climb + for r in lregs(e):climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + lv=lambda r:c.get('target_levels',{}).get(str(r-v),0) + assert all(cur[r]==lv(r) for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];assert cur[r]==cf + terms=[e for e in c['cut'] if e[2]==r] + path=[cf]+sorted({lv(e[1]) for e in terms}-{cf},key=lambda x:-len(frames[x])) + C=['C',k] + if not back: + scal(['clear',C],cf);scal(['copy',C,['L',r]],cf) + for a in range(len(path)): + if a>0:event(['center',k,path[a-1],path[a],len(frames[path[a-1]])-len(frames[path[a]])]) + for e in terms: + if lv(e[1])==path[a]:scal(['add',['L',e[1]],C,e[3],e[4]],path[a]) + scal(['clear',C],path[-1]) + else: + scal(['clear',C],path[-1]) + for a in range(len(path)-1,-1,-1): + for e in terms: + if lv(e[1])==path[a]:scal(['add',C,['L',e[1]],e[3],e[4]],path[a]) + if a>0:event(['center',k,path[a],path[a-1],len(frames[path[a-1]])-len(frames[path[a]])]) + scal(['add',['L',r],C,-1,1],cf);scal(['clear',C],cf) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']): + if r not in hpe:event(['adapter','new_to_old',r,f]) + event(['phase','full_frame_cleanup']) + zb=c.get('zero_buffers',[]) + for z in zb:event(['zero_buffer','alloc',z]) # BW: private FULL-frame zero buffers stand in for the restored (hyperplane-ended) helpers + for e in c['cleanup']: + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['final'][r]==1 for r in regs) + assert all(r[0]=='Z' and r[1] in zb for r in [e[1]]+([e[2]] if e[0]=='add' else []) if isinstance(r,list)) + scal(scalar(e,back),1) + for z in zb:event(['zero_buffer','free',z]) + for r in wrapped:event(['residual_adapter','post',r,c['start'][r]]+([c['final'][r]] if r in hpe else [])) + event(['phase','done']) + return out + +def add_row(dst,src,q): + for j,x in src.items(): + z=dst.get(j,Q(0))+q*x + if z:dst[j]=z + else:dst.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def check_local(events,back): + # BW: literal scalar replay of the emitted stream in the free warp algebra (rows over (register, warp word)), centres and zero buffers. + state={('L',r):{(r,()):Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0;zlive=set();nwarp=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]=='zero_buffer': + z=e[2] + if e[1]=='alloc':assert z not in zlive;zlive.add(z);state['Z',z]={} + else:assert not state['Z',z] and z in zlive;zlive.remove(z) + elif e[0]=='warp': + t=tuple(e[1]);nwarp+=1;state[t]=warp_row(state[t],e[2]) + 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]={(var,w):x for (var,w),x in state.get(tuple(op[2]),{}).items()};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]) + add_row(row,state.get(s,{}),q) + assert not live and not zlive and all(not row for r,row in state.items() if r[0] in 'CZ') + for r in range(n): + expected={(r,()):Q(1)} + if back and r>i&1:out^=col + return out +def f2rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) +def extend(xs,hh): + out=list(xs) + for i in range(hh): + if f2rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(hh) for j in range(hh)) + permv=np.array([lin(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(hh))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(hh) for j in range(i+1,hh)) + for x in permv],dtype=np.int64)%4 + return permv,phase +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1<0 else -1);return frame(z,E,hh,1) +def recipe_matrix(rec,hh): + """Dense exact matrix (re, im, exp=0) of a serialized clifford_exact monomial (matrix_rows, quadratic_rows, linear_Z4, offset, phase): + |x> -> i^(qvalue(x)+phase) |G x ^ offset>, qvalue = sum alpha_i x_i + 2 sum_{i in x} parity((Q_i >> (i+1)) & (x >> (i+1))).""" + N=1<>i&1)+2*sum(((Q[i]>>(i+1))&(x>>(i+1))).bit_count()&1 for i in range(hh) if x>>i&1)+ph)%4 + re[y,x],im[y,x]=unit[q] + return re,im,0 +def equal_scaled(z,m): + """z (scaled by 2^exp) equals m (exp 0) entrywise exactly""" + re,im,exp=z;return bool(np.array_equal(re,m[0]<0 else K.adjoint() + op=ops[f0].adjoint().then(Ks).then(ops[f1]);rec,compiled=lower_child(op) + assert rec['rank']==0 and rec['right'] is None,('warp is not a monomial Clifford',sign,op_id,f0,f1) + Z=bw_gauss.warp_product(G,frames[f0],frames[f1],sign*op_id,n) + assert bw_gauss.equal_scaled(Z,bw_gauss.recipe_matrix(rec['left'],n)),('recipe differs from the exact column product',sign,op_id,f0,f1) + hist['warp']+=1;warps.append({'sign':sign,'op':op_id,'old':f0,'new':f1,'G_columns':G,**rec}) +raw=json.dumps({'children':recipes,'endpoint_adapters':adapters,'warps':warps},sort_keys=True,separators=(',',':')).encode() +(OUT/'CLIFFORD-RECIPES.json').write_bytes(raw) +result={'status':'PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES', + 'canonical_word_sha256':hashlib.sha256(P.read_bytes()).hexdigest(), + 'frames':len(frames),'directed_edges':len(edges),'ranks':{str(k):x for k,x in hist.items()}, + 'endpoint_adapters':len(adapters),'warp_recipes':len(warps),'warp_recipes_rank_zero':all(w['rank']==0 for w in warps), + 'warp_recipes_equal_exact_512_column_product':True, + 'all_child_equalities_include_global_phase':True, + 'recipe_sha256':hashlib.sha256(raw).hexdigest(),'seconds':time.monotonic()-start, + 'scope':'Every local frame, centre transition and warp. Expanded scalar-interface integration and global emitted program are separate obligations.'} +(OUT/'CLIFFORD-REVIEW.json').write_text(json.dumps(result,indent=2)+'\n') +print('PASS exact local phases',result['seconds'],'seconds',flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_tamper.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_tamper.py new file mode 100644 index 0000000000..a519863fd8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_tamper.py @@ -0,0 +1,58 @@ +"""Tamper controls of the native borrow chain. Every tampered BORROW-WORD / emitted artifact must be REJECTED by the chain. +usage: bw_tamper.py BORROW-WORD.json.gz NATIVE_LOCAL_DIR WORK_DIR [--files] (--files also reruns the heavier file-level stages)""" +import copy,gzip,json,os,shutil,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent +word_path=Path(sys.argv[1]).resolve();local=Path(sys.argv[2]).resolve();work=Path(sys.argv[3]).resolve();work.mkdir(parents=True,exist_ok=True) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 +def run(script,*args): + p=subprocess.run([sys.executable,'-B',str(HERE/script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,creationflags=flags) + return p.returncode,p.stdout.decode(errors='replace') +W=json.loads(gzip.decompress(word_path.read_bytes())) +results=[];t0=time.monotonic() +def word_tamper(name,fn,expect): + w=copy.deepcopy(W);fn(w);p=work/(name+'.json.gz');p.write_bytes(gzip.compress(json.dumps(w).encode())) + out=work/('out-'+name) + if out.exists():shutil.rmtree(out) + rc,log=run('bw_transport.py',p,out) + ok=rc!=0 and expect in log + results.append(dict(name=name,rejected=rc!=0,expected_reason=expect,reason_matches=expect in log,last_line=log.strip().splitlines()[-1][:200] if log.strip() else '')) + assert ok,(name,rc,log[-600:]) +def sw(g,i,j):g[i],g[j]=g[j],g[i] +first_cleanup_warp=lambda w:next(i for i,e in enumerate(w['cleanup']) if e[0]=='warp') +word_tamper('wrong_G_not_carrying_frame',lambda w:w['warps'][0].__setitem__(2,[w['warps'][0][2][0]^w['warps'][0][2][1]]+w['warps'][0][2][1:]),'G does not map the from frame onto the to frame') +word_tamper('non_invertible_G',lambda w:w['warps'][0][2].__setitem__(1,w['warps'][0][2][0]),'non-invertible G') +word_tamper('missing_inverse_warp_in_cleanup',lambda w:w['cleanup'].pop(first_cleanup_warp(w)),'arbitrary-input endpoint') +word_tamper('missing_forward_warp',lambda w:w['warps'].pop(0),'') +word_tamper('frame_mismatch_from_basis',lambda w:w['warps'][0].__setitem__(3,next(x[3] for x in w['warps'] if sorted(x[3])!=sorted(w['warps'][0][3]) and len(x[3])==len(w['warps'][0][3]))),'') +word_tamper('inverse_warp_sign_flipped',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],abs(w['cleanup'][first_cleanup_warp(w)][2]),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_wrong_operator',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],-(abs(w['cleanup'][first_cleanup_warp(w)][2])%len(w['warps'])+1),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_on_wrong_register',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',(w['cleanup'][first_cleanup_warp(w)][1]+1)%(w['report']['v']*2),w['cleanup'][first_cleanup_warp(w)][2],w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('warp_moved_after_its_first_use',lambda w:w['warps'][0].__setitem__(0,w['warps'][0][0]+5),'') +if W['initial_corrections']: + word_tamper('initial_correction_sign_flipped',lambda w:w['initial_corrections'][0].__setitem__('coefficient',str(-__import__('fractions').Fraction(w['initial_corrections'][0]['coefficient']))),'arbitrary-input endpoint') + word_tamper('initial_correction_dropped',lambda w:w['initial_corrections'].pop(0),'arbitrary-input endpoint') + word_tamper('initial_correction_wrong_operator',lambda w:w['initial_corrections'][0].__setitem__('operator_word',[w['initial_corrections'][0]['operator_word'][0]%len(w['warps'])+1]),'arbitrary-input endpoint') +word_tamper('zero_buffer_gate_dropped',lambda w:w['cleanup'].pop(next(i for i,e in enumerate(w['cleanup']) if e[0]=='add' and e[1]>=2*w['report']['v']+w['report']['R'])),'arbitrary-input endpoint') +if '--files' in sys.argv: + def file_tamper(name,script,files,mutate,expect_fail=True): + d=work/('files-'+name) + if d.exists():shutil.rmtree(d) + shutil.copytree(local,d);mutate(d) + rc,log=run(script,d,*[]) if script!='bw_adapters.py' else run(script,d/'CANONICAL-WORD.json.gz',d/'RESIDUAL-ADAPTERS.json',d/'WRAPPER-CHECKS.json') + results.append(dict(name=name,rejected=rc!=0,last_line=log.strip().splitlines()[-1][:200] if log.strip() else ''));assert rc!=0,(name,log[-400:]) + def edit_json(path,fn,gz=False): + d=json.loads(gzip.decompress(path.read_bytes()) if gz else path.read_text());fn(d) + path.write_bytes(gzip.compress(json.dumps(d,sort_keys=True,separators=(',',':')).encode(),mtime=0) if gz else json.dumps(d,sort_keys=True,separators=(',',':')).encode()) + def recipe_phase(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left'].__setitem__('phase',(next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left']['phase']+1)%4)) + def recipe_drop_inverse(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:r['warps'].pop(next(i for i,x in enumerate(r['warps']) if x['sign']<0))) + def recipe_swap_G(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0).__setitem__('G_columns',next(x for x in r['warps'] if x['sign']>0)['G_columns'][::-1])) + def prog_drop_warp(d):edit_json(d/'LOCAL-PROGRAMS.json.gz',lambda p:p['forward'].pop(next(i for i,e in enumerate(p['forward']) if e[0]=='warp' and e[2]<0 and i>len(p['forward'])//2)),gz=True) + def prog_wrong_G(d):edit_json(d/'CANONICAL-WORD.json.gz',lambda c:c['warps'][0].__setitem__('G_columns',c['warps'][0]['G_columns'][::-1]),gz=True) + file_tamper('recipe_phase_tampered','bw_check_recipes.py',None,recipe_phase) + file_tamper('recipe_inverse_missing','bw_check_recipes.py',None,recipe_drop_inverse) + file_tamper('recipe_G_tampered','bw_check_recipes.py',None,recipe_swap_G) + file_tamper('program_missing_inverse_warp','bw_audit_local.py',None,prog_drop_warp) + file_tamper('word_G_reversed','bw_audit_local.py',None,prog_wrong_G) +(work/'TAMPER-RESULTS.json').write_text(json.dumps(dict(status='PASS_ALL_TAMPERS_REJECTED',tampers=results,seconds=time.monotonic()-t0),indent=1)+'\n') +print('PASS all',len(results),'tampers rejected in',round(time.monotonic()-t0,1),'s') diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_transport.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_transport.py new file mode 100644 index 0000000000..08248542b1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/bw_transport.py @@ -0,0 +1,416 @@ +"""Transport an explicit BORROW-WORD to the native canonical frame-id form, with warps, and replay it exactly. + +Anticipatory dirty borrowing is the construction of PR2226 (Cinna Davis, @1337isnot1337, with OpenAI Codex +assistance; Apache-2.0): a retiring helper's register is lent to a later helper through a monomial Clifford +logical reference change K_G ("warp"), the retired field's value being replaced by K_G z. The explicit +chronological BORROW-WORD (canonical coordinates, literal frames, warps, cold restoration, inverse cleanup +with private zero buffers) is the builder output of the borrowing work (P1/P2). This script is the +transport stage of the native chain (the analogue of hpe_audit_and_transport.py): it never trusts the builder. +It replays the program in the free operator algebra generated by the warps over every arbitrary input, +in BOTH orientations (forward and inverse-transpose), checks every frame chain and the paid profile, compacts +the helper registers to R' = R - k, and writes the native CANONICAL-WORD. + +usage: bw_transport.py BORROW-WORD.json[.gz] OUT_DIR +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import argparse +import copy +import gzip +import hashlib +import json +import sys +import time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def basis(vs): + pivots = {} + for x in vs: + for k in sorted(pivots, reverse=True): + if x >> k & 1: + x ^= pivots[k] + if x: + k = x.bit_length() - 1 + for j in pivots: + if pivots[j] >> k & 1: + pivots[j] ^= x + pivots[k] = x + return tuple(pivots[k] for k in sorted(pivots, reverse=True)) + + +def span(b): + s = {0} + for x in b: + s |= {t ^ x for t in s} + return frozenset(s) + + +def rank_of(vs): + return len(basis(vs)) + + +def solve_G(cols, h): + """G given as images of e_i; returns (invertible?, image-of-subspace function).""" + def lin(x): + out = 0 + for i, c in enumerate(cols): + if x >> i & 1: + out ^= c + return out + return lin, rank_of(cols) == h + + +# ---- free operator algebra over the warps ------------------------------------------------------------------ +def add_row(dst, src, c): + for key, value in list(src.items()): + z = dst.get(key, Q(0)) + c * value + if z: + dst[key] = z + elif key in dst: + del dst[key] + + +def warp_row(row, op): + out = {} + for (var, word), value in row.items(): + word = word[1:] if word and word[0] == -op else (op,) + word + out[var, word] = value + return out + + +def is_dyadic(q): + return q.denominator & (q.denominator - 1) == 0 + + +def gate_regs(e): + if e[0] == 'add': + return [e[1], e[2]] + if e[0] == 'scale': + return [e[1]] + raise AssertionError(e[0]) + + +def dual(e): + e = list(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + e[3] = -e[3] + elif e[0] == 'scale': + e[2], e[3] = e[3], e[2] + return e + + +def apply_gate(e, rows, back): + if back: + e = dual(e) + if e[0] == 'scale': + q = Q(e[2], e[3]) + assert q + rows[e[1]] = {j: q * x for j, x in rows[e[1]].items()} + else: + assert e[1] != e[2] + add_row(rows[e[1]], rows[e[2]], Q(e[3], e[4])) + + +def run(word_path, out): + t0 = time.monotonic() + word = read(word_path) + assert word['kind'] == 'BORROW-WORD' + v, h, R0 = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 + n0 = 2 * v + R0 + removed = sorted(word['removed']) + assert all(2 * v <= r < n0 for r in removed) and len(set(removed)) == len(removed) + k = len(removed) + kept = [r for r in range(n0) if r not in set(removed)] + newid = {r: i for i, r in enumerate(kept)} + n = len(kept) + R = R0 - k + assert n == 2 * v + R + Zbase = n0 # builder convention: zero buffer of restored c is register n0 + c + ports = word['ports'] + assert len(set(ports)) == v + full = tuple(1 << i for i in range(h - 1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def R_(r): # register -> new register (int) or ['Z', c] + if isinstance(r, list): + return r + if r >= Zbase: + return ['Z', newid[r - Zbase]] + return newid[r] + + start = [fid([p]) for p in ports] + [0] * (v + R) + for r, frame in word['start_extra'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + start[newid[int(r)]] = fid(frame) + final = [1] * v + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + [1] * R + helper_final = {} + for r, frame in word['helper_final'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + helper_final[newid[int(r)]] = fid(frame) + final[newid[int(r)]] = helper_final[newid[int(r)]] + zero_buffers = sorted(helper_final) # every restored (hyperplane-ended) helper is replaced by a private zero buffer in the FULL cleanup + + def gate(e): + e = copy.deepcopy(e) + # Four-low lifted-target port (PR2436 mechanism): literal A-phase warp after the entry adapters. + if e[0] == 'warp': + assert len(e) == 5 + return ['warp', R_(e[1]), e[2], fid(e[3]), fid(e[4])] + if e[0] == 'add': + e[1], e[2] = R_(e[1]), R_(e[2]) + else: + e[1] = R_(e[1]) + e[-1] = None if e[-1] is None else fid(e[-1]) + return e + + # warps: operator table; op id = position + 1; G given by images of the basis vectors + warps = [] + for i, (pos, lender, G, frm, to) in enumerate(word['warps']): + warps.append({'op': i + 1, 'B_pos': pos, 'lender': newid[lender], 'G_columns': list(G), + 'from_frame': fid(frm), 'to_frame': fid(to)}) + byp = {} + for w_ in warps: + byp.setdefault(w_['B_pos'], []).append(w_) + + def warp_event(r, op, f0, f1): + return ['warp', r, op, f0, f1] + + # compensation (zero frame): initial corrections first, as twisted additions t += c * W(s) + pre = [] + for term in word['initial_corrections']: + q = Q(term['coefficient']) + pre.append(['tadd', newid[term['target']], newid[term['source']], list(term['operator_word']), + q.numerator, q.denominator, 0]) + precondition = pre + [gate(e) for e in word['precondition']] # the formal initial corrections come first (PR2226 order) + compensation = [gate(e) for e in word['compensation']] + A = [gate(e) for e in word['A']] + cut = [gate(e) for e in word['cut']] + B = [] + for p in range(len(word['B']) + 1): + for w_ in sorted(byp.get(p, []), key=lambda x: x['op']): + B.append(warp_event(w_['lender'], w_['op'], w_['from_frame'], w_['to_frame'])) + if p < len(word['B']): + B.append(gate(word['B'][p])) + assert sum(1 for e in B if e[0] == 'warp') == len(warps) + tail = [gate(e) for e in word['restore']] + cleanup = [] + for e in word['cleanup']: + if e[0] == 'warp': + cleanup.append(warp_event(R_(e[1]), e[2], 1, 1)) + assert basis(e[3]) == full + else: + cleanup.append(gate(e)) + centers = [newid[r] for r in word['centers']] + center_frames = [fid(f) for f in word['center_frames']] + levels = {str(t): fid(f) for t, f in word['target_levels'].items()} + + canonical = dict(h=h, v=v, R=R, ports=ports, frames=frames, start=start, final=final, + precondition=precondition, compensation=compensation, A=A, cut=cut, B=B, tail=tail, + cleanup=cleanup, centers=centers, center_frames=center_frames, target_levels=levels, + warps=warps, zero_buffers=zero_buffers, removed=removed, helper_origin=kept[2 * v:], + borrow=dict(k=k, base=word.get('base'), original_helpers=R0)) + # ---- exact scalar replay in the free algebra over the warps (both orientations) ----------------------------------- + nz = len(zero_buffers) + + def regkey(r): + return tuple(r) if isinstance(r, list) else ('L', r) + + def expand_tadd(e): + _, t, s, wordops, a, b, f = e + ev = [warp_event(s, op, 0, 0) for op in reversed(wordops)] + ev.append(['add', t, s, a, b, 0]) + ev += [warp_event(s, -op, 0, 0) for op in wordops] + return ev + + def program(): + yield 'pre', [x for e in precondition + compensation for x in (expand_tadd(e) if e[0] == 'tadd' else [e])] + yield 'A', A + yield 'A', cut + yield 'B', B + yield 'tail', tail + yield 'cleanup', cleanup + + def fullprog(): + return [(part, e) for part, es in program() for e in es] + prog = fullprog() + for back in (False, True): + rows = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for c in zero_buffers: + rows[('Z', c)] = {} + for part, e in prog: + if e[0] == 'warp': + key = ('L', e[1]) if not isinstance(e[1], list) else tuple(e[1]) + rows[key] = warp_row(rows[key], e[2]) + else: + if e[0] == 'add': + src, dst = regkey(e[2]), regkey(e[1]) + a, b = e[3], e[4] + if back: + src, dst, a = dst, src, -a + assert src != dst + add_row(rows[dst], rows[src], Q(a, b)) + else: + key = regkey(e[1]) + a, b = (e[3], e[2]) if back else (e[2], e[3]) + q = Q(a, b) + assert q + rows[key] = {j: q * x for j, x in rows[key].items()} + expected = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for t in range(v): + if back: + expected[('L', t)][(v + t, ())] = Q(-1) + else: + expected[('L', v + t)][(t, ())] = Q(1) + for c in zero_buffers: + expected[('Z', c)] = {} + bad = [key for key in expected if rows[key] != expected[key]] + assert not bad, ('arbitrary-input endpoint (free warp algebra)', back, bad[:8]) + # dyadic primitives + for part, e in prog: + if e[0] == 'add': + assert is_dyadic(Q(e[3], e[4])) + elif e[0] == 'scale': + q = Q(e[2], e[3]) + a = abs(q.numerator) + assert is_dyadic(q) and a and a & (a - 1) == 0 + + wrapped_regs = {r for r in range(2 * v, n) if start[r] != 0 or final[r] != 1} # entering or hyperplane-ended helpers carry wrappers + # ---- frame chains, paid profile, edges, warps ------------------------------------------------------------------- + contains = lambda a, b: basis(frames[a] + frames[b]) == tuple(frames[b]) + cur = start.copy() + paid, edges = Counter(), set() + wsum = {w_['op']: w_ for w_ in warps} + G_of = {} + for w_ in warps: + lin, inv_ = solve_G(w_['G_columns'], h) + assert inv_, ('non-invertible G', w_['op']) + img = basis([lin(x) for x in frames[w_['from_frame']]]) + assert img == tuple(frames[w_['to_frame']]), ('G does not map the from frame onto the to frame', w_['op']) + assert len(frames[w_['from_frame']]) == len(frames[w_['to_frame']]) + G_of[w_['op']] = lin + warp_edges = set() + + def regs_of(e): + return [r for r in gate_regs(e) if not isinstance(r, list)] + + def climb(r, f): + old = cur[r] + assert contains(old, f), ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + paid[degree] += 1 + edges.add((old, f)) + cur[r] = f + + def do_warp(e): + _, r, op, f0, f1 = e + if isinstance(r, list): + assert r[0] == 'Z' + assert f0 == f1 == 1 + return + assert cur[r] == f0, ('warp frame mismatch', r, op, cur[r], f0) + a = abs(op) + lin = G_of[a] + if op > 0: + ok = basis([lin(x) for x in frames[f0]]) == tuple(frames[f1]) + else: + ok = basis([lin(x) for x in frames[f1]]) == tuple(frames[f0]) + assert ok, ('warp G does not carry the frame', op, f0, f1) + cur[r] = f1 + warp_edges.add((1 if op > 0 else -1, a, f0, f1)) + + # zero-frame phase + for e in precondition + compensation: + if e[0] == 'tadd': + assert start[e[2]] == 0 and start[e[1]] == 0 and e[-1] == 0 and e[2] not in set(wrapped_regs) and all(op != 0 for op in e[3]) + for ev in expand_tadd(e): + if ev[0] == 'warp': + do_warp(ev) # frame 0 -> 0: K_G itself is the physical operator + continue + for r in regs_of(e): + assert start[r] == 0 and e[-1] == 0, ('zero-frame precondition on a nonzero entrance', e) + for part in ('A', 'B'): + if part == 'B': + assert all(cur[r] == f for r, f in zip(centers, center_frames)) + assert all(cur[v + t] == levels.get(str(t), 0) for t in range(v)) + for r, frame in zip(centers, center_frames): + served = {levels.get(str(e[1] - v), 0) for e in cut if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert contains(f, old) + if old != f: + paid[len(frames[old]) - len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in (A if part == 'A' else B): + if e[0] == 'warp': + do_warp(e) + else: + for r in regs_of(e): + climb(r, e[-1]) + for e in tail: + for r in regs_of(e): + climb(r, e[-1]) + for r, f in enumerate(final): + climb(r, f) + for e in cleanup: + if e[0] == 'warp': + do_warp(e) + continue + for r in gate_regs(e): + if isinstance(r, list): + assert r[0] == 'Z' and r[1] in set(zero_buffers) and e[-1] == 1 + else: + assert final[r] == 1 and e[-1] == 1, ('cleanup on a non-FULL end', e) + assert all(len(frames[final[r]]) < h for r in zero_buffers) + assert set(zero_buffers) == set(helper_final) + rep = word['report'] + assert dict(paid) == {int(r): c for r, c in rep['local_profile'].items()}, ('paid profile differs', dict(paid), rep['local_profile']) + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + canonical['warp_edges'] = sorted(warp_edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out / 'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + raw = word_path.read_bytes() + (out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(gzip.decompress(raw) if word_path.suffix == '.gz' else raw, mtime=0)) + receipt = dict(status='PASS_BORROW_WORD_FREE_ALGEBRA_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=hashlib.sha256(gzip.decompress(raw) if word_path.suffix == '.gz' else raw).hexdigest(), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=R, original_helpers=R0, removed_helpers=k, + zero_buffers=nz, warps=len(warps), warp_events=sum(e[0] == 'warp' for part, e in prog), + initial_corrections=len(word['initial_corrections']), + scalar_operations=len([1 for p, e in prog if e[0] != 'warp']), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r * z for r, z in paid.items()), + widths=[len(frames[final[r]]) - len(frames[start[r]]) for r in range(2 * v, n)], + frames=len(frames), directed_edges=len(edges), warp_edge_classes=len(warp_edges), + seconds=time.monotonic() - t0, + scope='Fresh exact forward and inverse-transpose replay over a free noncommutative warp algebra on every arbitrary input, native frame chains, dyadic primitives, zero buffers returned to zero. Physical Clifford exactness of every warp is checked by the local replay and the phase recipes.') + (out / 'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2) + '\n') + print(json.dumps({k_: x for k_, x in receipt.items() if k_ != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('word', type=Path) + ap.add_argument('out', type=Path) + a = ap.parse_args() + run(a.word, a.out) diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md new file mode 100644 index 0000000000..5ea70357a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md @@ -0,0 +1,22 @@ +# Attribution and license + +New construction, proof text and checkers: Cinna Davis (@1337isnot1337), with +substantial OpenAI Codex assistance, Apache-2.0. + +The selected complex canonical word is the PR1042 ancestry retained in PR1094. +Jeremy Kothe, Rohan Arun, Hao Yan, Chafik Boukhalfa, icekylinx, Jonathan Capalbo +and the source package's full provider/frame/controller lineage retain credit. +Ali Romman supplied the source-bound fixed-block theorem and certificate; +Thomas DiFiore supplied the earlier block discovery. The borrowing construction +does not attribute its changed interface to those predecessor results. + +`price_engine.py` is an unchanged copy of the incorporated +`research/complex-local-word-ceiling/ceiling.py`: Douglas Colkitt, with Claude +(Anthropic) assistance; original SPDX/license context and docstring retained. +General Clifford frame and exact Gaussian normal forms are inherited from +`notes/general-clifford-frames.tex` and the repository's credited phase/compiler +lineage. The package independently checks its actual local Gaussian products. + +Source hashes, base commits and the copied engine's Git blob are in SOURCES.json. +No full native supplier, all-size compiler, precision theorem or new kappa is +claimed. No independent human review is claimed. diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/vendor/native/new/code/borrow/vendor/clifford/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<>i&1:out^=c + return out + + +def rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) + + +def extend(xs,h): + out=list(xs) + for i in range(h): + if rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(h) for j in range(h)) + perm=np.array([linear(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(h))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(h) for j in range(i+1,h)) + for x in perm],dtype=np.int64)%4 + return perm,phase + + +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp + + +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1< emit -> independent replay -> wrappers -> phases (+ independent warp-recipe recheck). +Same step layout and STEPS.json as the lineage replay_native.py; usage: run_native_borrow.py BORROW-WORD.json[.gz] WORK_DIR (WORK_DIR must not exist).""" +import json,os,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent/'code/borrow' +word=Path(sys.argv[1]).resolve();work=Path(sys.argv[2]).resolve();work.mkdir(parents=True,exist_ok=False);local=work/'local' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0');env.pop('PYTHONOPTIMIZE',None) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 # windowless, IDLE priority +steps=[] +for label,script,args in [('native',HERE/'bw_transport.py',[word,local]),('ledgers',HERE/'bw_emit.py',[local]), + ('local-replay',HERE/'bw_audit_local.py',[local]), + ('wrappers',HERE/'bw_adapters.py',[local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json']), + ('phases',[HERE/'bw_phases.py',HERE/'bw_check_recipes.py'],[local])]: # phases = exact lowering, then the independent warp-recipe recheck + t=time.monotonic();log=b'' + for script in (script if isinstance(script,list) else [script]): + p=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,env=env,creationflags=flags) + log+=p.stdout + if p.returncode:break + (work/(label+'.log')).write_bytes(log) + steps.append(dict(step=label,exit_code=p.returncode,seconds=time.monotonic()-t));(work/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n') + assert p.returncode==0,(label,log.decode(errors='replace')[-4000:]) + print('PASS',label,round(steps[-1]['seconds'],1),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/fastnative/verify.py b/research/gmx-t74-borrow43-handoff/new/fastnative/verify.py new file mode 100644 index 0000000000..0c311cd6e7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/fastnative/verify.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Fresh complete native replay against the pinned PR2751 reference outputs.""" +import argparse +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from common import HERE, need, sha, source_bytes +from compare import canonical, normalized + + +def main(): + need(__debug__, 'assertions must remain enabled') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--provider', choices=('base', 'extra'), default='base') + parser.add_argument('--relocate', action='store_true', help='replay a Git-free copy in a path with spaces') + args = parser.parse_args() + if args.relocate: + with tempfile.TemporaryDirectory(prefix='t74-relocate-') as temporary: + root = Path(temporary) + package = root / 'package with spaces' + shutil.copytree(HERE, package, ignore=shutil.ignore_patterns('__pycache__')) + need(not (root / '.git').exists(), 'Git-free relocation') + subprocess.run([sys.executable, '-I', '-B', str(package / 'verify.py'), + '--provider', args.provider], cwd=root, check=True) + print('PASS_T74_NATIVE_FAST_GIT_FREE_RELOCATION', args.provider) + return + source_bytes(HERE / 'vendor') + word = HERE / f'fixtures/WORD-{args.provider}.json.gz' + pins = json.loads((HERE / 'PINS.json').read_text()) + need(sha(word.read_bytes()) == pins[word.relative_to(HERE).as_posix()], 'fixture digest') + expected = json.loads((HERE / 'EXPECTED.json').read_text())[args.provider] + with tempfile.TemporaryDirectory(prefix='t74-native-fast-') as temporary: + work = Path(temporary) / 'replay' + subprocess.run([sys.executable, '-I', '-B', str(HERE / 'run_native.py'), + str(word), str(work)], check=True) + local = work / 'native/local' + output = normalized(local) + need(sha(canonical(output)) == expected['normalized_sha256'], 'all native outputs match reference') + need(sha((local / 'CLIFFORD-RECIPES.json').read_bytes()) == expected['recipe_bytes_sha256'], 'recipe bytes') + need(output['WARP-RECIPE-CHECKS.json'] == expected['coverage'], 'independent warp coverage') + if args.provider == 'base': + from controls import check + check(local) + print('PASS_T74_NATIVE_FAST_REFERENCE_AND_CONTROLS', args.provider) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/new/gauge44-word-566.json.gz b/research/gmx-t74-borrow43-handoff/new/gauge44-word-566.json.gz new file mode 100644 index 0000000000..76c01583a0 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/gauge44-word-566.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/pivotcheck.py b/research/gmx-t74-borrow43-handoff/new/pivotcheck.py new file mode 100644 index 0000000000..d7773966f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/pivotcheck.py @@ -0,0 +1,62 @@ +"""Sign-aware exactness check for pivot-kernel steps (generalises rebuild.py's `inserted_reads_where_pivot_is_initial`). + +Correctness of a kernel step rests on EXACT equality of the complete B + early-cleanup map over every register (exact Fractions) and on the +remaining cleanup being identical (both taken unchanged from rebuild.py's `analyse`), plus the real audits. The retained rebuild.py also demands +that every inserted read of the pivot q sees q's initial value (q's row == identity) and that q is written exactly twice. Some pivots (e.g. 554) +are restored by two early-cleanup gates, the second of which is `scale q by -1`, so after the restore q holds -q. A read placed there is still +exact when its coefficient is taken with that sign. This module therefore checks: every inserted read sees q's row = s*I with s in {+1,-1} +(rows(seq[:p])[q] == {q: s}); the map check then proves the coefficients carry the right sign. A negative control (all tail gates with their +coefficients negated, i.e. the sign NOT accounted) must FAIL the map check. +""" +from fractions import Fraction as Q +import copy + +def _seq(RB, B1, C1, E1): + return list(B1) + [C1[i] for i in E1] + +def check_signed(RB, name, base, new, edit, q): + B1, C1, E1 = RB.compile_edits(base, edit) + res = dict(word=name) + res['scalar_program_matches'] = (B1 == [RB.ops(g) for g in new['B']] and C1 == [RB.ops(g) for g in new['cleanup']] and E1 == [i for i, U in new['early_cleanup']]) + res['interfaces_identical'] = all(base.get(k) == new.get(k) for k in RB.INTERFACE) + a = RB.analyse(base, B1, C1, E1, q) + seq = _seq(RB, B1, C1, E1) + signs = {} + for p in a['new_read_positions']: + row = RB.rows(seq[:p]).get(q, {q: Q(1)}) + signs[p] = (int(row[q]) if (len(row) == 1 and q in row and row[q] in (1, -1)) else None) + a['inserted_read_signs'] = {str(p): s for p, s in signs.items()} + a['inserted_reads_see_signed_identity'] = all(s is not None for s in signs.values()) + a['inserted_read_q_rows'] = {str(p): {str(k): str(v) for k, v in RB.rows(seq[:p]).get(q, {q: Q(1)}).items()} for p in signs} + a['inserted_read_effective_coefficients'] = {str(p): (str(Q(seq[p][3], seq[p][4]) * signs[p]) if signs[p] is not None else None) for p in signs} + a['exact'] = (a['b_tail_map_rows_differing'] == 0 and a['remaining_cleanup_identical'] and a['inserted_reads_see_signed_identity']) + res.update(a) + res['pass'] = res['scalar_program_matches'] and res['interfaces_identical'] and res['exact'] + return res + +def _coef(g): return Q(g[3], g[4]) + +def _set_coef(g, c): + c = Q(c); g[3], g[4] = c.numerator, c.denominator + +def _map_fails(RB, base, ed2, q): + B1, C1, E1 = RB.compile_edits(base, ed2) + return RB.analyse(base, B1, C1, E1, q)['b_tail_map_rows_differing'] > 0 + +def tamper_controls(RB, base, edit, q): + """Controls that must all FAIL the exact map check: (a) sign not accounted: every new gate's coefficient negated; (b) sign not accounted + on the tail gates only; (c) each single new gate's coefficient moved by one dyadic step (x2). Returns dict name -> failed(bool); all must be True.""" + out = {} + def gates(ed): return [g for _, g in ed.get('insert', [])] + [g for _, g in ed.get('tail', [])] + ed = copy.deepcopy(edit) + for g in gates(ed): _set_coef(g, -_coef(g)) + out['all_new_gates_sign_flipped'] = _map_fails(RB, base, ed, q) + if edit.get('tail'): + ed = copy.deepcopy(edit) + for _, g in ed['tail']: _set_coef(g, -_coef(g)) + out['tail_gates_sign_flipped'] = _map_fails(RB, base, ed, q) + n = len(gates(edit)) + for k in range(n): + ed = copy.deepcopy(edit); g = gates(ed)[k]; _set_coef(g, 2 * _coef(g)) + out['gate%d_coefficient_x2' % k] = _map_fails(RB, base, ed, q) + return out diff --git a/research/gmx-t74-borrow43-handoff/new/rebind.py b/research/gmx-t74-borrow43-handoff/new/rebind.py new file mode 100644 index 0000000000..a0453d3e95 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebind.py @@ -0,0 +1,59 @@ +"""rebind.py: rebind PR1319's T74 data (PLAN/SPEC) to new native provider directories with UNCHANGED interfaces (ports, +centres, widths), for discovery -> unpin -> freeze -> strict replay. Updates only provider-derived fields: +provider_registry..{actual_paid_profile, artifact_semantic_sha256, artifact_sha256, orientation_program_sha256}, +provider_calls[*].local_program_sha256, PLAN.profile (recomputed from the dispatch and the new local paid profiles plus the +unchanged idle remainder), and SPEC.data.plan_sha256 / SPEC.expected.global_profile. +usage: rebind.py PR1319_PKG_DIR GAUGE44_LOCAL EXTRA_LOCAL OUT_DATA_DIR (also writes PROFILE.json with the new global profile)""" +import collections, gzip, hashlib, json, shutil, sys +from pathlib import Path +pkg, loc_g, loc_e, out = map(Path, sys.argv[1:5]); sys.path.insert(0, str(pkg / 'code')) +from generated_identity import artifact_identities +def rd(p): return json.loads(gzip.decompress(p.read_bytes()) if p.suffix == '.gz' else p.read_bytes()) +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() +out.mkdir(parents=True, exist_ok=False) +for n in ['PLAN.json', 'PROFILE.json', 'OWNERS.json.gz', 'DISPATCH.json', 'CONSTRUCTION.json', 'GLOBAL-TEMPLATE.json.gz']: shutil.copy2(pkg / n, out / n) +plan = rd(pkg / 'PLAN.json'); spec = rd(pkg / 'new/SPEC.json'); old_profile = dict(plan['profile']) # SPEC base = the frozen outer-refinement new/SPEC.json (rebound fields only are rewritten) +locs = {'gauge44': loc_g, 'extra': loc_e}; counts = collections.Counter(c['provider'] for c in plan['provider_calls']); changes = {} +for pid, d in locs.items(): + desc = plan['provider_registry'][pid]; word = rd(d / 'CANONICAL-WORD.json.gz'); checks = rd(d / 'LOCAL-CHECKS.json') + assert word['ports'] == desc['ports'] and word['centers'] == desc['centers'], pid + widths = [len(word['frames'][word['final'][r]]) - len(word['frames'][word['start'][r]]) for r in range(2 * 112, 2 * 112 + word['R'])] + if widths != desc['widths']: # width-changing rebind (borrowed words): helper count/widths come from the native word + assert len(widths) == word['R'], pid + desc['widths'] = widths + for c in plan['per_call_widths']: + if plan['provider_calls'][c['time']]['provider'] == pid: c['widths'] = widths + new = dict(actual_paid_profile={str(k): v for k, v in sorted({int(k): v for k, v in checks['forward']['paid_profile'].items()}.items())}, + artifact_semantic_sha256=artifact_identities(d), + artifact_sha256={name: sha(d / name) for name in desc['artifact_sha256']}, + orientation_program_sha256={o: checks[o]['sha256'] for o in ('backward', 'forward')}) + changes[pid] = {k: (desc.get(k), v) for k, v in new.items() if desc.get(k) != v} + desc.update(new) + for c in plan['provider_calls']: + if c['provider'] == pid: c['local_program_sha256'] = checks[c['orientation']]['sha256'] +prof = collections.Counter() +for pid, n in counts.items(): + for r, v in plan['provider_registry'][pid]['actual_paid_profile'].items(): prof[int(r)] += n * v +idle = {int(r): v for r, v in rd(pkg / 'CONSTRUCTION.json')['idle'].items()} # exact idle ranks of the shipped owner fill +for r, v in idle.items(): prof[r] += v +new_profile = {str(k): v for k, v in sorted(prof.items())} +# sanity: the recomputation reproduces the OLD profile from the OLD local profiles +oldp = collections.Counter() +for pid, n in counts.items(): + for r, v in rd(pkg / 'PLAN.json')['provider_registry'][pid]['actual_paid_profile'].items(): oldp[int(r)] += n * v +for r, v in idle.items(): oldp[r] += v +assert {str(k): v for k, v in oldp.items()} == {k: v for k, v in old_profile.items()}, 'profile recomputation rule mismatch' +plan['profile'] = new_profile +(out / 'PROFILE.json').write_text(json.dumps(new_profile, separators=(',', ':')) + '\n') +(out / 'PLAN.json').write_text(json.dumps(plan, indent=2) + '\n') +spec['data']['plan_sha256'] = sha(out / 'PLAN.json'); spec['data']['owners_sha256'] = sha(pkg / 'OWNERS.json.gz'); spec['expected']['global_profile'] = new_profile +roles = rd(pkg / 'OWNERS.json.gz'); R = len(next(iter(plan['provider_registry'].values()))['widths']) +spec['expected'].update(idle_remainder_profile={str(k): v for k, v in sorted(idle.items())}, idle_remainders=sum(idle.values()), hosted_residuals=len(roles), + cross_replica_helper_roles=sum(z['replica'] != z['owner_replica'] for z in roles), physical=spec['expected']['live'] + 8 + R + 2) +for pid, desc in plan['provider_registry'].items(): spec['providers'].setdefault(pid, {})['inventory'] = {str(k): v for k, v in sorted(collections.Counter(desc['widths']).items())} +piv = {x['pivot'] for x in rd(pkg / spec['pivot_swap']['recipe'])['swaps']} # same expectation as code/witness.py spot_widths() +assert all(desc['widths'][h] == (9 if 2 * 112 + h in piv else 8) for desc in plan['provider_registry'].values() for h in spec['width_spot_helpers']), 'spot helper width pins' +(out / 'SPEC.json').write_text(json.dumps(spec, indent=2) + '\n') +json.dump(dict(provider_counts=counts, old_profile=old_profile, new_profile=new_profile, changed_fields={p: sorted(c) for p, c in changes.items()}, + new_paid={p: plan['provider_registry'][p]['actual_paid_profile'] for p in locs}), open(out / 'REBIND.json', 'w'), indent=1, sort_keys=True) +print('provider counts', dict(counts), '| new profile', new_profile, '| changed', {p: sorted(c) for p, c in changes.items()}) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild.py b/research/gmx-t74-borrow43-handoff/new/rebuild.py new file mode 100644 index 0000000000..e266314dd4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild.py @@ -0,0 +1,88 @@ +"""rebuild.py: standard-library exactness check of the pivot-566 helper-donor kernel on PR1297's two local words. + +For each word (gauge44 = base, extra) it + 1. applies inputs/EDITS.json to PR1297's pinned word with the build_tri/harness edit semantics (B deletes and inserts + indexed by the ORIGINAL B; early-cleanup tail inserts appended to cleanup and spliced into early_cleanup in + ascending order) and checks that the scalar program (every gate without its frame annotation, the cleanup list + and the early-cleanup order) equals the shipped word in inputs/; + 2. checks that A, cut, precondition, ports, centres, start_extra and helper_final are byte-identical (interfaces); + 3. computes the complete linear map of B + early cleanup over every register with exact Fractions for both words + and checks equality (the edit only rewires reads of pivot 566), and that the remaining cleanup is identical; + 4. checks that every inserted read of 566 lies where 566 holds its initial value (before its B write at the + original B866, or after the early-cleanup gate that restores it). +Frame annotations of the shipped words are NOT rederived here; the unchanged audit_local.py and the native chain +check them (see verify.py). usage: python3 -B rebuild.py [--edits PATH] [--json OUT]""" +import argparse, gzip, json, sys +from fractions import Fraction as Q +from pathlib import Path +PKG = Path(__file__).resolve().parent; ROOT = PKG.parent +SRC = ROOT / 'vendor/pr1297' +WORDS = {'gauge44': (SRC / 'gauge44-word.json.gz', PKG / 'gauge44-word-566.json.gz'), + 'extra': (SRC / 'extra-word.json.gz', PKG / 'extra-word-566.json.gz')} +INTERFACE = ('A', 'cut', 'precondition', 'ports', 'centers', 'center_frames', 'start_extra', 'helper_final', 'root_lines', 'scatter', 'target_levels') +def load(p): return json.loads(gzip.decompress(Path(p).read_bytes())) +def ops(g): return list(g[:-1]) +def compile_edits(w, ed): + B = w['B']; dele = set(ed['delete']); at = {} + for p, g in ed['insert']: at.setdefault(p, []).append(ops(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i not in dele: out.append(ops(e)) + out.extend(at.get(len(B), [])) + assert not ed.get('prepend'), 'this package uses no cleanup prepends' + C = [ops(g) for g in w['cleanup']]; early = [i for i, U in w['early_cleanup']]; ins = [] + for j, g in ed['tail']: C.append(ops(g)); ins.append((j, len(C) - 1)) + for j, ci in sorted(ins): early.insert(j, ci) + return out, C, early +def coef(g): return Q(g[3], g[4]) if g[0] == 'add' else Q(g[2], g[3]) +def rows(seq): + R = {} + for g in seq: + t = g[1] + if g[0] == 'add': + src = R.get(g[2], {g[2]: Q(1)}); d = dict(R.get(t, {t: Q(1)})); c = coef(g) + for k, x in src.items(): + y = d.get(k, 0) + c * x + if y: d[k] = y + else: d.pop(k, None) + R[t] = d + else: + c = coef(g); R[t] = {k: x * c for k, x in R.get(t, {t: Q(1)}).items()} + return R +def analyse(base, B1, C1, E1, q): + """Exactness and pivot-window facts of a compiled program (B1, cleanup C1, early order E1) against the base word.""" + res = {} + seq0 = [ops(g) for g in base['B']] + [ops(base['cleanup'][i]) for i, U in base['early_cleanup']] + seq1 = list(B1) + [C1[i] for i in E1] + r0, r1 = rows(seq0), rows(seq1); keys = set(r0) | set(r1) + res['b_tail_map_rows'] = len(keys); res['b_tail_map_rows_differing'] = sum(1 for k in keys if r0.get(k, {k: Q(1)}) != r1.get(k, {k: Q(1)})) + rest0 = [ops(g) for i, g in enumerate(base['cleanup']) if i not in {j for j, U in base['early_cleanup']}] + rest1 = [g for i, g in enumerate(C1) if i not in set(E1)] + res['remaining_cleanup_identical'] = rest0 == rest1 + writes = [i for i, g in enumerate(seq1) if g[1] == q] + reads = [i for i, g in enumerate(seq1) if g[0] == 'add' and g[2] == q] + original = [ops(x) for x in base['B'] if x[0] == 'add' and x[2] == q] + [ops(base['cleanup'][i]) for i, U in base['early_cleanup'] if base['cleanup'][i][0] == 'add' and base['cleanup'][i][2] == q] + new_reads = [i for i in reads if seq1[i] not in original] + res['pivot'] = q; res['pivot_writes'] = writes; res['new_read_positions'] = new_reads + # q holds its initial value before its single B write and again after the early-cleanup gate that restores it + ok = len(writes) == 2 and rows(seq1[:writes[1] + 1]).get(q, {q: Q(1)}) == {q: Q(1)} + res['inserted_reads_where_pivot_is_initial'] = ok and all(p < writes[0] or p > writes[1] for p in new_reads) + res['exact'] = res['b_tail_map_rows_differing'] == 0 and res['remaining_cleanup_identical'] and res['inserted_reads_where_pivot_is_initial'] + return res +def check(name, base, new, ed, q): + B1, C1, E1 = compile_edits(base, ed) + res = dict(word=name) + res['scalar_program_matches'] = (B1 == [ops(g) for g in new['B']] and C1 == [ops(g) for g in new['cleanup']] and E1 == [i for i, U in new['early_cleanup']]) + res['interfaces_identical'] = all(base.get(k) == new.get(k) for k in INTERFACE) + res.update(analyse(base, B1, C1, E1, q)) + res['pass'] = res['scalar_program_matches'] and res['interfaces_identical'] and res['exact'] + return res +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--edits', default=str(PKG / 'EDITS.json')); ap.add_argument('--json'); a = ap.parse_args() + E = json.load(open(a.edits)); out = [] + for name, (bp, npth) in WORDS.items(): + r = check(name, load(bp), load(npth), E['edit'], E['pivot']); out.append(r) + print(name, 'PASS' if r['pass'] else 'FAIL', {k: v for k, v in r.items() if k not in ('word', 'new_read_positions')}, flush=True) + if a.json: Path(a.json).write_text(json.dumps(out, indent=1, sort_keys=True) + '\n') + sys.exit(0 if all(r['pass'] for r in out) else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py b/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py new file mode 100644 index 0000000000..9b310547f4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py @@ -0,0 +1,269 @@ +"""rebuild_borrow.py: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), +check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. +usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +import sys,json,gzip,subprocess,hashlib,tempfile +from pathlib import Path +D=Path(__file__).resolve().parent/'borrow';sys.path.insert(0,str(D)) +import os +RCP=Path(os.environ['BORROW_RECEIPTS']) if os.environ.get('BORROW_RECEIPTS') else Path(tempfile.mkdtemp());RCP.mkdir(parents=True,exist_ok=True) # receipts (with elapsed_seconds) never go into the package during verification +import build_word,word_patch +CASES=[('gauge44','base','eeb6a236'),('extra','extra','cd417b90')] +def content(p):return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() +def refit_apply(word0,patch): + """frame refit: replace exactly the listed gate frames (gates unchanged) and the local profile.""" + import copy + w=copy.deepcopy(word0) + for sec,i,fr in patch['frames']: + assert w[sec][i][:-1]==word0[sec][i][:-1];w[sec][i][-1]=fr + w['report']['local_profile']=patch['local_profile'] + return w +def run_audit(word,base,rec): + cmd=[sys.executable,'-B',str(D/'audit_local.py'),'--word',str(word),'--output',str(rec)]+(['--base',str(base)] if base else []) + return subprocess.run(cmd,capture_output=True,text=True) +def kernel_check(prev,w,patch): + """The kernel edit(s) (helper-donor pivot kernels, PR1625 shape): the shipped B section differs from the previous word's by exactly the declared gate-level edit + (frames ignored): reads of the pivots inserted/deleted, nothing else; every inserted and deleted gate is a read of a declared pivot with coefficient +-1.""" + qs=set(patch['pivots']);ed=word_patch.kernel_gate_edit(prev['B'],w['B']) + ok=ed==patch['declared_gate_edit'] and all(g[0]=='add' and g[2] in qs and abs(g[3])==1 and g[4]==1 for _,_,g in ed) + ok&=sum(e[0]=='delete' for e in ed)==len(qs) and sum(e[0]=='insert' for e in ed)==4*len(qs) + for k in w: + if k not in('A','B','restore','warps','report','cleanup'):ok&=w[k]==prev[k] + for k in('A','restore'): # frame-only changes outside B + ok&=len(w[k])==len(prev[k]) and all(x[:-1]==y[:-1] for x,y in zip(w[k],prev[k])) + return ok +def kernel_controls(w,patch,tmp): + """every perturbation of the kernel edit must be rejected by the independent audit""" + import copy + res={};qs=set(patch['pivots']) + pos=[j for kind,j,g in patch['declared_gate_edit'] if kind=='insert'] + def audit_bad(name,m): + bp=Path(tmp)/(name+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode())) + r=run_audit(bp,None,Path(tmp)/(name+'.out.json'));res[name]=r.returncode!=0;return r.returncode!=0 + ok=True + m=copy.deepcopy(w);m['B'][pos[0]][3]=-m['B'][pos[0]][3];m['cleanup']=word_patch.derive_cleanup(m,word_patch.restored_of(w));ok&=audit_bad('kernel_sign_flipped',m) + m=copy.deepcopy(w);del m['B'][pos[1]];ok&=audit_bad('kernel_read_dropped',m) + m=copy.deepcopy(w);m['B'][pos[2]][3]*=2;ok&=audit_bad('kernel_coefficient_doubled',m) + m=copy.deepcopy(w);m['B'][pos[3]][1]=m['B'][pos[3]][1]+1;ok&=audit_bad('kernel_read_moved_to_neighbour_register',m) + return ok,res +def _rd(m,ref): + """re-derive the explicit inverse-reverse cleanup of a mutated word (A section without its prelude), so a control is rejected for its own reason and not for a stale cleanup""" + try: + t=json.loads(json.dumps(m));t['A']=t['A'][t.get('prelude_events',0):];return word_patch.derive_cleanup(t,word_patch.restored_of(ref)) + except Exception: + return m['cleanup'] +ok=True;out={} +for canon,wt,h in CASES: + tmp=Path(tempfile.mkdtemp())/'w.json.gz' + build_word.main(str(D/'inputs'/f'{canon}.canonical.json.gz'),str(D/'inputs/blocks.json'),str(D/'inputs'/f'witness_43_{wt}.json'),str(tmp),h) + shipped=D/'words'/f'BORROW-WORD-43{"base" if wt=="base" else "extra"}.json.gz' + base=str(D/'inputs'/f'{canon}.canonical.json.gz') + word0=json.loads(gzip.decompress(tmp.read_bytes())) + chain=[word0];steps=[] + rf=D/'inputs'/f'refit_43{wt}.json';kf=D/'inputs'/f'kernel_43{wt}.json' + if rf.exists():chain.append(refit_apply(chain[-1],json.loads(rf.read_text())));steps.append('refit') + kpatch=json.loads(kf.read_text());kpre=chain[-1];chain.append(word_patch.apply_kernel(chain[-1],kpatch));steps.append('kernel');kstate=chain[-1] + kok=kernel_check(kpre,kstate,kpatch) + hf=D/'inputs'/f'handoff_43{wt}.json';hpatch=None + if hf.exists(): # coherent four-helper handoff (PR2322, Vlado-V) on top of the kernel state: four high roles replaced by retired source registers + hpatch=json.loads(hf.read_text());chain.append(word_patch.apply_handoff(kstate,hpatch));steps.append('handoff') + kok&=sorted(hpatch['fields'])==sorted(k_ for k_ in chain[-1] if k_ not in('report','cleanup') and chain[-1][k_]!=kstate[k_]) and len(chain[-1]['removed'])==len(kstate['removed'])+4 + ef=D/'inputs'/f'entrance_43{wt}.json' + if ef.exists(): # entrance raise: start_extra and frames only (gates unchanged); previous state audited, tamper controls below + epatch=json.loads(ef.read_text());prev_e=chain[-1];chain.append(word_patch.apply_handoff(prev_e,epatch));steps.append('entrance') + kok&=all(x_[:-1]==y_[:-1] for k_ in('A','B','restore') for x_,y_ in zip(chain[-1][k_],prev_e[k_])) and chain[-1]['removed']==prev_e['removed'] and chain[-1]['warps']==prev_e['warps'] + lf=D/'inputs'/f'lowfour_43{wt}.json';lpatch=None + if lf.exists(): # four low aliases through lifted-target compensation (PR2436 mechanism) on top of the entrance state + lpatch=json.loads(lf.read_text());prev_l=chain[-1];chain.append(word_patch.apply_lowfour(prev_l,lpatch));steps.append('lowfour') + nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[640,641,642,644]==lpatch['derived_removed_diff'] + kok&=[x[1:] for x in nw['warps'][:len(prev_l['warps'])]]==[x[1:] for x in prev_l['warps']] and [x[1] for x in nw['warps'][-4:]]==[33,55,74,85] and len(nw['warps'])==len(prev_l['warps'])+4 + kok&=[g[:-1] for g in nw['A'][nw['prelude_events']:]]==[g[:-1] for g in prev_l['A']] and nw['restore']==prev_l['restore'] and nw['helper_final']==prev_l['helper_final'] + kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('640','641','642','644')}==nw['start_extra'] + af=D/'inputs'/f'alias637_43{wt}.json';apatch=None + if af.exists(): # alias 637 borrowing retired source 31 (PR2436 pair) stacked on the four lifted-target aliases + apatch=json.loads(af.read_text());prev_a=chain[-1];chain.append(word_patch.apply_lowfour(prev_a,apatch));steps.append('alias637');na=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a['B'],na['B'])==apatch['declared_gate_edit'] and sorted(set(na['removed'])-set(prev_a['removed']))==[637] and len(na['warps'])==len(prev_a['warps'])+1 and na['restore']==prev_a['restore'] and na['A']==prev_a['A'] + af2=D/'inputs'/f'alias656_43{wt}.json';apatch2=None + if af2.exists(): # alias 656 borrowing lender 88 (PR2436 type) stacked on the fifth alias + apatch2=json.loads(af2.read_text());prev_a2=chain[-1];chain.append(word_patch.apply_lowfour(prev_a2,apatch2));steps.append('alias656');na2=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a2['B'],na2['B'])==apatch2['declared_gate_edit'] and sorted(set(na2['removed'])-set(prev_a2['removed']))==[656] and len(na2['warps'])==len(prev_a2['warps'])+1 and na2['restore']==prev_a2['restore'] and True + af3=D/'inputs'/f'alias8_43{wt}.json';apatch3=None + if af3.exists(): # eight source-partner aliases (PR2530) (PR2530 zxv: eight source-partner aliases) + apatch3=json.loads(af3.read_text());prev_a3=chain[-1];chain.append(word_patch.apply_lowfour(prev_a3,apatch3));steps.append('alias8');na3=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a3['B'],na3['B'])==apatch3['declared_gate_edit'] and sorted(set(na3['removed'])-set(prev_a3['removed']))==apatch3['removed_added'] and len(na3['warps'])==len(prev_a3['warps'])+8 and True and True + pf=D/'inputs'/f'prelife_43{wt}.json';ppatch=None + if pf.exists(): # pre-life hosting (this package): six cold width-4 hosts h each host the whole life of a width-9 dim-0-start helper L after retiring + ppatch=json.loads(pf.read_text());prev_p=chain[-1];chain.append(word_patch.apply_prelife(prev_p,ppatch));steps.append('prelife');npl=chain[-1] + PLs=sorted(x_['L'] for x_ in ppatch['pairs']);PHs=[x_['h'] for x_ in ppatch['pairs']] + kok&=PLs==[482,483,494,495,507,519] and sorted(set(npl['removed'])-set(prev_p['removed']))==PLs and set(prev_p['removed'])<=set(npl['removed']) + kok&=sorted(set(prev_p['helper_final'])-set(npl['helper_final']))==sorted(map(str,PHs)) and all(npl['helper_final'][k_]==prev_p['helper_final'][k_] for k_ in npl['helper_final']) + kok&=npl['warps'][:len(prev_p['warps'])]==prev_p['warps'] and [x_[1] for x_ in npl['warps'][len(prev_p['warps']):]]==PHs + kok&=npl['compensation']==[e_ for e_ in prev_p['compensation'] if not(e_[0]=='add' and e_[2] in set(PLs))] # the hosted helpers' dirt-compensation reads are removed ... + kok&=all(c_ in prev_p['initial_corrections'] or (c_['source'] in set(PHs) and len(c_['operator_word'])==1 and npl['warps'][c_['operator_word'][0]-1][1]==c_['source']) for c_ in npl['initial_corrections']) # ... and replaced by anticipatory corrections through the host's warp + kok&=word_patch.kernel_gate_edit(prev_p['B'],npl['B'])==ppatch['declared_gate_edit'] + kok&=all(npl[k_]==prev_p[k_] for k_ in ('A','precondition','cut','start_extra','target_levels','centers','center_frames','ports','prelude_events')) + rf2=D/'inputs'/f'refit563_43{wt}.json';rpatch2=None + if rf2.exists(): # one-gate exact frame lowering (B 894, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package) + rpatch2=json.loads(rf2.read_text());prev_r=chain[-1];chain.append(refit_apply(prev_r,rpatch2));steps.append('refit563');nr=chain[-1] + kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',894] and prev_r['B'][894][:5]==['add',515,563,1,1] + kok&=len(nr['B'][894][-1])==len(prev_r['B'][894][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=894) + kok&=not({515,563}&({x_['L'] for x_ in ppatch['pairs']}|{x_['h'] for x_ in ppatch['pairs']}) if ppatch else set()) + xf=D/'inputs'/f'alias1_43{wt}.json';xpatch=None + if xf.exists(): # retired-lender alias 653<-563 on the refit state (this package) + xpatch=json.loads(xf.read_text());prev_x=chain[-1];chain.append(word_patch.apply_lowfour(prev_x,xpatch));steps.append('alias1');nx=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_x['B'],nx['B'])==xpatch['declared_gate_edit'] and sorted(set(nx['removed'])-set(prev_x['removed']))==[653] and len(nx['warps'])==len(prev_x['warps'])+1 and nx['A']==prev_x['A'] and nx['restore']==prev_x['restore'] + kok&=all(g_[0]=='add' and 563 in g_[1:3] for kd_,_,g_ in xpatch['declared_gate_edit'] if kd_=='insert') and nx['warps'][-1][1]==563 + # exhaustive enumeration of retired-lender aliases (borrow/alias_enumerate.py): on the pre-life + refit563 state exactly one pair (653<-563) exists; none on the shipped word + import alias_enumerate as AE,tempfile as tf_ + def enum_(w_): + p_=Path(tf_.mkdtemp())/'w.json.gz';p_.write_bytes(gzip.compress(json.dumps(w_,separators=(',',':')).encode(),mtime=0));o_,s_=AE.main(str(p_));return o_,dict(s_) + e0,s0=enum_(prev_x);e1,s1=enum_(nx) + kok&=[(x_['h'],x_['L']) for x_ in e0]==[(653,563)] and len(e1)==0 + (RCP/f'ALIAS-ENUMERATION-43{wt}.json').write_text(json.dumps(dict(prelife_refit_state=dict(counts=s0,pairs=[{k_:x_[k_] for k_ in('h','L','p1','d','s','f1','width','dprof')} for x_ in e0]),shipped=dict(counts=s1,pairs=len(e1)), + note='counts: h_used_in_A_or_early = helpers first used before B (needs the prelude/lifted-target mechanism); the other counts are (h,L) pairs failing that condition'),indent=1)+'\n') + tf_=D/'inputs'/f'twelve_43{wt}.json';tpatch=None + if tf_.exists(): # PR2751's twelve-alias reassignment with the frame re-solve of the final word (this package); no phase-B warps + tpatch=json.loads(tf_.read_text());prev_t=chain[-1];chain.append(word_patch.apply_lowfour(prev_t,tpatch));steps.append('twelve');nt_=chain[-1] + pre_t_path=Path(tempfile.mkdtemp())/'pre-twelve.json.gz';pre_t_path.write_bytes(gzip.compress(json.dumps(prev_t,separators=(',',':')).encode(),mtime=0)) # earlier-stage controls run on the state they were written for + kok&=word_patch.kernel_gate_edit(prev_t['B'],nt_['B'])==tpatch['declared_gate_edit'] + kok&=nt_['report']['width_inventory']==prev_t['report']['width_inventory'] and not any(e_[0]=='warp' for e_ in nt_['B']) + r7f_=D/'inputs'/f'retired7_43{wt}.json';r7patch=None + if r7f_.exists(): # PR2802's seven retired-lender aliases and two hostee moves, one declared patch on the twelve state (this package) + r7patch=json.loads(r7f_.read_text());prev_7=chain[-1];chain.append(word_patch.apply_lowfour(prev_7,r7patch));steps.append('retired7');n7_=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_7['B'],n7_['B'])==r7patch['declared_gate_edit'] and not any(e_[0]=='warp' for e_ in n7_['B']) + kok&=n7_['target_levels']==prev_7['target_levels'] and n7_['prelude_events']==prev_7['prelude_events'] and n7_['centers']==prev_7['centers'] + def_=D/'inputs'/f'dirtentry_43{wt}.json';depatch=None + if def_.exists(): # dirt-entry rewrite of helpers 530/542 (this package): four inserted entry gates, the listed compensation gates removed, entry frames [30] + depatch=json.loads(def_.read_text());prev_d=chain[-1];chain.append(word_patch.apply_lowfour(prev_d,depatch));steps.append('dirtentry');nd_=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_d['B'],nd_['B'])==depatch['declared_gate_edit'] and not any(e_[0]=='warp' for e_ in nd_['B']) + kok&=[g_ for g_ in prev_d['compensation'] if g_ not in nd_['compensation']]==depatch['declared_compensation_removed'] and all(g_ in prev_d['compensation'] for g_ in nd_['compensation']) + kok&=len(prev_d['compensation'])-len(nd_['compensation'])==len(depatch['declared_compensation_removed']) and nd_['helper_final']==prev_d['helper_final'] and nd_['target_levels']==prev_d['target_levels'] + final=json.loads(gzip.decompress(shipped.read_bytes())) + same=final==chain[-1] + # lifted-target offsets: the shipped word's set (and frames) must equal the one declared by the last patch input that declares target_levels + _tl_decl=None + for _pn in ('lpatch','apatch','apatch2','apatch3','tpatch'): + _pv=locals().get(_pn) + if _pv and 'target_levels' in _pv.get('fields',{}):_tl_decl=_pv['fields']['target_levels'] + tl_ok=lambda w_:_tl_decl is not None and w_['target_levels']==_tl_decl + kok&=tl_ok(final) + # audits: the pinned pre-refit/pre-kernel word against the canonical base; every later state independently (forward + dual free-algebra replay; refit and kernel change frames inside the pinned sections) + tag=lambda n:RCP/f'AUDIT-43{wt}{n}.json' + pw=Path(tempfile.mkdtemp());ps=[] + for j,w_ in enumerate(chain[:-1]): + f_=pw/f'w{j}.json.gz';f_.write_bytes(gzip.compress(json.dumps(w_,separators=(',',':')).encode())) + r=run_audit(f_,base if j==0 else None,tag('-pinned' if j==0 else '-prekernel'));ps.append(r.returncode) + r=run_audit(shipped,None,tag('')) + ok&=same and kok and all(x==0 for x in ps) and r.returncode==0 + res=dict(rebuild_plus_patches_equals_shipped=same,patches=steps,kernel_edit_exact=kok,prior_state_audit_rc=ps,audit_rc=r.returncode) + if '--no-controls' not in sys.argv: + import copy as cp9 + _m1=cp9.deepcopy(final);_m1['target_levels'].pop(sorted(_m1['target_levels'],key=int)[0]);_m2=cp9.deepcopy(final);_m2['target_levels'][str(next(t_ for t_ in range(112) if str(t_) not in final['target_levels']))]=next(iter(final['target_levels'].values()));_m3=cp9.deepcopy(final);_m3['target_levels'][sorted(_m3['target_levels'],key=int)[0]]=[999] + res['target_offsets_declared']=tl_ok(final);res['target_offset_missing_rejected']=not tl_ok(_m1);res['target_offset_extra_rejected']=not tl_ok(_m2);res['target_offset_changed_rejected']=not tl_ok(_m3) + ok&=res['target_offsets_declared'] and res['target_offset_missing_rejected'] and res['target_offset_extra_rejected'] and res['target_offset_changed_rejected'] + print('TARGET-OFFSETS',wt,'declared by patch input',len(_tl_decl),'missing/extra/changed rejected',res['target_offset_missing_rejected'],res['target_offset_extra_rejected'],res['target_offset_changed_rejected'],flush=True) + c=subprocess.run([sys.executable,'-B',str(D/'borrow_controls.py'),str(tmp),base,str(RCP/f'CONTROLS-43{wt}.json')],capture_output=True,text=True) + ok&=c.returncode==0;res['controls_rc']=c.returncode + if lpatch: + lc=subprocess.run([sys.executable,'-B',str(D/'lowfour_controls.py'),str(pre_t_path if tpatch else shipped),str(RCP/f'CONTROLS-LOWFOUR-43{wt}.json')],capture_output=True,text=True) + ok&=lc.returncode==0;res['lowfour_controls_rc']=lc.returncode + if ppatch: + pw_=Path(tempfile.mkdtemp())/'orig.json.gz';pw_.write_bytes(gzip.compress(json.dumps(prev_p,separators=(',',':')).encode(),mtime=0)) + pc=subprocess.run([sys.executable,'-B',str(D/'prelife_controls.py'),str(shipped),str(pw_),str(RCP/f'CONTROLS-PRELIFE-43{wt}.json')],capture_output=True,text=True) + pc_ok=pc.returncode==0 and json.loads((RCP/f'CONTROLS-PRELIFE-43{wt}.json').read_text())['all_rejected_for_expected_reason'];ok&=pc_ok;res['prelife_controls_ok']=pc_ok + if rpatch2: # control: the shipped word with the B 894 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame) + import copy as cp6 + m=cp6.deepcopy(prev_t if tpatch else final);m['B'][894][-1]=prev_r['B'][894][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0)) + br=run_audit(bp,None,bp.parent/'refit563_undone.out.json');ru=br.returncode!=0 and 'warp frame mismatch' in (br.stdout+br.stderr);res['refit563_undone_rejected_by_warp_frame_mismatch']=ru;ok&=ru + if xpatch: + xc=subprocess.run([sys.executable,'-B',str(D/'alias1_controls.py'),str(pre_t_path if tpatch else shipped),str(xf),str(RCP/f'CONTROLS-ALIAS1-43{wt}.json')],capture_output=True,text=True) + ok&=xc.returncode==0;res['alias1_controls_rc']=xc.returncode + okc=[] + def stage_controls(state,patch,pre): # tamper controls on the gates changed by a declared stage; each mutant carries the cleanup re-derived from its own forward word + import copy as cp7 + _ins=[i_ for i_,e_ in enumerate(state['B']) if e_[0]=='add' and any(k_=='insert' and g_==e_[:-1] for k_,_,g_ in patch['declared_gate_edit'])] + def _rd7(m): + t_=cp7.deepcopy(m);t_['A']=m['A'][m['prelude_events']:];m['cleanup']=word_patch.derive_cleanup(t_,{int(q_) for q_ in m['helper_final']});return m + def _mk7(f_): + m=cp7.deepcopy(state);f_(m);return _rd7(m) + for _nm7,_mut7 in ((pre+'_gate_sign_flipped',lambda m:m['B'][_ins[0]].__setitem__(3,-m['B'][_ins[0]][3])), + (pre+'_gate_coefficient_doubled',lambda m:m['B'][_ins[0]].__setitem__(3,2*m['B'][_ins[0]][3])), + (pre+'_gate_dropped',lambda m:m['B'].pop(_ins[0])), + (pre+'_warp_dropped',lambda m:m['warps'].pop(0)), + (pre+'_target_frame_changed',lambda m:m['target_levels'].__setitem__(sorted(m['target_levels'],key=int)[0],[30]))): + m=_mk7(_mut7);bp=pw/(_nm7+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(_nm7+'.out.json'));res[_nm7+'_rejected']=br.returncode!=0;okc.append(br.returncode!=0) + print(pre.upper()+'-CONTROLS',wt,{k_:v_ for k_,v_ in res.items() if k_.startswith(pre+'_')},flush=True) + if tpatch:stage_controls(nt_,tpatch,'twelve') + if r7patch:stage_controls(n7_,r7patch,'retired7') + if depatch: + import copy as cp3 + def _rdd(m): + t_=cp3.deepcopy(m);t_['A']=m['A'][m['prelude_events']:];m['cleanup']=word_patch.derive_cleanup(t_,{int(q_) for q_ in m['helper_final']});return m + _ins=[i_ for i_,e_ in enumerate(final['B']) if e_[0]=='add' and any(k_=='insert' and g_==e_[:-1] for k_,_,g_ in depatch['declared_gate_edit'])] + def _mkd(f_): + m=cp3.deepcopy(final);f_(m);return _rdd(m) + def _bad(m): + return m + for _nmd,_mutd in (('dirtentry_injection_dropped',lambda m:m['B'].pop(_ins[0])), + ('dirtentry_injection_sign_flipped',lambda m:m['B'][_ins[0]].__setitem__(3,-m['B'][_ins[0]][3])), + ('dirtentry_injection_wrong_time',lambda m:(lambda g_,r_:m['B'].insert(max(i_ for i_,e_ in enumerate(m['B']) if e_[0]=='add' and r_ in e_[1:3])+1,m['B'].pop(_ins[0])))(m['B'][_ins[0]],m['B'][_ins[0]][2])), + ('dirtentry_removal_missing',lambda m:m['compensation'].append(cp3.deepcopy(depatch['declared_compensation_removed'][0])))): + m=_mkd(_mutd);bp=pw/(_nmd+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(_nmd+'.out.json'));res[_nmd+'_rejected']=br.returncode!=0;okc.append(br.returncode!=0) + print('DIRTENTRY-CONTROLS',wt,{k_:v_ for k_,v_ in res.items() if k_.startswith('dirtentry_')},flush=True) + ok&=all(okc) + kc_ok,kc=kernel_controls(kstate,kpatch,tempfile.mkdtemp());ok&=kc_ok;res['kernel_controls_rejected']=kc + if apatch: + import copy as cp4 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias637_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias637_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias637_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp4.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if apatch2: + import copy as cp5 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a2['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias656_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias656_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias656_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp5.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if apatch3: + import copy as cp6 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a3['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias8_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias8_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias8_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp6.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if ef.exists(): + import copy as cp3 + q=next(iter(epatch['fields']['start_extra'])); + for nm_,mut in (('entrance_start_frame_dropped',lambda m:m['start_extra'].__setitem__(q,[])),('entrance_start_frame_widened',lambda m:m['start_extra'].__setitem__(q,[1<0 + ok&=not gv and res['cut_centre_guard_negative_control_rejected'] + print('CUT-CENTRE-GUARD',wt,'cut gates',len(final['cut']),'violations',len(gv),'negative control rejected',res['cut_centre_guard_negative_control_rejected'],flush=True) + # HELPER-INDEX GUARD (PR2508, ywz65): audit_local accepts a negative helper_final key that aliases a target endpoint; every helper_final key must be a canonical non-negative decimal inside the helper interval [2v, 2v+R). + import guard_helper_indices as ghi + hv=ghi.violations(final);hbad=json.loads(json.dumps(final));hbad['helper_final']['-1']=hbad['helper_final'].get('-1',list(next(iter(hbad['helper_final'].values())))) + res['helper_index_guard_violations']=len(hv);res['helper_index_guard_negative_control_rejected']=len(ghi.violations(hbad))>0 + ok&=not hv and res['helper_index_guard_negative_control_rejected'] + print('HELPER-INDEX-GUARD',wt,'helper_final keys',len(final['helper_final']),'violations',len(hv),'negative control (key -1) rejected',res['helper_index_guard_negative_control_rejected'],flush=True) + # ENTRANCE-WIDTH BINDING (answers whether the hosted helpers are delivered at the raised entrance frames): the per-helper residual width |final|-|start_extra| of THIS word must equal the ordered widths of new/BORROW-PROVIDERS.json, + # which are the widths reconstruct.py/emit/audit_allcold use for every hosted role (audit: 'wrong per-call residual width', 'entering helper width silently restored to nine'); bind_providers_portable.py re-derives them from the native canonical word. + prov_w=json.loads((D.parent/'BORROW-PROVIDERS.json').read_text())['gauge44' if wt=='base' else 'extra']['widths'] + def word_widths(w_): + rem=[r_ for r_ in range(224,704) if r_ not in set(w_['removed'])];se_={int(k_):v_ for k_,v_ in w_['start_extra'].items()};hf_={int(k_):v_ for k_,v_ in w_['helper_final'].items()} + return [len(hf_.get(r_,range(9)))-len(se_.get(r_,[])) for r_ in rem] + bind_ok=word_widths(final)==prov_w + tw=json.loads(json.dumps(final));raised=[int(k_) for k_,v_ in tw['start_extra'].items() if len(v_)==2] + if raised:tw['start_extra'][str(raised[0])]=tw['start_extra'][str(raised[0])][:1] # a raised copy buffer delivered at dim 1 again + tamper_rejected=bool(raised) and word_widths(tw)!=prov_w + res['entrance_widths_bound_to_providers']=bind_ok;res['dim1_delivery_rejected']=tamper_rejected;res['raised_buffers']=len(raised) + ok&=bind_ok and (tamper_rejected or not raised) + print('ENTRANCE-WIDTH-BINDING',wt,'raised',len(raised),'bound',bind_ok,'dim1 tamper rejected',tamper_rejected,flush=True) + out[canon]=res;print(canon,res,flush=True) +print('PASS_REBUILD_BORROW' if ok else 'FAIL_REBUILD_BORROW');sys.exit(0 if ok else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py b/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py new file mode 100644 index 0000000000..df79c063ee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py @@ -0,0 +1,28 @@ +"""Package stage: re-verifies every kernel step of new/CHAIN.json with the retained exactness checker (rebuild.py of PR1625), generalised soundly. + +For each step: apply the step's edit to the step's BASE words and compare with the step's NEW words (scalar program, interfaces, the +complete B + early-cleanup map over every register in exact Fractions, remaining cleanup). Inserted reads of the pivot must see q's row = s*I with +s in {+1,-1} (rebuild.py required s=+1 and exactly two writes of q; pivots restored by a sign-flipping cleanup gate, e.g. 554, read -q after the +restore, with the coefficient taken with that sign; exactness is proven by the unchanged map check). Tamper controls (sign not accounted on all new gates / on tail gates, and each new coefficient moved by one dyadic step) must all FAIL the map check. See pivotcheck.py. +Step 0 starts from PR1297's pinned words (vendor/pr1297); later steps start from the previous step's words. +""" +import json, sys +from pathlib import Path +PKG = Path(__file__).resolve().parent +ROOT = PKG.parent +sys.path.insert(0, str(PKG)) +import rebuild as RB +import pivotcheck as PC +chain = json.loads((PKG / 'CHAIN.json').read_text()) +ok = True +for i, st in enumerate(chain['steps']): + E = json.loads((PKG / st['edits']).read_text()) + assert E['pivot'] == st['pivot'], (i, 'pivot mismatch') + for key in ('gauge44', 'extra'): + base = RB.load(ROOT / st['base'][key]) + r = PC.check_signed(RB, '%s step %d' % (key, i), base, RB.load(ROOT / st['new'][key]), E['edit'], E['pivot']) + c = PC.tamper_controls(RB, base, E['edit'], E['pivot']) + r['tamper_controls_all_fail'] = all(c.values()); r['tamper_controls'] = c + print('step', i, key, 'PASS' if r['pass'] else 'FAIL', {k: v for k, v in r.items() if k not in ('word', 'new_read_positions')}, flush=True) + ok = ok and r['pass'] and all(c.values()) +sys.exit(0 if ok else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py b/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py new file mode 100644 index 0000000000..942310947b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py @@ -0,0 +1,22 @@ +"""Native chain for a BORROW-WORD (anticipatory dirty borrowing, PR2226): transport -> emit -> independent replay -> wrappers -> phases (+ independent warp-recipe recheck). +Same step layout and STEPS.json as the lineage replay_native.py; usage: run_native_borrow.py BORROW-WORD.json[.gz] WORK_DIR (WORK_DIR must not exist).""" +import json,os,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent/'code/borrow' +word=Path(sys.argv[1]).resolve();work=Path(sys.argv[2]).resolve();work.mkdir(parents=True,exist_ok=False);local=work/'local' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0');env.pop('PYTHONOPTIMIZE',None) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 # windowless, IDLE priority +steps=[] +for label,script,args in [('native',HERE/'bw_transport.py',[word,local]),('ledgers',HERE/'bw_emit.py',[local]), + ('local-replay',HERE/'bw_audit_local.py',[local]), + ('wrappers',HERE/'bw_adapters.py',[local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json']), + ('phases',[HERE/'bw_phases.py',HERE/'bw_check_recipes.py'],[local])]: # phases = exact lowering, then the independent warp-recipe recheck + t=time.monotonic();log=b'' + for script in (script if isinstance(script,list) else [script]): + p=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,env=env,creationflags=flags) + log+=p.stdout + if p.returncode:break + (work/(label+'.log')).write_bytes(log) + steps.append(dict(step=label,exit_code=p.returncode,seconds=time.monotonic()-t));(work/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n') + assert p.returncode==0,(label,log.decode(errors='replace')[-4000:]) + print('PASS',label,round(steps[-1]['seconds'],1),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz b/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz new file mode 100644 index 0000000000..ac08516e3b Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz b/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz new file mode 100644 index 0000000000..ecf75c274c Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/unpin_spec.py b/research/gmx-t74-borrow43-handoff/new/unpin_spec.py new file mode 100644 index 0000000000..9f3b0d8fc8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/unpin_spec.py @@ -0,0 +1,17 @@ +"""Discovery -> unpin -> freeze. After a --discover replay, remove from the SPEC every expected/pinned value that the independent +recomputation (WITNESS-RECORD.jsonl) disagrees with (stale values from the pre-borrow package), listing each one; values that +agree are kept as independent cross-checks. freeze_spec.py then writes the recomputed values. usage: unpin_spec.py SPEC DISCOVERY_DIR""" +import json,sys +from pathlib import Path +spec_path,disc=Path(sys.argv[1]),Path(sys.argv[2]);spec=json.loads(spec_path.read_text());removed=[];kept=0 +for line in (disc/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key,value=json.loads(line);parts=key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts':parts=parts[:3]+['.'.join(parts[3:])] + t=spec + for p in parts[:-1]: + t=t.get(p) if isinstance(t,dict) else None + if t is None:break + if isinstance(t,dict) and parts[-1] in t: + if t[parts[-1]]!=value:removed.append(key);del t[parts[-1]] + else:kept+=1 +spec_path.write_text(json.dumps(spec,indent=2)+'\n');print('unpinned',len(removed),'kept-agreeing',kept);[print(' ',k) for k in removed] diff --git a/research/gmx-t74-borrow43-handoff/outer/B.json b/research/gmx-t74-borrow43-handoff/outer/B.json new file mode 100644 index 0000000000..c111ece8f6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/B.json @@ -0,0 +1,16 @@ +{ + "b": "171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "b_above_endpoint": "343731487433371191138691522864856081992994938587681148953208612376007563671420544555028713494712885330048730767219541099026770640521557291294359401786325965256960028612385171595285347753583145071784601845954104926998496589548765440770689162563071586784667451029971605778688967825732962667705000031237671431151369633413571455107299843610397322528490240310164936527592003426917432985477830492206937509634046472829616836389897431999407052968270383507640553407576196786791148717406865509241542193647849319898628456577920126469874434984481728668134782456531130133205838475499178224967594169777342724380359393755672795888474916928639967080012592094260193497610628397011811030673625344968822978594297461133434147366202852904034424516911315065215343298019526132682645131717093922937834852805182043286901211053761978404677991442004505461043904368123904765624898239709190826104105642600639617339067484979545313918550500571488755615445841511036621926745080577980096714762441413352107851910687861454262376402783296665187522945253483217742531302974171480592991188252639069900378886973331927026851751165015468518577423793662319314105348728767741936450375689775712100199557483536189656646312032204414454700400847725648414403170267625706410781733383046634189825560001016043539888508359169448738918593687208673725939952613692527384858495112171385288053376881951223292998109353949686809061696871709355223250935981230108108931607165219234634461086683161372733881653312392106714279352500489802755644279168195995020297944775980702374960263046155538489911470541504317005965762534075585736615401163333494751919961022445395539212064254284414800318224707719880331439150411755810807605111492849025748319968772793400894435019938213597922368841459792759200436923595498590652696219595630536504041821282868951008020759123368588348576057490211315214502915873955566159279371813816728595177665731660718842417397619046421456762464233160445526314999788616005048575956494574721415677280123095894674377727936423691587049940294751047932979881565146758864855415073193762458754594733644589310185238545463858713258853791290430764272897247277050699211958073587291895210434377483492532165027313938357786864538204897723091015014226649431423210860965947396042136424152570749967668907753071203506738890938002070079923737697450878415577228151134297170347540063050842961276992864847685320747901403595071692234323079631159328331777600002707360018691163867948381401164881887233477104739930960136830326075255254781368243868229066357707634131700748836334338351601695153970816350911714834698429291833946245544120627244353898747337334530160798936413761602432275285715923532067172134791103262799244937702435308354381599166238436156199685597347207740356674848211769451332688700249661108432508415035917911016923921327295474568097402847231440827305704865838293177542015807095313638759111742538515624154829258524715376846346514109778485657434442605152755761340001702404617065186220172068312667859886518669363516204854145877719932703802486423067708333962127/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 432900, + "3": 183683, + "4": 85248, + "5": 26862, + "8": 5328, + "9": 1, + "48": 26625 + }, + "live": 66304, + "note": "b = certified complex_lower - 1e-3080 (exact rational; the fixed-grid-maximum free gap r0, PR2180/PR2161 dataisfire); b_above_endpoint = complex_lower + 1e-3000 must fail the native moment test (the supplier's fine-engine certificate rejects at endpoint + 1e-3000)" +} diff --git a/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md new file mode 100644 index 0000000000..33272b5545 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md @@ -0,0 +1,30 @@ +# Classical-matrix boundary (tau = 2.372864 here; PR1699 used 12/5) + +PR1673 (Vlado Vojdanovski) charges the batched boundary algebra W^(tau-1) where tau is a fixed target exponent for W-square complex matrix +products; its stability lemma only requires omega_C < tau (it is stated there for the supplied omega_C <= 9/4 premise, tau = 19/8). +Chafik Boukhalfa (PR1699, `research/t74-signed554-phase-fusion/CLASSICAL-MATRIX-TRANSFER.md`) observed that Francois Le Gall's published +theorem omega < 2.3728639 (ISSAC 2014, arXiv 1401.7714, Table 1 and Section 6.3) already gives omega_C < 12/5, so the matrix branch needs no +unproven premise. This package adopts that specialisation: the boundary exponent is epsilon - xi + (tau-1)/2 = epsilon - xi + 7/10, the boundary +saving is 3/10 + xi - epsilon, and the ledger constant is c = (3 - tau)/2 = 3/10. The checks `matrix_exponent_above_published_bound` +(12/5 > 2.3728639) and `matrix_exponent_below_five_halves` are in the ledger; the exponent is an external published theorem and is not +re-proved here (neither in PR1699 nor in this package). The boundary row is far above the binding rows, so the final kappa is set by the +main transform = fused Gaussian balance with the sparse-union row carrying the layout slack, exactly as in PR1673's matrix corollary (this paragraph describes the PR1699 configuration; in this package the union row is relaxed by the new radix schedule and the boundary row binds, see the end of this file). + +What changes here relative to PR1699 is purely numerical and uses the freedom already in PR1673's proof: every strict slack (r0, zeta, layout slack, +q gap, stop exponent, decimal floor, backoff) is only required to be positive; they are set to 1e-3080 or below, and b is the certified complex +endpoint minus 1e-3080 instead of a 22-digit truncation minus 1e-30. The native moment test of the supplier is re-enclosed on a 2^-10413 grid +(directed-rounding integer fixed point, atanh/exponential term counts derived from the grid in check_ledger.py): moment(b) < 1 and moment(endpoint + 1e-3000) > 1 are both proven by exact rational enclosures. +Resulting kappa exceeds PR1699's exact kappa 0.001677641731343354564251058287... by about 6.7e-25. + + +## Change in this package + +The target exponent is tau = 2.372864 (just above Le Gall's published 2.3728639; PR1699's lemma only needs omega_C < tau), so c = (3 - tau)/2 = 0.313568. With the union row relaxed by the radix-distributed schedule (outer/UNION-SCHEDULE.md, new in this package) the boundary row binds: boundary saving c + xi - eps = kappa + slack, and kappa is set by the balance epsilon = (1 + q + q(c - s - r - zeta))/(1 + q)^2, xi = epsilon (1 + q) - c + s. The checks `matrix_exponent_above_published_bound` (tau - 2.3728639 = 1e-7 > 0) and `matrix_exponent_below_five_halves` are in the ledger. + +## Superseded in this package + +The square exponent tau = 2.372864 above is replaced by the rectangular-batching effective exponent tau_eff = 2.1567081 (k = 5, outer/RECT-BOUNDARY.md). Le Gall's bound is no longer used in the ledger. + +## Superseded again in pkg7 + +Historical (not used for kappa): the structured solves of outer/STRUCTURED-BOUNDARY.md give tau_eff = 2 + 1e-3080; the ledger uses the explicit Strassen boundary tau = 45/16 (c = 3/32); the fallback is the k = 5 batching of outer/RECT-BOUNDARY.md. diff --git a/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md b/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md new file mode 100644 index 0000000000..5a85d6854f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md @@ -0,0 +1,61 @@ +# Fine source-prime padding on this package's stack, and epsilon -> 1 + +**Credit first.** The mechanism of this note is **PR1786 (chafreaky, Chafik Boukhalfa)**: source primes at relative gap Theta(p^-2) from their dyadic targets, which exist by **Tim Trudgian's** effective prime number theorem (arXiv:1401.2689v2, theorem 2), the resulting setup precision `Cp + 64 p^2 ceil(log2 p)`, the theta-dependent conditioning, the polynomial halo p^48 / core p^128 and the dyadic normalizers. Its full text is vendored verbatim in `vendor/pr1786/FINE-PRIME-PADDING.md` and is the proof of every statement about primes, precision, locality and normalization used here. It builds on Vlado Vojdanovski's PR1673 (capped phase-cell fusion), the fractional-shift interiors and per-visit tag accounting of PR1758 (`outer/GAUGEFREE-INTERIORS.md`), the radix-distributed union schedule (`outer/UNION-SCHEDULE.md`), Jeremy Kothe's PR1731 ledger lineage and the PR1699/PR1672 supplier. **New in this package** (only): (a) the observation that epsilon is a free parameter and the resulting exact point epsilon = 1 - 1.0009765625e-3080; (b) the composition analysis below; (c) the exact ledger and independent derivation at that point. + +## 1. What is used from where + +| ingredient | source | role at epsilon -> 1 | +|---|---|---| +| fine primes, theta in (1/(4p^2), 1/(2p^2-1)] | PR1786 sec. 1-2 | chirp range a theta B^2 = O(a B^2/p^2): guard beta + 2 xi - 2 < 1 | +| setup precision, locality, normalizers | PR1786 sec. 3-5 | halo 48 / core 128; online precision stays O(p) | +| fractional-shift interiors, accretive circuit lemma | PR1758 (outer/GAUGEFREE-INTERIORS.md) | removes the linear gauge; **still required**: the old linear guard beta + xi <= 1 is violated at beta ~ 1, xi = 0.908 (ledger control `old_linear_guard`) | +| radix-distributed union schedule, per-visit tag work | outer/UNION-SCHEDULE.md | **still required**: the old g-factor union row 1 - eps - beta - 1/2 + xi is negative (control `old_g_factor_union_row`) and 2 beta < 1 fails (control `old_union_tag_2beta`) | +| boundary | explicit Strassen, tau = 45/16 (7^16 < 2^45), c = 3/32 | **not** the structured boundary of this package series: at xi = 0.908 < eps the boundary row is not binding, so the unproved stability claim of STRUCTURED-BOUNDARY.md is dispensable. Its file is retained as an alternative; it does not enter kappa. | + +## 2. epsilon is a free parameter (answer to "what sets epsilon = 0.9999999 in PR1786") + +Write delta = 1 - epsilon, beta = 1 - 3 delta, xi = epsilon(1+q) - c + s (boundary saving = main + s), c = 3/32. Every constraint of the ledger that involves epsilon or beta: + +* main = epsilon q is the binding saving, kappa = floor(epsilon q) - 1e-3022; +* Gaussian row: 1 - epsilon + q beta >= epsilon q iff **beta >= 1 - delta(1 + 1/q)** (a window of width ~ 594 delta below 1); +* membership: 1 - beta - 2(1-epsilon) > 0 iff **beta < 1 - 2 delta**; header / tag per visit: 1 - beta > 0; group below dimension: epsilon - beta > 0; +* **1 - epsilon - r0 > 0** (`global_gamma_power_slack`, r0 = 1e-3080: the spare power for u <= p^r0) and `source_axis_superpolynomial` 1 - epsilon > 0; +* boundary / union rows: xi = 0.9079 < epsilon (cap_below_cell), xi - 1/2 > 0, guard 1 - (2 xi - 2) - r0 - beta = 0.184 > 0: independent of delta; +* core-face corrections epsilon + beta + 48 - 128 + 2 < 0: independent of delta. + +The window for beta is non-empty for every delta > 0, and beta = 1 - 3 delta lies in it (the Gaussian row exceeds main by delta(1 - 2q)). The only lower bound on delta is **delta > r0 = 1e-3080**, a free strict slack of the proof. So PR1786's 1e-7 is an explicit interior point, not a limit; its kappa is q - 1.68e-10 only because delta = 1e-7. In this package delta = 1.0009765625e-3080 = (1025/1024) 1e-3080 (the smallest ratio that keeps the gamma spare power 1 - epsilon - r0 = r0/1024 > 0 and puts C - epsilon q below 1/F): + + epsilon = 1 - 1.0009765625e-3080, beta = 1 - 3.0029296875e-3080, xi = 0.9079463109..., + kappa = 0.0016797549561255445213356709939207025769983114385025802954603275201628645... + +which is q - 1.70e-3083 (q = b - 1e-3080 = 0.00167975495612554452133567099392070257699831143850258029546032752016286...). Exact sweep (`outer/independent_check.py`): delta in {1e-7, 1e-12, 1e-30, 1e-60, 1.0009765625e-3080, 1.1e-3080 ... } all satisfy every row; delta = r0 is rejected by `global_gamma_power_slack`; beta below the Gaussian window or at the membership edge is rejected (ledger controls `beta_below_gaussian_window`, `beta_above_membership_window`, `epsilon_equals_one`, `epsilon_not_above_r0_slack`). + +**Maximum epsilon.** Within this construction epsilon < 1 strictly (epsilon = 1 would mean d = p axes: source axes of O(1) size, `epsilon_equals_one` control; also kappa = epsilon q <= q), and 1 - epsilon > r0. The hard cap on any outer of this form is kappa < q (the supplier's complex saving); the remaining distance is q delta = 1.70e-3083. + +## 3. Does composing with the rest of the stack relax anything further? (answer: no, nothing is left to relax) + +* The binding rows at this point are main = epsilon q; boundary = main + s and union = main + s + 13/32, all other rows have strictly positive margins; the smallest non-main margin rows above kappa are global_coordinate_router (1.00e-3022), fused_gaussian (1.00e-3022) and group_bit_router (1.00e-3022), and the smallest strict checks overall are stop_positive = 1e-3086, global_gamma_power_slack = 9.77e-3084, lambda_above_tau = 2.5e-3081, lambda_above_internal = 2.5e-3081, lambda_prime_above_lambda = 2.5e-3081. They are positive but NOT all >= 1e-3080 (an earlier version of this sentence claimed so; corrected after the PR2286 audit). Nothing but delta moves kappa. +* Structured boundary / k5 boundary: boundary row non-binding, no effect on kappa (only on c). xi is not free: the ledger fixes xi = epsilon (1 + q) - c + s, which is 0.9079463109 at the explicit Strassen boundary c = 3/32. Using c = 1/2 would give xi = epsilon (1 + q) - 1/2 + s = 5.016963e-1 with the same kappa (xi = 0.5 itself is excluded by the cap xi > 1/2); it would add the unproved structured-stability claim for nothing. +* The router row a_eff = (q+b)/2 > epsilon q by about 1.00e-3022 (global_coordinate_router row); using the true bit endpoint there would not change kappa (main binds). +* Therefore kappa = epsilon q - 1e-3022 with epsilon the only free quantity, and it is already within q delta = 1.70e-3083 of the ceiling q. + +## 4. Obligations (same as PR1786 sec. 8, with sharper asymptotics) + +1. Every "eventually" in vendor/pr1786/FINE-PRIME-PADDING.md is now needed with exponent margin delta = 1.0009765625e-3080 instead of 1e-7: e.g. log x = Theta(p^(1-epsilon)) = p^(1.0009765625e-3080) must dominate log p in the prime-count estimate (true for p beyond an astronomically large cutoff), source axes 2^(p^delta) must exceed every fixed polynomial of p, and the polylog factors of every row are absorbed by p^delta-type slack. This is the same logical status as the 1e-3080 slacks of every row of this package (and of PR1786's 1e-7 version with a smaller cutoff); no practical cutoff is claimed. +2. Trudgian's theorem is a cited mathematical input (vendor/pr1786); the prime and precision lemmas are PR1786's and need their review (PR1786 is a draft). +3. The composition with PR1758's accretive circuit lemma uses theta^-1 = O(p^2) in the symbol bound (PR1786 sec. 3); the Gauge-free note's guard is superseded by `beta + 2 xi - 2 < 1` at fine theta. +4. Fresh native admission of the unchanged supplier: `verify_release.py`. + +## 5. Executable support + +`outer/check_ledger.py` (exact, 62 strict checks (including improvement over the exact kappas of PR1828, PR1839, PR1875, PR1876 and PR1897), 17 rejecting controls, improvement over PR1786's exact kappa and PR1758), `outer/independent_check.py` (independent balance derivation, the epsilon-free sweep), `outer/check_fine_padding.py` (PR1786's finite prime witnesses, underflow control, power relations), `outer/check_gaugefree.py` (PR1758 identities). + +## 4. Audit notes (PR2286 and philippeVV; none changes kappa) + +Credit: the side-condition audit of PR2286 (thakrarsagar) and the related checks of philippeVV (PR1897 / PR2044 comments) found the following text defects, corrected in this package. + +* The minimum-margin sentence of Section 3 and the aside on xi were wrong as written (corrected above, numbers from `outer/LEDGER.json`). +* HALO theorem branch. `vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md` line 205 states `K0^2 = o(p)`; at this point K0 = O(g h) = p^(beta + 1 - epsilon) and the statement needs 2(beta + 1 - epsilon) < 1, which is false here. The branch of the theorem that this package uses is the explicit-metadata branch (the theorem's own metadata term, lines 32 and 44 of that file), which holds: it is dominated by the ledger row `microbox_face_corrections` (margin 7.700e1). The `K0^2 = o(p)` branch is not used. The vendored file is left verbatim. +* The PR1786 p^10 umbrella (`vendor/pr1786/FINE-PRIME-PADDING.md`, `check_fine_padding.py` norm_power = 10) is now tied to THETA_POWER in `outer/check_ledger.py` (`halo_umbrella` in `LEDGER.json`): budget 2 THETA_POWER + 2 + 1/2 = 13/2 < 10, margin 7/2; the check would fail from THETA_POWER = 15/4. +* The two vacuous `or True` guards (`outer/struct_check.py` in the far-block loop and `outer/check_gaugefree.py` line 23) are deleted; nothing depended on them and both scripts still pass. +* Stale digits of xi and of the superseded pkg8-era / PR1673-era numbers are regenerated from the ledger where they are stated for the current point; text marked pkg8-era or superseded is historical. diff --git a/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md b/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md new file mode 100644 index 0000000000..449c308761 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md @@ -0,0 +1,123 @@ +> **Package note (fine primes).** In this package the source primes are chosen at relative gap Theta(p^-2) (PR1786, `vendor/pr1786`); theta >= 1/(4p^2) replaces theta >= 1/(4d) in every bound below, the chirp range becomes O(a B^2/p^2) and the guard of Section 5 becomes beta + 2 xi - 2 < 1 (see `outer/FINE-PADDING-COMPOSITION.md`). The accretive lemma and the shift identities hold for every theta > 0; the symbol bound mu >= (1 - e^{-gamma theta/2}) e^{-pi^2/(3 gamma)} is polynomial for theta^-1 = O(p^2). + +# Gauge-free interiors: fractional-shift Toeplitz kernels, accretive shallow circuits, and the chirp-only guard + +**Status.** New in this package series (not in PR1673 by Vlado Vojdanovski, whose capped phase-cell fusion, SHALLOW-TOEPLITZ.md, CAPPED-GAUGE-AUDIT.md and LOG-A-PHASE-SCHUR-AUDIT.md this note modifies and relies on). Conditional on every hypothesis of PR1673 except the three statements replaced below. Independent review required before release. Executable support: `outer/check_gaugefree.py` (exact identities, 50-digit symbol checks, section/Schur bounds, circuit replay) and `outer/check_ledger.py` / `outer/independent_check.py` (the ledger). + +## 0. Result and what changes + +kappa (this package = structured boundary + this note) = **0.0016797455088022990515465336851999736723...** (exact, 58 strict checks positive, all rejecting controls fire; previous package (structured boundary, linear guard) 0.0016783441717365..., gain +1.4013e-6; rectangular k=5 package 0.0016781238306335..., gain +1.6217e-6). Parameters: eps = 0.9999943758, xi = 0.5016741213, beta = 0.9966461332. + +Three statements of #1673 are replaced (everything else is unchanged): + +| # | #1673 / earlier packages | this note | +|---|---|---| +| R1 | local gauge of a capped interior: diagonals of range O(aB) (narrow), O(b0 B) (broad) | the linear part of the gauge is exactly a fractional centre shift of the Toeplitz kernel; only the quadratic chirp remains, range O(a theta B^2) = O(a B^2/d). (Section 2) | +| R2 | SHALLOW-TOEPLITZ sec. 9 needs mu I <= H <= M I (SPD) or ||H-I||<1/4 | accretive: (H+H^*)/2 >= mu I and ||H|| <= Lambda, with the absolute-scale guard log(2+Lambda+1/mu) (a ratio Lambda/mu alone is false, Remark 4.1a); for the unit-diagonal kernels used here Lambda >= 1 >= mu, so the guard is O(log(2+Lambda/mu)) (Corollary 4.1b). The shifted Gaussian symbol is accretive with explicit mu. (Sections 3, 4) | +| R3 | ledger guard beta + xi <= 1-r-zeta; union tag check 1-2 beta > 0 | guard beta + 2 xi - eps <= 1-r-zeta; tag check 1-beta > 0 (Sections 5, 6) | + +## 1. Setting + +Phase cell: beta_i = theta i - c in [-1/2,1/2), rho = 1+theta, lambda = 1/rho, 1/(4d) <= theta <= 1/(2d-1). An interior is a contiguous block of selected target coordinates (unit q-gaps), length n <= B (dyadic), anchor m at its centre; x = i-m, y = k-m, t = i-m for the narrow operator. B = p^xi, d = p^eps, xi < eps. + +* Broad forward block (FORWARD-SMALL-A-AUDIT, CAPPED-GAUGE-AUDIT sec. 3): K_{ki} = alpha^-1 exp(-b0 (x - lambda y + delta)^2), delta = (1-lambda) m - c, |delta| <= 1/2, b0 = pi/alpha^2. +* Narrow inverse block (LOG-A-PHASE-SCHUR-AUDIT sec. 1): N_{i,i+h} = exp(-a[(rho h + beta_i)^2 - beta_{i+h}^2]), a = pi alpha^2, beta_i = beta0 + theta t_i. + +## 2. Exact gauge <-> shift identities + +**Lemma 2.1 (broad).** For every real s, +(x - lambda y + delta)^2 - lambda (x - y - s)^2 = (1-lambda) x^2 - lambda(1-lambda) y^2 + delta^2 - lambda s^2 + 2(delta + lambda s) x - 2 lambda (delta + s) y. +Hence K = Drow G_s Dcol exactly, with the Toeplitz kernel G_s(y,x) = exp(-b0 lambda (x-y-s)^2) and diagonals separable in (y,x) (proved by expansion; sympy and 600 exact rational mixed-difference checks in `check_gaugefree.py` stage A/B). +Choose **s = -delta (1-theta)**. Then the x-linear coefficient is 2 b0 (delta + lambda s) = 2 b0 delta (1 - lambda(1-theta)) = 2 b0 delta * 2 theta/(1+theta), |.| <= 2 b0 theta, and the y-linear coefficient is -2 b0 lambda (delta + s) = -2 b0 lambda theta delta, |.| <= b0 theta. Over a block with |x|,|y| <= B/2 the linear leftover has logarithmic range <= 2 b0 theta B (total), and the quadratic parts b0 (1-lambda) x^2, b0 lambda (1-lambda) y^2 have range <= b0 theta B^2/4 each. Also |s| <= (1-theta)/2, i.e. 1 - 2|s| >= theta. +(With s = -delta/lambda the linear terms vanish in x and are 2 b0 delta (1-lambda) in y, but |s| can exceed 1/2 by theta/2, which changes the winding number of the symbol; so the shift is shrunk by (1-theta). The price is the O(b0 theta B) linear leftover, dominated by the chirp.) + +**Lemma 2.2 (narrow).** With beta_{i+h} = beta_i + theta h, rho = 1+theta: +(rho h + beta_i)^2 - beta_{i+h}^2 = (1+2theta) h^2 + 2 beta_i h. Writing beta_i = beta0 + theta t_i, j = i+h, t_j = t_i + h, and 2 t_i h = t_j^2 - t_i^2 - h^2: +log N_{ij} = -a rho h^2 - 2 a beta0 h + a theta (t_i^2 - t_j^2) (exact; sympy check, stage A). +So N = D' k D'^{-1}-type: N_{ij} = e^{a theta t_i^2} k(j-i) e^{-a theta t_j^2} with the Toeplitz kernel k(h) = exp(-a rho h^2 - 2 a beta0 h) = exp(a beta0^2/rho) exp(-gamma (h-s)^2), **gamma = a rho, s = -beta0/rho**. Here |s| <= 1/(2 rho) so **1 - 2|s| >= 1 - 1/rho = theta/rho >= theta/2**: no shrinking is needed, and the gauge is the chirp D' = exp(a theta t^2) of logarithmic range a theta B^2/4 (centred). The old weights are the same objects: log w_i = const + a theta (i - c/theta)^2 (the old linear slope 2 a beta0 is exactly the term moved into k). + +**Normalisation.** G'_s(u) := e^{gamma s^2} e^{-gamma (u-s)^2} = exp(-gamma u^2 + 2 gamma s u) has G'_s(0) = 1 (unit diagonal, as the audited N). The scalars e^{gamma s^2} are exact constants (stored in the anchor ratios). + +**Rounding.** The circuit applies the ideal truncated kernel (band W) rounded to Cp bits (the unit diagonal G'_s(0) = 1 is kept exactly by truncation and by rounding, so the circuit kernels are exactly unit-diagonal, Corollary 4.1b and stage F of `check_gaugefree.py`); the audited global rounded matrix differs from it by <= poly(p) 2^{-Cp} times the diagonal range e^{O(g (a theta B^2 + polylog))}, which is covered by the same precision guard (Section 5). **Restated comparison (audited rounded matrix vs ideal shifted kernel).** The audits (BILATERAL-LDU, FORWARD-SMALL-A, CAPPED-GAUGE-AUDIT sec. 2-3) bound the unshifted globally rounded matrix H^. Let K be the ideal block (exact Gaussian entries) and K~ = Drow' G^_s Dcol' the matrix the circuit applies (truncated at W, G^_s rounded to Cp bits, anchored diagonals). Entrywise |H^ - K| <= 4 * 2^{-P} e^{a/(4 theta)} relative to the weights (audit sec. 2), and |K~ - K| <= 2^{-Cp} W-banded; the diagonal conversions contribute the factor e^{O(a theta B^2)} per axis (chirp range of Section 5; the linear leftover is smaller). Hence ||K~ - H^|| <= poly(p) 2^{-Cp} e^{O(g a theta B^2 + g polylog p)} (g axes tensored), and the exponent is o(p) bits by the precision guard beta + 2 xi - eps < 1 of Section 5. For C > 1 the perturbation is <= 2^{-(C-o(1))p} <= 2^{-p}/poly, and since ||K^-1||, ||H^-1|| <= p^{O(1)} (Section 3; audits) every audited uniform bound (row gap, inverse norms, Neumann tail J = Cp^2, halo radius A) holds for K~ with polynomially perturbed constants. No structural change. + +## 3. The shifted Gaussian symbol is accretive + +Let q = e^{-gamma}, 0 <= s' = |s| < 1/2, phi(w) = sum_u e^{-gamma(u-s)^2} e^{-iuw}. + +**Lemma 3.1 (product form).** Jacobi triple product with Z = q^{-2s} e^{-iw}: +phi(w) = e^{-gamma s^2} prod_{m>=1}(1-q^{2m}) (1 + a_m e^{-iw})(1 + b_m e^{iw}), a_m = q^{2m-1-2s}, b_m = q^{2m-1+2s}. +For s < 0 the symbol is the complex conjugate (swap a, b). All a_m, b_m in (0,1) iff |s|<1/2; a_1 = q^{1-2|s|} is the unique factor near 1. At |s| = 1/2: a_1 = 1 and phi(pi) = 0. (Verified at 50 digits, relative error 2.5e-42 on 1025 points.) + +**Lemma 3.2 (phase).** For w in [0,pi] and s >= 0, f(x) := arg(1 + x e^{iw}) = atan(x sin w/(1 + x cos w)) is increasing in x in [0,1) (f'(x) = sin w/|1+x e^{iw}|^2 > 0). arg phi = sum_m [f(b_m) - f(a_m)]. Since 2m+1-2s >= 2m-1+2s iff s <= 1/2, a_{m+1} <= b_m, so f(b_m) >= f(a_{m+1}) and +0 <= -arg phi = sum_m [f(a_m)-f(b_m)] <= sum_m [f(a_m) - f(a_{m+1})] = f(a_1) < w/2 <= pi/2. +For w in [-pi,0] use phi(-w) = conj(phi(w)). + +**Lemma 3.3 (real part).** cos(f(a_1)) = (1 + a_1 cos w)/|1 + a_1 e^{iw}|, so +Re phi(w) >= |phi(w)| cos f(a_1) >= e^{-gamma s^2} prod_{m>=1}(1-q^{2m}) * (1 - a_1) prod_{m>=2}(1-a_m) prod_{m>=1}(1 - b_m) =: m_s(gamma). +(The bound is attained at w = pi up to the other factors: stage C finds min Re phi / m_s = 1.0.) Normalising by e^{gamma s^2}: + +mu(gamma, s) := m_s e^{gamma s^2} >= (1 - e^{-gamma(1-2|s|)}) exp(-pi^2/(3 gamma)). + +Proof of the closed form: -ln prod_k (1 - e^{-k gamma x}) = sum_h (1/h)/(e^{h x gamma}-1) <= pi^2/(6 x gamma); the three infinite products are bounded by prod_{k>=1}(1-q^{2k}) >= e^{-pi^2/(12 gamma)} (twice, the second for m >= 2 since a_m <= q^{2m-2}) and prod_{k>=1}(1-q^{2k-1}) >= prod(1-q^k) >= e^{-pi^2/(6 gamma)}; total e^{-pi^2/(3 gamma)}. +Norm: Lambda := ||G'_s||_2 <= ||symbol||_{l1} = sum_u e^{-gamma(u^2 - 2su)} <= 3 + sqrt(2 pi/gamma) (u^2 - 2su >= u^2 - |u| >= 0 and >= u^2/2 for |u| >= 2). + +Parameter values. Broad: gamma = b0 lambda = pi/(alpha^2 rho) = Theta(1/log p), 1-2|s| >= theta >= 1/(4d): mu >= (gamma theta/2) e^{-pi alpha^2 rho /3} = p^{-O(1)}. Narrow: gamma = a rho >= 4 log(16 p), 1 - 2|s| >= theta/2: mu >= (1 - e^{-a theta/2}) e^{-pi^2/(3 gamma)} >= a theta/3 = p^{-O(1)} (this is the audited row gap). + +## 4. The accretive Toeplitz circuit (replaces SHALLOW-TOEPLITZ sec. 9) + +**Theorem 4.1.** Let N be a power of two and H an N x N complex Toeplitz matrix with ||H||_2 <= Lambda and (H + H^*)/2 >= mu I, mu > 0. There is an N-wire circuit of disjoint invertible 1x1/2x2 gates applying H, with O(log^4 N) rounds, O(N log^4 N) gates, no ancilla, and +log(max prefix / suffix / inverse-prefix operator norm) = O(log N * log(2 + Lambda + 1/mu) + log N). +Rounding every coefficient to p + O(log N * log(2+Lambda+1/mu)) bits gives operator error 2^-p. If Lambda and 1/mu are p^{O(1)} the guard is O(log N log p) bits per axis. (The guard is the absolute-scale one of SHALLOW-TOEPLITZ sec. 9, M = Lambda, 1/mu; it is not a function of Lambda/mu alone.) + +**Remark 4.1a (why the absolute scale is needed).** The statement is not uniform in Lambda/mu: for N = 2 and H = tI, t > 0, Lambda = mu = t, Lambda/mu = 1, but the completed circuit has norm t and its inverse has norm 1/t, so the left side is >= |log t|, unbounded as t varies. (Reviewer observation, Mister-Meeseeks, review of PR 1758.) The proof below is written with Lambda + 1/mu throughout. + +**Corollary 4.1b (unit-diagonal kernels: ratio-only form).** If in addition every diagonal entry d of H satisfies |d - 1| <= 1/2 (in particular d = 1, the normalised kernels G'_s), then Lambda >= |d| >= 1/2 and mu <= Re d <= 3/2 (test the accretivity inequality on a unit vector e_j: Re H_jj >= mu; and ||H|| >= |H_jj|). Hence 1/mu <= 2 Lambda/mu and Lambda = (Lambda mu)/mu <= (3/2) Lambda/mu, so Lambda + 1/mu <= (7/2) Lambda/mu and log(2 + Lambda + 1/mu) <= log(2 + 4 Lambda/mu) <= 2 log(2 + Lambda/mu) + O(1). For d = 1 exactly: Lambda >= 1 >= mu and Lambda + 1/mu <= 2 Lambda/mu. Therefore for unit-diagonal kernels log(max prefix / suffix / inverse-prefix norm) = O(log N log(2 + Lambda/mu) + log N), the ratio-only form originally stated, and the rounding guard is p + O(log N log(2+Lambda/mu)) bits. + +*Proof.* Identical to SHALLOW-TOEPLITZ sec. 4, 5, 6, 9 except for the single place where the hypothesis is used, the uniform control of every recursive matrix, which we prove now. + +(a) *Descendants are Schur complements of sections.* Let T_b be the leading b x b section of H. The recursion of sec. 4 acts on index intervals J = [a,b); the matrix at J is S(a,b) = T_b / T_a (Schur complement of the leading a x a block of T_b, as an (b-a) x (b-a) matrix). Indeed the root is S(0,N); the children of S(a,b) with midpoint m are S(a,m) = T_m/T_a (leading block of S(a,b)) and S(a,b)/S(a,m) = T_b/T_m by the quotient property (T_b/T_a)/(T_m/T_a) = T_b/T_m. All of these are contiguous leading-type sections of the same Toeplitz H. + +(b) *Accretive matrices.* If Re >= mu ||x||^2 then ||Tx|| >= mu||x||, so ||T^-1|| <= mu^-1; every principal submatrix has the same property. Hence ||T_b^-1|| <= 1/mu for all b and ||S(a,b)^-1|| = ||(T_b^-1)[a,b)|| <= 1/mu (absolute bounds, not ratios). Also ||S(a,b)|| <= ||T_b[a,b)|| + ||T[a,b); [0,a)|| ||T_a^-1|| ||T[0,a); [a,b)|| <= Lambda + Lambda^2/mu =: Lambda'. The shear matrices K = A^-1 B, L = C A^-1 have norm <= Lambda/mu (a product of an inverse bound 1/mu and a norm bound Lambda; with the absolute guard Lambda/mu <= (Lambda+1/mu)^2). Writing M := 2 + Lambda + 1/mu, every quantity so far is <= M^3: ||S|| <= Lambda' <= M^3, ||S^-1|| <= M, ||K||, ||L|| <= M^2, and so Lambda' + 1/mu <= 2 M^3 =: M'. (No Hermitian structure was used.) + +(c) *Displacement rank, generators, compiler.* Sec. 4's rank identities (Delta = ZM - MZ, rank Delta(H) <= 2, ranks of A,S <= 2 + depth) and the sec. 5 bounded-generator compiler use only that each node's A, S, K, L are bounded matrices with the displayed ranks; the Stein generators g_j (orthonormal), h_j (norm <= ||E_T|| <= 2 Lambda'') have polynomial norm, and gamma_P = 64 N Lambda'' suffices, where Lambda'' is any common bound for the norms of the node matrices and their inverses, here Lambda'' = M' = 2 (2+Lambda+1/mu)^3 (the inverse bound 1/mu enters through it; it is not a function of Lambda/mu). The recursion D_full(N) <= D_full(N/2) + O(log^3 N) is unchanged. + +(d) *Prefix norms.* With each completed node factor of norm and inverse norm <= poly(N) M'^{O(1)}, B(N) <= max(C B(N/2), N^C M'^C), so log B(N) = O(log N log M') = O(log N log(2+Lambda+1/mu)) as in sec. 9 (M = Lambda, 1/mu there; Lambda'' = Lambda' + 1/mu <= 2 (2+Lambda+1/mu)^3, which changes log only by the constant 3). For H = tI this correctly gives log B >= |log t|. QED. + +**Corollary 4.2 (perturbation, truncation, rounding).** If the symbol is perturbed in l1 by eps' <= mu/2 (band truncation at W, rounding to Cp bits), the Hermitian part stays >= mu/2, the norm stays <= Lambda + mu/2, and Theorem 4.1 applies to the perturbed matrix with (Lambda, mu) replaced by (Lambda + mu/2, mu/2) (guard log(2+Lambda+mu/2+2/mu) <= log(2+Lambda+1/mu)+O(1) as mu <= 3/2). Truncation at any band W >= 0 and rounding of the kernel to Cp bits (fixed or floating point) do not touch the diagonal entry G'_s(0) = 1, which is exactly representable and is the u = 0 term kept by every truncation; so the perturbed kernels remain exactly unit-diagonal and Corollary 4.1b applies verbatim (Lambda >= 1 >= mu for the perturbed matrix). Were the diagonal to drift (e.g. a diagonal conversion with a rounding error), a drift |d-1| <= 2^{-Cp} <= 1/2 is covered by the hypothesis |d-1| <= 1/2 of Corollary 4.1b; the constants change by factors <= 7/2 only (stage F of `check_gaugefree.py`). For the broad kernel the truncation tail is <= 2^{-p}, and mu >= p^{-O(1)}. + +**Corollary 4.3 (boundary pivots for the structured boundary).** The boundary LU pivot P_j of STRUCTURED-BOUNDARY (Schur complement of T[J] onto segment j after eliminating all indices left of it and the interval I_j to its right, J = [0, end of I_j)) satisfies ||P_j^-1|| <= 1/mu, ||P_j|| <= Lambda + Lambda^2/mu, because P_j^-1 is the principal block of (T[J])^-1 and T[J∖seg_j] is a principal submatrix of T[J], both accretive. The couplings are band entries of G_s. The statement holds per constant-offset stretch: each stretch of a cell (maximal run with constant phase offset c, i.e. one Toeplitz matrix T, one shift s) is handled with its own anchor at the segment centre, so that the chirp D' = exp(a theta t^2) (broad: b0 theta t^2) has range a theta B'^2/4 for boundary segments of physical length B' <= B + 2W (and the linear leftover is <= 2 b0 theta B'); a pivot chain crossing a cell cut restarts, since cell cuts are boundary coordinates. Rank-2 Stein/Sylvester displacement for P_j, P_j^-1 holds for every Toeplitz T (Kailath), shifted or not; screened in `check_gaugefree.py` D/E and in the earlier IdeaOuter screen (displacement rank 2 along the whole chain at s = 0.5). Thus the structured-boundary pivot bounds (which used BILATERAL-LDU for the unshifted gauge) transfer without change of statement. + +## 5. Assembly and the guard + +For every capped interior (dyadic length n <= B, with its own anchor and shift s): + broad: Drow' (circuit of G'_s, Theorem 4.1 with mu = mu(b0 lambda, s); unit diagonal, so Corollary 4.1b applies)) Dcol'; + narrow: D' (circuit of G'_s, gamma = a rho) D'^-1 (inverse circuit = reversed gate sequence). +The diagonal factors Dcol', Drow', D' are anchored ratios with logarithmic range + narrow: a theta B^2/4; broad: <= b0 theta B^2/4 (x^2 and y^2 terms) + 4 b0 theta B (linear leftover) . +Per axis the range is O(a B^2/d); direct sums over blocks run in parallel as before. For g simultaneous axes the precision requirement of CAPPED-GAUGE-AUDIT sec. 4 becomes + P >= p + O(a d) + O(g a theta B^2) + O(g log N log p) + ... , i.e. g B^2/d * polylog <= p^{1-r-zeta}: + **beta + 2 xi - eps <= 1 - r - zeta**. +The offline accuracy term a d = o(p) is unchanged. The leftover linear term (exponent beta + xi - eps) is dominated by the chirp (exponent beta + 2 xi - eps) since xi > 0. The circuit norms add g * O(log N log(2+Lambda+1/mu)) bits (Theorem 4.1); here Lambda <= 3 + sqrt(2 pi/gamma) and 1/mu = p^{O(1)} (Section 3), so Lambda + 1/mu = p^{O(1)} directly (and by Corollary 4.1b equivalently Lambda/mu = p^{O(1)}), i.e. g * O(log N log p) bits, polylog per axis, as before. The precision assertion is stated with the absolute-scale guard, not with a ratio alone; the exponent beta + 2 xi - eps and every ledger number are unchanged. +(Why this does not collide with locality: the audited locality/halo constructions use the global rounded matrix only through uniform norms and the row gap, which are properties of the same Toeplitz-similar matrices; the shift is an exact similarity-to-Toeplitz representation of the same blocks, Lemmas 2.1-2.2.) + +## 6. Ledger changes (exact) + +1. `group_gauge_power_slack`: 1 - xi - r - beta -> **1 - (2 xi - eps) - r - beta**; `actual_logarithmic_group_guard`: 1 - xi - beta -> **1 - (2 xi - eps) - beta**. Add `shift_leftover_linear_dominated_by_chirp`: xi > 0, `shift_gap_theta_polynomial`: eps > 0. +2. Parameters: eps = (1 + q beta)/(1 + q) (main = Gaussian), xi = eps(1+q) - c + slack (boundary = main + slack), beta = 1 - 2 xi + eps - r - zeta. Closed form beta = (-1 + 2c - 2 slack + 1/(1+q) - r - zeta)/(1 + 2q - q/(1+q)), c = (3 - tau_eff)/2. +3. `union_tag_work_fits_record` (1 - 2 beta) -> **`union_tag_work_per_visit_fits_record`: 1 - beta** (Section 7). `union_header_fits_record` (1-beta) and `membership_arithmetic_fits_record` (1 - beta - 2(1-eps)) stay: pkg8 values 3.354e-3 and 3.343e-3. +4. Controls added: `old_linear_gauge_guard` (1 - xi - beta < 0), `old_union_tag_2beta` (1 - 2beta < 0) must fire as rejecting controls (they do). +5. Numbers (pkg8-era package, superseded by outer/FINE-PADDING-COMPOSITION.md for the current epsilon = 1 - 1.0009765625e-3080 point): eps = 0.99999437577296, xi = 0.50167412128176, beta = 0.99664613320944; margins above kappa: main = Gaussian = bit router = boundary = union ~ 1e-64; global router 9.4e-9; cap xi - 1/2 = 1.674e-3; group_below_dimension 3.35e-3; epsilon_below_one 5.6e-6; improvement over pkg7 1.4013e-6. +`outer/check_ledger.py` carries exactly these edits relative to the previous (structured-boundary, linear-guard) package; `outer/independent_check.py` re-derives (E,X,B) from the three linear equations by exact elimination. + +## 7. Union tag work: g polylog <= p suffices + +The previous version of UNION-SCHEDULE.md (steps 1 tag and section 3 header paragraph) argued "tag work per record <= O(g^2) in total, o(p) because 2 beta < 1". The cost accounting of Section 2.3-2.4 of that note is per visit: round r touches only records of S_r; each visit costs O(p log g + p log a + 1) head travel (radix passes, transposition) plus the tag extraction O(g) bit operations (scan of the g-bit flag header for the r-th set bit) plus O(g log L) header travel (the header is carried with the record). Sum over rounds = sum_r |S_r| = sum_x |F(x)| <= g mu V (Section 2.4). Total = O(g mu V (p polylog p + g log L)) = O(g mu V p polylog p) as soon as g log L = o(p polylog p), i.e. beta < 1 (and this is already the header check `union_header_fits_record`). The O(g^2) per-record total is a pessimistic restatement: each of the |F| <= g visits of a record is paid for by its own Theta(p) move. UNION-SCHEDULE.md now carries this wording. A reviewer should confirm no other place charges g^2 per record. + +## 8. Obligations / risks (review checklist) + +1. Theorem 4.1 relies on SHALLOW-TOEPLITZ sec. 4-6 (not re-derived); only the descendant bound (Section 4(a)-(b)) is new, and it carries the absolute-scale guard log(2+Lambda+1/mu) (corrected from a ratio-only statement; the application is unaffected because the kernels are unit-diagonal, Corollary 4.1b). The finite replay (`check_gaugefree.py` stage E: the vendored compiler on shifted Gaussian tiles n = 8, 16, 32, gamma in {0.5, 2, 20}, s up to 0.499: max error 1.8e-12, displacement rank <= 3, peak prefix norm <= 91 for n = 8, 16, max generator entry <= 11.4) supports it. The peak prefix norm is tracked only for n <= 16; for n = 32 it is not computed (reported as null). +2. The tile is a contiguous section of the *banded, truncated, rounded* shifted kernel; Corollary 4.2 covers it. The audited global rounded matrix remains the reference for the locality/Neumann/halo arguments; its comparison with the ideal kernel is stated in Section 2 (error poly(p) 2^{-Cp} e^{O(g a theta B^2)} = 2^{-(C-o(1))p}, C > 1). +3. Narrow N formula taken from LOG-A-PHASE-SCHUR-AUDIT (`n_{i,h}`), verified symbolically against the quoted weights of CAPPED-GAUGE-AUDIT sec. 2 (stage A). Broad block formula from CAPPED-GAUGE-AUDIT sec. 3. +4. (pkg8-era, superseded by the fine-padding point beta = 1 - 3.0029296875e-3080) The parameter point sat at beta = 0.9966, 1 - beta = 3.35e-3: header (g log L bits) and membership (g (log s)^2) rows hold only "eventually", with exponent margins 3.3e-3; the claim is an asymptotic statement with the same status as the other margins (1e-64 slacks). +5. Not changed: supplier, bit/complex rows, union schedule beyond Section 7, cap xi > 1/2 (pkg8-era margin 1.67e-3; at the current point xi - 1/2 = 4.079e-1). +6. STRUCTURED-BOUNDARY.md now states the chirp range O(aB^2/d) for consecutive boundary segments (physical length <= B + 2W) and cites Corollary 4.3 for the pivot bounds. diff --git a/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json b/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json new file mode 100644 index 0000000000..27836fa185 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_INDEPENDENT_BALANCE_DERIVATION", + "source_sha256": "85635e7f1ceff706fe43c9eda5bb8847e6273b4d7509b119114e39684b0ddbdf", + "b": "171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "rows": { + "struct_boundary_radix_union": { + "epsilon": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cap": "185951981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999995898476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "beta": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa": "17186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "margin_above_kappa": "20480000000000000000000020479999999999999999999999999999995900476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "checked_cost_powers": 9, + "gap_to_q": "5000000000000000000000004999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_free_sweep_delta_gap_to_q": [ + [ + "1/10000000", + "1.718657437166856e-10" + ], + [ + "1/1000000000000", + "1.718657437166856e-15" + ], + [ + "1/1000000000000000000000000000000", + "1.718657437166856e-33" + ], + [ + "1/1000000000000000000000000000000000000000000000000000000000000", + "1.718657437166856e-63" + ], + [ + "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0.0" + ], + [ + "11/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0.0" + ] + ] + } + }, + "scope": "Independent balance derivation and margin comparisons for this package's supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/outer/LEDGER.json b/research/gmx-t74-borrow43-handoff/outer/LEDGER.json new file mode 100644 index 0000000000..054e3d9aff --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/LEDGER.json @@ -0,0 +1,576 @@ +{ + "status": "PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC", + "scope": "Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.", + "geometry_changes": { + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "halo_power": 48, + "core_power": 128, + "matrix_exponent": { + "rational": "45/16", + "decimal": "2.8125" + } + }, + "halo_umbrella": { + "umbrella_power": 10, + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "exponent_budget": { + "rational": "13/2", + "decimal": "6.5" + }, + "margin": { + "rational": "7/2", + "decimal": "3.5" + }, + "fails_from_theta_power": { + "rational": "15/4", + "decimal": "3.75" + } + }, + "complex_lower_short": { + "rational": "171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "complex_lower_pinned": { + "rational": "859328718583427977846728807162140204982487346469202872383021530940018909178551361387571783736782213325121826918048852747566926601303893228235898504465814913142400071530962928988213369383957862679461504614885262317496241473871913601926722906407678966961668627574929014446722419564332406669262500078094178577878424083533928637768249609025993306321225600775412341318980008567293582463694576230517343774085116182074042090974743579998517632420675958769101383518940491966977871793517163773103855484119623299746571141444800316174686087461204321670336956141327825333014596188747945562418985424443356810950898484389181989721187292321599917700031480235650483744026570992529527576684063362422057446485743652833585368415507132260086061292278287663038358245048815331706612829292734807344587132012955108217253027634404946011694978605011263652609760920309761914062245599272977065260264106501599043347668712448863284796376251428721889038614603777591554816862701444950241786906103533380269629776719653635655941006958241662968807363133708044356328257435428701482477970631597674750947217433329817567129377912538671296443559484155798285263371821919354841125939224439280250498893708840474141615780080511036136751002119314121036007925669064266026954333457616585474563900002540108849721270897923621847296484218021684314849881534231318462146237780428463220133442204878058232495273384874217022654242179273388058127339953075270272329017913048086586152716707903431834704133280980266785698381251224506889110697920489987550744861939951755937400657615388846224778676353760792514914406335188964341538502908333736879799902556113488848030160635711037000795561769299700828597876029389527019012778732122564370799921931983502236087549845533994805922103649481898001092308988746476631740548989076341260104553207172377520051897808421470871440143725528288036257289684888915398198429534541821487944164329151797106043494047616053641906160582901113815787499471540012621439891236436803539193200307739736685944319841059228967624850736877619832449703912866897162138537682984406146886486834111473275463096363659646783147134478226076910682243118192626748029895183968229738026085943708731330412568284845894467161345512244307727537535566623578558027152414868490105341060381426874919172269382678008766847227345005175199809344243627196038943070377835742925868850157627107403192482162119213301869753508987679230585807699077898320829444000006768400046727909669870953502912204718083692761849827400342075815188138136953420609670572665894269085329251872090835845879004237884927040877279287086746073229584865613860301568110884746868343336325401997341034404006080688214289808830167930336977758156998112344256088270885953997915596090390499213993368019350891687120529423628331721750624152771081271037589794777542309803318238686420243507118078602068264262164595732943855039517738284096897779356346289060387073146311788442115866285274446214143586106512881889403350004256011542662965550430170781669649716296673408790512135364694299831759506216057669270834905317/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001718657437166855955693457614324280409964974692938405744766043061880037818357102722775143567473564426650243653836097705495133853202607786456471797008931629826284800143061925857976426738767915725358923009229770524634992482947743827203853445812815357933923337255149858028893444839128664813338525000156188357155756848167067857275536499218051986612642451201550824682637960017134587164927389152461034687548170232364148084181949487159997035264841351917538202767037880983933955743587034327546207710968239246599493142282889600632349372174922408643340673912282655650666029192377495891124837970848886713621901796968778363979442374584643199835400062960471300967488053141985059055153368126724844114892971487305667170736831014264520172122584556575326076716490097630663413225658585469614689174264025910216434506055268809892023389957210022527305219521840619523828124491198545954130520528213003198086695337424897726569592752502857443778077229207555183109633725402889900483573812207066760539259553439307271311882013916483325937614726267416088712656514870857402964955941263195349501894434866659635134258755825077342592887118968311596570526743643838709682251878448878560500997787417680948283231560161022072273502004238628242072015851338128532053908666915233170949127800005080217699442541795847243694592968436043368629699763068462636924292475560856926440266884409756116464990546769748434045308484358546776116254679906150540544658035826096173172305433415806863669408266561960533571396762502449013778221395840979975101489723879903511874801315230777692449557352707521585029828812670377928683077005816667473759599805112226977696060321271422074001591123538599401657195752058779054038025557464245128741599843863967004472175099691067989611844207298963796002184617977492953263481097978152682520209106414344755040103795616842941742880287451056576072514579369777830796396859069083642975888328658303594212086988095232107283812321165802227631574998943080025242879782472873607078386400615479473371888639682118457935249701473755239664899407825733794324277075365968812293772973668222946550926192727319293566294268956452153821364486236385253496059790367936459476052171887417462660825136569691788934322691024488615455075071133247157116054304829736980210682120762853749838344538765356017533694454690010350399618688487254392077886140755671485851737700315254214806384964324238426603739507017975358461171615398155796641658888000013536800093455819339741907005824409436167385523699654800684151630376276273906841219341145331788538170658503744181671691758008475769854081754558574173492146459169731227720603136221769493736686672650803994682068808012161376428579617660335860673955516313996224688512176541771907995831192180780998427986736038701783374241058847256663443501248305542162542075179589555084619606636477372840487014236157204136528524329191465887710079035476568193795558712692578120774146292623576884231732570548892428287172213025763778806700008512023085325931100860341563339299432593346817581024270729388599663519012432115338541669810634" + }, + "native_moment": [ + { + "rational": "105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184370220779200051276870964944292074096308348287873966369262127121528704238303705975327345048964078500748151269754832201532786233920712203/105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184450051600241019461889420324433787075429614437615982317370167769408929496252917703130658238936981009487365700747934318394511272127234048", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999924336619964116461912100343131988874646448196705534074525515090531373335245236750655542835436943746396741594200385209150382741304164799976044007953364070126458088243673979405674215641232137325887029228" + }, + { + "rational": "105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184370220779200051276870964944292074096308348287873966369262127121528704238303705975327345048964078500748151269754832201532786233920712653/105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184450051600241019461889420324433787075429614437615982317370167769408929496252917703130658238936981009487365700747934318394511272127234048", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999924336619964116461912100343131988874646448196705534074525515090531373335245236750655542835436943746396741594200385209150382741304165226484509938352782051568353048144038170402219066293311393256479725684" + } + ], + "profile": { + "1": 1603728, + "2": 432900, + "3": 183683, + "4": 85248, + "5": 26862, + "8": 5328, + "9": 1, + "48": 26625 + }, + "m": 73, + "W": 66304, + "online_final_kappa": { + "rational": "536158975503888965243406363091635938178299829199530433741472401188333588047308297175492878462510409441011373760059680751713826913931276745409988252463133090441356137095784622372764767597533201795626919516200184060596654301087998638101833634499386979416924681392201897282563799325707695546991284913908333187741761683555114784483949036158391060528366988511987097706919989396961265317530800167373182021630735445152178817055773833777585135823492886204170659914204100907818750284010315254536876679575625040033294023735764239335219725960301173329143340329159526155855629412256814876054981122448929798915196956785499433522236541437715931484733902305717742980720886857501346795715095011140154933704013414973285412018413459885049715653713158471358650059004059921507090500727429450704278394754906821546258861150239350416803299101120866398415298424028123409536103195850830793217629332203495902288499562127823314275402021855111659626163170340199273517380377083335992480126285939038994596557666488920172487603802865685449082358971785819436243924779188267597179671970532786512411712832478858129106029947817634886511152157491154844143173206737210208944707754495756806128734309407013012184626834216587745204584806539718215307850136052082355785452704446043787510615701773703961047100838578043725088823243819102253925254808648576375510768809178397495489214826932399684134356955743182413213734767976086398801784209144008735449050978646539370420551851593495953156475097174638156996630033776775981790669603221340146188828746241755608407385431874503136820593207667819294568020345734939820460360847497236121948267846231075954610367608740351765194866735053247758288026669033085504995980064855915859216514629468232300136002151488966100793654366962213688850651987645845470647338618436485816118113315256035872510102281055427593917101691948890922225010356261401114641359774668807221080476439614759195316685973812219228124753472078123846557667133011454122103764316281434955485031188086898031450590661468277488952163771473345368090534631183442827869320177863197356410723550974209796289428762689292721073186270948042621138372703673909592421630186532325977750020816786594214564539473922019146417929299850226108686626655767810392526713781151893253308291535119836723653875306600323545011257568133719520308850231113234865319756031836250833881751985218689218484356517274065596527397461946545538562054908635925681072322283445729874290596472413195145757495840785505228846805461615159520087363625072503526417331782382632418412268825539063333329757780192270682148301813262418832280680515722943529185034908854777999877360361003268717743337967582949739510492958175978333030290059148459851933103856694503486555053220522763275251668254560557467572221700745165208690485732001123916227564482404270049622702726047561155323171301581493817519071623970640620065386612943294397154779321795432727493616663250038048676819010360310169964273685852835788227866719723018572797041682637704762081281234196395795140219466535078494998562709071844093797/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017157087216124446887789003618932350021705594534384973879727116838026674817513865509615772110800333102112363960321909784054842461245800855853119624078820258894123396387065107915928472563121062457460061424518405889939092937634815956419258676303980383341341589804550460713042041578422646257503721117245066662007736373873763673103486369157068513936907743632383587126621439660702760490160985605355941824692183534244869722145784762680882724346351772358533461117254531229050200009088330088145180053746420001281065408759544455658727031230729637546532586890533104836987380141192218076033759395918365753565286302617135981872711569326006909807511484873782967775383068379440043097462883040356484957878528429279145133184589230716321590900918821071083476801888129917488226896023277742422536908632157018289480283556807659213337705571235867724749289549568899949105155302267226585382964138630511868873231985988090346056812864699363573108037221450886376752556172066666751759364041150049247827089845327645445519603321691701934370635487097146221959805592934024563109749503057049168397174810639323460131392958330164316368356869039716955012581542615590726686230648143864217796119497901024416389908058694930807846546713809270982889851204353666635385134486542273401200339702456758526753507226834497399202842343802211272125608153876754444016344601893708719855654874461836789892299422583781837222839512575234764761657094692608279534369631316689259853457659250991870501007203109588421023892161080856831417301427303082884678042519879736179469036333819984100378258982645370217426176651063518074254731547119911555902344571079394430547531763479691256486235735521703928265216853409058736159871362075389307494928468142983433604352068847646915225396939742790838043220863604667055060714835789967546115779626088193147920323272993773683005347254142364509511200331400364835668523512789401831074575246067672294250133951161991015299992111106499963089845348256366531907320458121005918575520998018780737006418901166984879646469240687147051778897108197870170491818245691622315405143153631174713481261720406057367074341960670337363876427926517565106957492165969034431288000666137171014866065263165504612685373737595207235477972052984569932560854840996860584105865329123834775156924009811210353440360242180279024649883207395623515690232193018760026684216063526998054991499408552770099088876718782289457233985757076349621794314313070263355977299087117222244664239866905136167323097774771685104642795636002320112845354617036244237389192602417250026666552248966152661828745658024397402632981776503134192933921117083352895996075531552104598967786814962654391664335774661631306656969281892750715261859323414224111569761703056728424808053384145937838962311094423845286678095543424035965319282063436936641587926487233521956970341481650607802160610291967060499842092371614185420708952938297453847279795733224001217557658208331529925438856757947290745223291735031136594329505333844406552386600999494284665444487022929122511839954006690299011001504" + }, + "rows": { + "struct_boundary_radix_union": { + "kind": "struct_boundary_radix_union", + "kappa": { + "rational": "17186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "epsilon": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "xi": { + "rational": "185951981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999995898476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.90796865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999997997303101686429660786537310493474231034947168886463021593373833849192344957210907919097146331386324670589355717595702980" + }, + "beta": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "q": { + "rational": "85932871858342797784672880716214020498248734646920287238302153094001890917855136138757178373678221332512182691804885274756692660130389322823589850446581491314240007153096292898821336938395786267946150461488526231749624147387191360192672290640767896696166862757492901444672241956433240666926250007809417857787842408353392863776824960902599330632122560077541234131898000856729358246369457623051734377408511618207404209097474357999851763242067595876910138351894049196697787179351716377310385548411962329974657114144480031617468608746120432167033695614132782533301459618874794556241898542444335681095089848438918198972118729232159991770003148023565048374402657099252952757668406336242205744648574365283358536841550713226008606129227828766303835824504881533170661282929273480734458713201295510821725302763440494601169497860501126365260976092030976191406224559927297706526026410650159904334766871244886328479637625142872188903861460377759155481686270144495024178690610353338026962977671965363565594100695824166296880736313370804435632825743542870148247797063159767475094721743332981756712937791253867129644355948415579828526337182191935484112593922443928025049889370884047414161578008051103613675100211931412103600792566906426602695433345761658547456390000254010884972127089792362184729648421802168431484988153423131846214623778042846322013344220487805823249527338487421702265424217927338805812733995307527027232901791304808658615271670790343183470413328098026678569838125122450688911069792048998755074486193995175593740065761538884622477867635376079251491440633518896434153850290833373687979990255611348884803016063571103700079556176929970082859787602938952701901277873212256437079992193198350223608754984553399480592210364948189800109230898874647663174054898907634126010455320717237752005189780842147087144014372552828803625728968488891539819842953454182148794416432915179710604349404761605364190616058290111381578749947154001262143989123643680353919320030773973668594431984105922896762485073687761983244970391286689716213853768298440614688648683411147327546309636365964678314713447822607691068224311819262674802989518396822973802608594370873133041256828484589446716134551224430772753753556662357855802715241486849010534106038142687491917226938267800876684722734500517519980934424362719603894307037783574292586885015762710740319248216211921330186975350898767923058580769907789832082944400000676840004672790966987095350291220471808369276184982740034207581518813813695342060967057266589426908532925187209083584587900423788492704087727928708674607322958486561386030156811088474686834333632540199734103440400608068821428980883016793033697775815699811234425608827088595399791559609039049921399336801935089168712052942362833172175062415277108127103758979477754230980331823868642024350711807860206826426216459573294385503951773828409689777935634628906038707314631178844211586628527444621414358610651288188940335000425601154266296555043017078166964971629667340879051213536469429983175950621605766927083490531699999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "a": { + "rational": "343731487433371191138691522864856081992994938587681148953208612376007563671420544555028713494712885330048730767219541099026770640521557291294359401786325965256960028612385171595285347753583145071784601845954104926998496589548765440770689162563071586784667451029971605778688967825732962667705000031237671431151369633413571455107299843610397322528490240310164936527592003426917432985477830492206937509634046472829616836389897431999407052968270383507640553407576196786791148717406865509241542193647849319898628456577920126469874434984481728668134782456531130133205838475499178224967594169777342724380359393755672795888474916928639967080012592094260193497610628397011811030673625344968822978594297461133434147366202852904034424516911315065215343298019526132682645131717093922937834852805182043286901211053761978404677991442004505461043904368123904765624898239709190826104105642600639617339067484979545313918550500571488755615445841511036621926745080577980096714762441413352107851910687861454262376402783296665187522945253483217742531302974171480592991188252639069900378886973331927026851751165015468518577423793662319314105348728767741936450375689775712100199557483536189656646312032204414454700400847725648414403170267625706410781733383046634189825560001016043539888508359169448738918593687208673725939952613692527384858495112171385288053376881951223292998109353949686809061696871709355223250935981230108108931607165219234634461086683161372733881653312392106714279352500489802755644279168195995020297944775980702374960263046155538489911470541504317005965762534075585736615401163333494751919961022445395539212064254284414800318224707719880331439150411755810807605111492849025748319968772793400894435019938213597922368841459792759200436923595498590652696219595630536504041821282868951008020759123368588348576057490211315214502915873955566159279371813816728595177665731660718842417397619046421456762464233160445526314999788616005048575956494574721415677280123095894674377727936423691587049940294751047932979881565146758864855415073193762458754594733644589310185238545463858713258853791290430764272897247277050699211958073587291895210434377483492532165027313938357786864538204897723091015014226649431423210860965947396042136424152570749967668907753071203506738890938002070079923737697450878415577228151134297170347540063050842961276992864847685320747901403595071692234323079631159328331777600002707360018691163867948381401164881887233477104739930960136830326075255254781368243868229066357707634131700748836334338351601695153970816350911714834698429291833946245544120627244353898747337334530160798936413761602432275285715923532067172134791103262799244937702435308354381599166238436156199685597347207740356674848211769451332688700249661108432508415035917911016923921327295474568097402847231440827305704865838293177542015807095313638759111742538515624154829258524715376846346514109778485657434442605152755761340001702404617065186220172068312667859886518669363516204854145877719932703802486423067708333962126799999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001718657437166855955693457614324280409964974692938405744766043061880037818357102722775143567473564426650243653836097705495133853202607786456471797008931629826284800143061925857976426738767915725358923009229770524634992482947743827203853445812815357933923337255149858028893444839128664813338525000156188357155756848167067857275536499218051986612642451201550824682637960017134587164927389152461034687548170232364148084181949487159997035264841351917538202767037880983933955743587034327546207710968239246599493142282889600632349372174922408643340673912282655650666029192377495891124837970848886713621901796968778363979442374584643199835400062960471300967488053141985059055153368126724844114892971487305667170736831014264520172122584556575326076716490097630663413225658585469614689174264025910216434506055268809892023389957210022527305219521840619523828124491198545954130520528213003198086695337424897726569592752502857443778077229207555183109633725402889900483573812207066760539259553439307271311882013916483325937614726267416088712656514870857402964955941263195349501894434866659635134258755825077342592887118968311596570526743643838709682251878448878560500997787417680948283231560161022072273502004238628242072015851338128532053908666915233170949127800005080217699442541795847243694592968436043368629699763068462636924292475560856926440266884409756116464990546769748434045308484358546776116254679906150540544658035826096173172305433415806863669408266561960533571396762502449013778221395840979975101489723879903511874801315230777692449557352707521585029828812670377928683077005816667473759599805112226977696060321271422074001591123538599401657195752058779054038025557464245128741599843863967004472175099691067989611844207298963796002184617977492953263481097978152682520209106414344755040103795616842941742880287451056576072514579369777830796396859069083642975888328658303594212086988095232107283812321165802227631574998943080025242879782472873607078386400615479473371888639682118457935249701473755239664899407825733794324277075365968812293772973668222946550926192727319293566294268956452153821364486236385253496059790367936459476052171887417462660825136569691788934322691024488615455075071133247157116054304829736980210682120762853749838344538765356017533694454690010350399618688487254392077886140755671485851737700315254214806384964324238426603739507017975358461171615398155796641658888000013536800093455819339741907005824409436167385523699654800684151630376276273906841219341145331788538170658503744181671691758008475769854081754558574173492146459169731227720603136221769493736686672650803994682068808012161376428579617660335860673955516313996224688512176541771907995831192180780998427986736038701783374241058847256663443501248305542162542075179589555084619606636477372840487014236157204136528524329191465887710079035476568193795558712692578120774146292623576884231732570548892428287172213025763778806700008512023085325931100860341563339299432593346817581024270729388599663519012432115338541669810633999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "r0": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "zeta": { + "rational": "1/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3082" + }, + "slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "margins": { + "main_transform": { + "rational": "351981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999995900476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999999999999999999999999999999999999999999999999999999999999999799827966418642966078653731049347423103494716888646302159337383384919234495721090791909714633138632467058935571759570298034" + }, + "global_coordinate_router": { + "rational": "343731487433371191138691522864856081992994938587681148953208612376007563671420544555028713494712885330048730767219541099026770640521557291294359401786325965256960028612385171595285347753583145071784601845954104926998496589548765440770689162563071586784667451029971605778688967825732962667705000031237671431151369633413571455107299843610397322528490240310164936527592003426917432985477830492206937509634046472829616836389897431999407052968270383507640553407576196786791148717406865509241542193647849319898628456577920126469874434984481728668134782456531130133205838475499178224967594169777342724380359393755672795888474916928639967080012592094260193497610628397011811030673625344968822978594297461133434147366202852904034424516911315065215343298019526132682645131717093922937834852805182043286901211053761978404677991442004505461043904368123904765624898239709190826104105642600639617339067484979545313918550500571488755615445841511036621926745080577980096714762441413352107851910687861454262376402783296665187522945253483217742531302974171480592991188252639069900378886973331927026851751165015468518577423793662319314105348728767741936450375689775712100199557483536189656646312032204414454700400847725648414403170267625706410781733383046634189825560001016043539888508359169448738918593687208673725939952613692527384858495112171385288053376881951223292998109353949686809061696871709355223250935981230108108931607165219234634461086683161372733881653312392106714279352500489802755644279168195995020297944775980702374960263046155538489911470541504317005965762534075585736615401163333494751919961022445395539212064254284414800318224707719880331439150411755810807605111492849025748319968772793400894435019938213597922368841459792759200436923595498590652696219595630536504041821282868951008020759123368588348576057490211315214502915873955566159279371813816728595177665731660718842417397619046421456762464233160445526314999788616005048575956494574721415677280123095894674377727936423691587049940294751047932979881565146758864855415073193762458754594733644589310185238545463858713258853791290430764272897247277050699211958073587291895210434377483492532165027313938357786864538204897723091015014226649431423210860965947396042136424152570749967668907753071203506738890938002070079923737697450878415577228151134297170347540063050842961276992864847685320747901403595071692234323079631159328331777600002707360018691163867948381401164881887233477104739930960136830326075255254781368243868229066357707634131700748836334338351601695153970816350911714834698429291833946245544120627244353898747337334530160798936413761602432275285715923532067172134791103262799244937702435308354381599166238436156199685597347207740356674848211769451332688700249661108432508415035917911016923921327295474568097402847231440827305704865838293177542015807095313638759111742538515624154829258524715376846346514109778485657434442605152755761340001702404617065186220172068312667859886518669363516204854145877719932703802486423067708333962126799999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001718657437166855955693457614324280409964974692938405744766043061880037818357102722775143567473564426650243653836097705495133853202607786456471797008931629826284800143061925857976426738767915725358923009229770524634992482947743827203853445812815357933923337255149858028893444839128664813338525000156188357155756848167067857275536499218051986612642451201550824682637960017134587164927389152461034687548170232364148084181949487159997035264841351917538202767037880983933955743587034327546207710968239246599493142282889600632349372174922408643340673912282655650666029192377495891124837970848886713621901796968778363979442374584643199835400062960471300967488053141985059055153368126724844114892971487305667170736831014264520172122584556575326076716490097630663413225658585469614689174264025910216434506055268809892023389957210022527305219521840619523828124491198545954130520528213003198086695337424897726569592752502857443778077229207555183109633725402889900483573812207066760539259553439307271311882013916483325937614726267416088712656514870857402964955941263195349501894434866659635134258755825077342592887118968311596570526743643838709682251878448878560500997787417680948283231560161022072273502004238628242072015851338128532053908666915233170949127800005080217699442541795847243694592968436043368629699763068462636924292475560856926440266884409756116464990546769748434045308484358546776116254679906150540544658035826096173172305433415806863669408266561960533571396762502449013778221395840979975101489723879903511874801315230777692449557352707521585029828812670377928683077005816667473759599805112226977696060321271422074001591123538599401657195752058779054038025557464245128741599843863967004472175099691067989611844207298963796002184617977492953263481097978152682520209106414344755040103795616842941742880287451056576072514579369777830796396859069083642975888328658303594212086988095232107283812321165802227631574998943080025242879782472873607078386400615479473371888639682118457935249701473755239664899407825733794324277075365968812293772973668222946550926192727319293566294268956452153821364486236385253496059790367936459476052171887417462660825136569691788934322691024488615455075071133247157116054304829736980210682120762853749838344538765356017533694454690010350399618688487254392077886140755671485851737700315254214806384964324238426603739507017975358461171615398155796641658888000013536800093455819339741907005824409436167385523699654800684151630376276273906841219341145331788538170658503744181671691758008475769854081754558574173492146459169731227720603136221769493736686672650803994682068808012161376428579617660335860673955516313996224688512176541771907995831192180780998427986736038701783374241058847256663443501248305542162542075179589555084619606636477372840487014236157204136528524329191465887710079035476568193795558712692578120774146292623576884231732570548892428287172213025763778806700008512023085325931100860341563339299432593346817581024270729388599663519012432115338541669810633999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "fused_gaussian": { + "rational": "351981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999997943430256761423835872485235671905675478715405638428804669688835169437767417103818254932867060037578776101001528907999111204926802803962113292698448395070476568348479120169155973444975556577318289042623493236911273494796229871375462696301308251185548706371475880828373122305314239358711397968071249039441603492095383772532677755450529808980282332248925110462428201776545894622288935696556712364636671578753070960489282281010653966018233121225685707140052982717031948806172176939738885590822577545328633413117174960228956111051361124227186843454855439461667748403920466878400269582246479279346711225303948642013061526429396304444321012289612793101499049948473176791886810806786020642208693408225353070146899968489262273200941446104977061744628193585899571420008662199699361869661578276240652168927787760096819164056151763158361457072899940680189928457034379128942382097298751490030331766823674836878981597004572107426720764825040373535623875752588772227112026021054926539422683553746348260281431925614413627545483669433455391054417162433544226971765520961231348600563349225570043243924308651675774343053744218344883681091260526590391935454150947539396852918863607381262168058125905009714255517962673932436311257102514270509527868461698471315998662864029968756661148428367955539451278253244118333282927346457128954782915601275300729902392358660879999883740308137366047130621352821194937326885033718577174175650353079669508534990321584492787788433139160643942718535909910609938565263938415577973153125838198138593401969971911330717191435222280848742252066552802077175738599076414227495036378461198559804087169229024180754244890214590237613679808246124838508817666142821594892458239160960236602922496123136899931863887158125111372654586564599438418337429591247434361002500713995551779756503361656956415908281286232176002057154035336875866340602159316725135595698286778751432895595665023214322540204554224830316300065813756500057844756289337791827316467923636214801238762884865954971483698214335936405276060868641871737164905695986499291804393296211940428878711803914726986344567290245917819253998608409646230690999232289237190774222279142892382604635925410096395498053915450199395014951288312530529983736266025297117571704304957308449438494181086593060492167779103656436345042345065803385488721000234352620362011813143061186578940732469405933676387002031839451545463794565301341850653797838799916748679425246711060587271914179881967570579029247122975792467473185900915472926501051956209500490250450201973282719095688247874015397397209464768833023299276106152949518290712236117613519376963197555432705276830725207534964235351388934456855173574668923218165650114268102765825638168088196859667881573361984032248417488089371519822467322920915700366237645524236229589419185664157031004862447633194560349575375472484790583013931819105608157313916940644557239000300365002161974844691124311566033890889891552760338794947651058025245523729708899385463308489550917071876700735014260112069358073542490667968730664600900000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999999999999999999999999999999999999999999999999999999999999999899581555505928898235961193148042269310484150665938906478012150154757703487163272375729143899415897401176806715278710894102" + }, + "group_bit_router": { + "rational": "1407924172527088398904080477654450511843307268455141986112342476292126980798138550497397610474343978311879601222531240341613652543576298665141696109716791153692508277196329662854288784398676562214029729161028013780985842030791743245396742809858341219469997879418763697269510012214202215086919680127949502181996010018461988680119500159428187433076696024310435580017016846036653805508517193696079616039461054352710110561853019881469571288958035490847295706757432102038696545146498521125853356825181590814304782158143160838020605685696437160624680068941951509025611114395644634009467265719407995799061952076823235771959193259739709305159731577218089752566213133914160377981639169412992298920322242400802546267611966885494925002821268746507122046148687979039468114459513216708353371557090025649303147360476209063545561052946450454368435832291835513919999583189848845623722416712092219872620820418476217605810382850340817943000866166829206003411947850047406476143666960029090233761426177480516658693745800383140608093983758267259873408216982206384508891907082809630311951921042767573101984772771903359052093127858840859910575508393032670971700738825321316762417387452564232833623294083909281606452841872284255905395385416194893458561979936959013641525493764161714339383330239158062034610559742806727581450045905684592168380395979453994139866631708472210608120255913777917169916710386521518994435833779118522814183862948737985062752611054228982717979251967558069101688227842006232087118967472930795603140381802416956927837237437053085654677383338001682456435763339573599177176683165013994503864160347936340128612615185548963022103448402820629837574760086551801067950536674709609465118592093361770063605841666922897090022774619311141684989639047162227313443715463702677520555299974631223328853029369317737875767531479905547118603943419721998988408306949393320325847718836882304378541660647614142286899053499025184875786239134171156678967117801778058918614139384200784586251173627591440740556555447300292333485594890841124310447780139801651031058820029008237814518737082219965289508265129125604410461787124846799663972180269413547602781939210172385411747951877891513494997148487261073780797498272356071109471686516520534188590793328929791867571846156579649563602497282056479047367629608758797990204326507046081209743524098256252769390562774416119073783404149125413651391787334169228608846961049611089346636559007203116570219171356210108322221014757212720457015604245523584484326884266255801170469403446267233625449888160543350664463773334383962924766379351843821748718089192873569269093722235538632443550767523562599570292422787347137064104358964425707264829175023019547030184912634495793912206734162904500940178275407672658692916222611900139554467987119763525320381756602263830926962062259981628644167130473648855212096745862404664357321697437759996538180642917234183562635321793652677252851476910705687598448646973049311499002757824791808687554095180469712962375082581515140844354774984388885333335908871372799999999999999999999999999999999999999999999999999999999999999999999999999995869721027045695343489940942687622701914861622553715218678755340677751069668415273019731468240150315104404006115631996444819707211215848453170793793580281906273393916480676623893779902226309273156170493972947645093979184919485501850785205233004742194825485903523313492489221256957434845591872284996157766413968381535090130711021802119235921129328995700441849712807106183578489155742786226849458546686315012283841957129124042615864072932484902742828560211930868127795224688707758955542363290310181314533652468699840915824444205444496908747373819421757846670993615681867513601078328985917117386844901215794568052246105717585217777284049158451172405996199793892707167547243227144082568834773632901412280587599873957049092803765784419908246978512774343598285680034648798797447478646313104962608675711151040387276656224607052633445828291599762720759713828137516515769528389195005960121327067294699347515926388018288429706883059300161494142495503010355088908448104084219706157690734214985393041125727702457654510181934677733821564217668649734176907887062083844925394402253396902280172975697234606703097372214976873379534724365042106361567741816603790157587411675454429525048672232503620038857022071850695729745245028410057082038111473846793885263994651456119875026644593713471822157805113012976473333131709385828515819131662405101202919609569434643519999534961232549464188522485411284779749307540134874308696702601412318678034139961286337971151153732556642575770874143639642439754261055753662311892612503352792554373607879887645322868765740889123394969008266211208308702954396305656909980145513844794239216348676916096723016979560858360950454719232984499354035270664571286379569832956643840946411689984492547599727455548632500445490618346258397753673349718364989737444010002855982207119026013446627825663633125144928704008228616141347503465362408637266900542382793147115005731582382660092857290160818216899321265200263255026000231379025157351167309265871694544859204955051539463819885934792857343745621104243474567486948659622783945997167217573184847761715514847215658907945378269160983671277015994433638584922763996929156948763096889116571569530418543701640385581992215661800797580059805153250122119934945064101188470286817219829233797753976724346372241968671116414625745380169380263213541954884000937410481448047252572244746315762929877623734705548008127357806181855178261205367402615191355199666994717700986844242349087656719527870282316116988491903169869892743603661891706004207824838001961001800807893130876382752991496061589588837859075332093197104424611798073162848944470454077507852790221730821107322900830139856941405555737827420694298675692872662600457072411063302552672352787438671526293447936128993669952357486079289869291683662801464950582096944918357676742656628124019449790532778241398301501889939162332055727276422432629255667762578228956001201460008647899378764497246264135563559566211041355179790604232100982094918835597541853233958203668287506802940057040448277432294169962671874922658403600000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999999999999999999999999999999999999999999999999999999999999999949581555505928898235961193148042269310484150665938906478012150154757703487163272375729143899415897401176806715278710894102" + }, + "group_scans": { + "rational": "2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix": { + "rational": "351981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999997948476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999999999999999999999999999999999999999999999999999999999999999899827966418642966078653731049347423103494716888646302159337383384919234495721090791909714633138632467058935571759570298034" + }, + "sparse_union_movement": { + "rational": "83551981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999997948476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40796865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999998998279664186429660786537310493474231034947168886463021593373833849192344957210907919097146331386324670589355717595702980" + }, + "polynomial_products": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "microbox_face_corrections": { + "rational": "78848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "77.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400390625" + } + }, + "strict_checks": { + "actual_bit_above_effective": { + "rational": "2953920484597655811108477135143918007005061412318851046791387623992436328579455444971286505287114669951269232780458900973229359478442708705640598213674034743039971387614828404714652246416854928215398154045895073001503410451234559229310837436928413215332548970028394221311032174267037332294999968762328568848630366586428544892700156389602677471509759689835063472407996573082567014522169507793062490365953527170383163610102568000592947031729616492359446592423803213208851282593134490758457806352150680101371543422079873530125565015518271331865217543468869866794161524500821775032405830222657275619640606244327204111525083071360032919987407905739806502389371602988188969326374655031177021405702538866565852633797147095965575483088684934784656701980473867317354868282906077062165147194817956713098788946238021595322008557995494538956095631876095234375101760290809173895894357399360382660932515020454686081449499428511244384554158488963378073254919422019903285237558586647892148089312138545737623597216703334812477054746516782257468697025828519407008811747360930099621113026668072973148248834984531481422576206337680685894651271232258063549624310224287899800442516463810343353687967795585545299599152274351585596829732374293589218266616953365810174439998983956460111491640830551261081406312791326274060047386307472615141504887828614711946623118048776707001890646050313190938303128290644776749064018769891891068392834780765365538913316838627266118346687607893285720647499510197244355720831804004979702055224019297625039736953844461510088529458495682994034237465924414263384598836666505248080038977554604460787935745715585199681775292280119668560849588244189192394888507150974251680031227206599105564980061786402077631158540207240799563076404501409347303780404369463495958178717131048991979240876631411651423942509788684785497084126044433840720628186183271404822334268339281157582602380953578543237535766839554473685000211383994951424043505425278584322719876904105325622272063576308412950059705248952067020118434853241135144584926806237541245405266355410689814761454536141286741146208709569235727102752722949300788041926412708104789565622516507467834972686061642213135461795102276908984985773350568576789139034052603957863575847429250032331092246928796493261109061997929920076262302549121584422771848865702829652459936949157038723007135152314679252098596404928307765676920368840671668222399997292639981308836132051618598835118112766522895260069039863169673924744745218631756131770933642292365868299251163665661648398304846029183649088285165301570708166053754455879372755646101252662665469839201063586238397567724714284076467932827865208896737200755062297564691645618400833761563843800314402652792259643325151788230548667311299750338891567491584964082088983076078672704525431902597152768559172694295134161706822457984192904686361240888257461484375845170741475284623153653485890221514342565557394847244238659998297595382934813779827931687332140113481330636483795145854122280067296197513576932291666037873200000000000000000000000000000000000000000000000000000000000000000000000000000003/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000014769602422988279055542385675719590035025307061594255233956938119962181642897277224856432526435573349756346163902294504866146797392213543528202991068370173715199856938074142023573261232084274641076990770229475365007517052256172796146554187184642066076662744850141971106555160871335186661474999843811642844243151832932142724463500781948013387357548798449175317362039982865412835072610847538965312451829767635851915818050512840002964735158648082461797232962119016066044256412965672453792289031760753400506857717110399367650627825077591356659326087717344349333970807622504108875162029151113286378098203031221636020557625415356800164599937039528699032511946858014940944846631873275155885107028512694332829263168985735479827877415443424673923283509902369336586774341414530385310825735974089783565493944731190107976610042789977472694780478159380476171875508801454045869479471786996801913304662575102273430407247497142556221922770792444816890366274597110099516426187792933239460740446560692728688117986083516674062385273732583911287343485129142597035044058736804650498105565133340364865741244174922657407112881031688403429473256356161290317748121551121439499002212582319051716768439838977927726497995761371757927984148661871467946091333084766829050872199994919782300557458204152756305407031563956631370300236931537363075707524439143073559733115590243883535009453230251565954691515641453223883745320093849459455341964173903826827694566584193136330591733438039466428603237497550986221778604159020024898510276120096488125198684769222307550442647292478414970171187329622071316922994183332526240400194887773022303939678728577925998408876461400598342804247941220945961974442535754871258400156136032995527824900308932010388155792701036203997815382022507046736518902021847317479790893585655244959896204383157058257119712548943423927485420630222169203603140930916357024111671341696405787913011904767892716187678834197772368425001056919974757120217527126392921613599384520526628111360317881542064750298526244760335100592174266205675722924634031187706227026331777053449073807272680706433705731043547846178635513763614746503940209632063540523947828112582537339174863430308211065677308975511384544924928866752842883945695170263019789317879237146250161655461234643982466305545309989649600381311512745607922113859244328514148262299684745785193615035675761573396260492982024641538828384601844203358341111999986463199906544180660258092994175590563832614476300345199315848369623723726093158780658854668211461829341496255818328308241991524230145918245441425826507853540830268772279396863778230506263313327349196005317931191987838623571420382339664139326044483686003775311487823458228092004168807819219001572013263961298216625758941152743336556498751694457837457924820410444915380393363522627159512985763842795863471475670808534112289920964523431806204441287307421879225853707376423115768267429451107571712827786974236221193299991487976914674068899139658436660700567406653182418975729270611400336480987567884661458330189366000000000000000000000000000000000000000000000000000000000000000000000000000000015" + }, + "complex_above_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "q_positive": { + "rational": "85932871858342797784672880716214020498248734646920287238302153094001890917855136138757178373678221332512182691804885274756692660130389322823589850446581491314240007153096292898821336938395786267946150461488526231749624147387191360192672290640767896696166862757492901444672241956433240666926250007809417857787842408353392863776824960902599330632122560077541234131898000856729358246369457623051734377408511618207404209097474357999851763242067595876910138351894049196697787179351716377310385548411962329974657114144480031617468608746120432167033695614132782533301459618874794556241898542444335681095089848438918198972118729232159991770003148023565048374402657099252952757668406336242205744648574365283358536841550713226008606129227828766303835824504881533170661282929273480734458713201295510821725302763440494601169497860501126365260976092030976191406224559927297706526026410650159904334766871244886328479637625142872188903861460377759155481686270144495024178690610353338026962977671965363565594100695824166296880736313370804435632825743542870148247797063159767475094721743332981756712937791253867129644355948415579828526337182191935484112593922443928025049889370884047414161578008051103613675100211931412103600792566906426602695433345761658547456390000254010884972127089792362184729648421802168431484988153423131846214623778042846322013344220487805823249527338487421702265424217927338805812733995307527027232901791304808658615271670790343183470413328098026678569838125122450688911069792048998755074486193995175593740065761538884622477867635376079251491440633518896434153850290833373687979990255611348884803016063571103700079556176929970082859787602938952701901277873212256437079992193198350223608754984553399480592210364948189800109230898874647663174054898907634126010455320717237752005189780842147087144014372552828803625728968488891539819842953454182148794416432915179710604349404761605364190616058290111381578749947154001262143989123643680353919320030773973668594431984105922896762485073687761983244970391286689716213853768298440614688648683411147327546309636365964678314713447822607691068224311819262674802989518396822973802608594370873133041256828484589446716134551224430772753753556662357855802715241486849010534106038142687491917226938267800876684722734500517519980934424362719603894307037783574292586885015762710740319248216211921330186975350898767923058580769907789832082944400000676840004672790966987095350291220471808369276184982740034207581518813813695342060967057266589426908532925187209083584587900423788492704087727928708674607322958486561386030156811088474686834333632540199734103440400608068821428980883016793033697775815699811234425608827088595399791559609039049921399336801935089168712052942362833172175062415277108127103758979477754230980331823868642024350711807860206826426216459573294385503951773828409689777935634628906038707314631178844211586628527444621414358610651288188940335000425601154266296555043017078166964971629667340879051213536469429983175950621605766927083490531699999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "complex_endpoint": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "q_below_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "stop_positive": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3086" + }, + "stop_below_one": { + "rational": "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "leaf_saving_above_effective": { + "rational": "49999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "4.9999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "q_below_internal": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "q_below_leaf": { + "rational": "99999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "lambda_above_tau": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_above_sigma": { + "rational": "3/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "7.5E-3081" + }, + "lambda_above_internal": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_prime_above_lambda": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_prime_above_leaf": { + "rational": "99999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "epsilon_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "epsilon_below_one": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "cap_above_band": { + "rational": "83551981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999995898476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40796865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999997997303101686429660786537310493474231034947168886463021593373833849192344957210907919097146331386324670589355717595702980" + }, + "cap_below_cell": { + "rational": "18848018956868227900273979880586387372039173182886214503471914380926968254800465362375650597381414005422030099694367189914596586864105925333714575972570802211576872930700917584286427803900330859446492567709742996554753539492302064188650814297535414695132500530145309075682622496946449446228270079968012624454500997495384502829970124960142953141730825993922391104995745788490836548622870701575980095990134736411822472359536745029632607177760491127288176073310641974490325863713375369718536660793704602296423804460464209790494848578575890709843829982764512122743597221401088841497633183570148001050234511980794191057010201685065072673710067105695477561858446716521459905504590207646751925269919439399799363433097008278626268749294682813373219488462828005240132971385121695822911657110727493587674213159880947734113609736763387386407891041927041121520000104202537788594069395821976945031844794895380945598547404287414795514249783458292698499147013037488148380964083259992727441559643455629870835326563549904214847976504060433185031647945754448403872777023229297592422012019739308106724503806807024160236976718035289785022356122901741832257074815293669670809395653136858941791594176479022679598386789531928936023651153645951276635359505015760246589618626558959571415154167440210484491347360064298318104637488523578851957904901005136501465033342072881947347969936021555520707520822403369620251391041555220369296454034262815503734311847236442754320505187008110482724577943039498441978220258131767301099214904549395760768040690640736728586330654165499579385891059165106600205705829208746501374033959913015914967846846203612759244474137899294842540606309978362049733012365831322597633720351976659557484098539583269275727494306345172214578752590238209443171639071134074330619861175006342194167786742657670565531058117130023613220349014145069500252897923262651669918538070290779423905364584838096464428275236625243703781053440216457210830258220549555485270346465153949803853437206593102139814860861138174926916628601277289718922388054965049587242235294992747940546370315729445008677622933717718598897384553218788300084006954932646613099304515197456903647063012030527121626250712878184731554800625431910982222632078370869866452852301667767552033107038460855087609099375679485880238158092597810300502448918373238479697564118975435936807652359306395970231554148962718646587152053166457692847788259737597227663340860248199220857445207160947472919444746310696819885746098938619103878918278933436049707382649138433191593637527959864162333884056666404009268808405162039044562820477701781607682726569441115341889112308119109350107426894303163215733973910258893573183792706244245113242453771841376051521948316459273874764955431148081835326770944347024965111383003220059118669904560849434042268259484435004592838958217381587786196975813534398833910669575640560000865454839270691454109341169551586830686787130772323578100387838256737672125249310543802047828111476204882571759406229354621214788911306253902778666666022782156800000000000000000000000000000000000000000000000000000000000000000000000000002051523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.092031342562833144044306542385675719590035025307061594255233956938119962181642897277224856432526435573349756346163902294504866146797392213543528202991068370173715199856938074142023573261232084274641076990770229475365007517052256172796146554187184642066076662744850141971106555160871335186661474999843811642844243151832932142724463500781948013387357548798449175317362039982865412835072610847538965312451829767635851915818050512840002964735158648082461797232962119016066044256412965672453792289031760753400506857717110399367650627825077591356659326087717344349333970807622504108875162029151113286378098203031221636020557625415356800164599937039528699032511946858014940944846631873275155885107028512694332829263168985735479827877415443424673923283509902369336586774341414530385310825735974089783565493944731190107976610042789977472694780478159380476171875508801454045869479471786996801913304662575102273430407247497142556221922770792444816890366274597110099516426187792933239460740446560692728688117986083516674062385273732583911287343485129142597035044058736804650498105565133340364865741244174922657407112881031688403429473256356161290317748121551121439499002212582319051716768439838977927726497995761371757927984148661871467946091333084766829050872199994919782300557458204152756305407031563956631370300236931537363075707524439143073559733115590243883535009453230251565954691515641453223883745320093849459455341964173903826827694566584193136330591733438039466428603237497550986221778604159020024898510276120096488125198684769222307550442647292478414970171187329622071316922994183332526240400194887773022303939678728577925998408876461400598342804247941220945961974442535754871258400156136032995527824900308932010388155792701036203997815382022507046736518902021847317479790893585655244959896204383157058257119712548943423927485420630222169203603140930916357024111671341696405787913011904767892716187678834197772368425001056919974757120217527126392921613599384520526628111360317881542064750298526244760335100592174266205675722924634031187706227026331777053449073807272680706433705731043547846178635513763614746503940209632063540523947828112582537339174863430308211065677308975511384544924928866752842883945695170263019789317879237146250161655461234643982466305545309989649600381311512745607922113859244328514148262299684745785193615035675761573396260492982024641538828384601844203358341111999986463199906544180660258092994175590563832614476300345199315848369623723726093158780658854668211461829341496255818328308241991524230145918245441425826507853540830268772279396863778230506263313327349196005317931191987838623571420382339664139326044483686003775311487823458228092004168807819219001572013263961298216625758941152743336556498751694457837457924820410444915380393363522627159512985763842795863471475670808534112289920964523431806204441287307421879225853707376423115768267429451107571712827786974236221193299991487976914674068899139658436660700567406653182418975729270611400336480987567884661458330189366000000000000000000000000000000000000000000000000000000000000000000000000000000010017203358135703392134626895065257689650528311135369784066261661508076550427890920809028536686136753294106442824042970197" + }, + "group_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "group_below_dimension": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-3080" + }, + "support_router_span": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "group_gauge_power_slack": { + "rational": "18848018956868227900273979880586387372039173182886214503471914380926968254800465362375650597381414005422030099694367189914596586864105925333714575972570802211576872930700917584286427803900330859446492567709742996554753539492302064188650814297535414695132500530145309075682622496946449446228270079968012624454500997495384502829970124960142953141730825993922391104995745788490836548622870701575980095990134736411822472359536745029632607177760491127288176073310641974490325863713375369718536660793704602296423804460464209790494848578575890709843829982764512122743597221401088841497633183570148001050234511980794191057010201685065072673710067105695477561858446716521459905504590207646751925269919439399799363433097008278626268749294682813373219488462828005240132971385121695822911657110727493587674213159880947734113609736763387386407891041927041121520000104202537788594069395821976945031844794895380945598547404287414795514249783458292698499147013037488148380964083259992727441559643455629870835326563549904214847976504060433185031647945754448403872777023229297592422012019739308106724503806807024160236976718035289785022356122901741832257074815293669670809395653136858941791594176479022679598386789531928936023651153645951276635359505015760246589618626558959571415154167440210484491347360064298318104637488523578851957904901005136501465033342072881947347969936021555520707520822403369620251391041555220369296454034262815503734311847236442754320505187008110482724577943039498441978220258131767301099214904549395760768040690640736728586330654165499579385891059165106600205705829208746501374033959913015914967846846203612759244474137899294842540606309978362049733012365831322597633720351976659557484098539583269275727494306345172214578752590238209443171639071134074330619861175006342194167786742657670565531058117130023613220349014145069500252897923262651669918538070290779423905364584838096464428275236625243703781053440216457210830258220549555485270346465153949803853437206593102139814860861138174926916628601277289718922388054965049587242235294992747940546370315729445008677622933717718598897384553218788300084006954932646613099304515197456903647063012030527121626250712878184731554800625431910982222632078370869866452852301667767552033107038460855087609099375679485880238158092597810300502448918373238479697564118975435936807652359306395970231554148962718646587152053166457692847788259737597227663340860248199220857445207160947472919444746310696819885746098938619103878918278933436049707382649138433191593637527959864162333884056666404009268808405162039044562820477701781607682726569441115341889112308119109350107426894303163215733973910258893573183792706244245113242453771841376051521948316459273874764955431148081835326770944347024965111383003220059118669904560849434042268259484435004592838958217381587786196975813534398833910669575640560000865454839270691454109341169551586830686787130772323578100387838256737672125249310543802047828111476204882571759406229354621214788911306253902778666666022782156800000000000000000000000000000000000000000000000000000000000000000000000000006152523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.18406268512566628808861308477135143918007005061412318851046791387623992436328579455444971286505287114669951269232780458900973229359478442708705640598213674034743039971387614828404714652246416854928215398154045895073001503410451234559229310837436928413215332548970028394221311032174267037332294999968762328568848630366586428544892700156389602677471509759689835063472407996573082567014522169507793062490365953527170383163610102568000592947031729616492359446592423803213208851282593134490758457806352150680101371543422079873530125565015518271331865217543468869866794161524500821775032405830222657275619640606244327204111525083071360032919987407905739806502389371602988188969326374655031177021405702538866565852633797147095965575483088684934784656701980473867317354868282906077062165147194817956713098788946238021595322008557995494538956095631876095234375101760290809173895894357399360382660932515020454686081449499428511244384554158488963378073254919422019903285237558586647892148089312138545737623597216703334812477054746516782257468697025828519407008811747360930099621113026668072973148248834984531481422576206337680685894651271232258063549624310224287899800442516463810343353687967795585545299599152274351585596829732374293589218266616953365810174439998983956460111491640830551261081406312791326274060047386307472615141504887828614711946623118048776707001890646050313190938303128290644776749064018769891891068392834780765365538913316838627266118346687607893285720647499510197244355720831804004979702055224019297625039736953844461510088529458495682994034237465924414263384598836666505248080038977554604460787935745715585199681775292280119668560849588244189192394888507150974251680031227206599105564980061786402077631158540207240799563076404501409347303780404369463495958178717131048991979240876631411651423942509788684785497084126044433840720628186183271404822334268339281157582602380953578543237535766839554473685000211383994951424043505425278584322719876904105325622272063576308412950059705248952067020118434853241135144584926806237541245405266355410689814761454536141286741146208709569235727102752722949300788041926412708104789565622516507467834972686061642213135461795102276908984985773350568576789139034052603957863575847429250032331092246928796493261109061997929920076262302549121584422771848865702829652459936949157038723007135152314679252098596404928307765676920368840671668222399997292639981308836132051618598835118112766522895260069039863169673924744745218631756131770933642292365868299251163665661648398304846029183649088285165301570708166053754455879372755646101252662665469839201063586238397567724714284076467932827865208896737200755062297564691645618400833761563843800314402652792259643325151788230548667311299750338891567491584964082088983076078672704525431902597152768559172694295134161706822457984192904686361240888257461484375845170741475284623153653485890221514342565557394847244238659998297595382934813779827931687332140113481330636483795145854122280067296197513576932291666037873200000000000000000000000000000000000000000000000000000000000000000000000000000006008323484127140678426925379013051537930105662227073956813252332301615310085578184161805707337227350658821288564808594039" + }, + "actual_logarithmic_group_guard": { + "rational": "18848018956868227900273979880586387372039173182886214503471914380926968254800465362375650597381414005422030099694367189914596586864105925333714575972570802211576872930700917584286427803900330859446492567709742996554753539492302064188650814297535414695132500530145309075682622496946449446228270079968012624454500997495384502829970124960142953141730825993922391104995745788490836548622870701575980095990134736411822472359536745029632607177760491127288176073310641974490325863713375369718536660793704602296423804460464209790494848578575890709843829982764512122743597221401088841497633183570148001050234511980794191057010201685065072673710067105695477561858446716521459905504590207646751925269919439399799363433097008278626268749294682813373219488462828005240132971385121695822911657110727493587674213159880947734113609736763387386407891041927041121520000104202537788594069395821976945031844794895380945598547404287414795514249783458292698499147013037488148380964083259992727441559643455629870835326563549904214847976504060433185031647945754448403872777023229297592422012019739308106724503806807024160236976718035289785022356122901741832257074815293669670809395653136858941791594176479022679598386789531928936023651153645951276635359505015760246589618626558959571415154167440210484491347360064298318104637488523578851957904901005136501465033342072881947347969936021555520707520822403369620251391041555220369296454034262815503734311847236442754320505187008110482724577943039498441978220258131767301099214904549395760768040690640736728586330654165499579385891059165106600205705829208746501374033959913015914967846846203612759244474137899294842540606309978362049733012365831322597633720351976659557484098539583269275727494306345172214578752590238209443171639071134074330619861175006342194167786742657670565531058117130023613220349014145069500252897923262651669918538070290779423905364584838096464428275236625243703781053440216457210830258220549555485270346465153949803853437206593102139814860861138174926916628601277289718922388054965049587242235294992747940546370315729445008677622933717718598897384553218788300084006954932646613099304515197456903647063012030527121626250712878184731554800625431910982222632078370869866452852301667767552033107038460855087609099375679485880238158092597810300502448918373238479697564118975435936807652359306395970231554148962718646587152053166457692847788259737597227663340860248199220857445207160947472919444746310696819885746098938619103878918278933436049707382649138433191593637527959864162333884056666404009268808405162039044562820477701781607682726569441115341889112308119109350107426894303163215733973910258893573183792706244245113242453771841376051521948316459273874764955431148081835326770944347024965111383003220059118669904560849434042268259484435004592838958217381587786196975813534398833910669575640560000865454839270691454109341169551586830686787130772323578100387838256737672125249310543802047828111476204882571759406229354621214788911306253902778666666022782156800000000000000000000000000000000000000000000000000000000000000000000000000007176523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.18406268512566628808861308477135143918007005061412318851046791387623992436328579455444971286505287114669951269232780458900973229359478442708705640598213674034743039971387614828404714652246416854928215398154045895073001503410451234559229310837436928413215332548970028394221311032174267037332294999968762328568848630366586428544892700156389602677471509759689835063472407996573082567014522169507793062490365953527170383163610102568000592947031729616492359446592423803213208851282593134490758457806352150680101371543422079873530125565015518271331865217543468869866794161524500821775032405830222657275619640606244327204111525083071360032919987407905739806502389371602988188969326374655031177021405702538866565852633797147095965575483088684934784656701980473867317354868282906077062165147194817956713098788946238021595322008557995494538956095631876095234375101760290809173895894357399360382660932515020454686081449499428511244384554158488963378073254919422019903285237558586647892148089312138545737623597216703334812477054746516782257468697025828519407008811747360930099621113026668072973148248834984531481422576206337680685894651271232258063549624310224287899800442516463810343353687967795585545299599152274351585596829732374293589218266616953365810174439998983956460111491640830551261081406312791326274060047386307472615141504887828614711946623118048776707001890646050313190938303128290644776749064018769891891068392834780765365538913316838627266118346687607893285720647499510197244355720831804004979702055224019297625039736953844461510088529458495682994034237465924414263384598836666505248080038977554604460787935745715585199681775292280119668560849588244189192394888507150974251680031227206599105564980061786402077631158540207240799563076404501409347303780404369463495958178717131048991979240876631411651423942509788684785497084126044433840720628186183271404822334268339281157582602380953578543237535766839554473685000211383994951424043505425278584322719876904105325622272063576308412950059705248952067020118434853241135144584926806237541245405266355410689814761454536141286741146208709569235727102752722949300788041926412708104789565622516507467834972686061642213135461795102276908984985773350568576789139034052603957863575847429250032331092246928796493261109061997929920076262302549121584422771848865702829652459936949157038723007135152314679252098596404928307765676920368840671668222399997292639981308836132051618598835118112766522895260069039863169673924744745218631756131770933642292365868299251163665661648398304846029183649088285165301570708166053754455879372755646101252662665469839201063586238397567724714284076467932827865208896737200755062297564691645618400833761563843800314402652792259643325151788230548667311299750338891567491584964082088983076078672704525431902597152768559172694295134161706822457984192904686361240888257461484375845170741475284623153653485890221514342565557394847244238659998297595382934813779827931687332140113481330636483795145854122280067296197513576932291666037873200000000000000000000000000000000000000000000000000000000000000000000000000000007008323484127140678426925379013051537930105662227073956813252332301615310085578184161805707337227350658821288564808594039" + }, + "global_gamma_power_slack": { + "rational": "1/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.765625E-3084" + }, + "actual_logarithmic_gamma_guard": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "alpha_logarithm_absorption": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "group_key_fits_record": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-3080" + }, + "membership_arithmetic_fits_record": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "microbox_halo_volume": { + "rational": "323584000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "79.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030029296875" + }, + "positive_layout_slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "short_record_fallback": { + "rational": "102224009478434113950136989940293193686019586591443107251735957190463484127400232681187825298690707002711015049847183594957298293432052962666857287986285401105788436465350458792143213901950165429723246283854871498277376769746151032094325407148767707347566250265072654537841311248473224723114135039984006312227250498747692251414985062480071476570865412996961195552497872894245418274311435350787990047995067368205911236179768372514816303588880245563644088036655320987245162931856687684859268330396852301148211902230232104895247424289287945354921914991382256061371798610700544420748816591785074000525117255990397095528505100842532536336855033552847738780929223358260729952752295103823375962634959719699899681716548504139313134374647341406686609744231414002620066485692560847911455828555363746793837106579940473867056804868381693693203945520963520560760000052101268894297034697910988472515922397447690472799273702143707397757124891729146349249573506518744074190482041629996363720779821727814935417663281774952107423988252030216592515823972877224201936388511614648796211006009869654053362251903403512080118488359017644892511178061450870916128537407646834835404697826568429470895797088239511339799193394765964468011825576822975638317679752507880123294809313279479785707577083720105242245673680032149159052318744261789425978952450502568250732516671036440973673984968010777760353760411201684810125695520777610184648227017131407751867155923618221377160252593504055241362288971519749220989110129065883650549607452274697880384020345320368364293165327082749789692945529582553300102852914604373250687016979956507957483923423101806379622237068949647421270303154989181024866506182915661298816860175988329778742049269791634637863747153172586107289376295119104721585819535567037165309930587503171097083893371328835282765529058565011806610174507072534750126448961631325834959269035145389711952682292419048232214137618312621851890526720108228605415129110274777742635173232576974901926718603296551069907430430569087463458314300638644859461194027482524793621117647496373970273185157864722504338811466858859299448692276609394150042003477466323306549652257598728451823531506015263560813125356439092365777400312715955491111316039185434933226426150833883776016553519230427543804549687839742940119079046298905150251224459186619239848782059487717968403826179653197985115777074481359323293576026583228846423894129868798613831670430124099610428722603580473736459722373155348409942873049469309551939459139466718024853691324569216595796818763979932081166942028333202004634404202581019522281410238850890803841363284720557670944556154059554675053713447151581607866986955129446786591896353122122556621226885920688025760974158229636937382477715574040917663385472173512482555691501610029559334952280424717021134129742217502296419479108690793893098487906767199416955334787820280000432727419635345727054670584775793415343393565386161789050193919128368836062624655271901023914055738102441285879703114677310607394455653126951389333333011391078400000000000000000000000000000000000000000000000000000000000000000000000000000511/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998281342562833144044306542385675719590035025307061594255233956938119962181642897277224856432526435573349756346163902294504866146797392213543528202991068370173715199856938074142023573261232084274641076990770229475365007517052256172796146554187184642066076662744850141971106555160871335186661474999843811642844243151832932142724463500781948013387357548798449175317362039982865412835072610847538965312451829767635851915818050512840002964735158648082461797232962119016066044256412965672453792289031760753400506857717110399367650627825077591356659326087717344349333970807622504108875162029151113286378098203031221636020557625415356800164599937039528699032511946858014940944846631873275155885107028512694332829263168985735479827877415443424673923283509902369336586774341414530385310825735974089783565493944731190107976610042789977472694780478159380476171875508801454045869479471786996801913304662575102273430407247497142556221922770792444816890366274597110099516426187792933239460740446560692728688117986083516674062385273732583911287343485129142597035044058736804650498105565133340364865741244174922657407112881031688403429473256356161290317748121551121439499002212582319051716768439838977927726497995761371757927984148661871467946091333084766829050872199994919782300557458204152756305407031563956631370300236931537363075707524439143073559733115590243883535009453230251565954691515641453223883745320093849459455341964173903826827694566584193136330591733438039466428603237497550986221778604159020024898510276120096488125198684769222307550442647292478414970171187329622071316922994183332526240400194887773022303939678728577925998408876461400598342804247941220945961974442535754871258400156136032995527824900308932010388155792701036203997815382022507046736518902021847317479790893585655244959896204383157058257119712548943423927485420630222169203603140930916357024111671341696405787913011904767892716187678834197772368425001056919974757120217527126392921613599384520526628111360317881542064750298526244760335100592174266205675722924634031187706227026331777053449073807272680706433705731043547846178635513763614746503940209632063540523947828112582537339174863430308211065677308975511384544924928866752842883945695170263019789317879237146250161655461234643982466305545309989649600381311512745607922113859244328514148262299684745785193615035675761573396260492982024641538828384601844203358341111999986463199906544180660258092994175590563832614476300345199315848369623723726093158780658854668211461829341496255818328308241991524230145918245441425826507853540830268772279396863778230506263313327349196005317931191987838623571420382339664139326044483686003775311487823458228092004168807819219001572013263961298216625758941152743336556498751694457837457924820410444915380393363522627159512985763842795863471475670808534112289920964523431806204441287307421879225853707376423115768267429451107571712827786974236221193299991487976914674068899139658436660700567406653182418975729270611400336480987567884661458330189366000000000000000000000000000000000000000000000000000000000000000000000000000000004990234375" + }, + "improvement_over_online_final": { + "rational": "29487155544112669145572524310454077944152394999083567933313780773703366057161718135663563935311164390072578039067270896496070780277008711598346010496039368724605043554150663835794824558094796129168667779299356410831891842622315619275781824173195997891782746948119575892406812864001875881528884316816909549832107796914899651878623023451352189516768383124659699758160510643111159112905919254405050789518789396611119673710108919087628302061746816848566553124278610289357426782013187316897055935972464713866014069351550664766690518494448886874152232293451669672911782582740835214620312570501382653731667070647657921712176520425088546489144730930041899497463040410547454070798226891956191051186443777526574183720911928880130324926744682177290363012846389145905360562576953724354834008102083874864776995880439706896194000864357548302905668837295289176089609718232955922241143499520111993721388260886919639114660329210864672735070624665454343781081962232253076374080920618357565505689065427267599216817473131325005511775577014665166759555774549466539809909574904326621769538027272891211194599920609109560514320643399010692685893822796370136288136344921387213858376275785066442407542915289914888473328577011437830307309027618685153952182610058308290938297594043650240918191123975037743087340558222414171389476807871925226580153714860544547013969635724374757606045113702503230245331010232996400889704368897125912210726944272471869596674907076766193075462510016914690075463943633306364912531106716866336854718919298939278976818487792824117314544429845632872111475640261212576038511046763181693653480042875346413071449234529483529675499864290088306740667178731804220384212567061979921069970496686611117398928063032980893045133246847121978625316170262477574096143991559279086311438055254402480714683174655734423455620368201251213945462297413472295445077901434598684308040515363647870735929790330057538131100551522313225904641174433720521477366607730152208343008136013996712467495654199699706027774050405344870096970059467772750952507968065807532586583051054752028000206867135568588600728894184174337216935846287428003105737710330163472521052737003611742186102531413276657853172649678919072778658347901638599688207300509218000955878504702723226521377842349821896584304719824479346303677476920405088629214537954831833160939625544093072350234689614166948518351397464127377730396905208344622274566929872012023635471076175174405818377189225506532139221776321736873508126760418955566838794417073647992513982620191790050365331118605036712071887561344332288482815194178084272110245134342041370791194955935347852901265158959372621460401941727300082585881247211531623262442003494968388550218751081559471813976241079994780099494048721347756916939631385660101469732458614204608139877540206447899800879921433563124632999947598377258697983151496517246634188628327360461667193011767624759667497157394357432865372310347042843708350089094258929805674759009081006393326439183510365755684364763484795236117630854374415194106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000029487155544112669145572524310454077944152394999083567933313780773703366057161718135663563935311164390072578039067270896496070780277008711598346010496039368724605043554150663835794824558094796129168667779299356410831891842622315619275781824173195997891782746948119575892406812864001875881528884316816909549832107796914899651878623023451352189516768383124659699758160510643111159112905919254405050789518789396611119673710108919087628302061746816848566553124278610289357426782013187316897055935972464713866014069351550664766690518494448886874152232293451669672911782582740835214620312570501382653731667070647657921712176520425088546489144730930041899497463040410547454070798226891956191051186443777526574183720911928880130324926744682177290363012846389145905360562576953724354834008102083874864776995880439706896194000864357548302905668837295289176089609718232955922241143499520111993721388260886919639114660329210864672735070624665454343781081962232253076374080920618357565505689065427267599216817473131325005511775577014665166759555774549466539809909574904326621769538027272891211194599920609109560514320643399010692685893822796370136288136344921387213858376275785066442407542915289914888473328577011437830307309027618685153952182610058308290938297594043650240918191123975037743087340558222414171389476807871925226580153714860544547013969635724374757606045113702503230245331010232996400889704368897125912210726944272471869596674907076766193075462510016914690075463943633306364912531106716866336854718919298939278976818487792824117314544429845632872111475640261212576038511046763181693653480042875346413071449234529483529675499864290088306740667178731804220384212567061979921069970496686611117398928063032980893045133246847121978625316170262477574096143991559279086311438055254402480714683174655734423455620368201251213945462297413472295445077901434598684308040515363647870735929790330057538131100551522313225904641174433720521477366607730152208343008136013996712467495654199699706027774050405344870096970059467772750952507968065807532586583051054752028000206867135568588600728894184174337216935846287428003105737710330163472521052737003611742186102531413276657853172649678919072778658347901638599688207300509218000955878504702723226521377842349821896584304719824479346303677476920405088629214537954831833160939625544093072350234689614166948518351397464127377730396905208344622274566929872012023635471076175174405818377189225506532139221776321736873508126760418955566838794417073647992513982620191790050365331118605036712071887561344332288482815194178084272110245134342041370791194955935347852901265158959372621460401941727300082585881247211531623262442003494968388550218751081559471813976241079994780099494048721347756916939631385660101469732458614204608139877540206447899800879921433563124632999947598377258697983151496517246634188628327360461667193011767624759667497157394357432865372310347042843708350089094258929805674759009081006393326439183510365755684364763484795236117630854374415194106339999999999999999999998999999999999999999999999" + }, + "improvement_over_previous_local_final": { + "rational": "452973317610779556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000452973317610779556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "complex_below_one_over_32": { + "rational": "2953134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.02953134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + "strassen_integer_power_gap": { + "rational": "1951441519231", + "decimal": "1951441519231" + }, + "theta_positive_polynomial_power": { + "rational": "2", + "decimal": "2" + }, + "cap_below_phase_cell_power": { + "rational": "223648018956868227900273979880586387372039173182886214503471914380926968254800465362375650597381414005422030099694367189914596586864105925333714575972570802211576872930700917584286427803900330859446492567709742996554753539492302064188650814297535414695132500530145309075682622496946449446228270079968012624454500997495384502829970124960142953141730825993922391104995745788490836548622870701575980095990134736411822472359536745029632607177760491127288176073310641974490325863713375369718536660793704602296423804460464209790494848578575890709843829982764512122743597221401088841497633183570148001050234511980794191057010201685065072673710067105695477561858446716521459905504590207646751925269919439399799363433097008278626268749294682813373219488462828005240132971385121695822911657110727493587674213159880947734113609736763387386407891041927041121520000104202537788594069395821976945031844794895380945598547404287414795514249783458292698499147013037488148380964083259992727441559643455629870835326563549904214847976504060433185031647945754448403872777023229297592422012019739308106724503806807024160236976718035289785022356122901741832257074815293669670809395653136858941791594176479022679598386789531928936023651153645951276635359505015760246589618626558959571415154167440210484491347360064298318104637488523578851957904901005136501465033342072881947347969936021555520707520822403369620251391041555220369296454034262815503734311847236442754320505187008110482724577943039498441978220258131767301099214904549395760768040690640736728586330654165499579385891059165106600205705829208746501374033959913015914967846846203612759244474137899294842540606309978362049733012365831322597633720351976659557484098539583269275727494306345172214578752590238209443171639071134074330619861175006342194167786742657670565531058117130023613220349014145069500252897923262651669918538070290779423905364584838096464428275236625243703781053440216457210830258220549555485270346465153949803853437206593102139814860861138174926916628601277289718922388054965049587242235294992747940546370315729445008677622933717718598897384553218788300084006954932646613099304515197456903647063012030527121626250712878184731554800625431910982222632078370869866452852301667767552033107038460855087609099375679485880238158092597810300502448918373238479697564118975435936807652359306395970231554148962718646587152053166457692847788259737597227663340860248199220857445207160947472919444746310696819885746098938619103878918278933436049707382649138433191593637527959864162333884056666404009268808405162039044562820477701781607682726569441115341889112308119109350107426894303163215733973910258893573183792706244245113242453771841376051521948316459273874764955431148081835326770944347024965111383003220059118669904560849434042268259484435004592838958217381587786196975813534398833910669575640560000865454839270691454109341169551586830686787130772323578100387838256737672125249310543802047828111476204882571759406229354621214788911306253902778666666022782156800000000000000000000000000000000000000000000000000000000000000000000000000004101523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0920313425628331440443065423856757195900350253070615942552339569381199621816428972772248564325264355733497563461639022945048661467973922135435282029910683701737151998569380741420235732612320842746410769907702294753650075170522561727961465541871846420660766627448501419711065551608713351866614749998438116428442431518329321427244635007819480133873575487984491753173620399828654128350726108475389653124518297676358519158180505128400029647351586480824617972329621190160660442564129656724537922890317607534005068577171103993676506278250775913566593260877173443493339708076225041088751620291511132863780982030312216360205576254153568001645999370395286990325119468580149409448466318732751558851070285126943328292631689857354798278774154434246739232835099023693365867743414145303853108257359740897835654939447311901079766100427899774726947804781593804761718755088014540458694794717869968019133046625751022734304072474971425562219227707924448168903662745971100995164261877929332394607404465606927286881179860835166740623852737325839112873434851291425970350440587368046504981055651333403648657412441749226574071128810316884034294732563561612903177481215511214394990022125823190517167684398389779277264979957613717579279841486618714679460913330847668290508721999949197823005574582041527563054070315639566313703002369315373630757075244391430735597331155902438835350094532302515659546915156414532238837453200938494594553419641739038268276945665841931363305917334380394664286032374975509862217786041590200248985102761200964881251986847692223075504426472924784149701711873296220713169229941833325262404001948877730223039396787285779259984088764614005983428042479412209459619744425357548712584001561360329955278249003089320103881557927010362039978153820225070467365189020218473174797908935856552449598962043831570582571197125489434239274854206302221692036031409309163570241116713416964057879130119047678927161876788341977723684250010569199747571202175271263929216135993845205266281113603178815420647502985262447603351005921742662056757229246340311877062270263317770534490738072726807064337057310435478461786355137636147465039402096320635405239478281125825373391748634303082110656773089755113845449249288667528428839456951702630197893178792371462501616554612346439824663055453099896496003813115127456079221138592443285141482622996847457851936150356757615733962604929820246415388283846018442033583411119999864631999065441806602580929941755905638326144763003451993158483696237237260931587806588546682114618293414962558183283082419915242301459182454414258265078535408302687722793968637782305062633133273491960053179311919878386235714203823396641393260444836860037753114878234582280920041688078192190015720132639612982166257589411527433365564987516944578374579248204104449153803933635226271595129857638427958634714756708085341122899209645234318062044412873074218792258537073764231157682674294511075717128277869742362211932999914879769146740688991396584366607005674066531824189757292706114003364809875678846614583301893660000000000000000000000000000000000000000000000000000000000000000000000000000000200269689831357033921346268950652576896505283111353697840662616615080765504278909208090285366861367532941064428240429702" + }, + "halo_covers_generic_inverse_radius": { + "rational": "5", + "decimal": "5" + }, + "union_tag_work_per_visit_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "union_header_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "source_axis_superpolynomial": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "improvement_over_pr1786": { + "rational": "389026490168070469129097478242804099649746929384057447660432618800178184571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389026490168070469129097478242804099649746929384057447660432618800178184571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1828": { + "rational": "389024810413114343577866204035778329666632544358254493057155417172378183571027227751435674755677861601569049251403768371216947026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389024810413114343577866204035778329666632544358254493057155417172378183571027227751435674755677861601569049251403768371216947026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1839": { + "rational": "389024810413114343577866204035778329666632544358254493057155417171732700967770839488385674735646269861946451612066097622680519867483864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389024810413114343577866204035778329666632544358254493057155417171732700967770839488385674735646269861946451612066097622680519867483864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1875": { + "rational": "389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445911883571559571841180591823844407663522507707532424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445911883571559571841180591823844407663522507707532424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1876": { + "rational": "389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445905816715893451229286182062761966721423367028983722934957885154565993482451789317874259745003244883767481702323641480841839528466699102863538840232595260441721918809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445905816715893451229286182062761966721423367028983722934957885154565993482451789317874259745003244883767481702323641480841839528466699102863538840232595260441721918809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1897": { + "rational": "389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445905816715893451229286182062761966721423367028983722934957885154565993482451789317874259745003244883766669844854465672816683089411921442244631603850614042241908749371916112732614340457946223957120293778669096099748931611573180371413598628487364369001553957831745291921205062928607011944655034129784863687969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389024810413114343577866204035778329666632544358254493057155417171732700967770839488379113407197943757923369275114845230634050824423743137004963722386731105498376156713029302615813206683619690218105336709565478508519299090692693218968839330146686797521174876623743342177517821458758905812057445905816715893451229286182062761966721423367028983722934957885154565993482451789317874259745003244883766669844854465672816683089411921442244631603850614042241908749371916112732614340457946223957120293778669096099748931611573180371413598628487364369001553957831745291921205062928607011944655034129784863687969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1758": { + "rational": "389119283645569041469239291243067376515012731476050650135856809472535753845171221449618952485814266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000389119283645569041469239291243067376515012731476050650135856809472535753845171221449618952485814266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1699": { + "rational": "410157058235013914423993272606356608994061999384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000410157058235013914423993272606356608994061999384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1712": { + "rational": "410157058235013914417300184602819867941201206648624725543030558345752754493085804952909234150942266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000410157058235013914417300184602819867941201206648624725543030558345752754493085804952909234150942266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_previous_package": { + "rational": "408375348524195220624024784466803085820345713613398847861081336083404106833129769828721477286797266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000408375348524195220624024784466803085820345713613398847861081336083404106833129769828721477286797266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "improvement_over_pkg_k2": { + "rational": "406648299615734349613688394934720377420967959042961405563237630502323449446511919072601425359674266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000406648299615734349613688394934720377420967959042961405563237630502323449446511919072601425359674266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "gaussian_above_main": { + "rational": "1021476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.975358908728593215730746209869484620698943377729260431867476676983846899144218158381942926627726493411787114351914059606786871102877480837541336095036036707579259372135967304601057863139900124638810623350380570551740873144112550334297855821130161291361886314716238193757504278122912471998593981930466932303034164660717879810401857193388607689883622803093953216802658027000723596795887228881395301665295420152866176049091831555878965602608156528994596526636448671708353425055142379184865958911280366645224990803906995299840661982826260373839371274216997616368502345269786459210879708591404123408936536291152386267989679024428529690795213583310877275553217686122369423212261673244278023090521566904525217773334925983962242647936539638872866628234329100167382840697264646360252804616784637539612395142448231833216328619020697791201409179494401659923362742119560359316722977706673275819553462483192965434886082591495529689989664844965936275637215458242926796959703954838995516548026518060743103619549526086027166287986437029267755264200630026780507049221879008296225792152426985817851316108892173744606294740294091418232718947026661432081556480949021474130595259138610879453314211930370163592180868079207149450706713913640981536030148758044648433147343847554546423009206926938604984629730612364366155362455915133316350636722901369563484350125849218749621550482217988434669991382881493936610953885802660072186361826431215848095671619741187460248805791538554501036900748406933393767135216196542881357831504551232400397037668982196345024203197528804499518445809902594973107418868535896793738211136714061862262920667396421726057585333952596398697292467854292020890840308664045873887497268750770191805000400836262799036091009521846916193315639972130268025486950675242060555015345037603449728201047060404999701436478620364590029798292112226127410814320692464634100580360607914820623683805414109122852228366617286185872610070821940292463399379354791104545794022253303389449097932506363839465163458124792985924677306776926227750344062456052382175759427773243583589556653368251908673721647935930401217443386750150490530596459274860647051504814918269474624465903027657537428560922689451155647627891642351985624141490967764054595391617699571775515931579057920118789608655936381628727351383677745395471097005971199936074257204241735633394989363507180773686155605572394047999556622933923638836763664839843478999607504058304233682525762304303279852145277497145103491105055943687875888432620611836619467741700684251215113017889610181881560538402374559794378331052331074716632546519245560278689841721885408709090837489683350284944545036951135854351742101480042067767466308965716480357505332578412099152564718663287708438308650677374256249422094150133189128796346502357539809861390578333844501968953280055971876137940675366161427679081809306984401553756240041160668095704102750658079345197562253618379016571907199064975061181470218287842596105890979490187055040656090224843348635205124544635642441645646128476460711798831054687500000000000000000000000000000000000000000000000000000000000000000000000400390625E-3081" + }, + "main_transform_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999995900476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999799827966418642966078653731049347423103494716888646302159337383384919234495721090791909714633138632467058935571759570298033934355514387404187706680475180183537896296860679836523005289315699500623194053116751902852758704365720562751671489279105650806456809431573581190968787521390614562359992969909652334661515170823303589399052009285966943038449418114015469766084013290135003617983979436144406976508326477100764330880245459157779394828013040782644972982633182243358541767125275711895924329794556401833226124954019534976499203309914131301869196856371084988081842511726348932296054398542957020617044682681455761931339948395122142648453976067916554386377766088430611847116061308366221390115452607834522626088866674629919811213239682698194364333141171645500836914203486323231801264023083923187698061975712241159166081643095103488956007045897472008299616813710597801796583614888533366379097767312415964827174430412957477648449948324224829681378186077291214633984798519774194977582740132590303715518097747630430135831439932185146338776321003150133902535246109395041481128960762134929089256580544460868723031473701470457091163594735133307160407782404745107370652976295693054397266571059651850817960904340396035747253533569568204907680150743790223242165736719237772732115046034634693024923148653061821830776812279575666581753183614506847817421750629246093748107752411089942173349956914407469683054769429013300360931809132156079240478358098705937301244028957692772505184503742034666968835676080982714406789157522756162001985188344910981725121015987644022497592229049512974865537094342679483968691055683570309311314603336982108630287926669762981993486462339271460104454201543320229369437486343753850959025002004181313995180455047609234580966578199860651340127434753376210302775076725188017248641005235302024998507182393101822950148991460561130637054071603462323170502901803039574103118419027070545614261141833086430929363050354109701462316996896773955522728970111266516947245489662531819197325817290623964929623386533884631138751720312280261910878797138866217917947783266841259543368608239679652006087216933750752452652982296374303235257524074591347373122329515138287687142804613447255778238139458211759928120707454838820272976958088497858877579657895289600593948043279681908143636756918388726977355485029855999680371286021208678166974946817535903868430778027861970239997783114669618194183818324199217394998037520291521168412628811521516399260726387485725517455525279718439379442163103059183097338708503421256075565089448050909407802692011872798971891655261655373583162732596227801393449208609427043545454187448416751424722725184755679271758710507400210338837331544828582401787526662892060495762823593316438542191543253386871281247110470750665945643981732511787699049306952891669222509844766400279859380689703376830807138395409046534922007768781200205803340478520513753290396725987811268091895082859535995324875305907351091439212980529454897450935275203280451124216743176025622723178212208228230642382303558994155273437500000000000000000000000000000000000000000000000000000000000000000000002001953125E-3022" + }, + "global_coordinate_router_above_kappa": { + "rational": "20000000000000000000000019999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999985E-3022" + }, + "fused_gaussian_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997943430256761423835872485235671905675478715405638428804669688835169437767417103818254932867060037578776101001528907999111204926802803962113292698448395070476568348479120169155973444975556577318289042623493236911273494796229871375462696301308251185548706371475880828373122305314239358711397968071249039441603492095383772532677755450529808980282332248925110462428201776545894622288935696556712364636671578753070960489282281010653966018233121225685707140052982717031948806172176939738885590822577545328633413117174960228956111051361124227186843454855439461667748403920466878400269582246479279346711225303948642013061526429396304444321012289612793101499049948473176791886810806786020642208693408225353070146899968489262273200941446104977061744628193585899571420008662199699361869661578276240652168927787760096819164056151763158361457072899940680189928457034379128942382097298751490030331766823674836878981597004572107426720764825040373535623875752588772227112026021054926539422683553746348260281431925614413627545483669433455391054417162433544226971765520961231348600563349225570043243924308651675774343053744218344883681091260526590391935454150947539396852918863607381262168058125905009714255517962673932436311257102514270509527868461698471315998662864029968756661148428367955539451278253244118333282927346457128954782915601275300729902392358660879999883740308137366047130621352821194937326885033718577174175650353079669508534990321584492787788433139160643942718535909910609938565263938415577973153125838198138593401969971911330717191435222280848742252066552802077175738599076414227495036378461198559804087169229024180754244890214590237613679808246124838508817666142821594892458239160960236602922496123136899931863887158125111372654586564599438418337429591247434361002500713995551779756503361656956415908281286232176002057154035336875866340602159316725135595698286778751432895595665023214322540204554224830316300065813756500057844756289337791827316467923636214801238762884865954971483698214335936405276060868641871737164905695986499291804393296211940428878711803914726986344567290245917819253998608409646230690999232289237190774222279142892382604635925410096395498053915450199395014951288312530529983736266025297117571704304957308449438494181086593060492167779103656436345042345065803385488721000234352620362011813143061186578940732469405933676387002031839451545463794565301341850653797838799916748679425246711060587271914179881967570579029247122975792467473185900915472926501051956209500490250450201973282719095688247874015397397209464768833023299276106152949518290712236117613519376963197555432705276830725207534964235351388934456855173574668923218165650114268102765825638168088196859667881573361984032248417488089371519822467322920915700366237645524236229589419185664157031004862447633194560349575375472484790583013931819105608157313916940644557239000300365002161974844691124311566033890889891552760338794947651058025245523729708899385463308489550917071876700735014260112069358073542490667968730664600900000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899581555505928898235961193148042269310484150665938906478012150154757703487163272375729143899415897401176806715278710894101803066543162212563120041425540550613688890582039509569015867947098501869582159350255708558276113097161688255014467837316952419370428294720743572906362564171843687079978909728957003984545512469910768197156027857900829115348254342046409298252039870405010853951938308433220929524979431302292992640736377473338184484039122347934918947899546730075625301375827135687772989383669205499678374862058604929497609929742393905607590569113254964245527535179046796888163195628871061851134048044367285794019845185366427945361928203749663159133298265291835541348183925098664170346357823503567878266600023889759433639719048094583092999423514936502510742610458969695403792069251769563094185927136723477498244929285310466868021137692416024898850441131793405389750844665600099137293301937247894481523291238872432945349844972674489044134558231873643901954395559322584932748220397770911146554293242891290407494319796555439016328963009450401707605738328185124443386882286404787267769741633382606169094421104411371273490784205399921481223347214235322111958928887079163191799713178955552453882713021188107241760600708704614723040452231370669726497210157713318196345138103904079074769445959185465492330436838726999745259550843520543452265251887738281244323257233269826520049870743222409049164308287039901082795427396468237721435074296117811903732086873078317515553511226104000906507028242948143220367472568268486005955565034732945175363047962932067492776687148538924596611283028038451906073167050710927933943810010946325890863780009288945980459387017814380313362604629960688108312459031261552877075006012543941985541365142827703742899734599581954020382304260128630908325230175564051745923015705906074995521547179305468850446974381683391911162214810386969511508705409118722309355257081211636842783425499259292788089151062329104386950990690321866568186910333799550841736468987595457591977451871871894788870159601653893416255160936840785732636391416598653753843349800523778630105824719038956018261650801252257357958946889122909705772572223774042119366988545414863061428413840341767334714418374635279784362122364516460818930874265493576632738973685868801781844129839045724430910270755166180932066455089567999041113858063626034500924840452607711605292334083585910719993349344008854582551454972597652184994112560874563505237886434564549197782179162457176552366575839155318138326489309177549292016125510263768226695268344152728223408076035618396915674965784966120749488197788683404180347625828281130636362562345250254274168175554267037815276131522200631016511994634485747205362579988676181487288470779949315626574629760160613843741331412251997836931945197535363097147920858675007667529534299200839578142069110130492421415186227139604766023306343600617410021435561541259871190177963433804275685248578607985974625917722053274317638941588364692352805825609841353372650229528076868169534636624684691927146910676982465820312500000000000000000000000000000000000000000000000000000000000000000000006005859375E-3022" + }, + "group_bit_router_above_kappa": { + "rational": "81920000000000000000000081919999999999999999999999999999995869721027045695343489940942687622701914861622553715218678755340677751069668415273019731468240150315104404006115631996444819707211215848453170793793580281906273393916480676623893779902226309273156170493972947645093979184919485501850785205233004742194825485903523313492489221256957434845591872284996157766413968381535090130711021802119235921129328995700441849712807106183578489155742786226849458546686315012283841957129124042615864072932484902742828560211930868127795224688707758955542363290310181314533652468699840915824444205444496908747373819421757846670993615681867513601078328985917117386844901215794568052246105717585217777284049158451172405996199793892707167547243227144082568834773632901412280587599873957049092803765784419908246978512774343598285680034648798797447478646313104962608675711151040387276656224607052633445828291599762720759713828137516515769528389195005960121327067294699347515926388018288429706883059300161494142495503010355088908448104084219706157690734214985393041125727702457654510181934677733821564217668649734176907887062083844925394402253396902280172975697234606703097372214976873379534724365042106361567741816603790157587411675454429525048672232503620038857022071850695729745245028410057082038111473846793885263994651456119875026644593713471822157805113012976473333131709385828515819131662405101202919609569434643519999534961232549464188522485411284779749307540134874308696702601412318678034139961286337971151153732556642575770874143639642439754261055753662311892612503352792554373607879887645322868765740889123394969008266211208308702954396305656909980145513844794239216348676916096723016979560858360950454719232984499354035270664571286379569832956643840946411689984492547599727455548632500445490618346258397753673349718364989737444010002855982207119026013446627825663633125144928704008228616141347503465362408637266900542382793147115005731582382660092857290160818216899321265200263255026000231379025157351167309265871694544859204955051539463819885934792857343745621104243474567486948659622783945997167217573184847761715514847215658907945378269160983671277015994433638584922763996929156948763096889116571569530418543701640385581992215661800797580059805153250122119934945064101188470286817219829233797753976724346372241968671116414625745380169380263213541954884000937410481448047252572244746315762929877623734705548008127357806181855178261205367402615191355199666994717700986844242349087656719527870282316116988491903169869892743603661891706004207824838001961001800807893130876382752991496061589588837859075332093197104424611798073162848944470454077507852790221730821107322900830139856941405555737827420694298675692872662600457072411063302552672352787438671526293447936128993669952357486079289869291683662801464950582096944918357676742656628124019449790532778241398301501889939162332055727276422432629255667762578228956001201460008647899378764497246264135563559566211041355179790604232100982094918835597541853233958203668287506802940057040448277432294169962671874922658403600000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999994958155550592889823596119314804226931048415066593890647801215015475770348716327237572914389941589740117680671527871089410180306654316221256312004142554055061368889058203950956901586794709850186958215935025570855827611309716168825501446783731695241937042829472074357290636256417184368707997890972895700398454551246991076819715602785790082911534825434204640929825203987040501085395193830843322092952497943130229299264073637747333818448403912234793491894789954673007562530137582713568777298938366920549967837486205860492949760992974239390560759056911325496424552753517904679688816319562887106185113404804436728579401984518536642794536192820374966315913329826529183554134818392509866417034635782350356787826660002388975943363971904809458309299942351493650251074261045896969540379206925176956309418592713672347749824492928531046686802113769241602489885044113179340538975084466560009913729330193724789448152329123887243294534984497267448904413455823187364390195439555932258493274822039777091114655429324289129040749431979655543901632896300945040170760573832818512444338688228640478726776974163338260616909442110441137127349078420539992148122334721423532211195892888707916319179971317895555245388271302118810724176060070870461472304045223137066972649721015771331819634513810390407907476944595918546549233043683872699974525955084352054345226525188773828124432325723326982652004987074322240904916430828703990108279542739646823772143507429611781190373208687307831751555351122610400090650702824294814322036747256826848600595556503473294517536304796293206749277668714853892459661128302803845190607316705071092793394381001094632589086378000928894598045938701781438031336260462996068810831245903126155287707500601254394198554136514282770374289973459958195402038230426012863090832523017556405174592301570590607499552154717930546885044697438168339191116221481038696951150870540911872230935525708121163684278342549925929278808915106232910438695099069032186656818691033379955084173646898759545759197745187187189478887015960165389341625516093684078573263639141659865375384334980052377863010582471903895601826165080125225735795894688912290970577257222377404211936698854541486306142841384034176733471441837463527978436212236451646081893087426549357663273897368586880178184412983904572443091027075516618093206645508956799904111385806362603450092484045260771160529233408358591071999334934400885458255145497259765218499411256087456350523788643456454919778217916245717655236657583915531813832648930917754929201612551026376822669526834415272822340807603561839691567496578496612074948819778868340418034762582828113063636256234525025427416817555426703781527613152220063101651199463448574720536257998867618148728847077994931562657462976016061384374133141225199783693194519753536309714792085867500766752953429920083957814206911013049242141518622713960476602330634360061741002143556154125987119017796343380427568524857860798597462591772205327431763894158836469235280582560984135337265022952807686816953463662468469192714691067698246582031250000000000000000000000000000000000000000000000000000000000000000000000450439453125E-3022" + }, + "group_scans_above_kappa": { + "rational": "2044480189568682279002739798805863873720391731828862145034719143809269682548004653623756505973814140054220300996943671899145965868641059253337145759725708022115768729307009175842864278039003308594464925677097429965547535394923020641886508142975354146951325005301453090756826224969464494462282700799680126244545009974953845028299701249601429531417308259939223911049957457884908365486228707015759800959901347364118224723595367450296326071777604911272881760733106419744903258637133753697185366607937046022964238044604642097904948485785758907098438299827645121227435972214010888414976331835701480010502345119807941910570102016850650726737100671056954775618584467165214599055045902076467519252699194393997993634330970082786262687492946828133732194884628280052401329713851216958229116571107274935876742131598809477341136097367633873864078910419270411215200001042025377885940693958219769450318447948953809455985474042874147955142497834582926984991470130374881483809640832599927274415596434556298708353265635499042148479765040604331850316479457544484038727770232292975924220120197393081067245038068070241602369767180352897850223561229017418322570748152936696708093956531368589417915941764790226795983867895319289360236511536459512766353595050157602465896186265589595714151541674402104844913473600642983181046374885235788519579049010051365014650333420728819473479699360215555207075208224033696202513910415552203692964540342628155037343118472364427543205051870081104827245779430394984419782202581317673010992149045493957607680406906407367285863306541654995793858910591651066002057058292087465013740339599130159149678468462036127592444741378992948425406063099783620497330123658313225976337203519766595574840985395832692757274943063451722145787525902382094431716390711340743306198611750063421941677867426576705655310581171300236132203490141450695002528979232626516699185380702907794239053645848380964644282752366252437037810534402164572108302582205495554852703464651539498038534372065931021398148608611381749269166286012772897189223880549650495872422352949927479405463703157294450086776229337177185988973845532187883000840069549326466130993045151974569036470630120305271216262507128781847315548006254319109822226320783708698664528523016677675520331070384608550876090993756794858802381580925978103005024489183732384796975641189754359368076523593063959702315541489627186465871520531664576928477882597375972276633408602481992208574452071609474729194447463106968198857460989386191038789182789334360497073826491384331915936375279598641623338840566664040092688084051620390445628204777017816076827265694411153418891123081191093501074268943031632157339739102588935731837927062442451132424537718413760515219483164592738747649554311480818353267709443470249651113830032200591186699045608494340422682594844350045928389582173815877861969758135343988339106695756405600008654548392706914541093411695515868306867871307723235781003878382567376721252493105438020478281114762048825717594062293546212147889113062539027786666660227821568000000000000000000204800000000000000000000204799999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99828134256283314404430654238567571959003502530706159425523395693811996218164289727722485643252643557334975634616390229450486614679739221354352820299106837017371519985693807414202357326123208427464107699077022947536500751705225617279614655418718464206607666274485014197110655516087133518666147499984381164284424315183293214272446350078194801338735754879844917531736203998286541283507261084753896531245182976763585191581805051284000296473515864808246179723296211901606604425641296567245379228903176075340050685771711039936765062782507759135665932608771734434933397080762250410887516202915111328637809820303122163602055762541535680016459993703952869903251194685801494094484663187327515588510702851269433282926316898573547982787741544342467392328350990236933658677434141453038531082573597408978356549394473119010797661004278997747269478047815938047617187550880145404586947947178699680191330466257510227343040724749714255622192277079244481689036627459711009951642618779293323946074044656069272868811798608351667406238527373258391128734348512914259703504405873680465049810556513334036486574124417492265740711288103168840342947325635616129031774812155112143949900221258231905171676843983897792772649799576137175792798414866187146794609133308476682905087219999491978230055745820415275630540703156395663137030023693153736307570752443914307355973311559024388353500945323025156595469151564145322388374532009384945945534196417390382682769456658419313633059173343803946642860323749755098622177860415902002489851027612009648812519868476922230755044264729247841497017118732962207131692299418333252624040019488777302230393967872857792599840887646140059834280424794122094596197444253575487125840015613603299552782490030893201038815579270103620399781538202250704673651890202184731747979089358565524495989620438315705825711971254894342392748542063022216920360314093091635702411167134169640578791301190476789271618767883419777236842500105691997475712021752712639292161359938452052662811136031788154206475029852624476033510059217426620567572292463403118770622702633177705344907380727268070643370573104354784617863551376361474650394020963206354052394782811258253733917486343030821106567730897551138454492492886675284288394569517026301978931787923714625016165546123464398246630554530998964960038131151274560792211385924432851414826229968474578519361503567576157339626049298202464153882838460184420335834111199998646319990654418066025809299417559056383261447630034519931584836962372372609315878065885466821146182934149625581832830824199152423014591824544142582650785354083026877227939686377823050626331332734919600531793119198783862357142038233966413932604448368600377531148782345822809200416880781921900157201326396129821662575894115274333655649875169445783745792482041044491538039336352262715951298576384279586347147567080853411228992096452343180620444128730742187922585370737642311576826742945110757171282778697423622119329999148797691467406889913965843666070056740665318241897572927061140033648098756788466145833018936600000000000000000000010000000000000000000000009999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997948476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899827966418642966078653731049347423103494716888646302159337383384919234495721090791909714633138632467058935571759570298033934355514387404187706680475180183537896296860679836523005289315699500623194053116751902852758704365720562751671489279105650806456809431573581190968787521390614562359992969909652334661515170823303589399052009285966943038449418114015469766084013290135003617983979436144406976508326477100764330880245459157779394828013040782644972982633182243358541767125275711895924329794556401833226124954019534976499203309914131301869196856371084988081842511726348932296054398542957020617044682681455761931339948395122142648453976067916554386377766088430611847116061308366221390115452607834522626088866674629919811213239682698194364333141171645500836914203486323231801264023083923187698061975712241159166081643095103488956007045897472008299616813710597801796583614888533366379097767312415964827174430412957477648449948324224829681378186077291214633984798519774194977582740132590303715518097747630430135831439932185146338776321003150133902535246109395041481128960762134929089256580544460868723031473701470457091163594735133307160407782404745107370652976295693054397266571059651850817960904340396035747253533569568204907680150743790223242165736719237772732115046034634693024923148653061821830776812279575666581753183614506847817421750629246093748107752411089942173349956914407469683054769429013300360931809132156079240478358098705937301244028957692772505184503742034666968835676080982714406789157522756162001985188344910981725121015987644022497592229049512974865537094342679483968691055683570309311314603336982108630287926669762981993486462339271460104454201543320229369437486343753850959025002004181313995180455047609234580966578199860651340127434753376210302775076725188017248641005235302024998507182393101822950148991460561130637054071603462323170502901803039574103118419027070545614261141833086430929363050354109701462316996896773955522728970111266516947245489662531819197325817290623964929623386533884631138751720312280261910878797138866217917947783266841259543368608239679652006087216933750752452652982296374303235257524074591347373122329515138287687142804613447255778238139458211759928120707454838820272976958088497858877579657895289600593948043279681908143636756918388726977355485029855999680371286021208678166974946817535903868430778027861970239997783114669618194183818324199217394998037520291521168412628811521516399260726387485725517455525279718439379442163103059183097338708503421256075565089448050909407802692011872798971891655261655373583162732596227801393449208609427043545454187448416751424722725184755679271758710507400210338837331544828582401787526662892060495762823593316438542191543253386871281247110470750665945643981732511787699049306952891669222509844766400279859380689703376830807138395409046534922007768781200205803340478520513753290396725987811268091895082859535995324875305907351091439212980529454897450935275203280451124216743176025622723178212208228230642382303558994155273437500000000000000000000000000000000000000000000000000000000000000000000002001953125E-3022" + }, + "sparse_union_movement_above_kappa": { + "rational": "83200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020480000000000000000000020479999999999999999999999999999997948476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009999999999999999999999999999999998998279664186429660786537310493474231034947168886463021593373833849192344957210907919097146331386324670589355717595702980" + }, + "polynomial_products_above_kappa": { + "rational": "4088960379137364558005479597611727747440783463657724290069438287618539365096009307247513011947628280108440601993887343798291931737282118506674291519451416044231537458614018351685728556078006617188929851354194859931095070789846041283773016285950708293902650010602906181513652449938928988924565401599360252489090019949907690056599402499202859062834616519878447822099914915769816730972457414031519601919802694728236449447190734900592652143555209822545763521466212839489806517274267507394370733215874092045928476089209284195809896971571517814196876599655290242454871944428021776829952663671402960021004690239615883821140204033701301453474201342113909551237168934330429198110091804152935038505398388787995987268661940165572525374985893656267464389769256560104802659427702433916458233142214549871753484263197618954682272194735267747728157820838540822430400002084050755771881387916439538900636895897907618911970948085748295910284995669165853969982940260749762967619281665199854548831192869112597416706531270998084296959530081208663700632958915088968077455540464585951848440240394786162134490076136140483204739534360705795700447122458034836645141496305873393416187913062737178835831883529580453591967735790638578720473023072919025532707190100315204931792372531179191428303083348804209689826947201285966362092749770471577039158098020102730029300666841457638946959398720431110414150416448067392405027820831104407385929080685256310074686236944728855086410103740162209654491558860789968839564405162635346021984298090987915215360813812814734571726613083309991587717821183302132004114116584174930027480679198260318299356936924072255184889482757985896850812126199567240994660247316626451952674407039533191149681970791665385514549886126903444291575051804764188863432781422681486612397223500126843883355734853153411310621162342600472264406980282901390005057958465253033398370761405815588478107291696761929288565504732504874075621068804329144216605164410991109705406929303078996077068744131862042796297217222763498538332572025545794378447761099300991744844705899854958810927406314588900173552458674354371977947691064375766001680139098652932261986090303949138072941260240610542432525014257563694631096012508638219644452641567417397329057046033355351040662140769217101752181987513589717604763161851956206010048978367464769593951282379508718736153047186127919404631082979254372931743041063329153856955765194751944553266817204963984417148904143218949458388894926213936397714921978772382077578365578668720994147652982768663831872750559197283246677681133328080185376168103240780891256409554035632153654531388822306837782246162382187002148537886063264314679478205177871463675854124884902264849075436827521030438966329185477495299108622961636706535418886940499302227660064401182373398091216988680845365189688700091856779164347631755723939516270687976678213391512811200017309096785413829082186823391031736613735742615446471562007756765134753442504986210876040956562229524097651435188124587092424295778226125078055573333320455643136000000000000000000409600000000000000000000409599999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998281342562833144044306542385675719590035025307061594255233956938119962181642897277224856432526435573349756346163902294504866146797392213543528202991068370173715199856938074142023573261232084274641076990770229475365007517052256172796146554187184642066076662744850141971106555160871335186661474999843811642844243151832932142724463500781948013387357548798449175317362039982865412835072610847538965312451829767635851915818050512840002964735158648082461797232962119016066044256412965672453792289031760753400506857717110399367650627825077591356659326087717344349333970807622504108875162029151113286378098203031221636020557625415356800164599937039528699032511946858014940944846631873275155885107028512694332829263168985735479827877415443424673923283509902369336586774341414530385310825735974089783565493944731190107976610042789977472694780478159380476171875508801454045869479471786996801913304662575102273430407247497142556221922770792444816890366274597110099516426187792933239460740446560692728688117986083516674062385273732583911287343485129142597035044058736804650498105565133340364865741244174922657407112881031688403429473256356161290317748121551121439499002212582319051716768439838977927726497995761371757927984148661871467946091333084766829050872199994919782300557458204152756305407031563956631370300236931537363075707524439143073559733115590243883535009453230251565954691515641453223883745320093849459455341964173903826827694566584193136330591733438039466428603237497550986221778604159020024898510276120096488125198684769222307550442647292478414970171187329622071316922994183332526240400194887773022303939678728577925998408876461400598342804247941220945961974442535754871258400156136032995527824900308932010388155792701036203997815382022507046736518902021847317479790893585655244959896204383157058257119712548943423927485420630222169203603140930916357024111671341696405787913011904767892716187678834197772368425001056919974757120217527126392921613599384520526628111360317881542064750298526244760335100592174266205675722924634031187706227026331777053449073807272680706433705731043547846178635513763614746503940209632063540523947828112582537339174863430308211065677308975511384544924928866752842883945695170263019789317879237146250161655461234643982466305545309989649600381311512745607922113859244328514148262299684745785193615035675761573396260492982024641538828384601844203358341111999986463199906544180660258092994175590563832614476300345199315848369623723726093158780658854668211461829341496255818328308241991524230145918245441425826507853540830268772279396863778230506263313327349196005317931191987838623571420382339664139326044483686003775311487823458228092004168807819219001572013263961298216625758941152743336556498751694457837457924820410444915380393363522627159512985763842795863471475670808534112289920964523431806204441287307421879225853707376423115768267429451107571712827786974236221193299991487976914674068899139658436660700567406653182418975729270611400336480987567884661458330189366000000000000000000000100000000000000000000000099999999999999999999999999999999989990234375" + }, + "microbox_face_corrections_above_kappa": { + "rational": "78846240094784341139501369899402931936860195865914431072517359571904634841274002326811878252986907070027110150498471835949572982934320529626668572879862854011057884364653504587921432139019501654297232462838548714982773767697461510320943254071487677073475662502650726545378413112484732247231141350399840063122272504987476922514149850624800714765708654129969611955524978728942454182743114353507879900479950673682059112361797683725148163035888802455636440880366553209872451629318566876848592683303968523011482119022302321048952474242892879453549219149913822560613717986107005444207488165917850740005251172559903970955285051008425325363368550335528477387809292233582607299527522951038233759626349597196998996817165485041393131343746473414066866097442314140026200664856925608479114558285553637467938371065799404738670568048683816936932039455209635205607600000521012688942970346979109884725159223974476904727992737021437073977571248917291463492495735065187440741904820416299963637207798217278149354176632817749521074239882520302165925158239728772242019363885116146487962110060098696540533622519034035120801184883590176448925111780614508709161285374076468348354046978265684294708957970882395113397991933947659644680118255768229756383176797525078801232948093132794797857075770837201052422456736800321491590523187442617894259789524505025682507325166710364409736739849680107777603537604112016848101256955207776101846482270171314077518671559236182213771602525935040552413622889715197492209891101290658836505496074522746978803840203453203683642931653270827497896929455295825533001028529146043732506870169799565079574839234231018063796222370689496474212703031549891810248665061829156612988168601759883297787420492697916346378637471531725861072893762951191047215858195355670371653099305875031710970838933713288352827655290585650118066101745070725347501264489616313258349592690351453897119526822924190482322141376183126218518905267201082286054151291102747777426351732325769749019267186032965510699074304305690874634583143006386448594611940274825247936211176474963739702731851578647225043388114668588592994486922766093941500420034774663233065496522575987284518235315060152635608131253564390923657774003127159554911113160391854349332264261508338837760165535192304275438045496878397429401190790462989051502512244591866192398487820594877179684038261796531979851157770744813593232935760265832288464238941298687986138316704301240996104287226035804737364597223731553484099428730494693095519394591394667180248536913245692165957968187639799320811669420283332020046344042025810195222814102388508908038413632847205576709445561540595546750537134471515816078669869551294467865918963531221225566212268859206880257609741582296369373824777155740409176633854721735124825556915016100295593349522804247170211341297422175022964194791086907938930984879067671994169553347878202800004327274196353457270546705847757934153433935653861617890501939191283688360626246552719010239140557381024412858797031146773106073944556531269513893333330113910784000000000000000000102400000000000000000000102400000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "76.9982813425628331440443065423856757195900350253070615942552339569381199621816428972772248564325264355733497563461639022945048661467973922135435282029910683701737151998569380741420235732612320842746410769907702294753650075170522561727961465541871846420660766627448501419711065551608713351866614749998438116428442431518329321427244635007819480133873575487984491753173620399828654128350726108475389653124518297676358519158180505128400029647351586480824617972329621190160660442564129656724537922890317607534005068577171103993676506278250775913566593260877173443493339708076225041088751620291511132863780982030312216360205576254153568001645999370395286990325119468580149409448466318732751558851070285126943328292631689857354798278774154434246739232835099023693365867743414145303853108257359740897835654939447311901079766100427899774726947804781593804761718755088014540458694794717869968019133046625751022734304072474971425562219227707924448168903662745971100995164261877929332394607404465606927286881179860835166740623852737325839112873434851291425970350440587368046504981055651333403648657412441749226574071128810316884034294732563561612903177481215511214394990022125823190517167684398389779277264979957613717579279841486618714679460913330847668290508721999949197823005574582041527563054070315639566313703002369315373630757075244391430735597331155902438835350094532302515659546915156414532238837453200938494594553419641739038268276945665841931363305917334380394664286032374975509862217786041590200248985102761200964881251986847692223075504426472924784149701711873296220713169229941833325262404001948877730223039396787285779259984088764614005983428042479412209459619744425357548712584001561360329955278249003089320103881557927010362039978153820225070467365189020218473174797908935856552449598962043831570582571197125489434239274854206302221692036031409309163570241116713416964057879130119047678927161876788341977723684250010569199747571202175271263929216135993845205266281113603178815420647502985262447603351005921742662056757229246340311877062270263317770534490738072726807064337057310435478461786355137636147465039402096320635405239478281125825373391748634303082110656773089755113845449249288667528428839456951702630197893178792371462501616554612346439824663055453099896496003813115127456079221138592443285141482622996847457851936150356757615733962604929820246415388283846018442033583411119999864631999065441806602580929941755905638326144763003451993158483696237237260931587806588546682114618293414962558183283082419915242301459182454414258265078535408302687722793968637782305062633133273491960053179311919878386235714203823396641393260444836860037753114878234582280920041688078192190015720132639612982166257589411527433365564987516944578374579248204104449153803933635226271595129857638427958634714756708085341122899209645234318062044412873074218792258537073764231157682674294511075717128277869742362211932999914879769146740688991396584366607005674066531824189757292706114003364809875678846614583301893660000000000000000000001000000000000000000000001000000000000000000000000000000000400390625" + } + } + } + }, + "rejecting_controls": { + "struct_boundary_radix_union": { + "endpoint_equality": { + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-3081" + }, + "q_below_internal": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-3081" + }, + "q_below_leaf": { + "rational": "-171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.71865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999E-3089" + }, + "lambda_above_tau": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_above_internal": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_prime_above_lambda": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_prime_above_leaf": { + "rational": "-171865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.71865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999999E-3089" + } + }, + "zero_layout_slack": { + "positive_layout_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "old_per_axis_scan_above_kappa": { + "rational": "-7039620862635441994520402388272252559216536342275709930561712381460634903990692752486988052371719891559398006112656201708068262717881493325708480548583955768462541385981648314271443921993382811070148645805140068904929210153958716226983714049291706097349989397093818486347550061071011075434598400639747510909980050092309943400597500797140937165383480121552177900085084230183269027542585968480398080197305271763550552809265099407347856444790177454236478533787160510193482725732492605629266784125907954071523910790715804190103028428482185803123400344709757545128055571978223170047336328597039978995309760384116178859795966298698546525798657886090448762831065669570801889908195847064961494601611212004012731338059834427474625014106343732535610230743439895197340572297566083541766857785450128246515736802381045317727805264732252271842179161459177569599997915949244228118612083560461099363104102092381088029051914251704089715004330834146030017059739250237032380718334800145451168807130887402583293468729001915703040469918791336299367041084911031922544459535414048151559759605213837865509923863859516795260465639294204299552877541965163354858503694126606583812086937262821164168116470419546408032264209361421279526976927080974467292809899684795068207627468820808571696916651195790310173052798714033637907250229528422960841901979897269970699333158542361053040601279568889585849583551932607594972179168895592614070919314743689925313763055271144913589896259837790345508441139210031160435594837364653978015701909012084784639186187185265428273386916690008412282178816697867995885883415825069972519320801739681700643063075927744815110517242014103149187873800432759005339752683373548047325592960466808850318029208334614485450113873096555708424948195235811136567218577318513387602776499873156116644265146846588689378837657399527735593019717098609994942041534746966601629238594184411521892708303238070711434495267495125924378931195670855783394835589008890294593070696921003922931255868137957203702782777236501461667427974454205621552238900699008255155294100145041189072593685411099826447541325645628022052308935624233998319860901347067738013909696050861927058739759389457567474985742436305368903987491361780355547358432582602670942953966644648959337859230782898247818012486410282395236838148043793989951021632535230406048717620491281263846952813872080595368917020745627068256958936670846143044234805248055446733182795036015582851095856781050541611105073786063602285078021227617922421634421331279005852347017231336168127249440802716753322318866671919814623831896759219108743590445964367846345468611177693162217753837617812997851462113936735685320521794822128536324145875115097735150924563172478969561033670814522504700891377038363293464581113059500697772339935598817626601908783011319154634810311299908143220835652368244276060483729312023321786608487188799982690903214586170917813176608968263386264257384553528437992243234865246557495013789123959043437770475902348564811875412907575704221773874921944426666679544356863999999999999999999590399999999999999999999590399999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.001718657437166855955693457614324280409964974692938405744766043061880037818357102722775143567473564426650243653836097705495133853202607786456471797008931629826284800143061925857976426738767915725358923009229770524634992482947743827203853445812815357933923337255149858028893444839128664813338525000156188357155756848167067857275536499218051986612642451201550824682637960017134587164927389152461034687548170232364148084181949487159997035264841351917538202767037880983933955743587034327546207710968239246599493142282889600632349372174922408643340673912282655650666029192377495891124837970848886713621901796968778363979442374584643199835400062960471300967488053141985059055153368126724844114892971487305667170736831014264520172122584556575326076716490097630663413225658585469614689174264025910216434506055268809892023389957210022527305219521840619523828124491198545954130520528213003198086695337424897726569592752502857443778077229207555183109633725402889900483573812207066760539259553439307271311882013916483325937614726267416088712656514870857402964955941263195349501894434866659635134258755825077342592887118968311596570526743643838709682251878448878560500997787417680948283231560161022072273502004238628242072015851338128532053908666915233170949127800005080217699442541795847243694592968436043368629699763068462636924292475560856926440266884409756116464990546769748434045308484358546776116254679906150540544658035826096173172305433415806863669408266561960533571396762502449013778221395840979975101489723879903511874801315230777692449557352707521585029828812670377928683077005816667473759599805112226977696060321271422074001591123538599401657195752058779054038025557464245128741599843863967004472175099691067989611844207298963796002184617977492953263481097978152682520209106414344755040103795616842941742880287451056576072514579369777830796396859069083642975888328658303594212086988095232107283812321165802227631574998943080025242879782472873607078386400615479473371888639682118457935249701473755239664899407825733794324277075365968812293772973668222946550926192727319293566294268956452153821364486236385253496059790367936459476052171887417462660825136569691788934322691024488615455075071133247157116054304829736980210682120762853749838344538765356017533694454690010350399618688487254392077886140755671485851737700315254214806384964324238426603739507017975358461171615398155796641658888000013536800093455819339741907005824409436167385523699654800684151630376276273906841219341145331788538170658503744181671691758008475769854081754558574173492146459169731227720603136221769493736686672650803994682068808012161376428579617660335860673955516313996224688512176541771907995831192180780998427986736038701783374241058847256663443501248305542162542075179589555084619606636477372840487014236157204136528524329191465887710079035476568193795558712692578120774146292623576884231732570548892428287172213025763778806700008512023085325931100860341563339299432593346817581024270729388599663519012432115338541669810633999999999999999999999899999999999999999999999899999999999999999999999999999999989990234375" + } + }, + "full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-204799999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997949/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979970703125" + } + }, + "full_key_sort": { + "unnecessary_full_key_sort_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999997951523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.59374999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989999999999999999999999989999999999999999999999999999999998999767210813570339213462689506525768965052831113536978406626166150807655042789092080902853668613675329410644282404297020" + } + }, + "old_g_factor_union_row": { + "old_g_factor_union_row_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999995901523247746192054709171588109364774840428198120523731776770388276854077527632060581689044313320807074632999490364000296265024399065345962235767183868309841143883840293276948008851674814474227236985792168921029575501734590042874845767899563916271483764542841373057208959231561920213762867343976250320186132169301538742489107414849823397006572555917024963179190599407818035125903688101147762545121109473748976346503572572996448677993922292924771430953315672427656017064609274353420371469725807484890455528960941679923681296316212958590937718848381520179444083865359844373866576805917840240217762924898683785995646157856867898518559662570129068966166983350508941069371063064404659785930435530591548976617700010503579242266352851298340979418457268804700142859997112600100212710112807241253115943690737413301060278647949412280546180975700019773270023847655206957019205967567082836656556077725441721040339467665142630857759745058319875488125374749137075924295991326315024486859105482084550579906189358128528790818172110188848202981860945855485257676078159679589550466478883591476652252025230449441408552315418593885038772969579824469869354848616350820201049027045464206245943980624698330095248160679108689187896247632495243163490710512767176228000445711990010414446283857210681486849573915585293888905690884514290348405694799574899756699202547113040000038753230620877984289792882392935020891038322093807608608116548973443497155003226138502404070522286946452019093821363363130020478245353861474008948958053933953802199343342696223094269521592573050419249311149065974274753800307861924168321207179600480065304276923658606415251703261803254128773397251291720497060777952392801702513920279679921132359167958954366689378704280624962875781804478466853860554190136250855212999166428668149406747832212781014528030572904589274665980948654887708044553132613561091621468100571073749522368134778325595225819931815258389894566644728747833314051747903554069390894510692121261732920412371711348342838767261888021198241313043786042754278364768004500236065202234596019857040429398695091004551810903251360726915333797196784589769666922570254269741925906952369205798454691529967868167315361516600201661682903895823156672087911324900960809431898347563850187168606304468979835944073632114521218319218311398871503759666588549126545996062285646271140353089176864688774537665989386849484845401811566219383115400720400027750440191584429646470909361940039344143140323584292341402510842271366361509024499649347930166503249849932675572426968103917375328200867596845077055658900241297949016827236429254627462160207678934148189098241056424930821678588216203688514381608808443692260611449961910632411391453943970601046777372808879338655917194170636876160059177559026361433211254118158587923470193604778614322998379184122268479883474874842505069805662022726964797280895361019785147586999899878332612675051769625229477988703036702815746553735017449647324918158756763700204845563836816360976041099754995246629310213975485836444010423111799699999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.59374999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989999999999999999999999989999999999999999999999999999999997998790648313570339213462689506525768965052831113536978406626166150807655042789092080902853668613675329410644282404297020" + } + }, + "old_theta_chirp_guard": { + "old_theta_chirp_guard": { + "rational": "-83551981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999994872476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.81593731487433371191138691522864856081992994938587681148953208612376007563671420544555028713494712885330048730767219541099026770640521557291294359401786325965256960028612385171595285347753583145071784601845954104926998496589548765440770689162563071586784667451029971605778688967825732962667705000031237671431151369633413571455107299843610397322528490240310164936527592003426917432985477830492206937509634046472829616836389897431999407052968270383507640553407576196786791148717406865509241542193647849319898628456577920126469874434984481728668134782456531130133205838475499178224967594169777342724380359393755672795888474916928639967080012592094260193497610628397011811030673625344968822978594297461133434147366202852904034424516911315065215343298019526132682645131717093922937834852805182043286901211053761978404677991442004505461043904368123904765624898239709190826104105642600639617339067484979545313918550500571488755615445841511036621926745080577980096714762441413352107851910687861454262376402783296665187522945253483217742531302974171480592991188252639069900378886973331927026851751165015468518577423793662319314105348728767741936450375689775712100199557483536189656646312032204414454700400847725648414403170267625706410781733383046634189825560001016043539888508359169448738918593687208673725939952613692527384858495112171385288053376881951223292998109353949686809061696871709355223250935981230108108931607165219234634461086683161372733881653312392106714279352500489802755644279168195995020297944775980702374960263046155538489911470541504317005965762534075585736615401163333494751919961022445395539212064254284414800318224707719880331439150411755810807605111492849025748319968772793400894435019938213597922368841459792759200436923595498590652696219595630536504041821282868951008020759123368588348576057490211315214502915873955566159279371813816728595177665731660718842417397619046421456762464233160445526314999788616005048575956494574721415677280123095894674377727936423691587049940294751047932979881565146758864855415073193762458754594733644589310185238545463858713258853791290430764272897247277050699211958073587291895210434377483492532165027313938357786864538204897723091015014226649431423210860965947396042136424152570749967668907753071203506738890938002070079923737697450878415577228151134297170347540063050842961276992864847685320747901403595071692234323079631159328331777600002707360018691163867948381401164881887233477104739930960136830326075255254781368243868229066357707634131700748836334338351601695153970816350911714834698429291833946245544120627244353898747337334530160798936413761602432275285715923532067172134791103262799244937702435308354381599166238436156199685597347207740356674848211769451332688700249661108432508415035917911016923921327295474568097402847231440827305704865838293177542015807095313638759111742538515624154829258524715376846346514109778485657434442605152755761340001702404617065186220172068312667859886518669363516204854145877719932703802486423067708333962126799999999999999999999999999999999999999999999999999999999999999999999999999999994992653078372859321573074620986948462069894337772926043186747667698384689914421815838194292662772649341178711435191405961" + } + }, + "old_linear_guard": { + "old_linear_guard": { + "rational": "-185951981043131772099726020119413612627960826817113785496528085619073031745199534637624349402618585994577969900305632810085403413135894074666285424027429197788423127069299082415713572196099669140553507432290257003445246460507697935811349185702464585304867499469854690924317377503053550553771729920031987375545499002504615497170029875039857046858269174006077608895004254211509163451377129298424019904009865263588177527640463254970367392822239508872711823926689358025509674136286624630281463339206295397703576195539535790209505151421424109290156170017235487877256402778598911158502366816429851998949765488019205808942989798314934927326289932894304522438141553283478540094495409792353248074730080560600200636566902991721373731250705317186626780511537171994759867028614878304177088342889272506412325786840119052265886390263236612613592108958072958878479999895797462211405930604178023054968155205104619054401452595712585204485750216541707301500852986962511851619035916740007272558440356544370129164673436450095785152023495939566814968352054245551596127222976770702407577987980260691893275496193192975839763023281964710214977643877098258167742925184706330329190604346863141058208405823520977320401613210468071063976348846354048723364640494984239753410381373441040428584845832559789515508652639935701681895362511476421148042095098994863498534966657927118052652030063978444479292479177596630379748608958444779630703545965737184496265688152763557245679494812991889517275422056960501558021779741868232698900785095450604239231959309359263271413669345834500420614108940834893399794294170791253498625966040086984085032153153796387240755525862100705157459393690021637950266987634168677402366279648023340442515901460416730724272505693654827785421247409761790556828360928865925669380138824993657805832213257342329434468941882869976386779650985854930499747102076737348330081461929709220576094635415161903535571724763374756296218946559783542789169741779450444514729653534846050196146562793406897860185139138861825073083371398722710281077611945034950412757764705007252059453629684270554991322377066282281401102615446781211699915993045067353386900695484802543096352936987969472878373749287121815268445199374568089017777367921629130133547147698332232447966892961539144912390900624320514119761841907402189699497551081626761520302435881024564063192347640693604029768445851037281353412847946833542307152211740262402772336659139751800779142554792839052527080555253689303180114253901061380896121081721066563950292617350861566808406362472040135837666115943333595990731191594837960955437179522298218392317273430558884658110887691880890649892573105696836784266026089741106426816207293755754886757546228158623948478051683540726125235044568851918164673229055652975034888616996779940881330095439150565957731740515564995407161041782618412213803024186465601166089330424359439999134545160729308545890658830448413169313212869227676421899612161743262327874750689456197952171888523795117428240593770645378785211088693746097221333333977217843199999999999999999999999999999999999999999999999999999999999999999999999999991796476752253807945290828411890635225159571801879476268223229611723145922472367939418310955686679192925367000509635999703734975600934654037764232816131690158856116159706723051991148325185525772763014207831078970424498265409957125154232100436083728516235457158626942791040768438079786237132656023749679813867830698461257510892585150176602993427444082975036820809400592181964874096311898852237454878890526251023653496427427003551322006077707075228569046684327572343982935390725646579628530274192515109544471039058320076318703683787041409062281151618479820555916134640155626133423194082159759782237075101316214004353842143132101481440337429870931033833016649491058930628936935595340214069564469408451023382299989496420757733647148701659020581542731195299857140002887399899787289887192758746884056309262586698939721352050587719453819024299980226729976152344793042980794032432917163343443922274558278959660532334857369142240254941680124511874625250862924075704008673684975513140894517915449420093810641871471209181827889811151797018139054144514742323921840320410449533521116408523347747974769550558591447684581406114961227030420175530130645151383649179798950972954535793754056019375301669904751839320891310812103752367504756836509289487232823771999554288009989585553716142789318513150426084414706111094309115485709651594305200425100243300797452886959999961246769379122015710207117607064979108961677906192391391883451026556502844996773861497595929477713053547980906178636636869979521754646138525991051041946066046197800656657303776905730478407426949580750688850934025725246199692138075831678792820399519934695723076341393584748296738196745871226602748708279502939222047607198297486079720320078867640832041045633310621295719375037124218195521533146139445809863749144787000833571331850593252167787218985471969427095410725334019051345112291955446867386438908378531899428926250477631865221674404774180068184741610105433355271252166685948252096445930609105489307878738267079587628288651657161232738111978801758686956213957245721635231995499763934797765403980142959570601304908995448189096748639273084666202803215410230333077429745730258074093047630794201545308470032131832684638483399798338317096104176843327912088675099039190568101652436149812831393695531020164055926367885478781680781688601128496240333411450873454003937714353728859646910823135311225462334010613150515154598188433780616884599279599972249559808415570353529090638059960655856859676415707658597489157728633638490975500350652069833496750150067324427573031896082624671799132403154922944341099758702050983172763570745372537839792321065851810901758943575069178321411783796311485618391191556307739388550038089367588608546056029398953222627191120661344082805829363123839940822440973638566788745881841412076529806395221385677001620815877731520116525125157494930194337977273035202719104638980214852413000100121667387324948230374770522011296963297184253446264982550352675081841243236299795154436163183639023958900245004753370689786024514163555989576888200300000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.90796865743716685595569345761432428040996497469293840574476604306188003781835710272277514356747356442665024365383609770549513385320260778645647179700893162982628480014306192585797642673876791572535892300922977052463499248294774382720385344581281535793392333725514985802889344483912866481333852500015618835715575684816706785727553649921805198661264245120155082468263796001713458716492738915246103468754817023236414808418194948715999703526484135191753820276703788098393395574358703432754620771096823924659949314228288960063234937217492240864334067391228265565066602919237749589112483797084888671362190179696877836397944237458464319983540006296047130096748805314198505905515336812672484411489297148730566717073683101426452017212258455657532607671649009763066341322565858546961468917426402591021643450605526880989202338995721002252730521952184061952382812449119854595413052052821300319808669533742489772656959275250285744377807722920755518310963372540288990048357381220706676053925955343930727131188201391648332593761472626741608871265651487085740296495594126319534950189443486665963513425875582507734259288711896831159657052674364383870968225187844887856050099778741768094828323156016102207227350200423862824207201585133812853205390866691523317094912780000508021769944254179584724369459296843604336862969976306846263692429247556085692644026688440975611646499054676974843404530848435854677611625467990615054054465803582609617317230543341580686366940826656196053357139676250244901377822139584097997510148972387990351187480131523077769244955735270752158502982881267037792868307700581666747375959980511222697769606032127142207400159112353859940165719575205877905403802555746424512874159984386396700447217509969106798961184420729896379600218461797749295326348109797815268252020910641434475504010379561684294174288028745105657607251457936977783079639685906908364297588832865830359421208698809523210728381232116580222763157499894308002524287978247287360707838640061547947337188863968211845793524970147375523966489940782573379432427707536596881229377297366822294655092619272731929356629426895645215382136448623638525349605979036793645947605217188741746266082513656969178893432269102448861545507507113324715711605430482973698021068212076285374983834453876535601753369445469001035039961868848725439207788614075567148585173770031525421480638496432423842660373950701797535846117161539815579664165888800001353680009345581933974190700582440943616738552369965480068415163037627627390684121934114533178853817065850374418167169175800847576985408175455857417349214645916973122772060313622176949373668667265080399468206880801216137642857961766033586067395551631399622468851217654177190799583119218078099842798673603870178337424105884725666344350124830554216254207517958955508461960663647737284048701423615720413652852432919146588771007903547656819379555871269257812077414629262357688423173257054889242828717221302576377880670000851202308532593110086034156333929943259334681758102427072938859966351901243211533854166981063399999999999999999999999999999999999999999999999999999999999999999999999999999995994373414186429660786537310493474231034947168886463021593373833849192344957210907919097146331386324670589355717595702980" + } + }, + "old_union_tag_2beta": { + "old_union_tag_2beta": { + "rational": "-2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999993994140625" + } + }, + "matrix_below_strassen": { + "strassen_integer_power_gap": { + "rational": "-423", + "decimal": "-423" + } + }, + "halo_too_short": { + "halo_covers_generic_inverse_radius": { + "rational": "-3", + "decimal": "-3" + } + }, + "core_too_small": { + "microbox_halo_volume": { + "rational": "-4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "microbox_face_corrections_above_kappa": { + "rational": "-3073759905215658860498630100597068063139804134085568927482640428095365158725997673188121747013092929972889849501528164050427017065679470373331427120137145988942115635346495412078567860980498345702767537161451285017226232302538489679056745928512322926524337497349273454621586887515267752768858649600159936877727495012523077485850149375199285234291345870030388044475021271057545817256885646492120099520049326317940887638202316274851836964111197544363559119633446790127548370681433123151407316696031476988517880977697678951047525757107120546450780850086177439386282013892994555792511834082149259994748827440096029044714948991574674636631449664471522612190707766417392700472477048961766240373650402803001003182834514958606868656253526585933133902557685859973799335143074391520885441714446362532061628934200595261329431951316183063067960544790364794392399999478987311057029653020890115274840776025523095272007262978562926022428751082708536507504264934812559258095179583700036362792201782721850645823367182250478925760117479697834074841760271227757980636114883853512037889939901303459466377480965964879198815116409823551074888219385491290838714625923531651645953021734315705291042029117604886602008066052340355319881744231770243616823202474921198767051906867205202142924229162798947577543263199678508409476812557382105740210475494974317492674833289635590263260150319892222396462395887983151898743044792223898153517729828685922481328440763817786228397474064959447586377110284802507790108898709341163494503925477253021196159796546796316357068346729172502103070544704174466998971470853956267493129830200434920425160765768981936203777629310503525787296968450108189751334938170843387011831398240116702212579507302083653621362528468274138927106237048808952784141804644329628346900694124968289029161066286711647172344709414349881933898254929274652498735510383686741650407309648546102880473177075809517677858623816873781481094732798917713945848708897252222573648267674230250980732813967034489300925695694309125365416856993613551405388059725174752063788823525036260297268148421352774956611885331411407005513077233906058499579965225336766934503477424012715481764684939847364391868746435609076342225996872840445088886839608145650667735738491661162239834464807695724561954503121602570598809209537010948497487755408133807601512179405122820315961738203468020148842229255186406767064239734167711535761058701312013861683295698759003895712773964195262635402776268446515900571269505306904480605408605332819751463086754307834042031812360200679188330579716667979953655957974189804777185897611491091961586367152794423290554438459404453249462865528484183921330130448705532134081036468778774433787731140793119742390258417703630626175222844259590823366145278264875174443084983899704406650477195752829788658702577824977035805208913092061069015120932328005830446652121797199995672725803646542729453294152242065846566064346138382109498060808716311639373753447280989760859442618975587141202968853226893926055443468730486106666669886089215999999999999999999897599999999999999999999897599999999999999999999999999999959/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-3.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999998999999999999999999999999999999999599609375" + } + }, + "group_equals_dimension": { + "group_below_dimension": { + "rational": "0", + "decimal": "0" + }, + "group_key_fits_record": { + "rational": "0", + "decimal": "0" + }, + "membership_arithmetic_fits_record": { + "rational": "-41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.0009765625E-3080" + } + }, + "epsilon_equals_one": { + "epsilon_below_one": { + "rational": "0", + "decimal": "0" + }, + "global_gamma_power_slack": { + "rational": "-1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1E-3080" + }, + "actual_logarithmic_gamma_guard": { + "rational": "0", + "decimal": "0" + }, + "source_axis_superpolynomial": { + "rational": "0", + "decimal": "0" + }, + "gaussian_above_main": { + "rational": "-10569743238576164127514764328094324521284594361571195330311164830562232582896181745067132939962421223898998471092000888795073197196037886707301551604929523431651520879830844026555024443422681710957376506763088726505203770128624537303698691748814451293628524119171626877694685760641288602031928750960558396507904616227467322244549470191019717667751074889537571798223454105377711064303443287635363328421246929039510717718989346033981766878774314292859947017282968051193827823060261114409177422454671366586882825039771043888948638875772813156545144560538332251596079533121599730417753520720653288774696051357986938473570603695555678987710387206898500950051526823208113189193213979357791306591774646929853100031510737726799058553895022938255371806414100428579991337800300638130338421723759347831072212239903180835943848236841638542927100059319810071542965620871057617902701248509969668233176325163121018402995427892573279235174959626464376124247411227772887973978945073460577316446253651739718568074385586372454516330566544608945582837566455773028234479038768651399436650774429956756075691348324225656946255781655116318908739473409608064545849052460603147081136392618737831941874094990285744482037326067563688742897485729490472131538301528684001337135970031243338851571632044460548721746755881666717072653542871045217084398724699270097607641339120000116259691862633952869378647178805062673114966281422825824349646920330491465009678415507212211566860839356057281464090089390061434736061584422026846874161801861406598030028088669282808564777719151257747933447197922824261400923585772504963621538801440195912830770975819245755109785409762386320191753875161491182333857178405107541760839039763397077503876863100068136112841874888627345413435400561581662570408752565638997499286004448220243496638343043584091718713767823997942845964663124133659397840683274864404301713221248567104404334976785677459795445775169683699934186243499942155243710662208172683532076363785198761237115134045028516301785664063594723939131358128262835094304013500708195606703788059571121288196085273013655432709754082180746001391590353769309000767710762809225777720857107617395364074589903604501946084549800604985048711687469470016263733974702882428295695042691550561505818913406939507832220896343563654957654934196614511278999765647379637988186856938813421059267530594066323612997968160548454536205434698658149346202161200083251320574753288939412728085820118032429420970752877024207532526814099084527073498948043790499509749549798026717280904311752125984602602790535231166976700723893847050481709287763882386480623036802444567294723169274792465035764648611065543144826425331076781834349885731897234174361831911803140332118426638015967751582511910628480177532677079084299633762354475763770410580814335842968995137552366805439650424624527515209416986068180894391842686083059355442760999699634997838025155308875688433966109110108447239661205052348941974754476270291100614536691510449082928123299264985739887930641926457509332031269335399099999999999999999999999999999999999999999999999999999999999999999999999999999877/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5.16100744071101764038806851957730689515849334061093521987849845242296512836727624270856100584102598823193284721289105898196933456837787436879958574459449386311109417960490430984132052901498130417840649744291441723886902838311744985532162683047580629571705279256427093637435828156312920021090271042996015454487530089231802843972142099170884651745657953590701747960129594989146048061691566779070475020568697707007359263622526661815515960877652065081052100453269924374698624172864312227010616330794500321625137941395070502390070257606094392409430886745035754472464820953203111836804371128938148865951955632714205980154814633572054638071796250336840866701734708164458651816074901335829653642176496432121733399976110240566360280951905416907000576485063497489257389541030304596207930748230436905814072863276522501755070714689533131978862307583975101149558868206594610249155334399900862706698062752105518476708761127567054650155027325510955865441768126356098045604440677415067251779602229088853445706757108709592505680203444560983671036990549598292394261671814875556613117713595212732230258366617393830905578895588628726509215794600078518776652785764677888041071112920836808200286821044447546117286978811892758239399291295385276959547768629330273502789842286681803654861896095920925230554040814534507669563161273000254740449156479456547734748112261718755676742766730173479950129256777590950835691712960098917204572603531762278564925703882188096267913126921682484446488773895999093492971757051856779632527431731513994044434965267054824636952037067932507223312851461075403388716971961548093926832949289072066056189989053674109136219990711054019540612982185619686637395370039311891687540968738447122924993987456058014458634857172296257100265400418045979617695739871369091674769824435948254076984294093925004478452820694531149553025618316608088837785189613030488491294590881277690644742918788363157216574500740707211910848937670895613049009309678133431813089666200449158263531012404542408022548128128105211129840398346106583744839063159214267363608583401346246156650199476221369894175280961043981738349198747742642041053110877090294227427776225957880633011454585136938571586159658232665285581625364720215637877635483539181069125734506423367261026314131198218155870160954275569089729244833819067933544910432000958886141936373965499075159547392288394707665916414089280006650655991145417448545027402347815005887439125436494762113565435450802217820837542823447633424160844681861673510690822450707983874489736231773304731655847271776591923964381603084325034215033879250511802211316595819652374171718869363637437654749745725831824445732962184723868477799368983488005365514252794637420011323818512711529220050684373425370239839386156258668587748002163068054802464636902852079141324992332470465700799160421857930889869507578584813772860395233976693656399382589978564438458740128809822036566195724314751421392014025374082277946725682361058411635307647194174390158646627349770471923131830465363375315308072853089323017534179687499999999999999999999999999999999999999999999999999999999999999999999993994140625E-3083" + } + }, + "epsilon_not_above_r0_slack": { + "global_gamma_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "beta_below_gaussian_window": { + "gaussian_above_main": { + "rational": "-412750174588246241710940088445977613459310486246088511962501405521000191814810346600641975011244145168466643764436207089252054946676827602801261523948578959574804365000586658187320695317484838653068726075799673275712478439969517191761795177473767151415446119766989062502861782229420244273439398973810106386341775580999886082980026554507594216586000449262254228986064806553006677982702286019039655522150534466205997228524517625917751682754415230236367655026931555928161882773040839657338339431938428414743698234266653226125032858055065465475018682605431414621886531217332737187336570327912216284504179966410956664341950661064473204136520219207350721362005749807490373082018857190365374435883492734655772307342001890344180643057540344613501630894485399859137981707470048684368852261635928044639825451897441134774916639184101780502014313821515746669510989662956424971329390902822932698330083763007197287897934698969574061795765592966199636949646816071082897937094202116314514731977100855354426361331841624781902305022004893884320801152984195115578633616033095776068739630442179924165636084159544578068477597125642102305736297304438679039182829223320533269904779480165914842456664132736578464314696973742339477095114174971280006648424256183372311552681017279697952416190266359307852166994120428345077928275488953535580664902854929932742580432014960027088508203993711018565224792661579602835787143571518417073467732437004511347255070813180445295078575569961346581132990827884314293502349170332255321679699833707737340996544659942894395593208562243055268493197116018052906415195484993656523818540735565647689569637365884260940580000474636012604678652912627445483788722568390057230275496264871519058403309102315875714292156849050171481330448330848527378905239347793886417333639036435316734716733929155093370460307902991520683109766507923142639696879203043406202299180550916135326210049591062848132338865614536302084665394735486522171784584294504235262973792761951311368247826232491644298316059726817570677817606443885240576972835145665009576361982617880071260149687868612181715821372701148113818324240552428248997178876607734549606208959706074853119829379447539848953437700103540961516349823180386513789450016105771605792896944947131280830855806823816905324907468848050331605133599667811181128006945395839455651247537666743527106809334628417453401828526581407789906935866284787348797665103559619397557693917516322883165643996087501556055086185420346640355078747685086694808125254894203186385771645102940225126450704638245354412406450194708861905571268667266362762238264048984596049985167574969584179670498441026644353333163126378271552744557102140890167403523375532055562626306835450131697383593406657720486118725275176435881365113759426641814666628592852958505665329740251411775867049701465667438548937514911043794157753886148393299345857352829818163312930014954496259861186968035405114103422655268206841060777197303480117792970977826443187049121934636322252728728741677393887839568864599674363285755147990299999999999999999999999999999999999999999999999999999999999999999999999999971341/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.0153817118566711021041996506151250657192894836234790623169013941455087490957536455109471436095905525804035340060361674279885495443204472793030347849051707010488494384794270419302768326049064387356871390419905921665648361326636581628993905150086286690207330066747512817522547960420910364914033153018071600895594510791010062645509109106816123856738303186633507274710195632471029198374135059523420679792506565732714708424048712203015218884492931163885139405611892379304779432277384748893473605075118574938657140345051427056886370022219993431397396611593330792084303282096325057975418473042588685766805662422409993376071809622288730670728526328483921941504187002318865873145452011248309298627123668684363882194433686051961945461793962139331134321019794914996971763060060970916447864337691799054678977143429742908931476522661219751074917667066198567847216292136544188053192915176901010660648621240585805073141342723123733486121366844052716647931973440970844625834677837710669664647319377702852849674406329335053823487402582709195351618798056402127862969532866004690856427267684566609650199421852762600999882672150493276647280141818294874960099083169947913569569310554976310666829303356278245327866063171012669780034871824769531574630090633953726150033252796860251582821790349575578719091509786540287008216576609059354524653459713375622196310156980470072681064648130420828380116829178691544716169119703047708665416622900610905627689004549826430423758572752018876031884317767788783862419393082629654378891593442760612353346907223774140409824636828274183031894390430568989571054467040705884952077184353791391092267449506067428739257835675586552962824849249386986513121219159670763197045716058179641523599077261517368861921721145027904361838297404713250923107390028998360221369093575943199937340523884526043479507221825757845854969067769684699203949179836103818471639675337701920225100077688615631461858672584780375227802477318677840419169155005089612449892224704653875402725890258381069253713853848514193252812814642834012547501716096924295720799932513675354499496477959579185342840463923247745035363308224035595565374834362038554990671860648186187491668918336906687179575200368211011540518709979810243625489067664629189106296139996644571819131192569184830317747502346207597906914046279842828515964130656223420471071175133961284512174542403195966886158524482802241549602845936882265510991384747040896371773316226703279572460746460036916752255147477863298587829476810873769927990961631014960242756108542003180002475812414323945918283700913518647732972102893865369249915236766825979003182010496561727522973556690754118815095855780189040661355327252973152705250164820901150518862638449713461786308271809459008111265882576974408269780945284503994856768974260398364534439928723213465618508286204378292897897339595265810261609076472089516569621941056143465005514160886450012688534519923603765337081184339267912161170761587083990126609911026681796242632906964664172496519958089716498429666448466780974769812263085463867187499999999999999999999999999999999999999999999999999999999999999999998600634765625E-3081" + } + }, + "beta_above_membership_window": { + "membership_arithmetic_fits_record": { + "rational": "0", + "decimal": "0" + } + } + } + }, + "pr1673_kappa": { + "rational": "1677160151714381/1000000000000000000", + "decimal": "0.001677160151714381" + }, + "improvement_over_pr1673": { + "rational": "414972854524749556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000414972854524749556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999" + }, + "source_sha256": { + "new/SPEC.json": "85635e7f1ceff706fe43c9eda5bb8847e6273b4d7509b119114e39684b0ddbdf", + "CLAIM.json": "94fced945b1171e97c3ac7c71f819a5ba6c5230c10ef0b15556482990b46b368" + } +} diff --git a/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json b/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json new file mode 100644 index 0000000000..88477d495e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999", + "kappa_rational": "17186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md b/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md new file mode 100644 index 0000000000..76ab77537a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md @@ -0,0 +1,15 @@ +# Maximum on the declared fixed kappa grid + +Credit: this argument and its parameter point are PR2180 / PR2161 (dataisfire, with OpenAI Codex assistance) on this series' PR2044; the ledger formulas are PR1786 (chafreaky / Chafik Boukhalfa), PR1673 (Vlado Vojdanovski), PR1758 and the Kothe lineage. Re-derived here at this package's own endpoint. + +Let C be the certified complex supplier endpoint, F = 10^3046 the floor denominator and B = 10^-3022 the positive backoff of `outer/check_ledger.py`. Every point of the free-gap family uses 0 < epsilon < 1 and 0 < q < b < C and reports K = floor(F epsilon q)/F - B. Since C F is an integer (asserted exactly) and epsilon q < C, integer ordering gives + + K <= C - 1/F - B. + +This bounds the declared grid/backoff family, not arbitrary suppliers, other backoffs or finer grids. + +Choose r0 = 10^-3080, zeta = r0/100, layout slack = gap = r0, stop = r0/10^6, b = C - r0, q = C - 2 r0, delta = (1025/1024) r0, epsilon = 1 - delta, beta = 1 - 3 delta. Then 0 < C - epsilon q < 1/F, checked exactly, so the reported K equals the bound C - 1/F - B (asserted in `outer/check_ledger.py`, `outer/independent_check.py`). + +All 62 strict inequalities of the earlier ledger and all 17 rejecting controls are retained. The main-binding family condition is now an explicit 63rd strict row, `gaussian_above_main`: Gaussian saving minus main saving = delta (1 - 2q) > 0. It was previously implicit in the checked beta window; it matters for rejection controls because the kappa floor/backoff (1e-3046, 1e-3022) is coarser than the free gaps (1e-3080), so a beta outside the main-binding window could still exceed the rounded kappa. The gamma spare power is r0/1024 > 0. All eventual cutoffs remain asymptotic; no practical cutoff is claimed. + +The supplier, native words, owners, invoice, endpoint and fine engines are unchanged (this package's own verify.py re-admits them in full). The ledger re-encloses the native moment sum at the new b = C - r0 (moment(b) < 1) and at the test endpoint C + 1e-3000 (moment > 1). diff --git a/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md new file mode 100644 index 0000000000..c49777f8be --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md @@ -0,0 +1,72 @@ +> **Superseded in this package (pkg7) by outer/STRUCTURED-BOUNDARY.md; kept as the documented fallback (pkg6: k = 5, tau_eff = 2.1567081) if the structured-solve argument is not accepted.** + +# Rectangular boundary batching, k = 5 (new in this package) + +**Status.** This construction is a new contribution of this package. The capped phase-cell fusion outer, its boundary algebra and the batching of right-hand sides are Vlado Vojdanovski's +PR1673 (PHASE-LAYOUT-AUDIT.md, "Batched right-hand sides"); the specialisation of the matrix boundary to an established published exponent is Chafik Boukhalfa's PR1699; the +radix-distributed sparse-union schedule is new in pkg4 (outer/UNION-SCHEDULE.md). The change here: the boundary solves are batched with **W^k right-hand-side columns per factor page with k = 5** +(pkg5 used k = 2), so that rectangular matrix multiplication is used. The published input is the bound **omega(1,1,5) = omega(1,5,1) = omega(5) < 6.156708** of Francois Le Gall, +"Faster Rectangular Matrix Multiplication by Combination Loss Analysis", SODA 2024, arXiv 2307.06535 (v2, revised 27 Dec 2023), Section 1.2, Table 3 ("Our new upper bounds on omega(kappa)"), kappa = 5.00 -> 6.156708 +(same table: kappa = 3.00 -> 4.199095, kappa = 2.00 -> 3.250563, kappa = 1.00 -> 2.372537). Convention (Section 1.1): omega(kappa) is the smallest exponent such that the product of an n x ceil(n^kappa) matrix by a +ceil(n^kappa) x n matrix is computable in O(n^(omega(kappa)+eps)), i.e. the exponent of the tensor ; footnote 1 there (citing [8, 9]) states that the arithmetic complexity of n x n times n x m, n x m times m x n and m x n times n x n are the same: +the matrix multiplication tensors , , are cyclic rotations of each other, so and (a W x W factor page against W x W^5 right-hand sides) have the same rank and omega(1,5,1) = omega(1,1,5). +The theorem is used as a cited input and is not re-proved here. All inherited all-size hypotheses of PR1673 remain. (The k = 2 value of ADVWXXZ 2024, omega(1,1,2) < 3.250035, is the pkg5 fallback; for k = 5 only Le Gall's table gives a bound.) + +## 1. Batch width and the per-column cost + +In the audit, all inner coordinates and following tensor axes are independent right-hand sides; their number R is superpolynomial. The audit batches them in a dyadic width between W and 2W. Here a batch has width between W^5 and n^5 W^5, +where n is the fixed base of the rectangular format of section 3 (a constant; the width is a power n^(5j) matching the padded row dimension n^j). +Batching more columns is allowed for the same reason as before: the number of right-hand sides in an axis substream is superpolynomial, so padding the last incomplete batch costs a polynomial amount per axis substream +(at most n^5 W^5 lines of |E_f| records; at most g axes and g rounds per window), negligible against the superpolynomial volume. The batch matrix of |E_f| x n^5 W^5 consecutive lines (each line |E_f| long) is +rearranged so that W-row slices times all batch columns are contiguous by another small-field transpose with O(log(n^5 W^5)) = O(log p) riffle passes, so moving it costs O(log p) times the boundary volume, exactly as in the audit. +**Working set and record count per batch:** one batch is the W x n^5W^5 matrix of a block (and its W x n^5W^5 result) of p-bit records: n^5 W^6 = poly(p) records (about p^3 polylog p), so P-bit entries fit in polynomially many tape cells; +the whole batch matrix |E_f| x n^5 W^5 is |E_f| n^5 W^5 records, polynomial in p. **Superpolynomial supply per factor page (premise used explicitly):** every prefix block of an axis substream contains +L^(g-f) times the spectators lines, which is superpolynomial in p (the spectator payload and the L^(g-f) suffixes), hence >> n^5 W^5 lines: there are enough independent right-hand sides per factor page. For the last axis f = g the suffix is empty and the lines of a block are only the spectator lines: the d - g spectator axes (d = p^epsilon axes in total, g = p^beta in the group) each have length L = p^8, so there are L^(d-g) = p^(8(d-g)) of them, superpolynomial because d - g = p^epsilon - p^beta grows; W^5 = p^2.5 polylog p is far below it. The factor pages depend only on the axis f, the block index along the line and the axis-f coarse label, not on the other coordinates, so lines of every prefix block of the tag-f substream share the same pages. Each W x W factor page is scanned once per batch (page cost W^2 per block-batch versus product W^sigma). + +Cost bookkeeping per axis: a band of boundary rows has V W / B right-hand-side entries per axis. A batch handles W * W^5 = W^6 entries with one product of shape costing W^(omega(1,1,5)+eps). +So per axis the boundary arithmetic is (V W / B) / W^6 * W^(omega(1,1,5)) = (V/B) W^(omega(1,1,5) - 5), i.e. the old form (V/B) W^(tau - 1) with +**tau_eff = omega(1,1,5) - 5 + 1 = omega(1,1,5) - 4** (in general tau_eff = omega(1,1,k) - k + 1; k = 1 is the square case tau = omega). With the published bound, tau_eff < 2.156708. +The boundary row exponent is epsilon - xi + (tau_eff - 1)/2 and its saving is c + xi - epsilon with c = (3 - tau_eff)/2. + +## 2. Blocked triangular solve against W^5 columns, geometric ratio + +The no-pivot band solve of the audit is the block recursion X_j = L_jj^-1 (Y_j - L_{j,j-1} X_{j-1}) on W x W blocks along an axis line, with R = batch width columns: Y_j, X_j are W x R. Each step is two products of a W x W factor +block with a W x R matrix: shape with R = n^(5j), W = n^j padded. The precomputed diagonal inverses L_jj^-1 are part of the factor page. +The product is computed by recursion on the fixed format (n x n by n x n^5 matrices, rank R_f): T(W) <= R_f T(W/n) + A(W), where the additions (linear combinations of blocks and accumulations) at the top level touch +O(W^6) entries (the output W x W^5 and the inputs are of size at most W^6): A(W) = O(W^6). The output size of the format is n * n^5 = n^6 entries, so necessarily R_f >= n^6; the format exponent sigma > 6 satisfies R_f < n^sigma. The level-i additions cost +R_f^i (W/n^i)^6 = W^6 (R_f/n^6)^i, a geometric series with ratio R_f/n^6 > 1 that is dominated by its last term, the leaves (R_f^(log_n W) = W^(log_n R_f) = O(W^sigma)); precisely T(W) = O(W^(log_n R_f)) = O(W^sigma) because the per-level cost +increases geometrically toward the leaves (ledger check `rect_leaf_domination`: sigma - (k+1) = sigma - 6 > 0; if R_f = n^6 exactly there is only a logarithmic factor, absorbed by the strict slack). Equivalently the ratio of the additions' cost +at the top, W^6, to the leaf cost W^sigma is W^(6-sigma) < 1. Per step of the band solve two such products are needed, working set W * n^5 W^5 * P bits (polynomial). The additions are complete block scans: O(W^6) entries per level, +O(W^6) per node up to logarithms, as in the square-case tape accounting of PR1673/PR1699 (depth-first scheduling, fixed block permutations, tape repositioning). + +## 3. Existence of an exact rectangular format and precision + +Let omega(1,1,5) < sigma0 := 6.156708 (cited). By definition of omega(1,1,5) (the exponent of the arithmetic complexity of ; arithmetic complexity and tensor rank have the same exponent up to the constant bilinearisation factor +that is absorbed by the strict slack), for every sigma > sigma0 there are fixed integers n >= 2 and R_f with an exact bilinear formula of rank R_f for and R_f < n^sigma: choose s with sigma0 < s < sigma, a constant C with +rank <= C n^s for all n, and n large (the cited analysis defines omega through the asymptotic rank, and the infimum is over exact formulas for tensor powers). This uses strict slack and never asserts that the infimum is attained by a finite formula. +The rank equations are finitely many polynomial equations over Z. A complex solution can be replaced by one over the algebraic closure of Q: otherwise, by the weak Nullstellensatz over Qbar, 1 would lie in the ideal, giving the same contradiction over C. +Enumerate finite algebraic tuples with isolating descriptions, test the equations exactly, dovetailing over (n, R_f); the search halts by the existence statement and its cost and description are fixed independently of the growing input +(the argument of PR1699/PR1673's matrix lemma with the format in place of ; no finite scheme is claimed as generated here). +Recursion: T(W) <= R_f T(W/n) + O(W^6), with W padded to the next power of n (a constant-factor change of the dimension; the batch width is the padded W^5, so both W and R are powers of n and no axis of the tensor is padded). +Precision: approximate each fixed algebraic coefficient once by precision-doubling Newton iteration, O(M(P')) bit operations for P' bits. The absolute roundoff envelope of the fixed bilinear recursion obeys E_j <= K E_{j-1} + K n^(6(j-1)) +with K fixed by the chosen formula (maximum L1 column sums of the encoders and decoder times the base-case size), hence E_j <= K^j (...) = W^(log_n K) poly(W), polynomial in W. Input magnitudes at most 2^h need fractional precision +P + 2h + O(log W) for absolute error 2^-P; intermediate magnitudes are W^O(1) max(1, 2^(2h)); the total record width is O(P + h + log W) = O(p) at the retained boundary interface (P, h = O(p)), and a larger fixed guard constant absorbs the formula-dependent K. +The bound is absolute, including cancellation. + +## 4. Choice of sigma, controls + +sigma = 6.1567081 is strictly above the published bound 6.156708 (margin 1e-7, costs about 1.4e-13 in kappa), so tau_eff = 6.1567081 - 4 = 2.1567081. Ledger checks: `rect_exponent_above_published_bound` (sigma - 6.156708 > 0), +`rect_leaf_domination` (sigma > k + 1 = 6), `rect_effective_exponent_above_two` (tau_eff > 2, the trivial output-size bound) and `rect_effective_exponent_below_five_halves`. Rejecting controls: sigma = 6.1567079 (below the published bound) +and sigma = 6.156708 (equal to it) must fail `rect_exponent_above_published_bound`; both are asserted to fail. + +## 5. Consequence for the ledger + +c = (3 - tau_eff)/2 = 0.42164595. The boundary row still binds with main = fused Gaussian (xi = epsilon - c + kappa); kappa = 0.0016781238306..., +1.312e-7 over the k = 2 package (pkg5) and +3.04e-7 over the square tau = 2.372864 package (pkg4). +At the new balance epsilon = 0.99903, xi = 0.5791, beta = 0.4209; cap xi > 1/2 holds with margin 0.0791; union saving xi + 1/2 - epsilon = 0.080 (the old g-factor union row would be -0.341); +group scans 0.422; support/key/membership rows about 0.579; union tag work 1 - 2 beta = 0.158. The unproven omega_C <= 9/4 premise is not used. + +## 6. What is not proved + +The rectangular exponent is a published theorem used as a cited input. The existence of the exact format and the stability constants rest on the arguments above and on PR1673's inherited all-size hypotheses +(compiler, precision/tape, exact recovery, analytic transfer); a reviewer should in particular check the claim that the number of right-hand sides in an axis substream is superpolynomial in the regime used +(spectator payload L^g) and the per-column normalisation in section 1. diff --git a/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md b/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md new file mode 100644 index 0000000000..75ad18dd4c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md @@ -0,0 +1,27 @@ +# Strict slacks of the PR1673 capped phase-cell fusion outer in this package + +Construction, proof and every formula are Vlado Vojdanovski's PR1673 (vendored verbatim under `vendor/pr1673`); the classical-matrix boundary +constant c = 3/10 is Chafik Boukhalfa's PR1699 specialisation of Francois Le Gall's published exponent (`CLASSICAL-BOUNDARY.md`). The following +constants are free in PR1673's own text and audits (each only has to be strictly positive) and are set as follows: + +| constant | PR1673 | PR1699 | here | why free | +|---|---|---|---|---| +| b (complex saving) | 17-decimal truncation | endpoint (22 digits) - 1e-30 | certified endpoint - 1e-3080 | must lie strictly inside the certified supplier endpoint | +| q gap (q = b - gap) | 1e-10 | 1e-30 | 1e-3080 | q < a_eff < b strictly | +| backoff after truncation | 1e-11 | 1e-42 | 1e-3022 | strict gap absorbs polylog factors | +| layout slack s0 | 1e-5 | 1e-30 | 1e-3080 | positive layout slack (carried by the boundary row in pkg4) | +| r0 | 1e-6 | 1e-30 | 1e-3080 | only eventual u = alpha^2 <= p^r0 | +| zeta | 1e-8 | 1e-32 | 1e-3082 | r + zeta > 0 gives g a B = o(p) | +| stop exponent | 1e-9 | 1e-36 | 1e-3086 | any t_stop > 0 with (1-t)b > a_eff, q < (1-t)b | +| decimal floor | 1e-18 | 1e-48 | 1e-3046 | rounding grid only | + +The exact enclosure of the native moment sum uses a 2^-10413 grid (directed-rounding integer fixed point, atanh/exponential term counts derived from the grid in check_ledger.py) so that moment(b) < 1 and +moment(endpoint + 1e-3000) > 1 are certified (the supplier endpoint is certified to 1e-3000 by the repaired fine engines). kappa = 0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702 +(exact rational in `LEDGER.json`), above PR1699's exact kappa by 6.69e-25. + + +**Fine-prime package.** epsilon = 1 - DELTA_E with DELTA_E = 1.0009765625e-3080 (any DELTA_E > r0 = 1e-3080 is admissible, outer/FINE-PADDING-COMPOSITION.md), beta = 1 - 3 DELTA_E; all other slacks unchanged. + +**Fixed-grid maximum.** The free gaps above are the point of PR2180 / PR2161 (dataisfire; stacking on this series' PR2044, PR1786 chafreaky / Chafik Boukhalfa and PR1673 Vlado Vojdanovski): r0 = 1e-3080, zeta = r0/100, layout slack = gap = r0, +stop = r0/10^6, b = C - r0, q = C - 2 r0, epsilon = 1 - (1025/1024) r0, beta = 1 - 3 (1025/1024) r0; the certified endpoint C, the floor grid F = 10^3046 and the backoff B = 10^-3022 are unchanged. +The ledger kappa is then exactly C - 1/F - B, the maximum of the declared floor-grid/backoff family (`outer/PROOF-GRID-MAX.md`). This is a statement about this grid and backoff only, not about other suppliers, backoffs or finer grids. diff --git a/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md new file mode 100644 index 0000000000..6395bac193 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md @@ -0,0 +1,103 @@ +# Structured boundary solves (new in this package) + +> **Package note.** This construction is retained as an alternative but is **not used** by this package's kappa: with fine source-prime padding the boundary row is not binding (xi = 0.908 < epsilon), and the explicit Strassen boundary of PR1786 is used (outer/FINE-PADDING-COMPOSITION.md). The numbers in sec. 7 below belong to the earlier package. + +**Status.** This construction is a new contribution of this package. It builds on Vlado Vojdanovski's PR1673 (capped phase-cell fusion: the interior/boundary factorisation, the no-pivot boundary solver, the audited +conditioning bounds BILATERAL-LDU.md, FORWARD-SMALL-A-AUDIT.md, LOG-A-PHASE-SCHUR-AUDIT.md, PHASE-LAYOUT-AUDIT.md), on the radix-distributed union schedule (pkg4, outer/UNION-SCHEDULE.md) and on the classical structured-matrix +theory of Gohberg and Semencul (inversion of Toeplitz matrices, 1972), Kailath, Kung and Morf (displacement rank, 1979), Bitmead and Anderson (1980) and Pan (structured matrices and polynomial computations). It replaces the dense/fast-rectangular +products of the boundary algebra (pkg1 to pkg6: W x W blocks against W..W^k right-hand sides at cost W^tau) by applications of generator representations of the blocks: O(r W log W) ring operations per right-hand-side column, i.e. polylog(p) per entry. +The boundary row then has exponent epsilon - xi + 1/2 + o(1) (tau_eff = 2 + delta for every fixed delta > 0; tau_eff = 2 itself is not claimed). All inherited all-size hypotheses of PR1673 remain. The package pkg6 (rectangular k = 5, tau_eff = 2.1567081) is the fallback. + +## 1. Where the structure comes from + +Within one phase cell, with the notation of the note and of BILATERAL-LDU.md (rho = 1 + theta, q_i = floor(rho i + 1/2) = i + k on the cell's stretch of constant offset k, beta_j = rho j - q_j = theta j - k), +G_ij = exp(-a[(rho j - q_i)^2 - beta_j^2]). Expanding with rho j - q_i = (j - i) + beta_j gives the exponent (j-i)^2 + 2(j-i) beta_j = rho (j-i)^2 + theta (j^2 - i^2) - 2k(j - i), hence **exactly** + + G = D_r T D_c, T_ij = exp(-a rho (j-i)^2) (Toeplitz), (D_r)_i = exp(a theta i^2 - 2 a k i), (D_c)_j = exp(-a theta j^2 + 2 a k j). + +(The same factorisation, with a, rho and the offsets of the forward map, holds for the broad forward operator H of FORWARD-SMALL-A-AUDIT.md, which is itself a symmetric Toeplitz matrix after the anchored diagonal gauge, and for the augmented Haug = E H C + (I - E C), +which is permutation-similar to H (+) I.) The truncation to bandwidth W (rows farther than W are below 2^-P and are zero in the retained rounded matrix) keeps T banded Toeplitz. Cells are separated by physical cuts, which the note already makes boundary coordinates, so no block of the +boundary system couples two cells; the cell-wise offset k only enters D_r, D_c. + +**Diagonal cancellation.** In the interior/boundary decomposition the Schur complement S = D - C A^-1 B and every step of the block LU are built from products K_{ab} K_{bb}^-1 K_{bc} with K = D_r T D_c; +D_c(b) D_c(b)^-1 and D_r(b)^-1 D_r(b) cancel, so in the coordinates Y = D_r^-1 X D_c^-1 *every block of S, every LU pivot and every inverse pivot is the corresponding block of the Schur complement of the plain Toeplitz matrix T* (checked exactly in struct_check.py). The diagonals are only applied at +the input and output of a boundary solve, as the same anchored ratios (relative to the block anchor) as the capped gauge of CAPPED-GAUGE-AUDIT.md: their range over a block of the line, including consecutive boundary segments, is O(aB) with the linear (old) gauge of CAPPED-GAUGE-AUDIT.md, and O(a theta B'^2) = O(a B^2/d) (B' <= B + 2W) in the fractional-shift representation of GAUGEFREE-INTERIORS.md (chirp only), inside the group guard g a B^2/d = o(p) used by this package (beta + 2 xi - eps < 1). No new gauge is introduced. In the shifted representation the pivot bounds are those of GAUGEFREE-INTERIORS.md Corollary 4.3 (P_j^-1 is a principal block of the inverse of the accretive contiguous section T[J]); the displacement-rank statements are unchanged (they hold for any Toeplitz T). + +## 2. Displacement ranks (the algebraic statement) + +Let W x W be the segment size and Z the W x W down-shift. The displacement of a matrix M with row and column index sets that are intervals (shifts Z of the corresponding sizes) is Delta(M) = Z M - M Z (Sylvester) or M - Z M Z^T (Stein); the two ranks differ by at most 2 (Kailath-Sayed). +Facts for a banded Toeplitz T and interval index sets: +(a) every rectangular block of T has displacement rank <= 2 (the displacement lives in the first row and last column); +(b) for invertible Toeplitz A, Delta(A^-1) = -A^-1 Delta(A) A^-1 has rank <= 2 (Gohberg-Semencul); principal and corner blocks of such a matrix have rank <= 2 + 2; +(c) Delta(XY) = Delta(X) Y + X Delta(Y) with the middle shift matched, so ranks add under products; ranks do not increase under sums beyond the sum; Delta(M^-1) = -M^-1 Delta(M) M^-1, so M and M^-1 have equal rank; +(d) (Kailath) the Schur complement of a leading block of a matrix with displacement rank r has displacement rank <= r (w.r.t. the shift of the remaining indices). +Consequences for the boundary J = G separated W-segments with interiors I_j between them (all interiors eliminated): +* coupling S_{j,j+1} = - T_{j,I_j} A_{I_j}^-1 T_{I_j,j+1}: rank <= 2 + 2 + 2 = 6 (a, b, c); S_{j+1,j} likewise; +* diagonal block S_{jj} = T_{jj} - T_{j,I_{j-1}} A^-1 T_{I_{j-1},j} - T_{j,I_j} A^-1 T_{I_j,j}: rank <= 2 + 6 + 6 = 14; +* the LU pivot P_j = S_{jj} - S_{j,j-1} P_{j-1}^-1 S_{j-1,j} is the Schur complement of T onto segment j after eliminating all indices to its left (a leading block of T: rank <= 2 by (d)) minus the single right-interior correction T_{j,I_j} A^-1 T_{I_j,j} + (rank <= 6; indices farther to the right do not couple to segment j, in T or in its left Schur complement, because the band is W and the separators have length >= W): **rank(P_j) <= 8 uniformly in j and G**, and rank(P_j^-1) = rank(P_j). +A *global* displacement operator on the concatenated J has rank growing like 2G (IdeaLiterature's screen); the claim here is block-wise, with one shift per segment, which is exactly what a block-tridiagonal LU needs. The constants 14 and 8 are proved bounds; the observed ranks are <= 4 (struct_check.py, +and IdeaLiterature's 70-110-digit screens of the real chirp-weighted blocks: coupling 2, diagonal and pivot 2-4, flat in W and in G). + +## 3. Generator representation + +A block M with Stein displacement M - Z M Z^T = sum_{k<=r} g_k h_k^T is represented by (g_k, h_k) and recovered by the Kailath-Kung-Morf formula **M = sum_k L(g_k) L(h_k)^T**, L(g) lower-triangular Toeplitz with first column g +(rectangular off-diagonal blocks use the same formula with the matched shifts). Generators are computed **offline, from generators, never from the dense blocks**: the leading Schur complements of the banded Toeplitz T are propagated by the generalised Schur algorithm (r = 2 generators, +O(r W) work per eliminated index, or the superfast O(r W log^2 W) variant of Bitmead-Anderson and Pan per segment); the interior corner blocks T_{j,I} A_I^-1 T_{I,j'} come from the Gohberg-Semencul generators of A_I^-1 (first and last columns of the inverse of the interior Toeplitz block); +the pivot and inverse-pivot generators are then obtained by the rank-<= 8 recompression of the sum (generators of the Schur piece and of the correction), an exact operation on ranks (QR/SVD at working precision P + poly bits). This is the page regeneration the audit already charges +(polynomial in p per complete microbox and axis, amortised by the superpolynomial payload); the generator pages replace the dense W x W factor pages. Balanced generators from the SVD of the displacement (g_k = sqrt(sigma_k) u_k, h_k = sqrt(sigma_k) v_k) satisfy |g_k||h_k| = sigma_k <= ||Delta(M)|| <= 2||M||, +so each term of the KKM sum has norm <= W ||Delta(M)|| (|L(g)|_2 <= |g|_1 <= sqrt(W)|g|_2) and the sum has norm <= 2 r W ||M|| = poly(W) ||M||: no hidden cancellation beyond a polynomial factor. + +## 4. The solve on the tape + +For one boundary band the block-tridiagonal system S x = y (stage diag(I, S^-1) of the audit; the C and B stages are products with the banded Toeplitz coupling blocks T_{J,E}, themselves rank-2 Toeplitz blocks) is solved by block forward and backward substitution with the audited no-pivot LU: + z_j = P_j^-1 (y_j - S_{j,j-1} z_{j-1}), x_j = z_j - P_j^-1 S_{j,j+1} x_{j+1}. +Each operator application (S_{j,j±1}, P_j^-1 and the Toeplitz couplings) is r pairs of triangular-Toeplitz products L(g) (L(h)^T v), each a convolution of length W computed by FFT of length 2W at working precision: O(r W log W) ring operations of p-bit numbers per right-hand-side column. +Layout: the right-hand sides of an axis substream (the lines of the union schedule, UNION-SCHEDULE.md) are batched in the dyadic width of the audit; the batch matrix |E_f| x batch width is arranged so that the W-axis of every column is contiguous by the small-field transpose (O(log p) riffle passes), the FFT is a sequence of O(log W) butterfly +passes, each a scan with a bit-reversal permutation realised by O(log W) riffle passes: O(log^2 W) scans of the batch data, polylog p overhead. The generator page of a block (r W numbers) is scanned once per batch; with the batch width >= W this is a 1/W fraction of the batch data (as for the dense pages in the audit). +Cost: per band and per column O(r W log^2 W M(p)) bit operations, i.e. per entry O(r log^2 W M(p)) = (M(p)/p) polylog p * p; with the retained short multiplier M(p)/p = polylog p, the boundary arithmetic is **O(V (d/B) W polylog p)**, so the boundary exponent is epsilon - xi + 1/2 + o(1), i.e. tau_eff = 2 + delta (any fixed delta > 0 absorbs the polylog factors since W = p^(1/2) polylog p). +(The ledger uses delta = 1e-3080, the same convention as the other strict slacks.) + +## 5. Precision and stability at Cp bits (the regime: row gap about 1/(16p), poly(p) conditioning) + +The argument reuses the audited bounds and adds the factors introduced by the structured representation. +1. *Pivots and couplings.* By PR1673's no-pivot theorem (BILATERAL-LDU.md Sections 1-2: unit L and U with all entries and all inverse entries bounded by constants times exp(-a rho theta |i-j|), c = prod(1 - r^-m) > 0, ||N^-1||_inf < 16 theta^-2; and the narrow/broad row-gap bounds of LOG-A-PHASE-SCHUR-AUDIT.md and FORWARD-SMALL-A-AUDIT.md: + Schur row gap >= 1/(16 p) survives elimination), every P_j^-1 is a principal block of the inverse of a partially eliminated matrix and satisfies ||P_j^-1||, ||S_{j,j±1}||, ||P_j|| <= poly(p) uniformly in j, with the unit L^-1 / U^-1 bounded independently of G (this is the audited no-factor-equal-to-the-number-of-windows property). In the SPD (broad, Saug/4) case the principal-submatrix inverse has norm <= lambda_min(H)^-1 <= poly(p). +2. *Generators.* From section 3, balanced generators have norm <= sqrt(2 ||M||) = poly(p)^(1/2) and the KKM reconstruction has norm <= 2 r W ||M|| = poly(p). +3. *One application.* An FFT convolution of length 2W in fixed point with Cp-bit coefficients and a precomputed table of 2W roots of unity (computed once, offline, to P + poly bits by Newton iteration in O(M(P'))) has absolute error <= O(log W) 2^-P' times the product of the l1/l2 norms of its operands. So one application of an operator M to a vector v has + absolute error <= poly(p) ||v|| 2^-P' + (the error of the stored generators, <= 2^-P' poly(p)). The diagonal gauges D_r, D_c enter only through the anchored ratios of range O(aB) (section 1), which cost O(aB) = o(p) extra bits: the same guard as the interiors (chirp-only O(a B^2/d) per axis in this package; O(aB) in the earlier linear-gauge version); no exponential growth beyond it. +4. *Accumulation.* The forward and backward substitutions are the unit L^-1 and U^-1 of the audited LU followed by diagonal factors P_j^-1; errors of different steps enter linearly through the unit factors whose inverse is bounded independently of G, so the total absolute error is <= poly(p) 2^-P' (a sum over at most poly(p) = L/B segments of poly(p) terms, with the audited exponential decay of the L^-1, U^-1 entries + making the dependence on G at most polynomial). Hence P' = P + O(log p) + o(p) (the guard), i.e. O(p) bits suffice, the same record width as for the dense algorithm. +5. *Offline generator accuracy.* Generators are generated at working precision P + poly(p) bits in polynomial time; their conditioning is that of the blocks themselves (the generalised Schur algorithm is applied to the banded Toeplitz T with strictly diagonally dominant / SPD structure whose leading Schur complements are bounded below by the row gap), so no loss beyond poly(p) factors occurs. +The one point where structured algorithms are known to be unstable in general (indefinite or nearly singular leading minors) is excluded here by the audited uniform lower bounds on the pivots (item 1); this is where an independent reviewer should look first. + +## 5b. Cleaner conditioning argument, rounding convention, anchors and pages (added after independent review) + +* **Conditioning without the no-pivot theorem.** In the coordinates Y = D_r^-1 X D_c^-1 every block, pivot and inverse pivot is a block or a Schur complement of the plain symmetric positive definite Toeplitz matrix T (a Gaussian symbol is positive for every a; the narrow case has cond(T) = 1 + O(e^-a)). + By interlacing and monotonicity of Schur complements, every principal submatrix and every Schur complement of T has its spectrum inside [lambda_min(T), lambda_max(T)], hence every leading minor and every pivot P_j (and P_j^-1) has condition number at most cond(T), and cond(T) <= (1 + sqrt(pi/gamma))/(sqrt(pi/gamma) e^(-pi^2/(4 gamma))) = O(e^(a/4)) = O(p) + with the eigenvalue bounds of FORWARD-SMALL-A-AUDIT.md (the same constants as the broad forward audit). The Bunch-type danger of structured solvers (indefinite or nearly singular leading minors) cannot occur for SPD T; the Schur/Levinson recursion and the Gohberg-Semencul application on an SPD Toeplitz matrix are weakly stable, losing O(log cond) = O(log p) bits. + (This replaces the appeal to the row gap 1/(16 p) in section 5 item 1 for the SPD blocks; the row-gap bounds remain the justification for the non-symmetric narrow blocks. Independent numerical evidence, LeverRank, 80-160 digits, alpha = 4, a = 50.3, rho = 1 + 1/6000: pivot condition numbers saturate at cond(T) ~ 1.4e5 for W = 16, 32, 64; balanced-generator norm ratio sigma_1(grad L^-1)/||L^-1|| 0.14-0.27 (no growth); generator-to-inverse rounding amplification <= 1; + Levinson/Gohberg-Semencul error about 2^9.5 u flat in n; a perturbation of the first pivot is damped along the chain, so accumulation is independent of G.) +* **Rounding convention (required).** The retained rounded matrix must be rounded *factorwise*: K^ = D^_r T^ D^_c with T^ exactly Toeplitz (symmetric rounding of exp(-a rho x^2) by |i-j|) and D^_r, D^_c the rounded gauge weights. This is the structure-preserving rounding of FORWARD-SMALL-A-AUDIT.md and the Toeplitz-similar cell matrix of LOG-A-PHASE-SCHUR-AUDIT.md. Entrywise rounding of K would destroy the Toeplitz structure (this is the dense non-Toeplitz control of section 6: the displacement rank jumps to W). +* **Anchors.** The diagonal conversions between X and Y coordinates use segment-local anchors. The inter-segment constant ratios D_r(m_j)/D_c(m_{j-1}) (about e^{O(aB)}) are stored inside the coupling pages and cost O(aB) = o(p) guard bits per page; no range over the whole line is ever formed. +* **Pages.** In the interior of a line the pivots are identical (observed), so each cell needs O(1) distinct generator pages (only the cell-end blocks differ): page regeneration is cheap. A batch width W suffices (no W^k batching is needed in this package). + +## 6. Executable check (`outer/struct_check.py`) + +On the exact rational model K = D_r T D_c with a random (non-symmetric) banded Toeplitz T, W = 3..5, G = 3..6 segments, interiors of length 3W: (1) the exact diagonal cancellation S_Y = Schur(T); (2) the Stein displacement ranks of every segment block, coupling block, LU pivot and inverse pivot (all <= 4, flat in the segment index and in G); +(3) exact reconstruction of every block from its rank factorisation by the KKM formula; (4) the block forward/back substitution performed only with generator representations equals the dense solve exactly; (5) controls: a dense non-Toeplitz perturbation of the band raises the pivot and diagonal ranks to the full W (here 6 > 4), and a perturbed pivot is not reproduced by the original generators. +This checks the algebra exactly at small W; it does not check the analytic stability argument of section 5, which is an argument, nor does it replace a check on the real chirp-weighted blocks at 70-110 digits (IdeaLiterature's screens: scratch/IdeaLit/real.py, real2.py). + +Scope of the real-matrix screen (IdeaLiterature, disclosed): block ranks 2-4 were observed for W <= 16 and G <= 8 segments only. In that toy the pivot condition number grows with W (about 3.5 at W = 8 and 1.2e3 at W = 16) because the toy takes a proportional to 1/W^2. +In the regime of the note a = pi alpha^2 >= 1 is fixed independently of W (alpha = ceil(sqrt((4/pi) log 16p))), theta >= 1/(4d), and BILATERAL-LDU.md bounds the periodic inverse by ||N^-1||_inf < 16 theta^-2 and the pivots/factors uniformly (items of section 5), so the conditioning is polynomial in p; the toy's growth with W is therefore not the real regime, but it is exactly the point that is *not* verified numerically here. + +## 7. Ledger consequence + +tau_eff = 2 + delta (delta = 1e-3080): c = (3 - tau_eff)/2 = 1/2 - delta/2. Balance: main = fused Gaussian = boundary - slack with xi = epsilon - c + kappa; the union row xi + 1/2 - epsilon has the same exponent as the boundary row (both epsilon + 1/2 - xi), so both bind at kappa + 1e-3080 together with main and the Gaussian row; +(pkg8-era numbers, superseded by outer/FINE-PADDING-COMPOSITION.md) with the chirp-only guard of GAUGEFREE-INTERIORS.md: xi = 0.50167, xi - 1/2 = 0.00167 > 0 (cap holds), beta = 0.99665, union tag work per visit 1 - beta = 0.00335 > 0. kappa = 0.00167974550880...; +1.40e-6 over the structured-boundary balance with the linear guard (kappa 0.0016783441717...; that was +2.20e-7 over k = 5, tau_eff = 2.1567081). + +## 8. What is not proved + +* The constants c0 = 14, 8 follow from the displacement calculus (a)-(d) above; (d) and the Gohberg-Semencul statement (b) are classical theorems used as inputs; the corner-block increment (+2) and the application to the real chirp-weighted blocks (Haug, Saug, narrow and broad pairs) rest on the exact factorisation of section 1. +* Section 5 is an error argument built from the audited bounds, not a verified stability theorem for structured solvers. The real-regime numerical check (row gap 1/(16 p), p large) has not been run. +* Everything inherited from PR1673 (all-size compiler, precision/tape, exact recovery, analytic transfer) remains an assumption. diff --git a/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md b/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md new file mode 100644 index 0000000000..a1ee00a8de --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md @@ -0,0 +1,132 @@ +# Radix-distributed sparse-union schedule (new in this package) + +**Status.** This schedule is a new contribution of this package. It is not part of PR1673 (Vlado Vojdanovski, whose capped phase-cell fusion +construction and PHASE-LAYOUT-AUDIT.md this document modifies and relies on), nor of PR1699 (Chafik Boukhalfa, Le Gall's exponent). It replaces +one step of PR1673's sparse-union window, the per-axis scan of U, and is conditional on every other hypothesis of PR1673. Its executable finite +check is `outer/sched_test.py`; the arithmetic consequence is `outer/check_ledger.py`. An independent review is required before release. + +## 0. Model and what is replaced + +Machine model: PR1673's fixed-tape model, i.e. a multitape Turing machine with a fixed number of tapes; the cost of an operation is the total head +travel; a record is a p-bit coefficient record with a header of O(g log L) bits (g=p^beta, L=poly(p) the microbox side, beta<1, so the header is o(p) +and moving it multiplies the cost by 1+o(1)). V is the number of records of the microbox (including spectators). All notation (E_i, J_i, T_i, mu, +W, B, d, g, L, the windows) is that of PHASE-LAYOUT-AUDIT.md and the capped interiors of CAPPED-INTERIORS.md; mu = max_i |E_i|/L = O((W/B) polylog p). + +A sparse window applies the Kronecker product `Theta = (x)_{i=1..g} T_i` to the microbox tensor, where `T_i = I_{E_i^c} (+) T_i|E_i` (for the window +containing the C and S^-1 stages, T_i is the product of the two sparse factors of axis i; each is block diagonal in the same way). +The audit's implementation scans the union U = {x : some x_i in E_i} once per axis to copy U_i = E_i x [L]^(g-1): cost O(|U|) per axis, hence +`O(V [g^2 mu + g mu polylog p])` per window and the union row `eps + beta + 1/2 - xi`. Here the g-fold scan of U is removed. + +## 1. Flag sets and class decomposition + +For a record x put `F(x) = {i : x_i in E_i}` (the g membership flags the audit already computes in the single scan that forms U; stored as a g-bit vector +in the header). + +**(F1) invariance.** `T_i` changes a coordinate x_i only inside E_i and fixes E_i^c, and maps E_i to E_i. Hence `F(Theta x) = F(x)`: every T_j preserves every class +`C_F = {x : F(x) = F}`. + +**(F2) commutation.** Each T_i depends only on the axis-i coordinate (and on axis i's own coarse label/page, fixed per microbox), so T_i acts on tensor factor i alone; the T_i act on different tensor factors, hence commute, and on class C_F the operator Theta equals `(x)_{i in F} T_i|E_i` on the coordinates in F +(range E_i) tensored with the identity on the coordinates not in F (the T_j, j not in F, are the identity on E_j^c). + +**(F3) complete lines.** Fix F, f in F and the other coordinates z (all coordinates except x_f). The *E_f-line* of z is {x : x_f in E_f, other coordinates z}. Every point +of it has the flag set `F(z) union {f}` (flags of z-coordinates plus f), so the whole E_f-line lies in one class, and contains exactly |E_f| points. + +## 2. The schedule + +Let `f_r(F)` be the r-th smallest element of F. Define `S_r = {x : |F(x)| >= r}`, kept as a stream in lexicographic order of x (S_1 = U; S_{r+1} is S_r with +the records |F|=r deleted, so lexicographic order is inherited). + +Round r (r = 1,2,...,R, where R = max |F| <= g) applies to every record x of S_r the operator T_{f_r(F(x))} along axis f_r(F(x)), to complete E_f-lines (F3). +After the rounds, every record of class C_F has received T_i exactly once for each i in F (the f_r(F) enumerate F), in increasing axis order; +by (F2) this equals the action of Theta. Since lines of the same round and class are disjoint and independent (F2), applying T_f to each line separately equals +the action of `T_f|E_f (x) identity` on the class. Rounds use the values written by earlier rounds because records carry their current values in the stream. + +### 2.1 One round (cost accounting per step; N = |S_r|) + +1. **Tag.** For each record compute `t = f_r(F(x))` from its header bits: O(g) bit operations (scan for the r-th set bit). Worst case a record has |F| = g and takes g rounds, + so tag work per visit is O(g) bit operations, paid by the Theta(p) cost of that visit (Section 3, header and tag work): g log L = o(p) since beta < 1 (ledger check `union_tag_work_per_visit_fits_record`). +2. **Stable binary LSD radix distribution by tag.** For k = 0..ceil(log2 g)-1: scan the stream; records whose bit k of the tag is 0 go to output tape Z, bits 1 to tape O + (one input tape, two output tapes), then Z is copied followed by O back onto the work tape. Each pass costs <= 2N record moves; the bits of the pass are written (N bits) + to a bit tape together with the count n0 of zeros. *Stability* by induction on k: after pass k the stream is ordered by (bits k..0 of tag) with ties in the original order. + After all passes: ordered by tag, ties in lexicographic order; the stream splits into contiguous axis substreams, one per tag value f. + Inversion (used in step 5): replay the passes in reverse: copy the stream onto Z/O at the stored split point n0 (one pass), then read the bit tape and take the next record from Z or O accordingly. + Cost 3N per pass. Total O(N log g) = O(N log p). +3. **Structure of an axis substream (the key lemma).** Axis f substream = {x in S_r : f_r(F(x)) = f}. Membership depends on F(x) only, and F(x) = F(z) union {f} for x with x_f in E_f (all substream records + have x_f in E_f, because f is in F(x)); so it depends on z only, not on x_f. Therefore for each fixed prefix x_f} is the same for every x_f in E_f. In the stream (lexicographic order of (prefix, x_f, suffix)) the prefix block is the concatenation of + a = |E_f| rows (one per x_f in E_f, in increasing order), each row listing the same b = |Z'(prefix)| suffixes in the same order. No coordinate is invented: every needed point is present. + Block boundaries are detected by comparing the prefix fields of consecutive records (O(g log L) bits per comparison, o(p)); rows by the ordinal of x_f in E_f stored in the header + (computed with the flags: the rank of x_f in E_f costs O(polylog p) with the carving description) -- no counter of unknown length is needed. +4. **Variable-length lockstep transpose of every prefix block** (brings x_f to the line suffix). Let `a = |E_f| <= L = poly(p)`. All rows of a prefix block have the same length b within a tag (point 3), b unknown to the routine. Recursively halve the row index range into the upper part of ceil(a/2) rows and the lower part of floor(a/2) rows (the implementation uses chunk sizes h = floor(a/2) for the first child and a-h = ceil(a/2) for the second; either order works, the tree must be the same for every block and its inverse). + Level structure: a balanced binary tree of row ranges of depth ceil(log2 a) = O(log p), the same tree for every block. *Merge of a node*: its children's outputs `TA` (rows 0..h-1 in suffix-major order, + i.e. for each suffix the h records of A's rows) and `TB` (the a-h rows of B) are read in lockstep from two tapes, taking h records from TA, then a-h records from TB, alternately, until both end markers + coincide; the output is the node's suffix-major order `[row_0[j], ..., row_{a-1}[j]]_j`. The routine never needs the row length b: the chunk sizes h and a-h depend on a alone, and the end of the node's data is + the end marker (prefix-block boundary, or the stream end). A level is realised by two passes over the whole substream. Every record carries in its header the ordinal k of its source row x_f. The data of a node (a range [lo, lo+n) of ordinals) is a contiguous run of records of one prefix block whose ordinals lie in the range; its child A (ordinals [lo, lo+h)) comes first, immediately followed by child B (ordinals [lo+h, lo+n)), so the junction is the first record whose ordinal is >= lo+h, and the end of the node is the first following record whose ordinal is >= lo+n or whose prefix field differs (both read from headers; the tree is the same for every block and nodes appear in row order). Pass 1 copies the A-parts to tape M1 and the B-parts to tape M2, node by node. Pass 2 reads M1 and M2 in lockstep, h records from M1 then n-h from M2, node by node (a node's A- and B-parts end at the same node marker), writing the parent level. So a level costs O(N) record moves and the whole transpose O(N log a). After the transpose, each line (fixed prefix and suffix) occupies a consecutive group of a records with increasing x_f ordinal. +5. **Apply T_f on lines and batch.** Each consecutive group of a records is a complete E_f-line; T_f|E_f is applied exactly as in the audit's step 4: consecutive lines form right-hand sides, batched in dyadic width between W and 2W, + factor pages (regenerated once per microbox and axis from its coarse origins, polynomial in p, amortised by the superpolynomial payload) scanned once per batch, only the polynomial-width row field moved + (O(log p) times the boundary volume). This arithmetic is the *boundary-algebra row*, unchanged and not part of the union movement. +6. **Undo** the transpose (unzip levels), then undo the radix distribution (step 2 inverse): the processed records are back in lexicographic order of S_r. +7. **Split.** One scan: records with |F| = r are final for this window; push them (with the |S_r|-bit indicator keep_r = [|F| > r]) on the LIFO tape; the rest, S_{r+1}, is written to the alternate work tape. + +### 2.2 Wrap-up + +After the last round, pop the LIFO tape: for r = R,...,1 interleave `rest_r` with the already final stream S_{r+1} by keep_r (the audit's merge by indicator), producing the final S_1. +Finally merge S_1 into the microbox using the indicator bits of the single scan that formed U; identity records (F = empty) are never moved. +The two dense-stage scatters/regathers, the one scan forming U and the final merge are the audit's group scans: O(V polylog p) per window, in the group-scan row. + +### 2.3 Tape-head accounting (per round, and why rounds do not multiply the cost) + +Tapes: W1, W2 (alternating work tapes carrying S_r), Z, O (radix outputs), Tb (bit tape), STACK (LIFO), M1, M2 (merge/zip tapes), small header/counter tapes: a fixed number. +* W1 holds S_r written from cell 0; before round r the head is at cell 0 (rewind over the written length |S_r| only; cells beyond are stale and never read). +* S_{r+1} is written to W2 from cell 0, then the roles swap. Rewinding costs the written length, at most |S_r|. +* STACK is only appended to at its end and, in the wrap-up, read backwards from its end; the rest_r are consecutive, so popping costs the sum of |rest_r| <= sum |S_r|. No head ever travels over the whole of + the stack or of U per round. +* Z, O, Tb, M1, M2 are written from cell 0 and rewound over their written length (<= |S_r| records or bits). +Hence the head travel of round r is O(|S_r| p (log g + log a + 1)) and the total is O(p (log g + log L + 1) * sum_r |S_r|). The rounds are sequential, but their *number* does not multiply the cost: |S_r| shrinks and +nothing in round r touches data outside S_r. + +### 2.4 Volume identity + +`sum_r |S_r| = sum_x |F(x)| = sum_i |U_i| = sum_i |E_i| L^(g-1) * (spectators) <= g mu V.` (Each record is counted once per flag; the first equality is exchanging the order of summation.) + +## 3. New cost and row + +Per window: `O(V g mu polylog p)`; no factor g^2 and no per-axis scan of U. Per group, then over d/g groups: + +`O(V (d/g) g mu polylog p) = O(V d W polylog p / B)`, + +i.e. union-movement exponent `eps + 1/2 - xi` (saving `xi + 1/2 - eps`). Old audit row: `eps + beta + 1/2 - xi`. +The identity `sum|F| <= g|U|` shows the new cost is never larger than the old one. + +*Sparsity is not used.* In the regime of this package the expected number of flags g*mu = p^(beta+1/2-xi) is larger than 1 (xi - beta - 1/2 < 0), so U is essentially the whole microbox, and the audit's ledger check +`sparse_union_fraction_decays` is not used. The cost is the total number of record-flag incidences, not |U|. +Header and tag work: the flag header has g bits and g log L bits of coordinates (o(p) since beta < 1); tag work is at most O(g) per visit and a record is visited at most |F| <= g times: each visit costs Theta(p polylog p) anyway, so the total over the sum_r |S_r| <= g mu V visits is O(g mu V (p polylog p + g log L)) = O(g mu V p polylog p) as soon as g log L = o(p), i.e. beta < 1. (An earlier version of this note charged O(g^2) per record against o(p) and required 2 beta < 1; that per-record total is not needed, see outer/GAUGEFREE-INTERIORS.md section 7.) + +## 4. Consequence for the ledger + +Rows: main `eps q`; fused Gaussian `1 - eps + q beta`; boundary `c + xi - eps` with `c = (3 - tau)/2`, `tau` = the explicit Strassen exponent 45/16, c = 3/32, in the ledger (the structured-boundary solves of outer/STRUCTURED-BOUNDARY.md, tau_eff = 2 + 1e-3080, are historical and not used for kappa; this document's schedule is independent of the boundary exponent); +union `xi + 1/2 - eps`; guard `beta = 1 - xi - r - zeta` (linear gauge; in this package the guard is the chirp-only `beta = 1 - (2 xi - eps) - r - zeta`, see Section 5b); `xi > 1/2`. Balance set: main = fused Gaussian = boundary - slack, which gives +`eps = (1 + q + q (c - s - r - zeta))/(1 + q)^2`, `xi = eps (1 + q) - c + s`. The union row is far above kappa at this point (saving about 0.080 here). +Rejecting controls in the ledger: reinstating the old row `1 - eps - beta - 1/2 + xi` at the new point fails (it is about -0.125); the full-key sort row fails; the four inherited controls fail. + +## 5. Executable check (`outer/sched_test.py`, and the independently coded `outer/sched_review.py` by LeverRank) + +The script runs the schedule above on exact integer tensors (g = 3..6 axes, L = 5..8, random E_i and random integer T_i|E_i): tagging, the stable LSD radix distribution with its inversion, per-prefix-block variable-length lockstep zip +transposes with a check that every extracted group of a records is a complete E_f-line with consecutive ordinals and one common z, application of T_f, unzip, undo, the keep/rest split, the LIFO pop and the merge by indicator bits, +and compares with the full tensor product `(x) T_i` computed by tensor contraction: exact equality. It also checks the volume identity `streamed = sum|F| = sum_i |U_i|`, `sum|F| <= g|U|` (), +that the number of record moves is within `3 * sum|F| * (ceil(log2 g) + 2 ceil(log2 a) + 4)`, and a tamper control (skipping the second round) fails. + +## 5b. Rows that depend on beta, re-verified at the balance of this package + +At the fine-prime-padding point (outer/FINE-PADDING-COMPOSITION.md; Strassen boundary c = 3/32, theta ~ p^-2): epsilon = 1 - 1.0009765625e-3080, beta = 1 - 3.0029296875e-3080, xi = 0.90794631...; every row is regenerated exactly by `check_ledger.py` and re-derived by `independent_check.py` (all strictly above kappa or strictly positive): +group scans 1-eps+beta = 1 - 2.001953125e-3080 (saving far above kappa); union xi+1/2-eps = 0.4079 (boundary = main + 1e-3080 binds; the union is no longer binding; the old row 1-eps-beta-1/2+xi = -0.5921 fails: rejecting control, so the radix schedule is still essential); +cap xi-1/2 = 0.4079 > 0 and eps-xi > 0.092; group positive and below dimension (eps-beta = 2.001953125e-3080 > 0); support router span 1-beta = 3.0029296875e-3080 > 0 (the supplier's total moved support O(g polylog p) = o(p) holds eventually, with exponent margin 3.0029296875e-3080); +gauge/guard 1-(2xi-2)-r-beta = 0.184 (fine theta; the linear guard 1-xi-r-beta is negative: rejecting control); group key fits the record (eps-beta = 2.001953125e-3080); membership arithmetic 1-beta-2(1-eps) = 1.0009765625e-3080; union tag work per visit 1-beta = 3.0029296875e-3080 (the old test 1-2beta is negative and not used); union header 1-beta; core-face corrections eps+beta+48-128+2 < 0. +The ledger row `sparse_union_fraction_decays` (xi-beta-1/2 > 0) stays deleted: it is false (g mu = p^(beta+1/2-xi) > 1) and the schedule does not use it. + +## 6. What this does and does not establish + +Established here: the data-movement schedule, its correctness (class invariance, commutation, complete lines, stability of the radix passes, the lockstep transpose, LIFO interleave) and its tape-head cost O(V g mu polylog p) per window, assuming +the audit's carving (|E_i| and mu), the retained polynomial-width row-field movement for batched boundary arithmetic, and the retained dense/gauge/precision lemmas of PR1673. +Not established: nothing in this document changes the arithmetic, the Gaussian conditioning, the supplier, the boundary matrix exponent or the all-size hypotheses of PR1673; those remain inherited assumptions. +The step "variable block length" of the transpose (item 4) and the head accounting (2.3) are the places that most need an independent review. diff --git a/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py b/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py new file mode 100644 index 0000000000..f182f822fd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py @@ -0,0 +1,124 @@ +"""Finite prime witnesses (PR1786, chafreaky, unchanged), a real underflow control and exact power checks. + +The small prime fixtures are not a verification of the asymptotic prime +theorem or its enormous eventual cutoff at the headline epsilon. +""" +import argparse +import json +import math +from fractions import Fraction as F +from pathlib import Path + +if not __debug__: + raise RuntimeError('Assertions must be enabled') +ap = argparse.ArgumentParser() +ap.add_argument('--out', type=Path, required=True) +args = ap.parse_args() + +def prime(n): + if n < 2 or (n % 2 == 0 and n != 2): + return False + return all(n % d for d in range(3, math.isqrt(n)+1, 2)) + +def interval(p, t): + return F((2*p*p-1)*t, 2*p*p), F((4*p*p-1)*t, 4*p*p) + +def valid(p, targets, primes): + if len(primes) != len(targets) or len(set(primes)) != len(primes): + return False + if any(t < 2 or t & (t-1) for t in targets): + return False + for t, q in zip(targets, primes): + lo, hi = interval(p, t) + if not (prime(q) and lo < q <= hi and math.gcd(q, t) == 1): + return False + theta = F(t, q)-1 + if not F(1, 4*p*p) < theta <= F(1, 2*p*p-1): + return False + return F(1, 2) < F(math.prod(primes), math.prod(targets)) < 1 + +fixtures = [] +for p in (16, 32, 64, 128, 256): + targets = [2**27]*3+[2**28]*3 + chosen = [] + for t in targets: + lo, hi = interval(p, t) + q = lo.__floor__()+1 + while q <= hi and (q in chosen or not prime(q)): + q += 1 + assert q <= hi + chosen.append(q) + assert valid(p, targets, chosen) + duplicate = chosen[:] + duplicate[1] = duplicate[0] + even = chosen[:] + even[0] = targets[0] + outside = chosen[:] + q = interval(p, targets[0])[1].__floor__()+1 + while not prime(q): + q += 1 + outside[0] = q + non_dyadic = targets[:] + non_dyadic[0] = 2*chosen[0] + controls = { + 'duplicate_source_prime': not valid(p, targets, duplicate), + 'dyadic_number_used_as_prime': not valid(p, targets, even), + 'prime_outside_requested_interval': not valid(p, targets, outside), + 'non_dyadic_target': not valid(p, non_dyadic, chosen), + } + assert all(controls.values()) + fixtures.append(dict(p=p, targets=targets, primes=chosen, + theta=[str(F(t, q)-1) for t, q in zip(targets, chosen)], + source_to_target_ratio=str(F(math.prod(chosen), math.prod(targets))), + rejected_controls=controls)) + +# Real counterexample to keeping the old Cp-bit absolute weight precision. +# w_min=exp(-a/(4 theta)). Since log(2)<1, E>P implies w_min<2^-P. +p = 32 +example = next(x for x in fixtures if x['p'] == p) +theta = F(example['theta'][0]) +# Here log(16p)=9 log 2. Bounds 2/3 4 +assert F(4*9)*F(7, 10)/3 < 9 +assert sum(F(7, 10)**j/math.factorial(j) for j in range(5)) > 2 +alpha = 3 +low_a, high_a = F(27), F(198, 7) +low_exponent, high_exponent = low_a/(4*theta), high_a/(4*theta) +online = 128*p +L = (p-1).bit_length() +setup = online+64*p*p*L +assert low_exponent > online +assert F(setup-online, 2) > high_exponent +underflow = dict(p=p, alpha=alpha, a_lower=str(low_a), a_upper=str(high_a), + theta=str(theta), source_prime=example['primes'][0], target=example['targets'][0], + negative_log_weight_lower=str(low_exponent), online_precision=online, + old_precision_rounds_weight_to_zero=True, setup_precision=setup, + relative_error_exponent_margin=str(F(setup-online, 2)-high_exponent)) + +# Universal power relationships used by the written generic locality lemma. +norm_power = inverse_power = 10 +scale_power = 2*norm_power +gap_power = 2*(norm_power+inverse_power) +iteration_power = gap_power+2 +band_power = 1 +radius_power = iteration_power+band_power +halo_power, core_power = 48, 128 +assert (scale_power, gap_power, iteration_power, radius_power) == (20, 40, 42, 43) +assert halo_power > radius_power and core_power > halo_power+1 +assert 40 < radius_power # A=p^40 is not covered by this conservative witness. +assert 7**16 < 2**45 +assert 7**5 > 2**14 # tau=14/5 is unsupported by the chosen Strassen format. + +report = dict(status='PASS_FINE_PADDING_FINITE_CONTROLS', + prime_fixtures=fixtures, prime_witness_count=sum(len(x['primes']) for x in fixtures), + primality_method='Deterministic trial division through integer square root', + weight_underflow_control=underflow, + generic_locality=dict(norm_power=norm_power, inverse_power=inverse_power, + scale_power=scale_power, contraction_gap_power=gap_power, + iteration_power=iteration_power, radius_power=radius_power, + halo_power=halo_power, core_power=core_power), + strassen_power_gap=2**45-7**16, + scope='Finite arithmetic fixtures and failure witnesses only. The cited prime theorem, analytic conditioning and circuit/halo lemmas remain written mathematical inputs; no finite cutoff or full multiplication implementation is verified here.') +args.out.write_text(json.dumps(report, sort_keys=True, indent=2)+'\n') +print(report['status'], 'prime witnesses', report['prime_witness_count']) diff --git a/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py b/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py new file mode 100644 index 0000000000..5eba96068e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py @@ -0,0 +1,175 @@ +#!/usr/bin/env python3 +"""Executable checks for IdeaOuter-gaugefree.md (gauge <-> fractional-shift identities, accretive symbol bound, circuit replay). +Stages: A exact symbolic identities (sympy); B exact rational spot checks; C 50-digit mpmath: triple product, phase bound, Re(phi_s)>=m_s; +D sections/Schur: accretive bounds, displacement rank; E circuit replay of the vendored compiler on shifted Gaussian Toeplitz tiles; +F unit diagonal preserved by truncation/rounding, Lambda>=1>=mu, absolute-scale guard <= 2 Lambda/mu. +Run: python -B outer/check_gaugefree.py (single process; nothing is written to the package).""" +import sys, json, itertools, random +sys.dont_write_bytecode=True +from fractions import Fraction as Fr +try: + import psutil; psutil.Process().nice(psutil.IDLE_PRIORITY_CLASS) +except Exception: pass +import sympy as sp, mpmath as mp, numpy as np +OUT={} +# ---------------- A. exact symbolic identities ---------------- +x,y,b0,lam,dl,s,a,th,ti,tj,be0,rho=sp.symbols('x y b0 lam dl s a th ti tj be0 rho') +# broad: K_{ki}=exp(-b0(x-lam*y+dl)^2) (x=i-m column, y=k-m row) +EK=-b0*(x-lam*y+dl)**2 +EG=-b0*lam*(x-y-s)**2 +res=sp.expand(EK-EG) +claim=-b0*((1-lam)*x**2-lam*(1-lam)*y**2+dl**2-lam*s**2+2*(dl+lam*s)*x-2*lam*(dl+s)*y) +assert sp.simplify(res-claim)==0 +sub=sp.expand(claim.subs(s,-dl/lam)) +lin_x=sp.simplify(sp.diff(sub,x).subs({x:0,y:0})); lin_y=sp.simplify(sp.diff(sub,y).subs({x:0,y:0})) +assert sp.simplify(lin_x)==0 and sp.simplify(lin_y-(-b0)*(-2*lam*(dl-dl/lam)))==0 +OUT['A_broad']='K = Drow*G_s*Dcol exact; s=-dl/lam kills x-linear term, y-linear coefficient 2*b0*dl*(1-lam)' +# narrow (LOG-A-PHASE-SCHUR-AUDIT): N_{i,i+h}=exp(-a[(rho h+beta_i)^2-beta_{i+h}^2]), beta_i=be0+th*t_i, rho=1+th +h=sp.symbols('h') +bi=be0+th*ti; bj=be0+th*(ti+h) +EN=-a*((rho*h+bi)**2-bj**2) +EN=EN.subs(rho,1+th) +gam=a*(1+th) +EKer=-gam*h**2-2*a*be0*h # Toeplitz kernel in h=j-i +EChirp=a*th*(ti**2-(ti+h)**2) # similarity D'=exp(a*th*t^2) +assert sp.simplify(sp.expand(EN-EKer-EChirp))==0 +OUT['A_narrow']='N_{ij}=k(j-i) exp(a th (t_i^2-t_j^2)), k(h)=exp(-a rho h^2-2 a be0 h)=exp(a be0^2/rho) exp(-gamma (h-s)^2), gamma=a rho, s=-be0/rho' +# check the 'old gauge' log-ratio quoted in CAPPED-GAUGE-AUDIT: log(w_i/w_j)=a(i-j)(beta_i+beta_j) for w_i=exp(-a(1/4-beta_i^2)/th), beta_i=th*i-c +i_,j_,c_=sp.symbols('i j c') +b_i=th*i_-c_; b_j=th*j_-c_ +assert sp.simplify((-a*(sp.Rational(1,4)-b_i**2)/th)-(-a*(sp.Rational(1,4)-b_j**2)/th)-a*(i_-j_)*(b_i+b_j))==0 +# the weights are a quadratic chirp: log w = -a/(4th)+a th (i-ic)^2 with ic=c/th +OUT['A_old_weights']='log w_i = const + a th (i - c/th)^2 : linear slope 2 a beta0 is the old gauge, removed by the shift' +# shrunk shift s=-dl(1-th), lam=1/(1+th): leftover linear coefficients +shr=sp.expand(claim.subs(s,-dl*(1-th)).subs(lam,1/(1+th))) +cx=sp.simplify(sp.diff(shr,x).subs({x:0,y:0})/(-b0)); cy=sp.simplify(sp.diff(shr,y).subs({x:0,y:0})/(-b0)) +assert sp.simplify(cx-2*dl*2*th/(1+th))==0 and sp.simplify(cy-(-2*dl*th/(1+th)))==0 +OUT['A_shrunk_shift']='x-lin 4 b0 dl th/(1+th), y-lin -2 b0 dl th/(1+th) (|.|<=2 b0 th, b0 th for |dl|<=1/2)' +# ---------------- B. exact rational spot checks (separability of residual) ---------------- +rng=random.Random(7) +def rnd(lo,hi): return Fr(rng.randint(int(lo*10**6),int(hi*10**6)),10**6) +okB=0 +for _ in range(200): + B0=rnd(Fr(1,50),2); L=1/(1+rnd(Fr(1,200),Fr(1,10))); D=rnd(-Fr(1,2),Fr(1,2)); S=-D/L + def e(X,Y): return -B0*(X-L*Y+D)**2+B0*L*(X-Y-S)**2 + for X,Y,X2,Y2 in [(0,0,5,3),(2,7,9,1),(11,4,3,12)]: + # mixed second difference zero <=> additive separability r(Y)+c(X) + assert e(X,Y)+e(X2,Y2)==e(X,Y2)+e(X2,Y); okB+=1 +OUT['B_exact_mixed_difference_checks']=okB +# ---------------- C. 50-digit: triple product, phase bound, Re phi >= m_s ---------------- +mp.mp.dps=50 +def phi_direct(g,s,w,U=None): + U=U or int(mp.sqrt(130/g))+6 + return mp.fsum(mp.e**(-g*(u-s)**2)*mp.e**(-1j*u*w) for u in range(-U,U+1)) +def parts(g,s): + q=mp.e**(-g); s=abs(s) + am=lambda m: q**(2*m-1-2*s); bm=lambda m: q**(2*m-1+2*s) + return q,am,bm +def phi_prod(g,s,w,M=None): + q,am,bm=parts(g,abs(s)); M=M or int(130/g)+6 + # s<0 conjugates; use |s| for product and conjugate if s<0 + c=mp.e**(-g*s*s)*mp.fprod([1-q**(2*m) for m in range(1,M)]) + v=c*mp.fprod([(1+am(m)*mp.e**(-1j*w))*(1+bm(m)*mp.e**(1j*w)) for m in range(1,M)]) + return v if s>=0 else mp.conj(v) +def m_s(g,s,M=None): + q,am,bm=parts(g,abs(s)); M=M or int(130/g)+6 + c=mp.e**(-g*s*s)*mp.fprod([1-q**(2*m) for m in range(1,M)]) + return c*(1-am(1))*mp.fprod([1-am(m) for m in range(2,M)])*mp.fprod([1-bm(m) for m in range(1,M)]) +worst_prod=0; worst_ratio=mp.inf; nchk=0; worst_phase=0 +for g in [mp.mpf(x) for x in ['0.3','0.5','1','2.5','8']]: + for s in [mp.mpf(x) for x in ['0','0.2','-0.37','0.499','0.4999999']]: + ms=m_s(g,s) + q,am,bm=parts(g,s) + for k in range(0,41): + w=mp.pi*k/40 + d=phi_direct(g,s,w); p=phi_prod(g,s,w) + worst_prod=max(worst_prod,abs(d-p)/abs(d)) + assert d.real>=ms*(1-mp.mpf(10)**-40), (g,s,w,d.real,ms) + worst_ratio=min(worst_ratio,d.real/ms) + # phase bound |arg phi| <= f(a_1) = atan(a1 sin w/(1+a1 cos w)) + a1=am(1); f=mp.atan(a1*mp.sin(w)/(1+a1*mp.cos(w))) + ph=abs(mp.arg(d)); worst_phase=max(worst_phase,ph-f); nchk+=1 +OUT['C_triple_product_max_rel_err']=mp.nstr(worst_prod,5) +OUT['C_min_RePhi_over_ms']=mp.nstr(worst_ratio,8) +OUT['C_max(|arg|-f(a1))']=mp.nstr(worst_phase,5) +OUT['C_points']=nchk +assert worst_prod=ms*(1-1e-9)-1e-13,(g,s,n,worst_Re,ms) + # Schur complements T_b/T_a: inverse norm <= ||T_b^-1|| + Ainv=np.linalg.inv(A) + for a_ in range(1,n,max(1,n//4)): + S_=A[a_:,a_:]-A[a_:,:a_]@np.linalg.solve(A[:a_,:a_],A[:a_,a_:]) + worst_inv=max(worst_inv,np.linalg.norm(np.linalg.inv(S_),2)/np.linalg.norm(Ainv[a_:,a_:],2)); worst_schur=max(worst_schur,np.linalg.norm(S_,2)) + rowsD.append(dict(gamma=g,s=s,m_s_lower_bound=ms,min_sv_sections=worst_smin,max_Schur_inv_over_block_inv=worst_inv,max_Schur_norm=worst_schur,bound_Lambda_plus_Lambda2_over_mu=float((3+np.sqrt(2*np.pi/g))*(1+(3+np.sqrt(2*np.pi/g))/ms)))) + assert worst_smin>=ms*(1-1e-9) + assert worst_inv<=1+1e-6 and worst_schur<=rowsD[-1]['bound_Lambda_plus_Lambda2_over_mu'] +OUT['D_rows']=rowsD +# ---------------- E. circuit replay (vendored PR1673 compiler) ---------------- +import importlib.util, pathlib +cc=pathlib.Path(__file__).resolve().parent.parent/'vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py' +spec=importlib.util.spec_from_file_location('check_circuits',cc); M=importlib.util.module_from_spec(spec); spec.loader.exec_module(M) +rowsE=[] +for (g,s) in [(0.5,0.45),(0.5,0.499),(2.0,0.49),(20.0,0.49)]: + for n in [8,16,32]: + M.STATS.update({"max_displacement_rank":0,"max_generator_entry":0.0,"max_triangle_coefficient":0.0}) + A=Tsec(n,g,s).astype(complex) + plan=M.full_plan(list(range(n)),A) + act,peak=M.replay(plan,n,track=(n<=16)) + rowsE.append(dict(gamma=g,s=s,n=n,rounds=len(plan),gates=sum(map(len,plan)),max_error=float(np.max(np.abs(act-A))), + peak_prefix_norm=peak if n<=16 else None,max_displacement_rank=M.STATS['max_displacement_rank'], + max_generator_entry=M.STATS['max_generator_entry'],max_triangle_coeff=M.STATS['max_triangle_coefficient'], + cond=float(np.linalg.cond(A)))) +OUT['E_circuit_replay']=rowsE +# ---------------- F. unit diagonal survives truncation and rounding; absolute-scale guard vs ratio ---------------- +# Corollary 4.1b: for a unit-diagonal accretive H, Lambda>=1>=mu and Lambda+1/mu <= 2*Lambda/mu. The circuit kernels are +# G'_s truncated to band W (u=0 always kept) and rounded to Cp bits (fixed point round(x 2^Cp)/2^Cp and Cp-bit floating point); +# 1 is exactly representable, so the diagonal must stay exactly 1. A drifted diagonal 1+-2^-Cp must still satisfy the 1/2-hypothesis. +mp.mp.dps=400 +def Gp(u,g,s): return mp.e**(-g*u*u+2*g*s*u) # G'_s(u), G'_s(0)=1 +def rnd_fixed(x,Cp): return mp.floor(x*mp.mpf(2)**Cp+mp.mpf(1)/2)/mp.mpf(2)**Cp +def rnd_float(x,Cp): + if x==0: return x + e=int(mp.floor(mp.log(abs(x),2))); sc=mp.mpf(2)**(Cp-1-e); return mp.floor(x*sc+mp.mpf(1)/2)/sc +rowsF=[]; worstF=dict(diag_dev=0.0,min_Lambda=np.inf,max_mu=0.0,max_guard_over_2Lam_mu=0.0,max_drift_guard_over_7_2=0.0) +for g in [0.02,0.1,0.3,1.0,5.0,67.0,189.0]: # broad ~ pi/(alpha^2 rho)=Theta(1/log p); narrow a*rho >= 4 log(16p), p=2^20..2^64 + for s in [0.0,0.3,-0.45,0.4999]: + for W in [1,2,4,8,int(np.sqrt(130/g))+6]: + for Cp,rnd in [(64,rnd_fixed),(128,rnd_fixed),(256,rnd_float),(1024,rnd_fixed)]: + k=[rnd(Gp(u,g,mp.mpf(s)),Cp) if abs(u)<=W else mp.mpf(0) for u in range(-W,W+1)] + dev=abs(k[W]-1); worstF['diag_dev']=max(worstF['diag_dev'],float(dev)); assert k[W]==1,(g,s,W,Cp) + n=48; kk=np.array([float(v) for v in k]); T=np.zeros((n,n)) + for i_ in range(n): + for j_ in range(n): + d=j_-i_ + if abs(d)<=W: T[i_,j_]=kk[W+d] + assert np.all(np.diag(T)==1.0) + Lam=np.linalg.norm(T,2); mu_=np.linalg.eigvalsh((T+T.T)/2)[0] + if mu_<=1e-12: continue # outside double-precision resolution (mu = p^-O(1) rows are in stage D) + assert Lam>=1-1e-12 and mu_<=1+1e-12 and Lam+1/mu_<=2*Lam/mu_*(1+1e-9),(g,s,W,Cp,Lam,mu_) + worstF['min_Lambda']=min(worstF['min_Lambda'],Lam); worstF['max_mu']=max(worstF['max_mu'],mu_) + worstF['max_guard_over_2Lam_mu']=max(worstF['max_guard_over_2Lam_mu'],(Lam+1/mu_)/(2*Lam/mu_)) + # drift: diagonal 1+-2^-Cp (Cp>=64): hypothesis |d-1|<=1/2 gives Lambda+1/mu <= 7/2 Lambda/mu + for sg in (1,-1): + T2=T+sg*np.eye(n)*2.0**-Cp + L2=np.linalg.norm(T2,2); m2=np.linalg.eigvalsh((T2+T2.T)/2)[0] + if m2>1e-12: worstF['max_drift_guard_over_7_2']=max(worstF['max_drift_guard_over_7_2'],(L2+1/m2)/(3.5*L2/m2)); assert L2+1/m2<=3.5*L2/m2 + rowsF.append(dict(gamma=g,s=s)) +OUT['F_unit_diagonal']=dict(worstF,cases=len(rowsF),statement='truncated (band W>=1) and rounded (fixed/floating, Cp=64..1024) kernels have diagonal exactly 1; Lambda>=1>=mu; (Lambda+1/mu)/(2 Lambda/mu)<=1; drift 2^-Cp covered by 7/2') +# counterexample of Remark 4.1a: H=tI (N=2): Lambda=mu=t, ratio 1, completed circuit norm t, inverse 1/t +for tt in [1e-6,1e-2,1.0,1e2,1e6]: + H_=tt*np.eye(2); assert abs(np.linalg.norm(H_,2)*np.linalg.norm(np.linalg.inv(H_),2)-1)<1e-9 and max(np.linalg.norm(H_,2),np.linalg.norm(np.linalg.inv(H_),2))>=1 and abs(np.log(max(np.linalg.norm(H_,2),np.linalg.norm(np.linalg.inv(H_),2)))-abs(np.log(tt)))<1e-9 +OUT['F_counterexample']='H=tI: log max(||H||,||H^-1||)=log max(t,1/t) = |log t|; guard log(2+Lambda+1/mu)=log(2+t+1/t) covers it, ratio Lambda/mu=1 does not' +print(json.dumps({k:v for k,v in OUT.items() if k not in ('D_rows','E_circuit_replay')},indent=1,default=str)) +print('ALL STAGES PASS') diff --git a/research/gmx-t74-borrow43-handoff/outer/check_ledger.py b/research/gmx-t74-borrow43-handoff/outer/check_ledger.py new file mode 100644 index 0000000000..b64077b84b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_ledger.py @@ -0,0 +1,258 @@ +#!/usr/bin/env python3 +"""Exact ledger for fine-prime padding (PR1786, chafreaky / Chafik Boukhalfa, with Tim Trudgian's prime theorem) at the free point epsilon = 1 - (1025/1024)*10^-(DIG+80), explicit Strassen boundary, retuned to the fixed-grid maximum kappa = C - 1/FLOOR - BACKOFF. + +Adapted from PR1786's ledger, itself adapted from PR1731's cost ledger, credited to Jeremy Kothe et al. and +Vlado Vojdanovski (PR1673); uses PR1758's gauge-free chirp and per-visit tag +accounting. New source-prime, coefficient-setup and halo lemmas are in +FINE-PRIME-PADDING.md. Finite arithmetic does not prove the all-size theorem. +""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +from math import factorial +import hashlib, json, sys +sys.set_int_max_str_digits(0) + +if not __debug__: raise RuntimeError('Assertions must be enabled') +HERE=Path(__file__).resolve().parent +WORK=HERE.parent +SPEC=WORK/'new/SPEC.json' +CLAIM=WORK/'CLAIM.json' +BJ=json.loads((HERE/'B.json').read_text()) +spec=json.loads(SPEC.read_text()) +# Free strict slacks of the PR1673 proof (retuned in this package, see RETUNED-SLACKS.md); every one only needs to be > 0. +DIG=spec['outer_refinement']['endpoint_digits'] # the supplier endpoint is certified to 10^-DIG (accept at the endpoint, reject at endpoint + 10^-DIG); every slack sits 10 digits below +# Fixed-grid maximum (PR2180 / PR2161, dataisfire; proof PROOF-GRID-MAX.md): the free gaps shrink together to R0 = 10^-(DIG+80); grid, backoff and certified endpoint are unchanged. +R0=Q(1,10**(DIG+80)); ZETA=R0/100; SLACK=R0; GAP=R0; STOP=R0/10**6 +FLOOR=10**(DIG+46); BACKOFF=Q(1,10**(DIG+22)); B_GAP=R0 +# Fine prime padding: theta is between 1/(4p^2) and 1/(2p^2-1). +# Online chirp guard beta+2*xi-2<1; coefficient setup uses O(p^2 log p) bits. +# epsilon = 1 - DELTA_E is a FREE parameter (outer/FINE-PADDING-COMPOSITION.md sec. 2): every row is strictly satisfied for every DELTA_E > r0 = 10^-(DIG+80); beta = 1 - 3 DELTA_E lies in the admissible window +# [1 - DELTA_E (1 + 1/q), 1 - 2 DELTA_E). DELTA_E = (1025/1024) r0 keeps the gamma spare power 1-eps-r0 = r0/1024 > 0 and puts C - eps*q below 1/FLOOR (PROOF-GRID-MAX.md). +DELTA_E=Q(1025,1024)*R0 +EPS=1-DELTA_E +BETA=1-3*DELTA_E +THETA_POWER=Q(2) +HALO_POWER=48 +CORE_POWER=128 +STRASSEN_TAU=Q(45,16) +KAPPA_1828=Q('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # exact kappa of rohanarun's PR1828 (slack refinement of PR1800 at 1e-96), from its body +KAPPA_1839=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # exact kappa of PR1839 (previous package: 1e-90 endpoint) +KAPPA_1875=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # exact kappa of rohanarun's PR1875 (1e-300 endpoint), from its body +KAPPA_1876=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # exact kappa of rohanarun's PR1876 (1e-400 endpoint), from its body +KAPPA_1897=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # exact kappa of M6LI's PR1897 (1e-500 grid), from its body +KAPPA_1786=Q('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # exact kappa of chafreaky's PR1786 ledger (EXPECTED-BALANCE.json), headline 0.001679754788150048 +KAPPA_PKG5=Q('0.001677992607205282520732088774830808372222877897034109604209719298829805473412451530867883424937597') # previous package (rectangular k=2, tau_eff=2.2500351) +KAPPA_PKG4=Q('0.0016778199023144364336310551358776001013829401215770658599799349282716974076737897457922714197448847') # previous package (radix union schedule, square boundary tau=2.372864) +KAPPA_1712=Q('0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702') # pkg of PR1712 (Le Gall tau=12/5, old union row) +KAPPA_1699=Q('0.001677641731343354564251058287063644749065568493') # exact kappa of PR1699's ledger (Chafik Boukhalfa), same supplier profile +certified_complex=Q(spec['expected']['complex_lower']) +bit=Q('0.001733427039589844234749') +# Keep short independently checkable decimals strictly inside both endpoints. +b=certified_complex-B_GAP # strictly inside the certified supplier endpoint; B.json carries the same exact value +assert b==Q(BJ['b']) +q=b-GAP +a=(q+b)/2 +online=Q(spec['expected']['kappa']) +old=Q('0.001673360105405778') +assert b=2:x/=2;k+=1 + lo,hi=unit_log(x) + return down(lo+k*ln2[0]),up(hi+k*ln2[1]) +def exp(x): + assert 0<=x>GB)//j;th=_cd(-((-th*xu)>>GB),j);sl+=tl;sh+=th + tn=_cd(-((-th*xu)>>GB),EN) # x^EN/EN! (rounded up); the tail is at most twice this + return Q(int(sl),ONE),Q(int(sh+2*tn+2),ONE) +def moment(endpoint): + lo=hi=Q(0) + for r,n in profile.items(): + l,h=log(Q(m,r)); weight=Q(n*r,m*W) + lo+=weight*exp(endpoint*l)[0] + hi+=weight*exp(endpoint*h)[1] + return down(lo),up(hi) + +native=moment(b) +assert native[1]<1 +b_up=Q(BJ['b_above_endpoint']) +assert b_up>certified_complex and moment(b_up)[0]>1 # a larger test endpoint is rejected + +def ledger(kind, *, q_=q, zeta=ZETA, slack=SLACK, + old_scan=False, full_gauge=False, full_key=False, old_union=False, old_theta=False, old_linear=False, old_tag=False, + eps_=EPS, beta_=BETA, tau_eff=STRASSEN_TAU, halo_power=HALO_POWER, core_power=CORE_POWER): + r=R0; stop=STOP + # Existing explicit Strassen format, 7^16<2^45; c=3/32. + # Union: radix-distributed schedule (outer/UNION-SCHEDULE.md, new in this package): row exponent eps+1/2-xi. The boundary row binds with main; the Gaussian row has slack at this explicit point. + c=(3-tau_eff)/2 + eps=eps_; beta=beta_ + xi=eps*(1+q_)-c+slack + saving=eps*q_ + # Deliberate strict gap (BACKOFF) after decimal truncation to the FLOOR grid. + kappa=Q((saving*FLOOR).__floor__(),FLOOR)-BACKOFF + # kappa is derived, not silently asserted to equal an expected decimal. + tau=1-a; sigma=1-b + internal=tau+(1-stop)*max(sigma-tau,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q_+a)/2 + key=beta+1-eps + margins={ + 'main_transform':saving, + 'global_coordinate_router':a, + 'fused_gaussian':1-eps+q_*beta, + 'group_bit_router':1-eps+a*beta, + 'group_scans':1-eps+beta, + 'boundary_algebraic_matrix':c+xi-eps, + 'sparse_union_movement':xi+Q(1,2)-eps, + 'polynomial_products':eps, + 'microbox_face_corrections':1-(eps+beta+halo_power-core_power+2), + } + if old_union:margins['old_g_factor_union_row']=1-eps-beta-Q(1,2)+xi + if old_scan:margins['old_per_axis_scan']=1-eps + if full_key:margins['unnecessary_full_key_sort']=margins['sparse_union_movement']-key + checks={ + 'actual_bit_above_effective':bit-a, + 'complex_above_effective':b-a, + 'q_positive':q_, 'complex_endpoint':b-q_, + 'q_below_effective':a-q_, 'stop_positive':stop, + 'stop_below_one':1-stop, + 'leaf_saving_above_effective':(1-stop)*b-a, + 'q_below_internal':1-internal-q_, 'q_below_leaf':1-leaf-q_, + 'lambda_above_tau':lam-tau, 'lambda_above_sigma':lam-sigma, + 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':1-q_-lam, + 'lambda_prime_above_leaf':1-q_-leaf, + 'epsilon_positive':eps,'epsilon_below_one':1-eps, + 'cap_above_band':xi-Q(1,2),'cap_below_cell':eps-xi, + 'group_positive':beta,'group_below_dimension':eps-beta, + 'support_router_span':1-beta, + 'group_gauge_power_slack':1-(2*xi-THETA_POWER)-r-beta, + 'actual_logarithmic_group_guard':1-(2*xi-THETA_POWER)-beta, + 'global_gamma_power_slack':1-eps-r, + 'actual_logarithmic_gamma_guard':1-eps, + 'alpha_logarithm_absorption':r, + 'group_key_fits_record':1-key, + 'membership_arithmetic_fits_record':1-beta-2*(1-eps), + 'microbox_halo_volume':core_power-halo_power-beta, + 'positive_layout_slack':slack, + 'short_record_fallback':eps-a, + 'improvement_over_online_final':kappa-online, + 'improvement_over_previous_local_final':kappa-old, + 'complex_below_one_over_32':Q(1,32)-b, + } + checks['strassen_integer_power_gap']=Q(2**tau_eff.numerator-7**tau_eff.denominator) + checks['theta_positive_polynomial_power']=THETA_POWER + checks['cap_below_phase_cell_power']=THETA_POWER-xi + checks['halo_covers_generic_inverse_radius']=Q(halo_power-43) + checks['union_tag_work_per_visit_fits_record']=1-beta + checks['union_header_fits_record']=1-beta + checks['source_axis_superpolynomial']=1-eps + checks['improvement_over_pr1786']=kappa-KAPPA_1786 + checks['improvement_over_pr1828']=kappa-KAPPA_1828 + checks['improvement_over_pr1839']=kappa-KAPPA_1839 + checks['improvement_over_pr1875']=kappa-KAPPA_1875 + checks['improvement_over_pr1876']=kappa-KAPPA_1876 + checks['improvement_over_pr1897']=kappa-KAPPA_1897 + checks['improvement_over_pr1758']=kappa-Q('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') + checks['improvement_over_pr1699']=kappa-KAPPA_1699 + checks['improvement_over_pr1712']=kappa-KAPPA_1712 + checks['improvement_over_previous_package']=kappa-KAPPA_PKG4 + checks['improvement_over_pkg_k2']=kappa-KAPPA_PKG5 + if full_gauge:checks['unrecentered_group_gauge']=1-THETA_POWER-r-beta + if old_theta:checks['old_theta_chirp_guard']=1-(2*xi-eps)-r-beta + if old_linear:checks['old_linear_guard']=1-xi-r-beta + if old_tag:checks['old_union_tag_2beta']=1-2*beta + # Main-binding family invariant (PR2180): the Gaussian saving stays above the main saving. The fixed kappa grid (FLOOR) is coarser than the free gaps, + # so the *_above_kappa rows alone would no longer exclude a beta outside the main-binding window; this row is delta*(1-2q) > 0. + checks['gaussian_above_main']=margins['fused_gaussian']-saving + checks.update({n+'_above_kappa':v-kappa for n,v in margins.items()}) + assert margins['boundary_algebraic_matrix']==saving+slack + assert margins['sparse_union_movement']==saving+slack+(tau_eff-2)/2 + return {'kind':kind,'kappa':kappa,'epsilon':eps,'xi':xi,'beta':beta, + 'q':q_,'a':a,'r0':r,'zeta':zeta,'slack':slack, + 'margins':margins,'strict_checks':checks} + +def encode(x): + if isinstance(x,Q): + with localcontext() as c: + c.prec=DIG+200 + return {'rational':str(x),'decimal':str(Decimal(x.numerator)/Decimal(x.denominator))} + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +rows={};controls={} +for kind in ['struct_boundary_radix_union']: + row=ledger(kind) + assert all(v>0 for v in row['strict_checks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + # fixed-grid maximum: C*FLOOR is an integer and 0 < C - eps*q < 1/FLOOR, so floor(FLOOR*eps*q)/FLOOR = C - 1/FLOOR exactly and kappa attains the grid/backoff ceiling + assert (certified_complex*FLOOR).denominator==1 and 0= 1/(4 p^THETA_POWER)), an exponential factor <= p^2 eventually, +# alpha^5 polylogarithmic; a further half power is allowed for the polylogarithmic and bounded-constant factors of the augmented matrices. The umbrella must exceed that budget. +UMBRELLA_POWER=10 +def umbrella_margin(theta_power):return UMBRELLA_POWER-(2*theta_power+2+Q(1,2)) +assert umbrella_margin(THETA_POWER)>0 and umbrella_margin(Q(15,4))<=0 # control: the umbrella would fail silently for THETA_POWER >= 3.75 +HALO_UMBRELLA={'umbrella_power':UMBRELLA_POWER,'theta_power':THETA_POWER,'exponent_budget':2*THETA_POWER+2+Q(1,2),'margin':umbrella_margin(THETA_POWER),'fails_from_theta_power':Q(15,4)} +out={'status':'PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC', + 'scope':'Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.', + 'geometry_changes':{'theta_power':THETA_POWER,'halo_power':HALO_POWER,'core_power':CORE_POWER,'matrix_exponent':STRASSEN_TAU}, + 'halo_umbrella':HALO_UMBRELLA,'complex_lower_short':b,'complex_lower_pinned':certified_complex, + 'native_moment':native,'profile':profile,'m':m,'W':W, + 'online_final_kappa':online,'rows':rows,'rejecting_controls':controls, + 'pr1673_kappa':Q('0.001677160151714381'),'improvement_over_pr1673':rows['struct_boundary_radix_union']['kappa']-Q('0.001677160151714381'), + 'source_sha256':{p.relative_to(WORK).as_posix():hashlib.sha256(p.read_bytes()).hexdigest() for p in [SPEC,CLAIM]}} +(HERE/'LEDGER.json').write_text(json.dumps(encode(out),indent=2)+'\n') +print(out['status']) +for name,row in rows.items(): + print(name,'FINAL KAPPA',encode(row['kappa'])['decimal'], + 'positive checks',len(row['strict_checks']), + 'gain over online',encode(row['kappa']-online)['decimal']) diff --git a/research/gmx-t74-borrow43-handoff/outer/independent_check.py b/research/gmx-t74-borrow43-handoff/outer/independent_check.py new file mode 100644 index 0000000000..b838c430ef --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/independent_check.py @@ -0,0 +1,60 @@ +"""Independent balance-equation check (PR1673, adapted: this package's supplier b and SPEC), not an execution of the ledger in check_ledger.py.""" +from fractions import Fraction as F +from pathlib import Path +from decimal import Decimal,localcontext +import json,hashlib,sys +sys.set_int_max_str_digits(0) +D=Path(__file__).resolve().parent;W=D.parent +src=W/'new/SPEC.json' +BJ=json.loads((D/'B.json').read_text()) +spec=json.loads(src.read_text());pinned=F(spec['expected']['complex_lower']) +DIG=spec['outer_refinement']['endpoint_digits'];T=10**(DIG+80) # all free slacks are 10^-(DIG+80) or below (fixed-grid-maximum point, PR2180 / PR2161 dataisfire) +b=F(BJ['b']);q=b-F(1,T);eff=(q+b)/2;actual_bit=F('0.001733427039589844234749') +r=F(1,T);z=F(1,T*100);s=F(1,T) +assert 0eff +rows={} +# FINE-PRIME PADDING (outer/FINE-PADDING-COMPOSITION.md): explicit point epsilon=1-delta, beta=1-3 delta, delta=(1025/1024)*10^-(DIG+80), Strassen boundary tau=45/16 (7^16<2^45), c=3/32, +# theta in (1/(4p^2),1/(2p^2-1)], chirp guard beta+2xi-2<1, halo power 48, core power 128. Derived here WITHOUT the ledger code; the structured boundary is not used. +delta=F(1025,1024*T);E=1-delta;B=1-3*delta +assert 7**16<2**45;tau=F(45,16);c=(3-tau)/2;assert c==F(3,32) +nu=2;halo=48;core=128 +X=E+E*q+s-c # boundary saving c+X-E = E q + s +assert c+X-E==E*q+s +# the Gaussian row has slack: 1-E+qB-Eq = delta(1-2q) +assert 1-E+q*B-E*q==delta*(1-2*q)>0 +# admissible beta window for this epsilon: Gaussian row needs beta >= 1-delta(1+1/q); membership needs beta < 1-2 delta +assert 1-delta*(1+1/q)<=B<1-2*delta +assert F(1,2)z>0 and 1-E-r>0 and core-halo-B>0 and halo>43 +assert 1-B>0 and 1-B-2*(1-E)==delta>0 +costs={'transform':1-E*q,'global_router':1-eff,'gaussian':E-q*B,'group_router':E-eff*B,'group_scans':E-B,'boundary':E-X+(tau-1)/2,'sparse_union':E+F(1,2)-X,'polynomials':1-E,'microfaces':E+B+halo-core+2} +K=F((E*q*10**(DIG+46)).__floor__(),10**(DIG+46))-F(1,10**(DIG+22)) +assert max(costs.values())==costs['transform'] and all(v<1-K for v in costs.values()) +# earlier packages' guards fail at this point (they are rejecting controls in the ledger): linear guard 1-X-r-B<0, old theta chirp guard 1-(2X-E)-r-B<0, 2B<1 test fails +assert 1-X-r-B<0 and 1-(2*X-E)-r-B<0 and 1-2*B<0 +assert K>F('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # PR1786 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # PR1828 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # PR1839 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # PR1875 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # PR1876 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # PR1897 exact kappa +assert K>F('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') # PR1758 +assert K r0 (beta = 1-3 delta); only kappa moves, kappa = (1-delta) q - O(1e-76) +# fixed-grid maximum: saving < C and C*FLOOR integral give K <= C-1/FLOOR-BACKOFF; this point attains it (0 < C-E*q < 1/FLOOR) +FL=10**(DIG+46);assert (pinned*FL).denominator==1 and 00 and 1-dd*(1+1/q)<=Bd<1-2*dd and 1-Ed+q*Bd-Ed*q>0 and Ed-Bd>0 and 1-Bd-2*(1-Ed)>0 + assert F(1,2)0 and core-halo-Bd>0 + assert 1-Ed+eff*Bd>Ed*q and eff>Ed*q and 1-Ed+Bd>Ed*q and Ed>Ed*q and 1-(Ed+Bd+halo-core+2)>Ed*q + sweep.append((str(dd),str(float(q-Ed*q)))) +assert 1-F(1,T)<=1-r # delta=r0 itself is rejected by 1-eps-r0>0 +assert not (1-(1-r)-r>0) +rows['struct_boundary_radix_union']={'epsilon':str(E),'cap':str(X),'beta':str(B),'kappa':str(K),'margin_above_kappa':str(E*q-K),'checked_cost_powers':len(costs),'gap_to_q':str(q-K),'epsilon_free_sweep_delta_gap_to_q':sweep} +report={'status':'PASS_INDEPENDENT_BALANCE_DERIVATION','source_sha256':hashlib.sha256(src.read_bytes()).hexdigest(),'b':str(b),'rows':rows,'scope':'Independent balance derivation and margin comparisons for this package\'s supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain.'} +(D/'INDEPENDENT.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps(report,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py b/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py new file mode 100644 index 0000000000..da3a159d09 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py @@ -0,0 +1,47 @@ +"""Replays PR1673's supplier-independent exact evidence checks (unmodified scripts) in a temporary copy and compares each regenerated +artifact with the vendored one, exactly as PR1673's verify.py fast mode does (same CHECKS list, same normalisation; the two +supplier-specific frontier_fusion checks are replaced by check_ledger.py / independent_check.py of this package). +""" +import concurrent.futures, json, os, re, shutil, subprocess, sys, tempfile +from pathlib import Path +HERE = Path(__file__).resolve().parent +SRC = HERE.parent / 'vendor/pr1673/capped-phase-fusion' +CHECKS = re.findall(r"\('([^']+\.py)','([^']+\.json)'\)", (SRC / 'verify.py').read_text(encoding='utf-8')) +CHECKS = [c for c in CHECKS if not c[0].startswith('frontier_fusion/')] +assert len(CHECKS) == 19, len(CHECKS) + + +def norm(x): + if isinstance(x, dict): + return {k: norm(v) for k, v in x.items() if k not in {'seconds', 'native_required_output'}} + if isinstance(x, list): + return [norm(v) for v in x] + return x + + +def main(): + assert __debug__ + import sympy + assert sympy.__version__ == '1.14.0', 'PR1673 evidence is registered against sympy==1.14.0, found ' + sympy.__version__ + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONHASHSEED='0', PYTHONINTMAXSTRDIGITS='500000') + env.pop('PYTHONOPTIMIZE', None) + with tempfile.TemporaryDirectory(prefix='phase-fusion-replay-') as td: + root = Path(td) / 'p' + shutil.copytree(SRC, root, ignore=shutil.ignore_patterns('__pycache__')) + for script, artifact in CHECKS: + (root / artifact).unlink() + + def run(c): + script, artifact = c + cp = subprocess.run([sys.executable, '-B', str(root / script)], cwd=root, env=env, capture_output=True, text=True, timeout=300) + if cp.returncode: + raise SystemExit(script + ' failed\n' + cp.stdout[-2000:] + cp.stderr[-2000:]) + if norm(json.loads((root / artifact).read_text(encoding='utf-8'))) != norm(json.loads((SRC / artifact).read_text(encoding='utf-8'))): + raise SystemExit('proof-relevant JSON changed: ' + artifact) + return script + with concurrent.futures.ThreadPoolExecutor(3) as ex: + done = list(ex.map(run, CHECKS)) + print('PASS_EXACT_REPLAY', len(done)) + + +main() diff --git a/research/gmx-t74-borrow43-handoff/outer/run_outer.py b/research/gmx-t74-borrow43-handoff/outer/run_outer.py new file mode 100644 index 0000000000..7e1a3e720f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/run_outer.py @@ -0,0 +1,23 @@ +"""Regenerates the two ledger artifacts in a temporary copy (the package stays immutable), compares them with the committed ones and +replays PR1673's supplier-independent evidence. Usage: run_outer.py TMPDIR""" +import json, shutil, subprocess, sys +from pathlib import Path +P = Path(__file__).resolve().parent.parent +tmp = Path(sys.argv[1]); (tmp / 'new').mkdir(parents=True) +shutil.copytree(P / 'outer', tmp / 'outer', ignore=shutil.ignore_patterns('__pycache__')) +shutil.copy2(P / 'new/SPEC.json', tmp / 'new/SPEC.json'); shutil.copy2(P / 'CLAIM.json', tmp / 'CLAIM.json') +for art in ('LEDGER.json', 'INDEPENDENT.json'): + (tmp / 'outer' / art).unlink() +for script in ('check_ledger.py', 'independent_check.py'): + subprocess.run([sys.executable, '-B', str(tmp / 'outer' / script)], check=True, stdout=subprocess.DEVNULL) +for art in ('LEDGER.json', 'INDEPENDENT.json'): + # line-ending-insensitive: a CRLF checkout of the committed artifact is the same artifact (PR2559 / philippeVV portability fix) + if (tmp / 'outer' / art).read_bytes().replace(b'\r\n', b'\n') != (P / 'outer' / art).read_bytes().replace(b'\r\n', b'\n'): + raise SystemExit('regenerated artifact differs from committed: ' + art) +subprocess.run([sys.executable, '-B', str(P / 'outer/sched_test.py')], check=True) +subprocess.run([sys.executable, '-B', str(P / 'outer/sched_review.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/struct_check.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/check_gaugefree.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/check_fine_padding.py'), '--out', str(tmp / 'fine-padding.json')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/replay_evidence.py')], check=True) +print('PASS_OUTER') diff --git a/research/gmx-t74-borrow43-handoff/outer/sched_review.py b/research/gmx-t74-borrow43-handoff/outer/sched_review.py new file mode 100644 index 0000000000..e0931c2a21 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/sched_review.py @@ -0,0 +1,104 @@ +"""Independent review stage written by LeverRank (second, independently coded simulation; included unmodified apart from the final assert). Independent tape-style simulation of the radix-distributed sparse-union schedule (OuterLever_union_schedule.md). +Implements: flags F, rounds with S_r, stable LSD binary radix by tag with stored bits, per-prefix-block small-field transpose by recursive riffle +(arbitrary |E_f|, not power of 2), line application, inverse transpose, inverse radix by replaying bits, LIFO rest stack + indicator merge. +Counts record-moves per pass; checks (1) exact equality with the full tensor product, (2) block completeness/constant block length per tag, +(3) order preservation, (4) cost <= C * sum|S_r| * (log g + log Emax + 1) with no |U|-per-round factor.""" +import numpy as np, itertools, random, math, sys +def run(g,L,Esizes,spect,seed): + rng=np.random.default_rng(seed); random.seed(seed) + E=[sorted(random.sample(range(L),Esizes[i])) for i in range(g)] + T=[] + for i in range(g): + M=np.eye(L); sub=rng.integers(-3,4,(len(E[i]),len(E[i]))).astype(float) + for a,x in enumerate(E[i]): + for b,y in enumerate(E[i]): M[x,y]=sub[a,b] + T.append(M) + X=rng.integers(-5,6,(L,)*g+(spect,)).astype(float) + ref=X.copy() + for i in range(g): ref=np.moveaxis(np.tensordot(T[i],ref,axes=([1],[i])),0,i) + pts=list(itertools.product(*([range(L)]*g+[range(spect)]))) # lexicographic, spectator last + flags=lambda x: tuple(i for i in range(g) if x[i] in E[i]) + F={x:flags(x) for x in pts} + val={x:X[x] for x in pts} + moves=[0]; passes_info=[] + def riffle(rows): # rows: list of lists (row-major block as R rows of C items) -> column-major list ; returns (list, passes) + R=len(rows) + if R==1: return rows[0][:],0 + r1=(R+1)//2; top,pt=riffle(rows[:r1]); bot,pb=riffle(rows[r1:]); r2=R-r1; C=len(rows[0]); out=[] + for c in range(C): + out.extend(top[c*r1:(c+1)*r1]); out.extend(bot[c*r2:(c+1)*r2]) + return out,1+max(pt,pb) + def unriffle(col,R,C): # inverse of riffle on column-major list -> rows + if R==1: return [col[:]] + r1=(R+1)//2; r2=R-r1; top=[];bot=[] + for c in range(C): + blk=col[c*R:(c+1)*R]; top.extend(blk[:r1]); bot.extend(blk[r1:]) + return unriffle(top,r1,C)+unriffle(bot,r2,C) + S=[x for x in pts if F[x]]; r=0; stack=[]; total=0; costs=[]; okorder=True + while S: + total+=len(S); cost=0 + tag={x:F[x][r] for x in S} + # stable LSD radix by tag, stored bits + nb=max(1,math.ceil(math.log2(g))) if g>1 else 1 + cur=S[:]; bits=[] + for b in range(nb): + zero=[x for x in cur if not (tag[x]>>b)&1]; one=[x for x in cur if (tag[x]>>b)&1] + bits.append([(tag[x]>>b)&1 for x in cur]); cur=zero+one; cost+=2*len(cur) # split + concat + # substreams + i=0; out_vals={} + while ir+1]; fin=[x for x in S if len(F[x])==r+1] + ind=[len(F[x])>r+1 for x in S]; stack.append((fin,ind)); cost+=len(S) + costs.append((len(S),cost)); S=nxt; r+=1 + # merge back LIFO + merged=[]; + for (fin,ind) in reversed(stack): + it_f=iter(fin); it_m=iter(merged); new=[] + for flag in ind: new.append(next(it_m) if flag else next(it_f)) + merged=new; total+=0 + okorder=(merged==[x for x in pts if F[x]]) + res=np.zeros_like(X) + for x,v in val.items(): res[x]=v + match=np.allclose(res,ref) + tot_cost=sum(c for _,c in costs); sumS=sum(s for s,_ in costs) + U=sum(1 for x in pts if F[x]); sumF=sum(len(F[x]) for x in pts) + return match,okorder,sumS,sumF,g*U,tot_cost,tot_cost/max(1,sumS),math.log2(g)+math.log2(max(Esizes))+1 +ok=True +for (g,L,Es,sp,seed) in [(4,6,[2,3,5,4],1,1),(5,6,[3,2,4,3,5],2,2),(3,9,[6,7,5],3,3),(6,5,[2,3,2,4,3,2],1,4),(5,7,[2,3,2,3,2],1,5),(2,12,[7,11],2,6),(7,4,[2,3,2,3,2,3,2],1,7)]: + m,o,sS,sF,gU,tc,per,lg=run(g,L,Es,sp,seed) + print('g',g,'L',L,'E',Es,'spect',sp,'| match',m,'order',o,'sum|S_r|',sS,'=sum|F|',sF,'(g|U|=%d)'%gU,'cost/sum|S_r|=%.2f vs (log g+log E+1)=%.2f'%(per,lg),flush=True) + ok&=m and o and sS==sF +print('ALL OK',ok) +assert ok +print('PASS_UNION_SCHEDULE_REVIEW') diff --git a/research/gmx-t74-borrow43-handoff/outer/sched_test.py b/research/gmx-t74-borrow43-handoff/outer/sched_test.py new file mode 100644 index 0000000000..deead8f7a9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/sched_test.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +"""Executable check of the radix-distributed sparse-union schedule (outer/UNION-SCHEDULE.md). + +Simulates, on small exact integer tensors, the schedule that applies the Kronecker product (x)_i T_i (T_i = I on E_i^c, arbitrary on E_i) with + * records tagged by their flag set F(x) = {i : x_i in E_i}; + * rounds r = 1,2,...: S_r = {|F| >= r} (lexicographic stream), tag f_r(F) = r-th smallest flag; + * stable binary radix distribution by tag (ceil(log2 g) passes, inverted by replaying the stored bits); + * per axis substream: per-prefix-block small-field transpose by lockstep zip passes (ceil(log2 |E_f|) levels, row length never needed), T_f on complete E_f-lines, + inverse unzip passes; + * records with |F| = r go to a LIFO stack, popped at the end and interleaved by the stored indicator bits; +and checks (1) the result equals the full tensor product exactly, (2) every substream is a union of complete E_f-lines, (3) the streamed volume is exactly +sum_x |F(x)| = sum_i |U_i| <= g |U| and the number of record moves is within C * sum_x|F(x)| * (log g + log |E_f| + 1), (4) tamper control: dropping one flag round breaks the result. +Prints PASS_UNION_SCHEDULE.""" +import itertools, math, random +import numpy as np + + +def ceil_log2(n): + return max(1, (n - 1).bit_length()) + + +class Moves: + n = 0 + + +def radix_distribute(recs, tags, nbits): + """stable LSD binary radix by tag; returns (stream, per-pass bit lists). Each pass = one scan splitting onto two output tapes + concatenation.""" + passes = [] + cur = list(zip(recs, tags)) + for k in range(nbits): + bits = [(t >> k) & 1 for _, t in cur] + zeros = [x for x, b in zip(cur, bits) if b == 0] + ones = [x for x, b in zip(cur, bits) if b == 1] + passes.append(bits) + cur = zeros + ones + Moves.n += len(cur) + return cur, passes + + +def radix_undo(cur, passes): + for bits in reversed(passes): + nz = len(bits) - sum(bits) + zeros, ones = iter(cur[:nz]), iter(cur[nz:]) + cur = [next(ones) if b else next(zeros) for b in bits] + Moves.n += len(cur) + return cur + + +def zip_transpose(rows): + """rows: a lists of equal length b (unknown to the routine). Returns the suffix-major order [row0_j, row1_j, ..., row(a-1)_j for j=0..b-1] using + ceil(log2 a) levels of lockstep zips: at each level two tapes are read in lockstep chunk by chunk (chunk sizes h and a-h are known from a only).""" + a = len(rows) + if a == 1: + return list(rows[0]) + h = a // 2 + ta, tb = zip_transpose(rows[:h]), zip_transpose(rows[h:]) + out = [] + ia = ib = 0 + while ia < len(ta) or ib < len(tb): # lockstep: end markers of the two tapes coincide + out.extend(ta[ia:ia + h]); ia += h + out.extend(tb[ib:ib + a - h]); ib += a - h + Moves.n += len(out) + return out + + +def zip_untranspose(seq, a): + if a == 1: + return [list(seq)] + h = a // 2 + ta, tb = [], [] + i = 0 + while i < len(seq): + ta.extend(seq[i:i + h]); i += h + tb.extend(seq[i:i + a - h]); i += a - h + Moves.n += len(seq) + return zip_untranspose(ta, h) + zip_untranspose(tb, a - h) + + +def run(g, L, esizes, seed, drop_round=None): + rnd = random.Random(seed) + rng = np.random.default_rng(seed) + E = [sorted(rnd.sample(range(L), esizes[i])) for i in range(g)] + Tm = [] + for i in range(g): + sub = rng.integers(-2, 3, (len(E[i]), len(E[i]))).astype(np.int64) + M = np.eye(L, dtype=np.int64) + M[np.ix_(E[i], E[i])] = sub + Tm.append(M) + X = rng.integers(-3, 4, (L,) * g).astype(np.int64) + ref = X.copy() + for i in range(g): + ref = np.moveaxis(np.tensordot(Tm[i], ref, axes=([1], [i])), 0, i) + assert int(np.abs(ref).max()) < 2 ** 62 + pts = list(itertools.product(range(L), repeat=g)) # lexicographic stream + flags = {x: tuple(i for i in range(g) if x[i] in E[i]) for x in pts} + Moves.n = 0 + sumF = sum(len(f) for f in flags.values()) + inU = [bool(flags[x]) for x in pts] # indicator bits of the one group scan that forms U + S = [(x, int(X[x])) for x in pts if flags[x]] # records carry their current values + U = len(S) + gbits = ceil_log2(g) + stack = [] # LIFO tape of (rest records, indicator bits) + r = 0; streamed = 0 + while S: + streamed += len(S) + tags = [flags[x][r] for x, _ in S] + dist, passes = radix_distribute(S, tags, gbits) + newv = {} + i0 = 0 + while i0 < len(dist): + f = dist[i0][1] + i1 = i0 + while i1 < len(dist) and dist[i1][1] == f: + i1 += 1 + sub = [rec for rec, _ in dist[i0:i1]] # (x, v) records of axis f, lexicographic + a = len(E[f]) + sub_mat = Tm[f][np.ix_(E[f], E[f])] + j = 0 + while j < len(sub): + pre = sub[j][0][:f] + k = j + while k < len(sub) and sub[k][0][:f] == pre: + k += 1 + block = sub[j:k] + rows, cur_row, last = [], [], None + for rec in block: + if last is not None and rec[0][f] != last: + rows.append(cur_row); cur_row = [] + cur_row.append(rec); last = rec[0][f] + rows.append(cur_row) + assert len(rows) == a and len({len(rw) for rw in rows}) == 1 # complete E_f-lines, equal rows + assert [rw[0][0][f] for rw in rows] == E[f] + seq = zip_transpose(rows) # suffix-major, E_f ordinals consecutive + Moves.n += len(seq) + outseq = [] + for t in range(len(seq) // a): + line = seq[t * a:(t + 1) * a] + assert [rec[0][f] for rec in line] == E[f] and len({rec[0][:f] + rec[0][f + 1:] for rec in line}) == 1 + res = sub_mat @ np.array([rec[1] for rec in line], dtype=np.int64) + if drop_round is not None and r == drop_round: + outseq.extend(line) + else: + outseq.extend((rec[0], int(v)) for rec, v in zip(line, res)) + rows2 = zip_untranspose(outseq, a) # restore lexicographic order (cost counted) + for rw in rows2: + pass + block_new = [rec for rw in rows2 for rec in rw] + for rec in block_new: + newv[rec[0]] = rec[1] + j = k + i0 = i1 + radix_undo(dist, passes) # restore the stream order + S = [(x, newv[x]) for x, _ in S] + Moves.n += len(S) + keep = [len(flags[x]) > r + 1 for x, _ in S] + stack.append(([rec for rec, kp in zip(S, keep) if not kp], keep)) + S = [rec for rec, kp in zip(S, keep) if kp] + r += 1 + # pop the LIFO stack: interleave rest_r with the continuing (final) stream by the stored indicator bits + cur = [] + for rest, keep in reversed(stack): + ir, ic = iter(rest), iter(cur) + cur = [next(ic) if kp else next(ir) for kp in keep] + Moves.n += len(keep) + final = iter(cur) + res = np.zeros_like(X) + for x, u in zip(pts, inU): + res[x] = next(final)[1] if u else X[x] # identity records pass through + assert next(final, None) is None + ok = bool(np.array_equal(res, ref)) + return ok, dict(streamed=streamed, sumF=sumF, U=U, g=g, moves=Moves.n, amax=max(len(e) for e in E), rounds=r) + + +def main(): + cases = [(5, 7, [2, 3, 2, 3, 2], 5), (4, 6, [2, 2, 3, 2], 11), (6, 5, [2, 2, 2, 3, 2, 2], 3), (3, 8, [3, 2, 3], 21)] + for g, L, es, seed in cases: + ok, st = run(g, L, es, seed) + assert ok, (g, L, seed) + assert st['streamed'] == st['sumF'] # streamed volume = sum|F| = sum_i |U_i| + assert st['sumF'] == sum(es[i] * L ** (g - 1) for i in range(g)) + assert st['sumF'] <= g * st['U'] + bound = 3 * st['sumF'] * (ceil_log2(g) + 2 * ceil_log2(st['amax']) + 4) + assert st['moves'] <= bound, (st, bound) + print('case g=%d L=%d: exact tensor product reproduced; sum|F|=%d = sum|U_i|; g|U|=%d (x%.2f); moves=%d <= %d; rounds=%d' % + (g, L, st['sumF'], g * st['U'], g * st['U'] / st['sumF'], st['moves'], bound, st['rounds'])) + ok, _ = run(5, 7, [2, 3, 2, 3, 2], 5, drop_round=1) # tamper: skip the second round's application + assert not ok + print('PASS_UNION_SCHEDULE') + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/outer/struct_check.py b/research/gmx-t74-borrow43-handoff/outer/struct_check.py new file mode 100644 index 0000000000..16ed027f31 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/struct_check.py @@ -0,0 +1,207 @@ +#!/usr/bin/env python3 +"""Exact check of the structured boundary-solve claims (outer/STRUCTURED-BOUNDARY.md). + +Model (exactly the reduction of the note's phase-cell matrices): within a phase cell the Gaussian matrix is K = D_r T D_c with T a banded Toeplitz matrix +(half-bandwidth W) and D_r, D_c diagonal. Boundary J = G separated W-segments, interiors of length I eliminated. The Schur complement of K onto J in coordinates +Y = D_r^-1 X D_c^-1 is the Schur complement of the plain Toeplitz T (the diagonals cancel in every Schur step; checked here exactly with rational diagonals). +Checks in exact rational arithmetic: + 1. S_Y = Schur(T onto J) equals D_r^-1 Schur(K onto J) D_c^-1 (diagonal cancellation); + 2. Stein displacement ranks rank(M - Z M Z^T) (Z = W x W down-shift) of every block of the block-tridiagonal S_Y, of every LU pivot + P_j = S_jj - S_{j,j-1} P_{j-1}^-1 S_{j-1,j} and of every P_j^-1 are bounded by a constant independent of G and of j; + 3. every such block is reconstructed EXACTLY from a rank factorisation of its displacement by the Kailath-Kung-Morf formula M = sum_k L(g_k) L(h_k)^T; + 4. the block-tridiagonal forward/back substitution performed only with these generator representations equals the dense solve (exact). +Prints PASS_STRUCTURED_BOUNDARY.""" +from fractions import Fraction as F +import random, itertools + + +def rank(M): + M = [row[:] for row in M]; r = 0 + rows, cols = len(M), len(M[0]) if M else 0 + for c in range(cols): + p = next((i for i in range(r, rows) if M[i][c] != 0), None) + if p is None: continue + M[r], M[p] = M[p], M[r] + inv = 1 / M[r][c] + for i in range(r + 1, rows): + if M[i][c] != 0: + f = M[i][c] * inv + M[i] = [a - f * b for a, b in zip(M[i], M[r])] + r += 1 + if r == rows: break + return r + + +def matmul(A, B): + Bt = list(zip(*B)) + return [[sum(a * b for a, b in zip(row, col)) for col in Bt] for row in A] + + +def inv(M): + n = len(M) + A = [row[:] + [F(int(i == j)) for j in range(n)] for i, row in enumerate(M)] + for c in range(n): + p = next(i for i in range(c, n) if A[i][c] != 0) + A[c], A[p] = A[p], A[c] + d = 1 / A[c][c] + A[c] = [x * d for x in A[c]] + for i in range(n): + if i != c and A[i][c] != 0: + f = A[i][c] + A[i] = [x - f * y for x, y in zip(A[i], A[c])] + return [row[n:] for row in A] + + +def sub(A, B): return [[a - b for a, b in zip(r1, r2)] for r1, r2 in zip(A, B)] +def add(A, B): return [[a + b for a, b in zip(r1, r2)] for r1, r2 in zip(A, B)] +def T_(A): return [list(r) for r in zip(*A)] + + +def shift_mat(W): + return [[F(int(i == j + 1)) for j in range(W)] for i in range(W)] + + +def stein(M, Z): + return sub(M, matmul(matmul(Z, M), T_(Z))) + + +def rank_factor(D): + """exact factorisation D = sum_k g_k h_k^T (columns g_k, h_k) by Gaussian elimination.""" + W = len(D); R = [row[:] for row in D]; gs, hs = [], [] + for _ in range(W): + piv = next(((i, j) for i in range(W) for j in range(W) if R[i][j] != 0), None) + if piv is None: break + i, j = piv + g = [R[a][j] / R[i][j] for a in range(W)] # column j scaled + h = R[i][:] # row i + gs.append(g); hs.append(h) + R = [[R[a][b] - g[a] * h[b] for b in range(W)] for a in range(W)] + return gs, hs + + +def lower_toeplitz(g): + W = len(g) + return [[g[i - j] if i >= j else F(0) for j in range(W)] for i in range(W)] + + +def kkm_reconstruct(gs, hs): + W = len(gs[0]) if gs else 0 + M = [[F(0)] * W for _ in range(W)] + for g, h in zip(gs, hs): + M = add(M, matmul(lower_toeplitz(g), T_(lower_toeplitz(h)))) + return M + + +def run(W, G, I, seed, perturb=False): + rnd = random.Random(seed) + N = G * (W + I) + t = {m: F(rnd.randint(1, 9), rnd.randint(2, 9)) * (F(1, 3) ** m) for m in range(W + 1)} + tn = {m: F(rnd.randint(1, 9), rnd.randint(2, 9)) * (F(1, 3) ** m) for m in range(W + 1)} # nonsymmetric lower part + t[0] = F(5) + T = [[(t[k - i] if k >= i else tn[i - k]) if abs(i - k) <= W else F(0) for k in range(N)] for i in range(N)] + if perturb: # control: destroy the Toeplitz structure with independent dense band entries + T = [[T[i][k] + (F(rnd.randint(1, 9), rnd.randint(5, 13)) * F(1, 3) ** abs(i - k) if abs(i - k) <= W else 0) for k in range(N)] for i in range(N)] + # diagonal scalings (rational) + al, be = F(3, 2), F(5, 4) + Dr = [al ** (i * i % 7) * be ** i for i in range(N)] + Dc = [(1 / al) ** ((i * i) % 5) * (F(7, 6)) ** i for i in range(N)] + K = [[Dr[i] * T[i][k] * Dc[k] for k in range(N)] for i in range(N)] + segs = [list(range(j * (W + I), j * (W + I) + W)) for j in range(G)] + J = [i for s in segs for i in s] + Iset = [i for i in range(N) if i not in set(J)] + def schur(M): + MJJ = [[M[a][b] for b in J] for a in J] + MJI = [[M[a][b] for b in Iset] for a in J] + MIJ = [[M[a][b] for b in J] for a in Iset] + MII = [[M[a][b] for b in Iset] for a in Iset] + return sub(MJJ, matmul(matmul(MJI, inv(MII)), MIJ)) + SK, ST = schur(K), schur(T) + # 1. diagonal cancellation: S_Y = Dr^-1 SK Dc^-1 = ST + for a, ia in enumerate(J): + for b, ib in enumerate(J): + assert SK[a][b] / (Dr[ia] * Dc[ib]) == ST[a][b] + blk = lambda M, p, q: [[M[p * W + a][q * W + b] for b in range(W)] for a in range(W)] + Z = shift_mat(W) + ranks = {'diag': [], 'sub': [], 'sup': [], 'pivot': [], 'pivot_inv': []} + S = {(p, q): blk(ST, p, q) for p in range(G) for q in range(G)} + gens = {} + def represent(name, M): + D = stein(M, Z); gs, hs = rank_factor(D) + assert kkm_reconstruct(gs, hs) == M if gs else all(x == 0 for r in M for x in r), name + ranks[name].append(len(gs)); return (gs, hs) + P = [] + for j in range(G): + represent('diag', S[(j, j)]) + if j: + represent('sub', S[(j, j - 1)]); represent('sup', S[(j - 1, j)]) + Pj = S[(j, j)] if j == 0 else sub(S[(j, j)], matmul(matmul(S[(j, j - 1)], inv(P[j - 1])), S[(j - 1, j)])) + P.append(Pj) + represent('pivot', Pj); represent('pivot_inv', inv(Pj)) + return ranks, S, P, G, W + + +def structured_solve_equals_dense(W, G, I, seed): + """Block-tridiagonal Schur complement S of a banded Toeplitz with separators W has zero blocks beyond the first off-diagonal + only if interiors are eliminated; here all interior eliminations are exact, so tridiagonality is a consequence checked by the solve.""" + ranks, S, P, G, W = run(W, G, I, seed) + # assemble block-tridiagonal part and compare with the full S on tridiagonal support + n = G * W + rnd = random.Random(seed + 1) + y = [F(rnd.randint(-9, 9)) for _ in range(n)] + # structured forward/back substitution using generator representations only + def apply(M, v): # M v via KKM generators (two lower-triangular Toeplitz products per generator) + D = stein(M, shift_mat(W)); gs, hs = rank_factor(D) + out = [F(0)] * W + for g, h in zip(gs, hs): + w = matmul(T_(lower_toeplitz(h)), [[x] for x in v]) # L(h)^T v (a Toeplitz convolution) + u = matmul(lower_toeplitz(g), w) # L(g) (L(h)^T v) + out = [a + b[0] for a, b in zip(out, u)] + return out + ys = [y[j * W:(j + 1) * W] for j in range(G)] + z = [] + for j in range(G): + rhs = ys[j] if j == 0 else [a - b for a, b in zip(ys[j], apply(S[(j, j - 1)], z[j - 1]))] + z.append(apply(inv(P[j]), rhs)) + x = [None] * G + x[G - 1] = z[G - 1] + for j in range(G - 2, -1, -1): + x[j] = [a - b for a, b in zip(z[j], apply(inv(P[j]), apply(S[(j, j + 1)], x[j + 1])))] + # dense solve of the block tridiagonal matrix + Tm = [[F(0)] * n for _ in range(n)] + for p in range(G): + for q in range(max(0, p - 1), min(G, p + 2)): + for a in range(W): + for b in range(W): + Tm[p * W + a][q * W + b] = S[(p, q)][a][b] + xd = matmul(inv(Tm), [[v] for v in y]) + assert [v for blk in x for v in blk] == [r[0] for r in xd] + return ranks + + +def main(): + worst = 0 + flat = {} + for (W, G, I, seed) in [(3, 3, 9, 1), (3, 5, 9, 2), (4, 4, 12, 3), (3, 6, 9, 4), (5, 3, 15, 5)]: + r = structured_solve_equals_dense(W, G, I, seed) + mx = {k: max(v) for k, v in r.items()} + worst = max(worst, max(mx.values())) + flat[(W, G)] = mx + print('W=%d G=%d I=%d: max Stein displacement ranks %s -- structured solve == dense solve (exact)' % (W, G, I, mx)) + assert worst <= 4, worst # observed bound; the proved constant (STRUCTURED-BOUNDARY.md) is c0 = 14 + # independence of G: ranks at G=3 and G=6 for W=3 do not grow + assert max(flat[(3, 6)].values()) <= max(flat[(3, 3)].values()) + 1 + # control: a dense non-Toeplitz perturbation of the band must raise the displacement ranks above the Toeplitz bound + pr, _, _, _, _ = run(6, 3, 12, 7, perturb=True) + tr, _, _, _, _ = run(6, 3, 12, 7) + assert max(max(v) for v in tr.values()) <= 4 and max(pr['pivot']) >= 6 and max(pr['diag']) >= 6, (tr, pr) + print('control: Toeplitz W=6 max rank %d; non-Toeplitz perturbation raises pivot/diag rank to %d/%d (full)' % (max(max(v) for v in tr.values()), max(pr['pivot']), max(pr['diag']))) + # tamper control: perturb one pivot entry, KKM reconstruction from the original generators must fail + ranks, S, P, G, W = run(3, 3, 9, 1) + M = P[1]; gs, hs = rank_factor(stein(M, shift_mat(W))) + M2 = [row[:] for row in M]; M2[0][0] += F(1, 7) + assert kkm_reconstruct(gs, hs) != M2 + print('PASS_STRUCTURED_BOUNDARY (max rank %d)' % worst) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/reconstruct.py b/research/gmx-t74-borrow43-handoff/reconstruct.py new file mode 100644 index 0000000000..186fb5ef8d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/reconstruct.py @@ -0,0 +1,59 @@ +"""Borrow-word owner witness: literal verification of the shipped exact fill (new/borrow-fill/FILL.json.gz) and emission of +OWNERS/ORDER/DISPATCH/PROFILE/RESULT for lift_parent.py. The helper count per call is R' = 480-k and the per-call widths come from +new/BORROW-PROVIDERS.json; the same windows, bins and distinct-family rules as the pinned PR1297 owner construction are checked +literally (no window, bin, helper or family rule is relaxed). Idle remainders are whatever the exact bins leave (ranks priced +exactly by the profile). The fill itself is found offline by new/borrow-fill/solve_fill.py (not rerun here) and only verified. +""" +import argparse,collections,gzip,importlib.util,json +from pathlib import Path +assert __debug__, 'Assertions are required' +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);args=ap.parse_args();P=args.out.resolve();P.mkdir(parents=True,exist_ok=False) +def read(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,x): + b=json.dumps(x,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +plan=read(F/'inputs/PLAN.json');parent=read(F/'inputs/GLOBAL-TEMPLATE.json.gz');T=plan['T'] +OF=F/'new/borrow-fill/ORDER.json' +if OF.exists(): # a free complete invocation order (666 calls; windows are recomputed from it below) with its explicit dispatch + order=read(OF);dispatch={(s,r):pid for s,r,pid in read(F/'new/borrow-fill/DISPATCH.json')} + assert sorted(map(tuple,order))==sorted((s,r+T*g) for s,r in plan['order'] for g in range(2)),'order must be a permutation of the pinned complete calls' +else: + order=[[s,r+T*g] for s,r in plan['order'] for g in range(2)] + dispatch={(s,r+T*g):pid for s,r,pid in read(F/'inputs/DISPATCH.json') for g in range(2)} +source=F/'vendor/build_parent.py';sp=importlib.util.spec_from_file_location('windows',source);mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod);windows,schedule=mod.actual_windows(parent,order) +prov=read(F/'new/BORROW-PROVIDERS.json');widths={p:d['widths'] for p,d in prov.items()};paid={p:{int(k):v for k,v in d['actual_paid_profile'].items()} for p,d in prov.items()} +R=len(next(iter(widths.values())));assert all(len(w)==R for w in widths.values()) and set(widths)==set(dispatch.values()) +fill=read(F/'new/borrow-fill/FILL.json.gz');assert fill['columns']==['time','helper','owner_replica','child','port','offset'] +for s_,r_,p_ in fill['dispatch_overrides']:dispatch[s_,r_]=p_ # the single gauge44->extra provider upgrade of the pinned fill +pairs,sides=plan['pairs'],plan['sides'] +at={tuple(x):i for i,x in enumerate(order)} +roles=[] +for time,helper,rep,child,port,offset in fill['rows']: + stage,replica=order[time];w=widths[dispatch[stage,replica]][helper] + roles.append(dict(stage=stage,replica=replica,time=time,helper=helper,width=w,owner_replica=rep,child=child,port=port,offset=offset,copy=112*rep+port,family=rep*896+(2*pairs[str(child)]+sides[str(child)])*112+port)) +assert len(roles)==len(order)*R,(len(roles),len(order)*R) +helpers=collections.defaultdict(set);fams=collections.defaultdict(set);used=collections.defaultdict(set) +for z in roles: + call=(z['stage'],z['replica']);rep,child,port=z['owner_replica'],z['child'],z['port'] + cap,allowed=windows[f'{rep},{child}'] + assert z['time'] in allowed and 0<=port<112 and 0<=z['helper']=0 and z['offset']+z['width']<=cap and not used[rep,child,port]&cells + used[rep,child,port]|=cells +assert set(helpers)==set(map(tuple,order)) and all(s==set(range(R)) for s in helpers.values()) +idle=collections.Counter() +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(',')) + for port in range(112): + c=used[r,ch,port];assert c==set(range(len(c))),'gap in pending prefix' + if cap-len(c):idle[cap-len(c)]+=1 +H=collections.Counter(idle) +for sr in order: + for r,n in paid[dispatch[tuple(sr)]].items():H[int(r)]+=n +assert 73*plan['live']*2-sum(r*n for r,n in H.items())==2*plan['deficit'],'rank-mass deficit' +roles.sort(key=lambda r:(r['time'],r['helper'])) +dump(P/'OWNERS.json.gz',roles);dump(P/'ORDER.json',order);dump(P/'DISPATCH.json',[[s,r,dispatch[s,r]] for s,r in order]);dump(P/'PROFILE.json',dict(sorted(H.items()))) +dump(P/'RESULT.json',dict(status='PASS_EXACT_BORROW_WORD_T74_OWNER_FILL',roles=len(roles),helpers_per_call=R,dispatch=dict(collections.Counter(dispatch.values())),idle=dict(sorted(idle.items())),scope='Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.')) +print('PASS_OWNER_VERIFY',dict(idle),dict(sorted(H.items())),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/replay.py b/research/gmx-t74-borrow43-handoff/replay.py new file mode 100644 index 0000000000..1805c18403 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/replay.py @@ -0,0 +1,32 @@ +import argparse,json,hashlib,os,shutil,subprocess,sys,time,collections +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent;R=F/'owner37-round44';S=R/'source/research/r480-owner-optimum';N=F/'joint1148-round45';B=F/'demotions1148-round43/baseline-replay';ROOT=N/'source' +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +ap=argparse.ArgumentParser();ap.add_argument('--data',type=Path,required=True);ap.add_argument('--work',type=Path,required=True);ap.add_argument('--discover',action='store_true');ap.add_argument('--local',type=Path);a=ap.parse_args();data=a.data.resolve();work=a.work.resolve();assert not work.exists();work.mkdir();local=a.local.resolve() if a.local else B/'native/local';code=P/'code';upstream=ROOT/'research/complex-k492-owner-repair/vendor/multicold' +for rel,h in rd(S/'vendor/pr1074/UPSTREAM-PINS.json').items():assert sha(ROOT/rel)==h,rel +assert rd(B/'RESULT.json')['status']=='PASS_THREE_DEMOTIONS_COMPLETE_ADMISSION' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(upstream),GAIN_PR564_SOURCE=str(upstream)) +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +runtime=work/'runtime';(runtime/'data').mkdir(parents=True);shutil.copytree(S/'vendor/pr1074/construction',runtime/'construction');shutil.copy2(data/'SPEC.json',runtime/'data/SPEC.json');spec=runtime/'data/SPEC.json';env['WITNESS_SPEC']=str(spec) +if a.discover:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +parent=work/'parent';shutil.copytree(B/'parent/t16/parent558',parent);shutil.copy2(data/'GLOBAL-TEMPLATE.json.gz',parent/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz');stages=[] +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(upstream/'code/run_portable.py'),str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,seconds=time.monotonic()-t,exit_code=r.returncode,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +g=work/'global' +run('bind',code/'bind_providers_portable.py','--baseline',parent,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--plan',data/'PLAN.json','--out',g) +run('emit',P/'audit_fast.py',code/'emit_allcold.py','--base',g/'base','--owners',data/'OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') +run('audit',P/'audit_fast.py',code/'audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('invoice',code/'invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',upstream/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly',code/'assemble.py',upstream,g,work/'ASSEMBLY.json') +if a.discover: + run('freeze',P/'freeze_spec.py','--spec',spec,'--discovery',work);shutil.copy2(spec,data/'SPEC.json') +else: + for name,script,filename in [('admission','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit','bit_supplier_controls.py','BIT-CONTROLS.json')]:run(name,code/script,'--source-package',upstream,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',work/filename) +plan=rd(data/'PLAN.json') +run('independent',P/'audit_mixed.py','--parent',B/'parent/t16/global8/base/split-centres/GLOBAL-TEMPLATE.json.gz','--data',data,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--out',work/'INDEPENDENT.json') +asm=rd(work/'ASSEMBLY.json');ind=rd(work/'INDEPENDENT.json');inv=rd(g/'audit/PREFIX-AND-INVOICE.json');assert ind['profile']==asm['complex_profile']==plan['profile'];assert ind['prefix_bits']==inv['global_prefix_bits'], with substantial +OpenAI Codex assistance. New work is under Apache-2.0. + +The fixed local supplier is Jeremy Kothe's seven-slot k8 word in PR1074, +commit `052afc128954f7b6a2b3c409eb4d72248e4020f2`. The seven-slot step comes +from PR1018 and credits Rohan Arun's PR987 search. The earlier local word and +its scalar, frame, phase, and source-access construction retain all notices +in `vendor/pr1074/NOTICE.md` and `vendor/pr1074/UPSTREAM-NOTICE.md`. +This package does not claim authorship of those local changes. + +The signed bin prices come from Chafik Boukhalfa's PR795. The proof method +builds on the PR890/PR942 owner bounds and the prior all-replica T37 theorem. +The new right-hand side, exact attaining flow, and complete R480 owner map +are specific to the changed seven-slot inventory. The old theorem did not +cover this word. + +The T16 source-event routines are by Hao Yan (@FanPUYen). Their source notice +is kept in `vendor/pr1074/t16/NOTICE.md` and their source headers. The derived +independent owner checker comes from `research/complex-t21-owners` at the +exact repository base. `INDEPENDENT-DERIVATION.patch` records its changes. + +The global admission code comes from the exact PR1074 package. Its sources +and notices are retained. `CODE-DERIVATION.patch` records all changes needed +for 37 replicas and the 1024-bit complex prefix allowance. The arithmetic +engines and full PR589 bit supplier are unchanged and source-pinned. + +PR1034 proved a mixed bound for 71 older catalogue entries and excluded +R480. PR1069 independently checked the rank-mass identity for recent claims. +These contributions informed the scope and cost audit. Neither admits the +new physical owner map by itself. + +The concurrent mutable-leaver sprint worker rebuilt the unchanged local k8 +and seven-slot chains, including their scalar and phase checks. This package +retains that source-bound evidence. It does not use the worker's new local +word experiments. No predecessor notice, license, or AI disclosure is replaced +by this notice. + +Josie Elliston's PR1091 independently checked fifteen T16 owner maps and +made the disjoint-pending-axis obligation explicit. The independent T37 +audit includes that check and a targeted negative control. Rohan Arun's +PR1094 gives a later same-word T16 repack. Jeremy Kothe's PR1117 changes +the local word; it is a concurrent comparison outside the proved inventory. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json new file mode 100644 index 0000000000..66b55be3b9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json @@ -0,0 +1,118 @@ +{ + "status": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "kappa": "13414839829209/8000000000000000", + "kappa_decimal": "0.001676854978651125", + "parent_geometry_reuse": true, + "base_native_reuse": true, + "extra_native_reuse": true, + "kernel_controls": 24, + "inherited_kernel543_controls": 12, + "flow_controls": 8, + "fusion_controls": 20, + "x54_controls": 8, + "leaver_premise_words": 2, + "admission_controls": 114, + "bit_controls": 12, + "controller_controls": 15, + "independent_owner_controls": 8, + "outer_inequalities": 47, + "stages": [ + { + "name": "literal-word-base", + "exit_code": 0, + "seconds": 0.07573141597094946, + "log_sha256": "83fec10f50d9b15386b8ed790bfeeeb720eb53a971f2f521b388a930f5ebd0ee" + }, + { + "name": "literal-word-extra", + "exit_code": 0, + "seconds": 0.07530799999949522, + "log_sha256": "83fec10f50d9b15386b8ed790bfeeeb720eb53a971f2f521b388a930f5ebd0ee" + }, + { + "name": "independent-local-base", + "exit_code": 0, + "seconds": 0.6283237079915125, + "log_sha256": "71d540d9eea2b17c76572e2958ce6578d3d647528fae2054bd8795fbc7af41ef" + }, + { + "name": "fusion-controls-base", + "exit_code": 0, + "seconds": 4.117706749995705, + "log_sha256": "79355b0e2f6aa7b320be93fc31ac08ac649ea542b41b18164e168f4aca8b76e1" + }, + { + "name": "x54-controls-base", + "exit_code": 0, + "seconds": 1.8414449999982025, + "log_sha256": "9158bf0939624705fe7b7812143f92f38c0a099208c996fe82c45396227d741b" + }, + { + "name": "kernel543-controls-base", + "exit_code": 0, + "seconds": 2.167166457977146, + "log_sha256": "9fc045b637a62407475f14d8bc208de5991764461b62455ca5820d9b9955139f" + }, + { + "name": "kernel-controls-base", + "exit_code": 0, + "seconds": 3.571463207976194, + "log_sha256": "3f4dca57215aed078ee412568d007e3d13427a35fd7759ffc7c6d331734affd0" + }, + { + "name": "leaver-premise-base", + "exit_code": 0, + "seconds": 0.5805924579908606, + "log_sha256": "f8f2158eebacaa7ce92069edd23aa2e77408b74a1959ece4e617b6eb5bbf710c" + }, + { + "name": "independent-local-extra", + "exit_code": 0, + "seconds": 0.6337401250202674, + "log_sha256": "d13345ee637d8da1b6e04cb4282a12d23e3089227536a05ecc6a6d21f452ee64" + }, + { + "name": "fusion-controls-extra", + "exit_code": 0, + "seconds": 4.050313125015236, + "log_sha256": "79355b0e2f6aa7b320be93fc31ac08ac649ea542b41b18164e168f4aca8b76e1" + }, + { + "name": "x54-controls-extra", + "exit_code": 0, + "seconds": 1.7692360829969402, + "log_sha256": "9158bf0939624705fe7b7812143f92f38c0a099208c996fe82c45396227d741b" + }, + { + "name": "kernel543-controls-extra", + "exit_code": 0, + "seconds": 2.1309113340103067, + "log_sha256": "9fc045b637a62407475f14d8bc208de5991764461b62455ca5820d9b9955139f" + }, + { + "name": "kernel-controls-extra", + "exit_code": 0, + "seconds": 3.6643420000036713, + "log_sha256": "3f4dca57215aed078ee412568d007e3d13427a35fd7759ffc7c6d331734affd0" + }, + { + "name": "leaver-premise-extra", + "exit_code": 0, + "seconds": 0.5979399170028046, + "log_sha256": "2f035786ef08573510a5cbe1a0d3797ee1293561ef569b676570d9e5a78609df" + }, + { + "name": "literal-construct", + "exit_code": 0, + "seconds": 4.632878667005571, + "log_sha256": "67815b900cd62e4080ce2544f99c8140ff97b580c8c1016b1ed8362d21079291" + }, + { + "name": "strict-global", + "exit_code": 0, + "seconds": 55.639729917020304, + "log_sha256": "108e274bee1bbece6a6f10edd28a7fb1360aed956baa294375dc21656eeae5bb" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py new file mode 100644 index 0000000000..5a39945459 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py @@ -0,0 +1,17 @@ +import argparse,collections,json,copy +from pathlib import Path +import independent_core as A +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--data',type=Path,required=True);ap.add_argument('--provider',action='append',required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();dirs={p:Path(d) for p,d in (x.split('=',1) for x in a.provider)};plan=A.read(a.data/'PLAN.json');dispatch={(s,r):p for s,r,p in A.read(a.data/'DISPATCH.json')};roles=A.read(a.data/'OWNERS.json.gz');parent=A.read(a.parent);phases=A.read(a.parent.parent.parent/'work/complex-nine-native/DATA-PHASES.json');canonical=A.read(a.parent.parent/'CANONICAL-WORD.json.gz');inventories={};words={};replays={};profiles={};prefix=[] +A.require(len(dispatch)==len(plan['order']) and set(dispatch.values())==set(dirs),'complete provider dispatch') +A.require({(c['stage'],c['replica']):c['provider'] for c in plan['provider_calls']}==dispatch,'plan dispatch binding') +for pid,d in dirs.items(): + w,r=A.read(d/'CANONICAL-WORD.json.gz'),A.read(d/'INDEPENDENT-LOCAL-REPLAY.json');A.require(r['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY','native status');A.require(r['canonical_word_sha256']==A.filehash(d/'CANONICAL-WORD.json.gz'),'word binding');A.require(set(r['local'])=={'forward','backward'},'both orientations');A.require(w['ports']==canonical['ports'],'common ports');A.require([A.basis(w['frames'][f]) for f in w['center_frames']]==[A.basis(canonical['frames'][f]) for f in canonical['center_frames']],'common ordered center frames');A.EXPECTED_WIDTHS=collections.Counter(plan['provider_registry'][pid]['widths']);ws,paid=A.local_inventory(w,r);A.require(ws==plan['provider_registry'][pid]['widths'],'ordered provider widths');inventories[pid]=ws;profiles[pid]=paid;words[pid]=w;replays[pid]=r;prefix.extend(x['prefix_bits_upper'] for x in r['local'].values()) +pid=next(iter(dirs));A.EXPECTED_WIDTHS=collections.Counter(inventories[pid]);A.T=plan['T'];A.EXPECTED_IDLE={int(k):v for k,v in A.read(a.data/'CONSTRUCTION.json')['idle'].items()};ctx=A.make_context(parent,phases,canonical['ports'],words[pid],replays[pid],roles);A.require(set(ctx['order'])==set(dispatch),'complete dispatch calls');ctx['call_widths']={c:inventories[p] for c,p in dispatch.items()};ctx['aggregate_paid']=collections.Counter() +for p in dispatch.values():ctx['aggregate_paid'].update(profiles[p]) +ctx.update(max_local_prefix=max(prefix),local_profiles=profiles,width_inventories={p:dict(collections.Counter(ws)) for p,ws in inventories.items()});pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles);A.require(receipt['profile']=={int(k):v for k,v in plan['profile'].items()},'aggregate profile binding');receipt['controls_rejected']=A.controls(ctx,roles) +# A wrong provider at one changed call must fail the literal width predicate. +call=next(c for c,p in dispatch.items() if p=='extra');bad=dict(ctx,call_widths=dict(ctx['call_widths']));bad['call_widths'][call]=inventories['gauge44'] +try:A.check_roles(bad,roles) +except ValueError as e:A.require(str(e)=='whole-helper residual width','wrong provider control predicate');receipt['controls_rejected'].append(dict(name='wrong_provider_at_changed_call',reason=str(e))) +else:raise ValueError('accepted incorrect provider') +receipt.update(disjoint_pending_child_axis_checks=pending,provider_counts=dict(collections.Counter(dispatch.values())),input_sha256={str(p):A.filehash(p) for p in [a.data/'PLAN.json',a.data/'DISPATCH.json',a.data/'OWNERS.json.gz',a.parent]+[d/'CANONICAL-WORD.json.gz' for d in dirs.values()]});a.out.write_text(json.dumps(receipt,indent=2)+'\n');print('PASS_INDEPENDENT_MIXED_OWNER',len(receipt['controls_rejected']),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py new file mode 100644 index 0000000000..537d4cee50 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py @@ -0,0 +1,6 @@ +"""Apply the frozen joint frame refit to the pinned PR1195 fusion word; native replay validates it.""" +import argparse,gzip,json +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--base',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w=json.loads(gzip.decompress(a.base.read_bytes()));rc=json.loads(gzip.decompress(a.recipe.read_bytes()) if a.recipe.suffix=='.gz' else a.recipe.read_bytes()) +for k,v in rc.items():assert w[k]==v['old'],k;w[k]=v['new'] +a.out.write_bytes(gzip.compress(json.dumps(w,sort_keys=True,separators=(',',':')).encode(),mtime=0));print('REBUILT_MIXED_FUSION_WORD') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py new file mode 100644 index 0000000000..7da1ab25df --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py @@ -0,0 +1,23 @@ +"""Replay PR1193's pinned integer-flow constructor against the final native interfaces. +Only filesystem configuration is supplied; all mathematical construction code is unchanged. +""" +import argparse,importlib.util,sys,json,gzip +from collections import Counter +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--word3',type=Path,required=True);ap.add_argument('--word4',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();source=P/'vendor/pr1193';sys.path.insert(0,str(source));import construct as C +C.ROOT=P/'original-main' +parent=C.read(a.parent);mix=C.read(source/'data/MIX.json');order=C.read(source/'data/ORDER.json');roles,receipt=C.construct(parent,{'demote3':C.read(a.word3),'demote4':C.read(a.word4)},C.read(source/'data/FLOW.json.gz'),order,mix) +assert roles==C.read(source/'data/OWNERS.json.gz'),'frozen owner reconstruction' +m=C.load(C.ROOT/'research/complex-t21-owners/vendor/pr870/t16/build_parent.py','windows_again');windows,_=m.actual_windows(parent,order);used=Counter() +for z in roles:used[z['owner_replica'],z['child'],z['port']]+=z['width'] +idle=Counter() +for k,(cap,ts) in windows.items(): + r,ch=map(int,k.split(',')) + for port in range(112): + rem=cap-used[r,ch,port];assert rem>=0 + if rem:idle[rem]+=1 +receipt['idle']=dict(idle);assert not a.out.exists();a.out.mkdir(parents=True);C.dump(a.out/'OWNERS.json.gz',roles);C.dump(a.out/'DISPATCH.json',[[s,r,{'demote3':'gauge44','demote4':'extra'}[pid]] for pid,s,r in mix]);C.dump(a.out/'CONSTRUCTION.json',receipt);print(receipt['status'],dict(idle),flush=True) + +import controls +flow_controls=controls.check(parent,{'demote3':C.read(a.word3),'demote4':C.read(a.word4)},a.out/'FLOW-CONTROLS.json');assert len(flow_controls['rejected'])==8;print(flow_controls['status'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py new file mode 100644 index 0000000000..78a47a5ba0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py @@ -0,0 +1,39 @@ +"""Negative controls for the two source-holder fusions, judged by the unchanged #645 audit_local.py. + +For each site the word is mutated five ways: drop the FULL-cleanup restore, drop the donation, flip the donation sign, +keep the fused target read, and drop both donation and restore. Every mutant must be rejected and the honest word must +pass. Sites (gate positions and contents) are pinned in CONTROL-SITES.json. +usage: python -B controls.py --word FULL-WORD.json.gz --out FUSION-CONTROLS.json""" +import argparse, copy, gzip, hashlib, json, subprocess, sys, tempfile +from pathlib import Path +P = Path(__file__).resolve().parent; ROOT = P.parents[1]; AUD = ROOT / 'research/gauge44-slots/independent/audit_local.py' +def audit(w, d): + p = Path(d) / 'W.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + r = subprocess.run([sys.executable, '-B', str(AUD), '--word', str(p), '--output', str(Path(d) / 'A.json')], capture_output=True, text=True) + lines = (r.stdout + r.stderr).strip().splitlines(); return r.returncode == 0, (lines[-1] if lines else '')[-160:] +def drop_cleanup(w, ci): + w['cleanup'] = w['cleanup'][:ci] + w['cleanup'][ci + 1:]; w['early_cleanup'] = [[i - 1 if i > ci else i, U] for i, U in w['early_cleanup']] +def main(): + global AUD + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--word', type=Path, required=True); ap.add_argument('--out', type=Path, required=True); ap.add_argument('--main', type=Path, required=True); ap.add_argument('--sites', type=Path, required=True); a = ap.parse_args(); AUD = a.main/'research/gauge44-slots/independent/audit_local.py' + raw = gzip.decompress(a.word.read_bytes()); spec = json.loads(a.sites.read_text()) + assert hashlib.sha256(raw).hexdigest() == spec['word_content_sha256'], 'word pin' + w0 = json.loads(raw); d = tempfile.mkdtemp(prefix='fusion-controls-'); ok, msg = audit(w0, d); assert ok, ('honest word rejected', msg) + rejected, accepted = [], [] + for s in spec['sites']: + di, ci = s['donation_B_index'], s['restore_cleanup_index'] + assert w0['B'][di][:5] == s['donation'] and w0['cleanup'][ci][:5] == s['restore'], ('site pin', s['t']) + muts = {} + w = copy.deepcopy(w0); drop_cleanup(w, ci); muts['drop_restore'] = w + w = copy.deepcopy(w0); del w['B'][di]; muts['drop_donation'] = w + w = copy.deepcopy(w0); g = w['B'][di]; w['B'][di] = g[:3] + [-g[3]] + g[4:]; muts['flip_donation_sign'] = w + w = copy.deepcopy(w0); w['B'].insert(s['fused_read_B_position'], list(s['fused_read'])); muts['keep_fused_read'] = w + w = copy.deepcopy(w0); drop_cleanup(w, ci); del w['B'][di]; muts['drop_donation_and_restore'] = w + for name, w in muts.items(): + ok, msg = audit(w, d); (accepted if ok else rejected).append(dict(control=f"{name}@{s['t']}", reason=msg)); print(('ACCEPTED ' if ok else 'rejected ') + f"{name}@{s['t']}", msg[-90:], flush=True) + a.out.write_text(json.dumps(dict(status='PASS_FUSION_NEGATIVE_CONTROLS' if not accepted else 'FAIL', honest='PASS', rejected=rejected, accepted=accepted), indent=2) + '\n') + assert not accepted and len(rejected) == 10, 'every mutant must be rejected' + print('PASS controls: honest word accepted,', len(rejected), 'mutants rejected') +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz new file mode 100644 index 0000000000..4d464f55a2 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py new file mode 100644 index 0000000000..e73c2a95c1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py @@ -0,0 +1,31 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +# 32 shared controls plus 17 provider controls, two controls per pair of distinct widths, and four spot checks per provider. +spec['expected']['assembly_controls_rejected'] = 32 + sum(17 + len(p['inventory'])*(len(p['inventory'])-1) + len(spec['width_spot_helpers']) for p in spec['providers'].values()) +from collections import Counter +spec['expected']['provider_counts'] = dict(Counter(p for s,r,p in spec['dispatch'])) +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz new file mode 100644 index 0000000000..eacf8c773c Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py new file mode 100644 index 0000000000..956b52eb1a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py @@ -0,0 +1,345 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared for haoyan with substantial OpenAI Codex assistance. +"""Independent source-event, owner, chart, and finite-reserve audit. + +This derivative fixes the R480 seven-slot k8 word and 37 replicas. It charges +1024 complex prefix bits and checks disjoint pending children on each family. +The source is Hao Yan's variable-replica checker at the pinned repository base. +SOURCES.json and INDEPENDENT-DERIVATION.patch identify that source and all edits. + +Inputs are read-only. No owner constructor or controller auditor is imported. +--word is the canonical local supplier JSON.gz, with a hash-bound native +INDEPENDENT-LOCAL-REPLAY.json beside it (override with --local-replay). +--baseline-parent is the original eight-replica GLOBAL-TEMPLATE.json.gz. +Its sibling CANONICAL-WORD.json.gz supplies the ports and centre frames. +DATA-PHASES.json defaults to ../work/complex-nine-native/DATA-PHASES.json +(override with --phases). The checker recounts local widths and paid ranks. +--out names a JSON receipt. Checks remain enabled under python -O. +""" +import argparse +import copy +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path + +V, H, M, T, R = 112, 9, 73, 37, 480 +EXPECTED_IDLE = None + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def filehash(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def basis(vectors): + pivots = {} + for x in vectors: + require(type(x) is int and 0 <= x < 1 << H, 'invalid local frame vector') + while x: + bit = x.bit_length() - 1 + if bit in pivots: + x ^= pivots[bit] + else: + pivots[bit] = x + break + for bit in sorted(pivots): + for upper in pivots: + if upper > bit and pivots[upper] >> bit & 1: + pivots[upper] ^= pivots[bit] + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def local_inventory(word, replay): + require((word['v'], word['h'], word['R']) == (V, H, R), 'local supplier dimensions') + frames = [basis(frame) for frame in word['frames']] + n = 2 * V + R + require(len(word['start']) == len(word['final']) == n, 'local frame vector lengths') + current = [frames[f] for f in word['start']] + paid = Counter() + + def climb(register, frame): + require(basis(current[register] + frame) == frame, 'nonmonotone local frame') + jump = len(frame) - len(current[register]) + if jump: + paid[jump] += 1 + current[register] = frame + + require(not word['target_levels'], 'this audit requires the current zero-level centre interface') + for section in ('A', 'B', 'tail'): + if section == 'B': + require(all(current[t] == () for t in range(V, 2 * V)), 'target centre level') + for q, frame_id in zip(word['centers'], word['center_frames']): + require(current[q] == frames[frame_id], 'centre carrier frame') + paid[len(frames[frame_id])] += 1 + for gate in word[section]: + registers = gate[1:3] if gate[0] == 'add' else gate[1:2] + require(gate[0] in ('add', 'scale'), 'unknown scalar gate') + for register in registers: + climb(register, frames[gate[-1]]) + for register, frame_id in enumerate(word['final']): + climb(register, frames[frame_id]) + require(dict(paid) == {int(r): count for r, count in word['local_profile'].items()}, 'local paid-profile recount') + for orientation in ('forward', 'backward'): + require(dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()}, 'local replay profile binding') + widths = [len(frames[word['final'][q]]) - len(frames[word['start'][q]]) for q in range(2 * V, n)] + require(Counter(widths) == EXPECTED_WIDTHS, 'current supplier width inventory') + return widths, paid + + +def make_context(parent, phases, ports, word, replay, roles): + widths, paid = local_inventory(word, replay) + require(len(parent['calls']) == 72 and {(c['stage'], c['replica']) for c in parent['calls']} == {(s, r) for s in range(9) for r in range(8)}, 'original eight-replica baseline calls') + require(len(roles) == 9 * T * R, 'complete helper role count') + address = {} + for role in roles: + key = (role['stage'], role['replica']) + time = role['time'] + require(time not in address or address[time] == key, 'inconsistent invocation time address') + address[time] = key + require(set(address) == set(range(9 * T)), 'contiguous invocation times') + order = [address[t] for t in range(9 * T)] + require(set(order) == {(s, r) for s in range(9) for r in range(T)}, 'stage/replica inventory') + # Arbitrary interleaving: the exact per-replica projection is checked below. + rank = {child['child']: child['rank'] for child in parent['idle_children']} + source = parent['execution_schedule'] + blocks, stage = {}, None + for index, event in enumerate(source): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'source event before first invocation') + blocks[stage].append((index, event)) + require(set(blocks) == set(range(9)), 'source stage inventory') + events = [(index, event, replica, time) for time, (stage, replica) in enumerate(order) for index, event in blocks[stage]] + projections = defaultdict(list) + for index, event, replica, time in events: + projections[replica].append(index) + require(set(projections) == set(range(T)) and all(p == list(range(30)) for p in projections.values()), 'per-replica source-event projection') + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, windows, callpos, child_pair, side = {}, {}, {}, {}, {} + bridges = 0 + for position, (_, event, replica, _) in enumerate(events): + kind = event['kind'] + if kind == 'local_cover_sweep': + stage = event['stage'] + callpos[stage, replica] = position + last[replica, stage_pair[stage]] = position + elif kind == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = position + bridges += 1 + elif kind == 'idle_cover_sweep': + for sd, child in enumerate(event['child_indices']): + if child in rank: + windows[replica, child] = (last.get((replica, event['pair']), -1), position) + child_pair[child], side[child] = event['pair'], sd + require(len(windows) == T * len(rank), 'actual window inventory') + require(len(ports) == V, 'port count') + bases = [] + for q in ports: + zero = next(i for i in range(H) if not (q >> i & 1)) + correction = q ^ (1 << zero) + axes = list(range(H)) + axes[0], axes[zero] = axes[zero], axes[0] + frame = [(1 << i) ^ (correction if correction >> i & 1 else 0) for i in axes] + [1 << i for i in range(H, M)] + require(all((x & y).bit_count() % 2 == int(i == j) for i, x in enumerate(frame) for j, y in enumerate(frame)), 'nonorthogonal owner basis') + bases.append(frame) + return dict(widths=widths, paid=paid, order=order, at={key:t for t,key in enumerate(order)}, rank=rank, + windows=windows, callpos=callpos, child_pair=child_pair, side=side, stage_pair=stage_pair, + bases=bases, phases=phases, bridges=bridges, event_count=len(events), replay=replay) + + +def check_pending_axes(context): + checked = 0 + for port, frame in enumerate(context['bases']): + used = defaultdict(set) + for child, rank in context['rank'].items(): + axes = list(map(int, context['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(axes) == rank and len(set(axes)) == rank and set(axes) <= set(frame), + 'pending child orthogonal basis') + family = context['child_pair'][child], context['side'][child] + require(not used[family] & set(axes), 'overlapping pending children on one family') + used[family].update(axes) + checked += 1 + return checked + + +def check_roles(context, roles): + c = context + live, physical = T * 8 * V, T * 8 * V + 8 + R + 2 + require(len(roles) == 9 * T * R, 'complete helper role count') + helpers, families, used = defaultdict(set), defaultdict(set), defaultdict(set) + charts, chart_cache = set(), {} + for z in roles: + s, r, helper = z['stage'], z['replica'], z['helper'] + owner, child, port = z['owner_replica'], z['child'], z['port'] + offset, width, family = z['offset'], z['width'], z['family'] + call = (s, r) + require(call in c['at'] and 0 <= helper < R and 0 <= owner < T and 0 <= port < V, 'role coordinates') + require(z['time'] == c['at'][call], 'role invocation time') + require(width == c['call_widths'][call][helper], 'whole-helper residual width') + require(0 <= family < live, 'private-namespace collision') + require(child in c['rank'], 'unknown idle child') + require(z['copy'] == V * owner + port and family == owner * 896 + (2 * c['child_pair'][child] + c['side'][child]) * V + port, 'physical family identity') + lo, hi = c['windows'][owner, child] + require(lo < c['callpos'][call] < hi, 'strict bridge-aware idle window') + require(family // 224 != r * 4 + c['stage_pair'][s], 'helper aliases active data pair') + require(helper not in helpers[call] and family not in families[call], 'duplicate helper or family within whole invocation') + helpers[call].add(helper) + families[call].add(family) + cells = set(range(offset, offset + width)) + bin_key = (owner, child, port) + require(offset >= 0 and offset + width <= c['rank'][child] and not used[bin_key] & cells, 'overlapping or out-of-capacity slice') + used[bin_key].update(cells) + chart_key = (port, child, offset, width) + if chart_key not in chart_cache: + frame = c['bases'][port] + pending = list(map(int, c['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(pending) == c['rank'][child], 'phase child rank') + occupied = [frame.index(x) for x in pending[offset:offset + width]] + spectators = [i for i in range(M) if i not in occupied][:H - width] + permutation = occupied + spectators + [i for i in range(M) if i not in occupied and i not in spectators] + require(len(occupied) == width and len(set(occupied + spectators)) == H and sorted(permutation) == list(range(M)), 'residual/spectator permutation') + require([frame[i] for i in permutation[:width]] == pending[offset:offset + width], 'pending-axis binding') + chart_cache[chart_key] = tuple(frame[i] for i in permutation) + charts.add(chart_cache[chart_key]) + require(set(helpers) == set(c['order']) and all(h == set(range(R)) for h in helpers.values()), 'complete per-call helper inventory') + idle = Counter() + for owner, child in c['windows']: + for port in range(V): + cells = used[owner, child, port] + require(cells == set(range(len(cells))), 'gap in pending prefix') + left = c['rank'][child] - len(cells) + if left: + idle[left] += 1 + require(dict(idle) == EXPECTED_IDLE, 'nominated idle profile') + profile = Counter(c['aggregate_paid']) + profile.update(idle) + mass = sum(rank * count for rank, count in profile.items()) + require(M * live - mass == 320*T, 'replica-scaled rank deficit') + require(c['bridges'] == 9*T, 'actual bridge count') + localbits = c['max_local_prefix'] + prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4 + group = 2 ** (36 * 36) + for i in range(1, 37): + group *= 2 ** (2 * i) - 1 + stock = group * physical + row = 2 * stock.bit_length() + 9909 + 252 + 2 * 1024 + require(prefix < 1024, 'prefix reserve') + require(row < 20161 and M * M > 2 * max(profile) ** 2, 'row or halving reserve') + return dict(status='PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW', roles=len(roles), calls=len(c['order']), + source_events_per_replica=30, expanded_replica_events=c['event_count'], bridge_events=c['bridges'], + literal_windows=len(c['windows']), checked_whole_helper_widths=len(roles), checked_busy_family_windows=len(roles), + orthogonal_port_bases=len(c['bases']), actual_73_axis_charts=len(charts), checked_slice_prefixes=len(c['windows']) * V, + local_profiles=c['local_profiles'], width_inventories=c['width_inventories'], + idle=dict(sorted(idle.items())), profile=dict(sorted(profile.items())), live=live, physical=physical, + rank_mass=mass, deficit=320*T, namespace={'data':[0,live], 'centres':[live,live+8], 'tableau':[live+8,live+8+R], 'coefficient':[live+8+R,physical]}, + local_prefix_bits=localbits, local_prefix_from_native_receipt=True, local_profile_recounted=True, + prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4), + prefix_bits=prefix, charged_prefix_bits=1024, physical_stock_bits=stock.bit_length(), + physical_row_coefficient=row, row_limit=20161, + scope='Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.') + + +def controls(context, roles): + candidates = [] + first = roles[0] + bad = dict(first, family=896*T) + candidates.append(('private_namespace_collision', [bad] + roles[1:], 'private-namespace collision')) + index = next(i for i, z in enumerate(roles) if z['replica'] >= 1) + bad = dict(roles[index], replica=roles[index]['replica'] - 1) + candidates.append(('copy_replica_alias', [bad] + roles[:index] + roles[index+1:], 'role invocation time')) + candidates.append(('missing_whole_helper', roles[1:], 'complete helper role count')) + split = dict(first, width=first['width'] - 1) + fragment = dict(first, offset=first['offset'] + first['width'] - 1, width=1) + candidates.append(('split_whole_helper', [split, fragment] + roles[1:], 'complete helper role count')) + candidates.append(('truncated_helper_width', [split] + roles[1:], 'whole-helper residual width')) + # Keep the family and chart valid, but move one complete role past its + # actual idle event. Freeze the original invocation order for controls. + crossing = None + for index, z in enumerate(roles): + lo, hi = context['windows'][z['owner_replica'], z['child']] + later = next((key for key in context['order'] if context['callpos'][key] >= hi), None) + if later is not None: + crossing = [dict(z, stage=later[0], replica=later[1], time=context['at'][later])] + roles[:index] + roles[index+1:] + break + require(crossing is not None, 'no idle-boundary control could be constructed') + candidates.append(('cross_idle_boundary', crossing, 'strict bridge-aware idle window')) + rejected = [] + for name, bad, expected in candidates: + try: + check_roles(context, bad) + except ValueError as exc: + require(str(exc) == expected, 'control rejected at unexpected predicate: ' + name) + rejected.append(dict(name=name, reason=str(exc))) + else: + raise ValueError('accepted negative control: ' + name) + bad = dict(context, phases=copy.deepcopy(context['phases'])) + pair = next((a, b) for a in context['rank'] for b in context['rank'] + if a < b and (context['child_pair'][a], context['side'][a]) == + (context['child_pair'][b], context['side'][b])) + children = bad['phases']['recipes'][0]['idle_children'] + children[pair[1]]['orthogonal_axes'][0] = children[pair[0]]['orthogonal_axes'][0] + try: + check_pending_axes(bad) + except ValueError as exc: + require(str(exc) == 'overlapping pending children on one family', + 'pending-axis control rejected at unexpected predicate') + rejected.append(dict(name='cross_child_pending_axis_alias', reason=str(exc))) + else: + raise ValueError('accepted negative control: cross_child_pending_axis_alias') + return rejected + + +def main(): + global T, EXPECTED_IDLE, EXPECTED_WIDTHS + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--baseline-parent', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + parser.add_argument('--phases', type=Path) + parser.add_argument('--local-replay', type=Path) + parser.add_argument('--out', type=Path, required=True) + parser.add_argument("--replicas", type=int, required=True) + parser.add_argument("--expected-idle", required=True) + parser.add_argument("--expected-widths", required=True) + args = parser.parse_args() + EXPECTED_WIDTHS = {int(k):v for k,v in json.loads(args.expected_widths).items()} + T = args.replicas + require(T == 37, "replica range") + EXPECTED_IDLE = {int(k): v for k,v in json.loads(args.expected_idle).items()} + phases_path = args.phases or args.baseline_parent.parent.parent / 'work/complex-nine-native/DATA-PHASES.json' + canonical_path = args.baseline_parent.parent / 'CANONICAL-WORD.json.gz' + replay_path = args.local_replay or args.word.parent / 'INDEPENDENT-LOCAL-REPLAY.json' + parent, phases, canonical, word, replay, roles = map(read, (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)) + require(replay['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'local replay status') + require(replay['canonical_word_sha256'] == filehash(args.word), 'local word/replay hash binding') + require(set(replay['local']) == {'forward', 'backward'}, 'both native prefix orientations') + require(word['ports'] == canonical['ports'], 'local/controller port interface') + require(len(word['center_frames']) == len(canonical['center_frames']) == 8, 'eight centre interfaces') + require([basis(word['frames'][f]) for f in word['center_frames']] == [basis(canonical['frames'][f]) for f in canonical['center_frames']], 'ordered centre-frame interface') + context = make_context(parent, phases, canonical['ports'], word, replay, roles) + pending = check_pending_axes(context) + receipt = check_roles(context, roles) + receipt['disjoint_pending_child_axis_checks'] = pending + receipt['controls_rejected'] = controls(context, roles) + receipt['input_sha256'] = {str(path): filehash(path) for path in (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)} + args.out.write_text(json.dumps(receipt, indent=2) + '\n', encoding='utf-8') + print(receipt['status'], 'roles=' + str(receipt['roles']), 'controls=' + str(len(receipt['controls_rejected']))) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz new file mode 100644 index 0000000000..ed6248e6b7 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz new file mode 100644 index 0000000000..fd2456fb30 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py new file mode 100644 index 0000000000..43c88b86c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py @@ -0,0 +1,20 @@ +"""Perturb the new pivot-543 donor segment and restoration, using the pinned independent rational auditor.""" +import argparse,copy,gzip,json,subprocess,sys,tempfile,hashlib +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));aud=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(seq,gate): + ids=[i for i,g in enumerate(seq) if g[:5]==gate];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'word.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(aud),'--word',str(p),'--main',str(a.main),'--output',str(d/'audit.json')],capture_output=True,text=True);return r.returncode,r.stdout+r.stderr +mutants={} +for name,gate in [('donor',['add',641,543,4,1]),('undo',['add',641,543,-4,1]),('partner',['add',367,543,-1,1])]: + i=locate(w0['B'],gate);w=copy.deepcopy(w0);del w['B'][i];mutants['drop_'+name]=w +w=copy.deepcopy(w0);i=locate(w['B'],['add',641,543,4,1]);w['B'][i][3]*=-1;mutants['flip_donor_sign']=w +ci=locate(w0['cleanup'],['add',367,543,1,1]);assert sum(i==ci for i,U in w0['early_cleanup'])==1 +w=copy.deepcopy(w0);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup'] if i!=ci];mutants['drop_restore']=w +w=copy.deepcopy(w0);w['cleanup'][ci][3]*=-1;mutants['flip_restore_sign']=w +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='kernel-controls-') as tmp: + d=Path(tmp);rc,msg=check(w0,d);assert rc==0,('honest',msg[-2000:]);rejected=[] + for name,w in mutants.items(): + rc,msg=check(w,d);assert rc!=0 and ('endpoint' in msg or 'entrance response' in msg),(name,rc,msg[-2000:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_KERNEL543_MUTATION_CONTROLS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),honest='PASS',rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py new file mode 100644 index 0000000000..a5ab27352d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py @@ -0,0 +1,23 @@ +"""Perturb each new donor, cancellation and restoration; reject with the retained full rational auditor.""" +import argparse,copy,gzip,json,subprocess,sys,tempfile,hashlib +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));aud=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(seq,gate): + ids=[i for i,g in enumerate(seq) if g[:5]==gate[:5]];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'word.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(aud),'--word',str(p),'--main',str(a.main),'--output',str(d/'audit.json')],capture_output=True,text=True);return r.returncode,r.stdout+r.stderr +mutants={} +for c in json.loads((P/'COMPOSITION.json').read_text())['chosen']: + q=c['pivot'];ed=c['ed'];gates=[g for i,g in ed['insert']];assert len(gates)==3 + for name,gate in zip(['donor','undo','partner'],gates): + i=locate(w0['B'],gate);w=copy.deepcopy(w0);del w['B'][i];mutants[f'drop_{name}@{q}']=w + w=copy.deepcopy(w0);i=locate(w['B'],gates[0]);w['B'][i][3]*=-1;mutants[f'flip_donor_sign@{q}']=w + ci=locate(w0['cleanup'],ed['tail'][0][1]);assert sum(i==ci for i,U in w0['early_cleanup'])==1 + w=copy.deepcopy(w0);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup'] if i!=ci];mutants[f'drop_restore@{q}']=w + w=copy.deepcopy(w0);w['cleanup'][ci][3]*=-1;mutants[f'flip_restore_sign@{q}']=w +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='kernel-controls-') as tmp: + d=Path(tmp);rc,msg=check(w0,d);assert rc==0,('honest',msg[-2000:]);rejected=[] + for name,w in mutants.items(): + rc,msg=check(w,d);assert rc!=0 and ('endpoint' in msg or 'entrance response' in msg),(name,rc,msg[-2000:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_NEW_COLD_KERNEL_MUTATION_CONTROLS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),honest='PASS',rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py new file mode 100644 index 0000000000..bd9e28bd2d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py @@ -0,0 +1,281 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 Hao Yan (@FanPUYen) +"""Lift the PR741 controller and PR799 provider plan to sixteen replicas. + +Authored with OpenAI Codex assistance. Precursor credit: the PR514/PR484/PR507 +controller lineage, PR558/PR589 admission, Chafik Boukhalfa's PR741 frames +and owner map, and Jeremy Kothe's PR799 paired-read-exchange provider. +This script changes only the global replica namespace and the nominated owner +map; it reuses the exact local programs and exact data-phase recipes. +""" +import argparse +import copy +import gzip +import hashlib +import json +from collections import Counter +from pathlib import Path + +SOURCE_PLAN_SHA256 = '5f40e7ccfca61f298539b4f41286d2a9d62caf947057f9cec82aa53f73f707fd' +SOURCE_OWNERS_SHA256 = '99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082' + + +def require(condition, reason): + if not condition: + raise ValueError(reason) + + +def read(path): + raw = Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def portable_gzip(raw): + compressed = bytearray(gzip.compress(raw, mtime=0)) + compressed[9] = 255 # RFC1952 OS=unknown, independent of zlib/Python platform. + return bytes(compressed) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def content_sha(value): + return hashlib.sha256(canonical(value)).hexdigest() + + +def lift_parent(source, copies=2): + """A direct sum of bank/data stocks; erased private streams are shared. + + copies=1 is deliberately the identity, byte-for-byte after canonicalization. + The helper routes retain replica lanes 0..7 in each *separate* bank group. + No axis index is inferred from the new global replica label 8..15. + """ + require(type(copies) is int and copies in (1, 2), 'only identity or T16 lift') + t = copy.deepcopy(source) + if copies == 1: + return t + require(source['m'] == 73, 'source dimension') + require(len(source['calls']) == 72, 'source calls') + data = 8*8*112 + bank_stock = source['live'] - data + private_stock = source['physical'] - source['live'] + require((bank_stock, private_stock) == (9*504, 504+8+2), 'source namespace') + require({(c['stage'], c['replica']) for c in source['calls']} == + {(s, r) for s in range(9) for r in range(8)}, 'source coverage') + new_data = copies*data + new_live = copies*source['live'] + new_physical = new_live + private_stock + t['calls'] = [] + for c in source['calls']: + for group in range(copies): + new = copy.deepcopy(c) + new['replica'] = c['replica'] + 8*group + owners = [] + for family, route in c['owners']: + require(0 <= family < source['live'], 'owner outside live stock') + mapped = (family + data*group if family < data else + new_data + group*bank_stock + family - data) + owners.append([mapped, copy.deepcopy(route)]) + new['owners'] = owners + t['calls'].append(new) + # Every data/idle recipe is a portwise direct sum, hence only multiplicity + # changes. Its local axis labels and exact phase words stay unchanged. + for child in t['idle_children']: + require(child['replicas'] == 8, 'source idle multiplicity') + child['replicas'] *= copies + for event in t['execution_schedule']: + if 'replicas' in event: + require(event['replicas'] == list(range(8)), 'source sweep replicas') + event['replicas'] = list(range(8*copies)) + if event['kind'] == 'bank_padding_cover_sweep': + event['families'] = [new_data, new_live] + elif event['kind'] == 'translate_every_live_family': + event['families'] = [0, new_live] + event['charged_calls_per_cover'] = new_live + t['bank_padding']['families'] = [] + t['bank_padding']['children'] = [] + for group in range(copies): + for family in source['bank_padding']['families']: + t['bank_padding']['families'].append(new_data + group*bank_stock + family - data) + for child in source['bank_padding']['children']: + new = copy.deepcopy(child) + new['family'] = new_data + group*bank_stock + child['family'] - data + t['bank_padding']['children'].append(new) + t['cover_final_correction'].update(families=[0, new_live], charged_calls_per_cover=new_live) + t['private_namespace'] = { + key: [new_live + x - source['live'] for x in interval] + for key, interval in source['private_namespace'].items() + } + t.update(live=new_live, physical=new_physical, + version='t16-direct-sum-two-bank-groups-parent-v1') + t['route_semantics']['helper'] = ( + 'Two independent groups of nine dedicated banks. Group floor(replica/8) ' + 'selects the bank namespace; the stored original helper route retains ' + 'lane replica%8. All original residual/spectator axes are unchanged.') + t['loop_order'] = ( + 'For each recipe phase: the explicit calls order, then every cover class d; ' + 'each local invocation completes before the next. Each original replica ' + 'has a disjoint data and bank namespace in its group; private erased ' + 'streams are reused between completed calls.') + t['replica_lift'] = dict( + source_template_content_sha256=content_sha(source), groups=copies, + source_replicas=8, replicas=8*copies, data_stock=new_data, + bank_stock=copies*bank_stock, banks_per_stage=copies*504, + private_helpers=504, local_programs_content_sha256=content_sha(source['local_programs']), + construction='direct sum of data and dedicated banks; share only restored private streams', + phase_recipe_unchanged=True) + # Source data and helper owner routes are preserved literally in each copy. + for c in t['calls']: + group, replica = divmod(c['replica'], 8) + old = next(z for z in source['calls'] if (z['stage'], z['replica']) == (c['stage'], replica)) + require([r for f, r in c['owners']] == [r for f, r in old['owners']], 'route changed') + require(c['window'] == old['window'], 'local window changed') + require(len({f for f, r in c['owners']}) == len(c['owners']), 'per-call owner alias') + require(t['local_programs'] == source['local_programs'], 'program changed') + require(t['recipe'] == source['recipe'], 'data recipe changed') + require(len(t['bank_padding']['children']) == copies*bank_stock, 'bank padding count') + require(t['physical'] == t['live']+514, 'private namespace size') + return t + + +def expanded_schedule(parent, order): + blocks = {} + globals_ = [] + stage = None + for index, event in enumerate(parent['execution_schedule']): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + globals_.append((index, event)) + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'event precedes first stage') + blocks[stage].append((index, event)) + schedule = [] + for time, (stage, replica) in enumerate(order): + for index, event in blocks[stage]: + new = copy.deepcopy(event) + new.update(source_event=index, replica=replica, replicas=[replica], time=time) + schedule.append(new) + for index, event in globals_: + schedule.append(dict(event, source_event=index)) + return schedule + + +def actual_windows(parent, order): + ranks = {c['child']: c['rank'] for c in parent['idle_children']} + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, intervals, callpos, perrep = {}, {}, {}, {} + schedule = expanded_schedule(parent, order) + for pos, event in enumerate(schedule): + if 'replica' not in event: + continue + replica = event['replica'] + perrep.setdefault(replica, []).append(event['source_event']) + if event['kind'] == 'local_cover_sweep': + last[replica, stage_pair[event['stage']]] = pos + callpos[event['time']] = pos + elif event['kind'] == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = pos + elif event['kind'] == 'idle_cover_sweep': + for child in event['child_indices']: + if child in ranks: + intervals[replica, child] = (last.get((replica, event['pair']), -1), pos) + require(all(events == list(range(30)) for events in perrep.values()), 'per-replica projection') + require([e['source_event'] for e in schedule if 'replica' not in e] == [30, 31], 'global tail') + require(set(callpos) == set(range(len(order))), 'complete schedule') + windows = {f'{replica},{child}': [ranks[child], [time for time, pos in sorted(callpos.items()) if start < pos < stop]] + for (replica, child), (start, stop) in intervals.items()} + return windows, schedule + + +def lift_plan(source, parent, owners, source_plan_sha, source_owners_sha, owners_sha): + p = copy.deepcopy(source) + require(source['T'] == 8 and len(source['order']) == 72, 'source plan dimensions') + order = [[stage, replica + 8*group] for stage, replica in source['order'] for group in range(2)] + windows, schedule = actual_windows(parent, order) + # These windows are recomputed from actual source-event touches, not copied + # from the old nomination. Their T8 restriction must recover the old plan. + rank = Counter({int(k): 2*v for k, v in source['profile'].items()}) + rank.update({48: 1, 44: -1, 3: -2, 2: 1}) + rank = +rank + p.update(status='FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION', + mode='gauge44-all144-t16-idle-concentration', T=16, live=14336, + deficit=5120, profile=dict(sorted(rank.items())), order=order, windows=windows, + solver_status='explicit two-role augmenting path and two-bin recombination', gap=None, + source_plan_sha256=source_plan_sha, source_owners_sha256=source_owners_sha, + assignment_sha256=owners_sha, assignment_content_sha256=content_sha(owners)) + for field in ('provider_calls', 'per_call_widths'): + p[field] = [] + for old in source[field]: + for group in range(2): + new = copy.deepcopy(old) + new['replica'] += 8*group + if 'time' in new: + new['time'] = 2*old['time']+group + p[field].append(new) + at = {tuple(x): i for i, x in enumerate(order)} + for field in ('provider_calls', 'per_call_widths'): + p[field].sort(key=lambda c: at[c['stage'], c['replica']]) + p['replica_lift'] = dict(groups=2, source_replicas=8, replicas=16, + parent_template_content_sha256=content_sha(parent), owners_file_sha256=owners_sha, + window_semantics='strict physical source-event touch intervals, including bridges', + schedule_content_sha256=content_sha(schedule)) + require(len(owners) == 144*504, 'owner role count') + for role in owners: + require(role['time'] == at[role['stage'], role['replica']], 'role call time') + require(role['time'] in windows[f"{role['owner_replica']},{role['child']}"][1], + 'owner outside actual source-event window') + require(sum(int(k)*v for k,v in p['profile'].items()) == 73*p['live']-p['deficit'], 'rank mass') + return p, schedule + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--base', type=Path, required=True) + parser.add_argument('--source-plan', type=Path, required=True) + parser.add_argument('--source-owners', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + require(not args.out.exists(), 'output directory already exists') + require(sha(args.source_plan) == SOURCE_PLAN_SHA256, 'source plan byte pin') + require(sha(args.source_owners) == SOURCE_OWNERS_SHA256, 'source owners byte pin') + source_path = args.base/'split-centres/GLOBAL-TEMPLATE.json.gz' + source = read(source_path) + original_plan = read(args.source_plan) + require(lift_parent(source, 1) == source, 'T8 identity control') + require(actual_windows(source, original_plan['order'])[0] == original_plan['windows'], 'T8 source-window replay') + require(source['exact_data_phase_recipe_sha256'] == sha(args.base/'work/complex-nine-native/DATA-PHASES.json'), 'source exact data-phase binding') + parent = lift_parent(source) + owners = read(args.owners) + plan, schedule = lift_plan(original_plan, parent, owners, sha(args.source_plan), sha(args.source_owners), sha(args.owners)) + args.out.mkdir(parents=True) + (args.out/'GLOBAL-TEMPLATE.json.gz').write_bytes(portable_gzip(canonical(parent))) + (args.out/'PLAN.json').write_bytes((json.dumps(plan, indent=2)+'\n').encode('utf-8')) + receipt = dict(status='PASS_T16_DIRECT_SUM_PARENT_AND_LITERAL_SOURCE_WINDOWS', + source_template_file_sha256=sha(source_path), source_template_content_sha256=content_sha(source), + source_plan_sha256=sha(args.source_plan), source_owners_sha256=sha(args.source_owners), + owners_sha256=sha(args.owners), + parent_template_file_sha256=sha(args.out/'GLOBAL-TEMPLATE.json.gz'), + parent_template_content_sha256=content_sha(parent), plan_sha256=sha(args.out/'PLAN.json'), + T8_identity_control=True, T8_source_window_identity=True, + local_programs_identical=True, exact_data_phases_identical=True, + parent_live=parent['live'], parent_physical=parent['physical'], + bank_stock=9072, banks_per_stage=1008, private_helpers=504, + source_idle_children_charged=sum(c['replicas'] for c in parent['idle_children']), + events=len(schedule), replica_source_events=30, global_source_events=[30,31], + calls=len(plan['order']), roles=len(owners), actual_window_membership_checked=len(owners), + scope='Legal direct-sum parent namespace and actual source-event windows; full global emitter, geometry, finite invoice, and recurrence admission remain separate checks.') + (args.out/'PARENT-LIFT-RECEIPT.json').write_bytes((json.dumps(receipt, indent=2)+'\n').encode('utf-8')) + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json new file mode 100644 index 0000000000..cd23561e0b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json @@ -0,0 +1,2826 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "01-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 69 + ], + "y1": [ + "target", + 68 + ], + "y2": [ + "target", + 37 + ], + "y3": [ + "target", + 36 + ], + "y4": [ + "target", + 29 + ], + "y5": [ + "target", + 28 + ] + }, + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ], + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 66 + ], + "y1": [ + "target", + 70 + ], + "y2": [ + "target", + 101 + ], + "y3": [ + "target", + 100 + ], + "y4": [ + "target", + 93 + ], + "y5": [ + "target", + 92 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 34 + ], + "y1": [ + "target", + 38 + ], + "y2": [ + "target", + 98 + ], + "y3": [ + "target", + 102 + ], + "y4": [ + "target", + 61 + ], + "y5": [ + "target", + 60 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + } +] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json new file mode 100644 index 0000000000..e3bb24cc49 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json @@ -0,0 +1,590 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + }, + { + "p": [ + 0, + 1 + ], + "e": -1, + "reads": [ + [ + 61, + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + [ + 60, + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + [ + 29, + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + [ + 28, + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + [ + 21, + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + [ + 20, + [ + 0, + 1, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 5 + }, + { + "p": [ + 2, + 3 + ], + "e": -1, + "reads": [ + [ + 58, + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + [ + 62, + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + [ + 93, + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + [ + 92, + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + [ + 85, + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + [ + 84, + [ + 2, + 3, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 6 + }, + { + "p": [ + 4, + 5 + ], + "e": -1, + "reads": [ + [ + 26, + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + [ + 30, + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + [ + 90, + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + [ + 94, + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + [ + 53, + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + [ + 52, + [ + 4, + 5, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 7 + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py new file mode 100644 index 0000000000..98efec187d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 +"""premise_check.py WORD : PR1049's independent checks on a NEW word -- literal location of all eight coded cells, the leaver +premise (no post-cell touch, no early-tail touch, FULL-cleanup restoration, not a centre/entering/low-ended register), +the exact all-column endpoint, and the frame/profile recount. verify_1049.py is PR1049's verify.py, unchanged; its two +coded-cell inputs are copied byte-for-byte (sha256-pinned inside it).""" +import gzip, json, sys +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import verify_1049 as V +w = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())) +cells = V.read_pinned('CODED-CELLS-k8.json'); tri = V.read_pinned('TRI-LEAVER-k8.json') +cells = cells['cells'] if isinstance(cells, dict) and 'cells' in cells else cells +found, rep = V.audit_word(w, cells, V.cell_targets(cells, tri)) +print(json.dumps(dict(status='PASS_LEAVER_PREMISE', cells=len(found), leavers=len(rep['leavers']), + paid_profile=rep['paid_profile']))) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py new file mode 100644 index 0000000000..3e34e2c5a6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py @@ -0,0 +1,430 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared by Sagar Thakrar with substantial Anthropic Claude assistance. +"""Independent audit of the mutable-leaver all-K cells of PR1005, and of the same cells in PR1018's word. + +Standard library only. No code from the audited packages is imported; their words are read as data +(see SOURCES.json for how each pinned input was produced). The checks follow the documented +scalar/frame semantics of the gauge44 local words: + +E Endpoint. Each data column is replayed forward through precondition + A + cut + B + tail + + cleanup and must give x_t -> x_t + y_t-coordinate, i.e. x -> x, y_t -> y_t + x_t. Each helper + column is replayed through the inverse of the post-precondition program; the result must be + the unit vector plus a target-only residue. That is exactly the condition under which a + pre-main compensation y -= a*h exists. The residue must vanish for entering helpers. +F Frames. Monotone climbs over A, the centre paths, B, the early-cleanup tail and the terminal + ends. The FULL cleanup may touch only registers that end at FULL. The paid histogram must equal + the word's recorded local profile. +L Leaver cells. Each coded cell's 21 scaled gates are located literally (contiguous, in order) + in A + cut + B by unification. Each name binds to one register, the y-names bind to the cell's + six targets (TRI read indices; the coded index is t8 + 8), and the x-names bind to non-targets. + For every mutated leaver: it is not a centre, entering helper or low-ended helper. It is never + touched again in A/cut/B or the tail after its cell, and it is written later in the FULL + cleanup. Its value at the end of B differs from its input, so the restoration is real work. +D Profile deltas. The raw-stage paid profiles of the no-triangle, k5 and k8 words are recomputed + with F and differenced. +Every check raises AuditError directly (no assert), so it also runs under python -O. +""" +import argparse, copy, gzip, hashlib, json, sys +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +HERE = Path(__file__).resolve().parent +IN = HERE / 'inputs' +PINS = { # sha256 of the decompressed JSON (of the file itself for .json) + 'k8-cell-word.json.gz': '58e14a02f2c1d4dcfeb363ebd5fa2e713064b5c724d90f6721419a8cfa67729b', + 'k8-final-word.json.gz': 'db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83', + 'k8-seven-slot-word.json.gz': 'c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8', + 'notri-cold44-word.json.gz': '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9', + 'raw-notri.json.gz': '5a55ea28628e3d76ed31393505f4605d7a8d5b002716a44115fea60cdc3477e3', + 'raw-k5.json.gz': 'c9114254533c7e272504016764c93370e18734469587a86fb07652b85f8ae209', + 'raw-k8.json.gz': '85c0e64718a9ceafe094e7152ea27ec9d7f804e514b5efaab085a94b7ef1841f', + 'CODED-CELLS-k8.json': '7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563', + 'TRI-LEAVER-k8.json': 'b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30', +} + + +class AuditError(Exception): + pass + + +def need(ok, msg): + if not ok: + raise AuditError(msg) + + +def read_pinned(name): + data = (IN / name).read_bytes() + raw = gzip.decompress(data) if name.endswith('.gz') else data + need(hashlib.sha256(raw).hexdigest() == PINS[name], 'input pin mismatch: ' + name) + return json.loads(raw) + + +# ------------------------------------------------------------------ scalar semantics + +def regs(g): + return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def coef(g): + return Q(g[3], g[4]) if g[0] == 'add' else Q(g[2], g[3]) + + +def forward(gates, col): + for g in gates: + if g[0] == 'add': + x = col.get(g[2]) + if x: + y = col.get(g[1], 0) + coef(g) * x + if y: + col[g[1]] = y + else: + col.pop(g[1], None) + elif g[0] == 'scale': + if g[1] in col: + col[g[1]] *= coef(g) + else: + raise AuditError('unknown gate ' + str(g[0])) + return col + + +def inverse(gates, col): + for g in reversed(gates): + if g[0] == 'add': + x = col.get(g[2]) + if x: + y = col.get(g[1], 0) - coef(g) * x + if y: + col[g[1]] = y + else: + col.pop(g[1], None) + elif g[1] in col: + col[g[1]] /= coef(g) + return col + + +def parts(w): + early = w.get('early_cleanup', []) + ids = [i for i, _ in early] + need(len(ids) == len(set(ids)), 'duplicate early-cleanup index') + tail = [list(w['cleanup'][i][:-1]) + [U] for i, U in early] + cleanup = [g for i, g in enumerate(w['cleanup']) if i not in set(ids)] + return w['precondition'], w['A'] + w['cut'] + w['B'], tail, cleanup + + +def endpoint(w): + v, R = w['report']['v'], w['report']['R'] + n = 2 * v + R + pre, main, tail, cleanup = parts(w) + for g in pre + main + tail + cleanup: + need(all(0 <= r < n for r in regs(g)), 'register out of range') + need(g[0] != 'add' or g[1] != g[2], 'self add') + q = coef(g) + need(q != 0 and q.denominator & (q.denominator - 1) == 0, 'non-dyadic or zero scalar') + need(all(v <= r < 2 * v for g in pre for r in regs(g)), 'precondition touches a non-target') + full, post = pre + main + tail + cleanup, main + tail + cleanup + entering = {int(k) for k in w.get('start_extra', {})} + bad, residue = [], 0 + for c in range(2 * v): + want = {c: Q(1)} + if c < v: + want[v + c] = Q(1) + if forward(full, {c: Q(1)}) != want: + bad.append(('data', c)) + for k in range(2 * v, n): + out = inverse(post, {k: Q(1)}) + rest = {r: x for r, x in out.items() if r != k} + if out.get(k) != 1 or any(not v <= r < 2 * v for r in rest): + bad.append(('helper', k)) + elif rest and k in entering: + bad.append(('entering-response', k)) + residue += len(rest) + need(not bad, 'endpoint failures %s' % bad[:6]) + return dict(columns=n, data_columns=2 * v, helper_columns=R, target_residue_entries=residue) + + +# ------------------------------------------------------------------ frames + +def span(vectors): + piv = {} + for x in vectors: + need(type(x) is int and x >= 0, 'bad frame vector') + while x: + b = x.bit_length() - 1 + if b in piv: + x ^= piv[b] + else: + piv[b] = x + break + for b in sorted(piv): + for u in piv: + if u > b and piv[u] >> b & 1: + piv[u] ^= piv[b] + return frozenset(piv.values()) + + +def frames(w): + v, h, R = w['report']['v'], w['report']['h'], w['report']['R'] + n = 2 * v + R + FULL = span([1 << i for i in range(h)]) + hyper = lambda p: span([x for x in range(1, 1 << h) if bin(x & p).count('1') % 2 == 0]) + cur = [span([p]) for p in w['ports']] + [span([])] * (v + R) + for q, U in w.get('start_extra', {}).items(): + need(2 * v <= int(q) < n, 'entrance on a non-helper') + cur[int(q)] = span(U) + start = list(cur) + end = [FULL] * v + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w.get('helper_final', {}).items(): + end[int(q)] = span(U) + paid = Counter() + + def climb(r, U, where): + U = U if isinstance(U, frozenset) else span(U) + need(span(list(cur[r]) + list(U)) == U, 'non-monotone climb in %s, register %d' % (where, r)) + if len(U) > len(cur[r]): + paid[len(U) - len(cur[r])] += 1 + cur[r] = U + + pre, main, tail, cleanup = parts(w) + for g in w['A']: + for r in regs(g): + climb(r, g[-1], 'A') + need(not w.get('target_levels'), 'nonzero target levels are outside this audit') + need(all(cur[v + t] == span([]) for t in range(v)), 'targets not at level zero before B') + for q, U in zip(w['centers'], w['center_frames']): + need(cur[q] == span(U), 'centre carrier frame') + paid[len(span(U))] += 1 + for g in w['B']: + for r in regs(g): + climb(r, g[-1], 'B') + for g in tail: + for r in regs(g): + climb(r, g[-1], 'tail') + for r in range(n): + climb(r, end[r], 'end') + need(all(end[r] == FULL for g in cleanup for r in regs(g)), 'FULL cleanup touches a low end') + paid = {k: paid[k] for k in sorted(paid)} + need(paid == {int(k): x for k, x in w['report']['local_profile'].items()}, 'paid profile differs from the recorded profile') + return paid + + +# ------------------------------------------------------------------ leaver cells + +def cell_targets(cells, tri): + out = {} + for tr in tri['triangles']: + if tr.get('coded'): + c = cells[tr['cell']] + t8 = {r[0] for r in tr['reads']} + need({b[1] - 8 for b in c['bindings'].values() if b[0] == 'target'} == t8, 'TRI/coded index mismatch ' + c['cell']) + out[c['cell']] = t8 + need(len(out) == len(cells), 'a coded cell lacks a TRI entry') + return out + + +def locate(w, cells, targets): + v = w['report']['v'] + main = w['A'] + w['cut'] + w['B'] + found = [] + for cell in cells: + pat = [(t, s, Q(q)) for t, s, q in cell['scaled']] + T = {v + t for t in targets[cell['cell']]} + hits = [] + for i in range(len(main) - len(pat) + 1): + bind, ok = {}, True + for k, (tn, sn, q) in enumerate(pat): + g = main[i + k] + if g[0] != 'add' or Q(g[3], g[4]) != q: + ok = False + break + for name, reg in ((tn, g[1]), (sn, g[2])): + if bind.setdefault(name, reg) != reg or (name[0] == 'y') != (reg in T): + ok = False + if not ok: + break + if ok and len(set(bind.values())) == len(bind): + hits.append((i, bind)) + need(len(hits) == 1, 'cell %s located %d times' % (cell['cell'], len(hits))) + i, bind = hits[0] + need({bind[x] for x in bind if x[0] == 'y'} == T, 'cell %s target set' % cell['cell']) + found.append(dict(cell=cell['cell'], start=i, stop=i + len(pat), bind=bind, + leavers=sorted({bind[t] for t, s, q in pat if t[0] == 'x'}))) + ivals = sorted((c['start'], c['stop']) for c in found) + need(all(a[1] <= b[0] for a, b in zip(ivals, ivals[1:])), 'overlapping cells') + return found + + +def premise(w, found): + v, R = w['report']['v'], w['report']['R'] + pre, main, tail, cleanup = parts(w) + special = set(w['centers']) | {int(k) for k in w.get('start_extra', {})} | {int(k) for k in w.get('helper_final', {})} + tail_regs = {r for g in tail for r in regs(g)} + rows = [] + for c in found: + for r in c['leavers']: + need(r not in special, 'leaver %d is a centre, entering or low-ended register' % r) + later = [j for j in range(c['stop'], len(main)) if r in regs(main[j])] + need(not later, 'leaver %d touched in main after its cell (index %d)' % (r, later[0] if later else -1)) + need(r not in tail_regs, 'leaver %d touched in the early-cleanup tail' % r) + writes = [j for j, g in enumerate(cleanup) if g[1] == r] + need(writes, 'leaver %d is never written in the FULL cleanup' % r) + rows.append(dict(cell=c['cell'], register=r, kind='data' if r < v else 'helper', + first_full_cleanup_write=writes[0], full_cleanup_writes=len(writes))) + # value after precondition + main, as a linear form in the inputs + want = {row['register'] for row in rows} + form = {r: {r: Q(1)} for r in range(2 * v + R)} + for g in pre + main: + if g[0] == 'add': + dst, q = form[g[1]], coef(g) + for k, x in form[g[2]].items(): + y = dst.get(k, 0) + q * x + if y: + dst[k] = y + else: + dst.pop(k, None) + else: + form[g[1]] = {k: x * coef(g) for k, x in form[g[1]].items()} + need(all(form[r] != {r: Q(1)} for r in want), 'a leaver holds its input value at the end of B') + return rows + + +def audit_word(w, cells, targets): + found = locate(w, cells, targets) + rows = premise(w, found) + return found, dict(R=w['report']['R'], paid_profile=frames(w), endpoint=endpoint(w), + cells=[dict(cell=c['cell'], main_index=c['start'], leavers=c['leavers']) for c in found], + leavers=rows) + + +# ------------------------------------------------------------------ negative controls + +def controls(w, found, cells, targets): + by = {c['cell']: c for c in cells} + nA, nC = len(w['A']), len(w['cut']) + c0 = found[0] + pat = by[c0['cell']]['scaled'] + r0 = c0['leavers'][0] + + def at(i): + return ('A', i) if i < nA else (('cut', i - nA) if i < nA + nC else ('B', i - nA - nC)) + + def outcome(name, m, expect): + for check, fn in (('endpoint', lambda: endpoint(m)), ('frames', lambda: frames(m)), + ('premise', lambda: premise(m, found))): + try: + fn() + except AuditError as e: + need(check == expect, 'control %s rejected by %s, expected %s: %s' % (name, check, expect, e)) + return name, '%s: %s' % (check, str(e)[:70]) + raise SystemExit('CONTROL ACCEPTED: ' + name) + + out = [] + h = w['report']['h'] + FULLF = [1 << j for j in range(h)] + kx = next(k for k, (t, s, q) in enumerate(pat) if t[0] == 'x') + m = copy.deepcopy(w); sec, i = at(c0['start'] + kx); del m[sec][i] + out.append(outcome('N1_drop_leaver_write', m, 'endpoint')) + early = {i for i, _ in w.get('early_cleanup', [])} + k = next(i for i, g in enumerate(w['cleanup']) if i not in early and g[1] == r0) + m = copy.deepcopy(w); del m['cleanup'][k] + m['early_cleanup'] = [[i - (i > k), U] for i, U in w.get('early_cleanup', [])] + out.append(outcome('N2_drop_full_cleanup_restore', m, 'endpoint')) + # A semantically neutral pair at FULL: only the premise check can see it. + pre, main, tail, cleanup = parts(w) + busy = {r for g in tail for r in regs(g)} | set(w['centers']) | {int(q) for q in w.get('helper_final', {})} + v, R = w['report']['v'], w['report']['R'] + hh = max(r for r in range(2 * v, 2 * v + R) if r not in busy) + m = copy.deepcopy(w); m['B'] += [['add', hh, r0, 1, 2, FULLF], ['add', hh, r0, -1, 2, FULLF]] + out.append(outcome('N3_neutral_touch_of_leaver_after_cell', m, 'premise')) + m = copy.deepcopy(w); sec, i = at(c0['start']); m[sec][i][3] *= 3 + out.append(outcome('N4_wrong_cell_coefficient', m, 'endpoint')) + xn = pat[kx][0] + kr = next(k for k, (t, s, q) in enumerate(pat) if k > kx and s == xn) + m = copy.deepcopy(w); a, b = at(c0['start'] + kx), at(c0['start'] + kr) + need(a[0] == b[0], 'control N5 spans sections') + m[a[0]][a[1]], m[b[0]][b[1]] = m[b[0]][b[1]], m[a[0]][a[1]] + out.append(outcome('N5_leaver_write_after_its_read', m, 'endpoint')) + y = next(b for nm, b in c0['bind'].items() if nm[0] == 'y') + e = min(int(q) for q in w['start_extra']) + m = copy.deepcopy(w); m['B'].insert(0, ['add', y, e, 1, 1, FULLF]) + out.append(outcome('N6_entering_dirt_into_cell_target', m, 'endpoint')) + m = copy.deepcopy(w); sec, i = at(c0['start'] + kx); m[sec][i][-1] = [] + out.append(outcome('N7_leaver_gate_below_current_frame', m, 'frames')) + return dict(out) + + +# ------------------------------------------------------------------ driver + +def delta(a, b): + return {r: a.get(r, 0) - b.get(r, 0) for r in sorted(set(a) | set(b)) if a.get(r, 0) != b.get(r, 0)} + + +def scale(u, s): + return {r: s * x for r, x in u.items()} + + +def run(): + cells = read_pinned('CODED-CELLS-k8.json') + targets = cell_targets(cells, read_pinned('TRI-LEAVER-k8.json')) + words = {name: read_pinned(f) for name, f in [('cell', 'k8-cell-word.json.gz'), ('final', 'k8-final-word.json.gz'), + ('seven_slot', 'k8-seven-slot-word.json.gz')]} + res = dict(status=None, audited={}, controls={}) + keep = {} + for name, w in words.items(): + found, res['audited'][name] = audit_word(w, cells, targets) + res['audited'][name]['content_sha256'] = PINS[{'cell': 'k8-cell-word.json.gz', 'final': 'k8-final-word.json.gz', 'seven_slot': 'k8-seven-slot-word.json.gz'}[name]] + keep[name] = found + print('PASS', name, res['audited'][name]['paid_profile'], flush=True) + for name in ('final', 'seven_slot'): + res['controls'][name] = controls(words[name], keep[name], cells, targets) + print('PASS controls', name, len(res['controls'][name]), flush=True) + # Face events: data-register leavers receive one B-section write in both the base and the cell word. + base = read_pinned('notri-cold44-word.json.gz') + v = base['report']['v'] + data_leavers = sorted(r for c in keep['cell'] for r in c['leavers'] if r < v) + def bwrites(w): + return {x: [[g[2], str(coef(g))] for g in w['B'] if g[0] == 'add' and g[1] == x] for x in data_leavers} + wb, wc = bwrites(base), bwrites(words['cell']) + need(all(len(wb[x]) == 1 and len(wc[x]) == 1 for x in data_leavers), 'a data leaver lacks exactly one B write') + awrites = lambda w: [[g[1], g[2], str(coef(g))] for g in w['A'] if g[0] == 'add' and g[1] in data_leavers] + need(awrites(base) == awrites(words['cell']), 'A-section writes to data leavers changed') + res['face_events'] = dict(data_leavers=data_leavers, base_B_write=wb, cell_B_write=wc, + repaired=[x for x in data_leavers if wb[x] != wc[x]]) + # Profile deltas. + raw = {k: read_pinned(f) for k, f in [('notri', 'raw-notri.json.gz'), ('k5', 'raw-k5.json.gz'), ('k8', 'raw-k8.json.gz')]} + P = {k: frames(w) for k, w in raw.items()} + d5, d3 = delta(P['k5'], P['notri']), delta(P['k8'], P['k5']) + unit = {r: x // 5 for r, x in d5.items()} + need(scale(unit, 5) == d5 and scale(unit, 3) == d3, 'raw per-cell deltas are not additive') + need(raw['notri']['report']['R'] - raw['k5']['report']['R'] == 15 and raw['k5']['report']['R'] - raw['k8']['report']['R'] == 9, 'helper counts') + claimed = {1: -30, 2: 6, 3: 6} + slot = delta(res['audited']['seven_slot']['paid_profile'], res['audited']['final']['paid_profile']) + need(slot == scale({3: 2, 4: -4, 5: 2}, 7), 'seven-slot delta is not 7 x {3:+2,4:-4,5:+2}') + res['profile_deltas'] = dict(raw_profiles={k: P[k] for k in P}, k5_minus_notri=d5, k8_minus_k5=d3, + per_cell_raw=unit, helpers_removed_per_cell=3, + pr_description_per_cell=claimed, matches_pr_description=unit == claimed, + rank_mass_per_cell_raw=sum(r * x for r, x in unit.items()), + seven_slot_minus_final=slot) + res['status'] = 'PASS_INDEPENDENT_MUTABLE_LEAVER_AUDIT' + return res + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--write', action='store_true', help='write RESULT.json instead of comparing with it') + a = ap.parse_args() + try: + res = run() + except AuditError as e: + print('FAIL', e) + sys.exit(1) + text = json.dumps(res, indent=1, sort_keys=True) + '\n' + if a.write: + (HERE / 'RESULT.json').write_text(text) + else: + need((HERE / 'RESULT.json').read_text() == text, 'result differs from committed RESULT.json') + d = res['profile_deltas'] + print('%s cells=8 leavers=%d columns=%d controls=%d per_cell_raw=%s claimed_match=%s' % ( + res['status'], len(res['audited']['final']['leavers']), res['audited']['final']['endpoint']['columns'], + sum(map(len, res['controls'].values())), d['per_cell_raw'], d['matches_pr_description'])) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py new file mode 100644 index 0000000000..0343c8c1ab --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py @@ -0,0 +1,32 @@ +import argparse,json,hashlib,os,shutil,subprocess,sys,time,collections +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent;R=F/'owner37-round44';S=R/'source/research/r480-owner-optimum';N=F/'joint1148-round45';B=F/'demotions1148-round43/baseline-replay';ROOT=N/'source' +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +ap=argparse.ArgumentParser();ap.add_argument('--data',type=Path,required=True);ap.add_argument('--work',type=Path,required=True);ap.add_argument('--discover',action='store_true');ap.add_argument('--local',type=Path);a=ap.parse_args();data=a.data.resolve();work=a.work.resolve();assert not work.exists();work.mkdir();local=a.local.resolve() if a.local else B/'native/local';code=S/'code';upstream=ROOT/'research/complex-k492-owner-repair/vendor/multicold' +for rel,h in rd(S/'vendor/pr1074/UPSTREAM-PINS.json').items():assert sha(ROOT/rel)==h,rel +assert rd(B/'RESULT.json')['status']=='PASS_THREE_DEMOTIONS_COMPLETE_ADMISSION' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(upstream),GAIN_PR564_SOURCE=str(upstream)) +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +runtime=work/'runtime';(runtime/'data').mkdir(parents=True);shutil.copytree(S/'vendor/pr1074/construction',runtime/'construction');shutil.copy2(data/'SPEC.json',runtime/'data/SPEC.json');spec=runtime/'data/SPEC.json';env['WITNESS_SPEC']=str(spec) +if a.discover:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +parent=work/'parent';shutil.copytree(B/'parent/t16/parent558',parent);shutil.copy2(data/'GLOBAL-TEMPLATE.json.gz',parent/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz');stages=[] +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(upstream/'code/run_portable.py'),str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,seconds=time.monotonic()-t,exit_code=r.returncode,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +g=work/'global' +run('bind',code/'bind_providers_portable.py','--baseline',parent,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--plan',data/'PLAN.json','--out',g) +run('emit',code/'emit_allcold.py','--base',g/'base','--owners',data/'OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') +run('audit',code/'audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('invoice',code/'invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',upstream/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly',code/'assemble.py',upstream,g,work/'ASSEMBLY.json') +if a.discover: + run('freeze',P/'freeze_spec.py','--spec',spec,'--discovery',work);shutil.copy2(spec,data/'SPEC.json') +else: + for name,script,filename in [('admission','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit','bit_supplier_controls.py','BIT-CONTROLS.json')]:run(name,code/script,'--source-package',upstream,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',work/filename) +plan=rd(data/'PLAN.json') +run('independent',P/'audit_mixed.py','--parent',B/'parent/t16/global8/base/split-centres/GLOBAL-TEMPLATE.json.gz','--data',data,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--out',work/'INDEPENDENT.json') +asm=rd(work/'ASSEMBLY.json');ind=rd(work/'INDEPENDENT.json');inv=rd(g/'audit/PREFIX-AND-INVOICE.json');assert ind['profile']==asm['complex_profile']==plan['profile'];assert ind['prefix_bits']==inv['global_prefix_bits']<1024;assert ind['physical_row_coefficient']==inv['finite']['physical_row_coefficient']<20161;assert len(ind['controls_rejected'])==8 +if not a.discover:assert len(rd(work/'ADMISSION-CONTROLS.json')['rejected_controls'])==114 and len(rd(work/'BIT-CONTROLS.json')['rejected_controls'])==12 +receipt=dict(status='DISCOVERY' if a.discover else 'PASS_STRICT_MIXED_T37_ENTRANCES',kappa=asm['kappa'],kappa_decimal=asm['kappa_decimal'],steps=stages,independent=ind,scope='Conditional finite construction only; two freshly replayed source-holder fusion providers; all inherited theorem obligations retained.');(work/'RESULT.json').write_text(json.dumps(receipt,indent=2));print(receipt['status'],receipt['kappa_decimal'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py new file mode 100644 index 0000000000..5959c3e39e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py @@ -0,0 +1,61 @@ +"""Exact rational two-shock relations, retaining suffix effects on every register.""" +import argparse,gzip,json,collections,sys,time +from fractions import Fraction as Q +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,default=P/'inputs/base.json.gz');ap.add_argument('--pivots',nargs='+',type=int,default=[555,567]);ap.add_argument('--out',type=Path,required=True);args=ap.parse_args() +w=json.loads(gzip.decompress(args.word.read_bytes()));B=w['B'];R=max(max(g[1:3]) if g[0]=='add' else g[1] for g in B)+1 +coef=lambda g:Q(g[3],g[4]) if g[0]=='add' else Q(g[2],g[3]) +def add(a,b,c): + d=dict(a) + for k,v in b.items(): + d[k]=d.get(k,Q(0))+c*v + if not d[k]:del d[k] + return d +def col(seq,q): + r={q:Q(1)} + for g in seq: + t=g[1] + if g[0]=='add':r[t]=r.get(t,Q(0))+coef(g)*r.get(g[2],Q(0)) + else:r[t]=r.get(t,Q(0))*coef(g) + if not r[t]:r.pop(t,None) + return r +def solve(u,v,d): + keys=set(u)|set(v)|set(d) + if not keys:return None + i=next(iter(keys));ui,vi,di=u.get(i,0),v.get(i,0),d.get(i,0) + for j in keys: + uj,vj,dj=u.get(j,0),v.get(j,0),d.get(j,0);det=ui*vj-uj*vi + if det: + a=(di*vj-dj*vi)/det;b=(ui*dj-uj*di)/det + if not a or not b:return None + a,b=Q(a),Q(b) + if any(c.denominator&(c.denominator-1) for c in [a,b]):return None + if all(a*u.get(k,0)+b*v.get(k,0)==d.get(k,0) for k in keys):return a,b + return None + return None +out=[] +for q in args.pivots: + first=next(i for i,g in enumerate(B) if g[1]==q);dele=[i for i,g in enumerate(B[:first]) if g[0]=='add' and g[2]==q];tail=[w['cleanup'][i] for i,U in w['early_cleanup']];seq=B+tail;new=[g for i,g in enumerate(B) if i not in dele]+tail;d=add(col(seq,q),col(new,q),-1) + cols={j:{j:Q(1)} for j in range(R)};hs=[];ts=[] + for i in range(len(seq)-1,-1,-1): + g=seq[i] + if i=224 and g[2]!=q and i not in dele: + h=g[2];effect=add(cols[h],{h:Q(1)},-1) + if effect:hs.append((i+1,h,effect)) + ts.append((i,g,dict(cols[g[1]]))) + if i in dele:continue + if g[0]=='add':t,s=g[1:3];cols[s]=add(cols[s],cols[t],coef(g)) + else:cols[g[1]]={k:v*coef(g) for k,v in cols[g[1]].items()} + start=time.monotonic();matches=[] + for cut,h,u in hs: + for i,g,v in ts: + if h==g[2]:continue + sol=solve(u,v,d) + if sol: + a,b=sol;c=b/coef(g) + if c.denominator&(c.denominator-1):continue + ed=dict(delete=dele,insert=[[i,['add',g[2],q,c.numerator,c.denominator,[]]],[i+1,['add',g[2],q,-c.numerator,c.denominator,[]]],[cut,['add',h,q,a.numerator,a.denominator,[]]]],tail=[[len(w['early_cleanup']),['add',h,q,-a.numerator,a.denominator,[]]]],prepend=[]) + matches.append(dict(pivot=q,helper=h,cut=cut,output=g[1],hook=i,donor=g[2],amount=str(a),correction=str(b),ed=ed)) + print('PIVOT',q,'pairs',len(hs)*len(ts),'matches',len(matches),'seconds',time.monotonic()-start,flush=True);print(matches[:3],flush=True);out+=matches +args.out.write_text(json.dumps(out,indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz new file mode 100644 index 0000000000..d627d37862 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json new file mode 100644 index 0000000000..b67172862c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json @@ -0,0 +1 @@ +{"T":37,"bit_lower":"1733427039589844234749/1000000000000000000000000","calls":333,"charged_prefix_bits":1024,"comparison":{"independently_replayed_pr1050":"0.001672241870811633","joint_entrances_t37":"0.001675568675201533","selected_pr1042":"0.001672188119205421","selected_pr942":"0.001661960547713947","seven_slot_t37_predecessor":"0.001674097969905390","uniform_three_demotions_t37":"0.001675129371412064"},"complex_lower":"167848528779417184507/100000000000000000000000","complex_profile":{"1":785550,"2":167498,"3":138028,"4":42458,"48":11374,"5":27306,"8":2664},"deficit":11840,"idle":{"1":2,"48":11374},"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","live":33152,"physical":33642,"physical_row_coefficient":17495,"prefix_bits":775,"provider_calls":{"demote3":125,"demote4":208},"rank_mass":2408256,"roles":159840,"scope":"Finite conditional construction under the retained compiler, whole-call hosting, common-label/mutable-source realization, precision/tape, analytic-transfer and bitH1-H5 hypotheses. No unconditional theorem or kappa=1 claim.","status":"UNADMITTED_TARGET_ONLY"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json new file mode 100644 index 0000000000..515f2998da --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json @@ -0,0 +1,1904 @@ +{ + "research/community-frontier1042-audit/ASSEMBLY.json": "093f35445812ea96fe1bfe6a3af7d769cb7f274e08f4fb30f71a17ed1161e54e", + "research/community-frontier1042-audit/BASELINE-BINDING.json": "22575ff21833fdfcfc7d67d7d9b3b433cf13a3165628ebcb9aaae239b8145472", + "research/community-frontier1042-audit/INDEPENDENT-T16.json": "f647dcc7b051c2766af08033afcb1427d1177b4d3ca9a467b3d9846ab2dc30fd", + "research/community-frontier1042-audit/RESULT.json": "bf12c6ed3b412539638b76addb40591a631609b2ab9e5ee0db1f6bbe067d0ec0", + "research/community-frontier1042-audit/SELECTED-SOURCE.json": "f2c1594a39facf5d634d02e8a684677831e97f41ab2e609e8c35b52c1fec814b", + "research/community-frontier1042-audit/STAGES.json": "ff52f110df600616b51aa657e0c1107f3c57f8fd2e89b13bb74448eb7a52984a", + "research/community-frontier1042-audit/T16-REPLAY.json": "1f9fd180e28b714f9c4734182db101591e1a9784748a4b54a82f1f6df9a54b56", + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "research/community-k492-audit/pr622/replay/baseline558/ASSEMBLY-CONTROLS.json": "aca6ddbcd8049e98c2ce36108488f756b08506ca558fa94e64b811774ea96d79", + "research/community-k492-audit/pr622/replay/baseline558/ASSEMBLY.json": "4782793661bf92c9f8281ca7b9ae92f79573a3623af49661fc445147d455dbdb", + "research/community-k492-audit/pr622/replay/baseline558/RECEIPT.json": "dee320a71985660f1ea7715f652fda110fe172a51a1194ac433734ccdce1e14c", + "research/community-k492-audit/pr622/replay/baseline558/RESULT.json": "a979ea3fce856e0826a61dc7fdfebea067f5a97bf118f9f186175c686a22c717", + "research/community-k492-audit/pr622/replay/baseline558/STAGES.json": "820727a3e743fc7aea400e8157b69e3f07af359bf38a763ee6fd77b73172d765", + "research/community-k492-audit/pr622/replay/baseline558/all-columns-native-frames.log": "1dcd4d21c10ec05f273f42334bfa158e1480bcaaa08a9a16873b371806e47fb1", + "research/community-k492-audit/pr622/replay/baseline558/all-phase-recipes.log": "c71de931024cd4f3421547ff3042126302cd62be7b9d0bfb92b66bd4e1eb2dac", + "research/community-k492-audit/pr622/replay/baseline558/assembly-admission-controls.log": "9cc0577eb648247a02f4352eaf5187000a8378657f388e8ffa8cbeb55a43b9ec", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/01-bind.log": "1ba8f0d5a08f617e637347d9c0c3761781b759af38df847306cca392913b01f4", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/02-emit.log": "e628c73c0caa87c49a67a9286a8c8339e5aebc1c2b78b98a8f9099f2a75fa817", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/03-physical.log": "177cfc604cd7085019b615945f33c04197eee181e8c30ec13831cf253c138e23", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/04-invoice.log": "680deb0f83fbc968b5436044dcea693782c6e8519fb49de59fa2ff8124c9a850", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/05-moments.log": "0abfdd96bd6a797c6aa5f6cd358a7e1276820e94de037d0c0a6054883d485953", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/RESULT.json": "847097e0a7e0bcf66245e40481aaa25bad3d8d17232e0ff3a7f3b8a38b269011", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/STAGES.json": "37b5f9f3f47147851af0a0cd8cdd8d14d22a80fa7bdecffe6ea2fc499afdea6b", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/ASYNC-AUDIT.json": "177cfc604cd7085019b615945f33c04197eee181e8c30ec13831cf253c138e23", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/EXACT-ASSEMBLY.json": "a72a55cc90ca9f85a056f6fd62de6b788269ae459f73fb60fb7f486b7945e4d4", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/GLOBAL-PREFIX.json": "bff8fb45c83550daf817dce92815b22adb21384591699813353b8e2a4e1aa60e", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/IDLE-REMAINDER-FRAMES.json": "a142992c82237ef08852af7105f7d466bcccfa9e5da890e8d82559e433a4dda7", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/OWNERS-AND-PROFILE.json": "050da7f024d6db1736315ed1b62772559febf2c71acc7bf17eb9339ffa055d3f", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/PREFIX-AND-INVOICE.json": "680deb0f83fbc968b5436044dcea693782c6e8519fb49de59fa2ff8124c9a850", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/hosted/HOSTED.json": "e628c73c0caa87c49a67a9286a8c8339e5aebc1c2b78b98a8f9099f2a75fa817", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/emit-both-reflected-ledgers.log": "f382385a67f705b446978a73fc6492ce127cb2ae76011e87e36fdbe9977f4347", + "research/community-k492-audit/pr622/replay/baseline558/independent-local-and-controls.log": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee", + "research/community-k492-audit/pr622/replay/baseline558/literal-owners-full-invoice.log": "61522ff431dfca96293b7f6e13924f11f9004b0eefa1456308a600d053608964", + "research/community-k492-audit/pr622/replay/baseline558/normalized-wrappers.log": "284cce3149354d057b4e2f04163535c0d8b0a924898e5b771ba8af2740314154", + "research/community-k492-audit/pr622/replay/baseline558/reconstruct552-and-promote8.log": "b7b035547780f64e33ea2432fd2cc79ed5795bf88c9791cbb913d9ec2a7c6a2b", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/lifted/PORT.json": "873fe7e8a338738b545f3f34388a4f29f1939b48275f406022212f9ef5ef2b86", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/CONSTRUCTION.json": "208ea9f6669778a2326357171ca8b2088cb3c1f165c408fd5ee374469f5ddca5", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/PROMOTED8-SCALAR-AUDIT.json": "4275fc9a309f0ba27562858e434f3fc3bdf501a3625f8ff1a8d8ccf29d72d10f", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/STATIC44-SCALAR-AUDIT.json": "05458940a7e12e90507403c5fb819dcf84ef328a524ecd6ceaf928e0ebd620b2", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/REPLAY.json": "be018b79f66ef3814c2159ba174531ff4ea17762ab104715fe7177246d345322", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/SCALAR-AUDIT.json": "9436f9b92196015e357e4974011cf1d0f960abb7f26b95eedac339a02c919624", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/SELECTION.json": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/syndrome/SYNDROME-CERTIFICATE.json": "56961ff2c99816751e051f8fe12ce01fc2be017a074917ed58b7004b13d08cf8", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/wave/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/weighted/WEIGHTED-COSET-REPLAY.json": "1661a17a2a7f717fb27bb943f500756edaeff392787d20838264e4aa6d035454", + "research/community-k492-audit/pr622/replay/baseline558/two-engine-exact-assembly.log": "b50e71a1c084e221ca32b43001f5383c8cffb09d72e66b1436f22aa240795a9c", + "research/complex-k492-owner-repair/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/MANIFEST.json": "c9d1bcb0c65de86a7554711212d4bb5e7490b3bc69d918f957b99a68a832144b", + "research/complex-k492-owner-repair/NOTICE.md": "e7e934433919b73f6088a68a444eed4cea029638ae7b0df3fde15099d5369fd1", + "research/complex-k492-owner-repair/PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", + "research/complex-k492-owner-repair/PROOF-NOTE-R.md": "22312bb347bdf159e6a01a45c47675e6170d33b258e2fd9ed52aee88fb92c0ed", + "research/complex-k492-owner-repair/PROOF-NOTE.md": "337d70fe7abd9afca1d90954c23bde87f4dc27888cc1a6b4bb80506fd6fbf8c5", + "research/complex-k492-owner-repair/README.md": "ee5a1ace4828f7a073be97e95c2d931988774dd3a29a877e65abdf429aeec902", + "research/complex-k492-owner-repair/code/assemble.py": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "research/complex-k492-owner-repair/code/assembly_controls.py": "8a365b95c412d75d10db5bb59309d47cd56c5f8a77566f940a05977795130ce8", + "research/complex-k492-owner-repair/code/audit_allcold.py": "cea021ae79658ca7ca4d07f1e1a70bdb4947afaf95b362114c11032c0fef889a", + "research/complex-k492-owner-repair/code/bind_providers_portable.py": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "research/complex-k492-owner-repair/code/build_cold_end.py": "27d5f540cb7f7e57b12f041196743761a5ecefaa2e04fd808abfffed25027f6e", + "research/complex-k492-owner-repair/code/build_frame_regroup.py": "e2549ccc7a90008831be3b59aeb37b47db696640f5f5c2b72dd888b2f1e7e5c9", + "research/complex-k492-owner-repair/code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "research/complex-k492-owner-repair/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-k492-owner-repair/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-k492-owner-repair/code/cold_end_controls.py": "f8b770eb3bfe387c9b878a954b0dcb0efd81bc4adb0c97b450b3ab7a66c78585", + "research/complex-k492-owner-repair/code/construct_k_triangle.py": "66fc460df8eb8067efe3d8a3f9e97a7244aacd7bf11650a6ce656e868ce053da", + "research/complex-k492-owner-repair/code/emit_allcold.py": "fe26f10fe5d30ed407a37540a45ef94f44576dd241d09e19aef5db1efb072746", + "research/complex-k492-owner-repair/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-k492-owner-repair/code/generated_identity_controls.py": "a7b93207a673575d1fddc3e579153349c145c8f08d4575ae0a5d1e3cffec01de", + "research/complex-k492-owner-repair/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-k492-owner-repair/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-k492-owner-repair/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-k492-owner-repair/code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "research/complex-k492-owner-repair/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-k492-owner-repair/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-k492-owner-repair/code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "research/complex-k492-owner-repair/code/witness.py": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "research/complex-k492-owner-repair/comparison/PR622-NATIVE-HASHES.json": "28479a183387bcb608bd9ee0572f617c17f316b79ce4a6fa1277ed8689fb3431", + "research/complex-k492-owner-repair/comparison/PR622-PLAN.json": "442d71a0a41e42503c645892f9fddd5b4d8fa722659974cedc27ae41b60319ac", + "research/complex-k492-owner-repair/comparison/PR622-README.md": "ea231e3836e8a0bc19815b66e2552a6daa452781e871ea4dd7280d3ad15bc9c3", + "research/complex-k492-owner-repair/comparison/PR622-SPEC.json": "a0efd32e51a98809e4312d529ad65e8ecd2f446a82c5eab5166b102b03244989", + "research/complex-k492-owner-repair/comparison/PR623-PLAN.json": "c919c366ef1d3528f1884e47dfce858ab3164b099740e4c17cde6f697b3ec458", + "research/complex-k492-owner-repair/comparison/PR623-README.md": "ccd9783f0557bb9c80f65a31c74914df11531106de8a840e1e1f2da62176cd2c", + "research/complex-k492-owner-repair/comparison/PR623-SPEC.json": "436d3df54e6ce2433d56435afd569708e5fb22bc638571f5134ab12a9f9099f5", + "research/complex-k492-owner-repair/data/EXPECTED.json": "7647bdbebfd33551fdf1a56eae16c9227fa79f7595ccd351d2d8492c2a65a680", + "research/complex-k492-owner-repair/data/OWNERS.json.gz": "251e82cec1f40e6c1289703667f403104b957f1254dc4f6baa6df9a3d0c751de", + "research/complex-k492-owner-repair/data/PLAN.json": "8c48ef6ce079916314126c5c3ff0003b32f24cf0fbfb2a033fc93e1e1949b5d5", + "research/complex-k492-owner-repair/data/SPEC.json": "2a2577ac526535826fed9d5f7f83f6e2e0ec058a146c64f7286720b995fa2323", + "research/complex-k492-owner-repair/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-k492-owner-repair/data/WITNESS.json": "63fb94a452ac8a3485daa3cb52ab4890944afc07e94d1c89db0763f8cc311496", + "research/complex-k492-owner-repair/data/cand.json": "f210d4e4a208de6f110ea756c9c735354e1a8e80ecae4395792df98dd6ef685f", + "research/complex-k492-owner-repair/data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "research/complex-k492-owner-repair/data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "research/complex-k492-owner-repair/data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "research/complex-k492-owner-repair/data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "research/complex-k492-owner-repair/data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "research/complex-k492-owner-repair/data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "research/complex-k492-owner-repair/data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-cold_end.json.gz": "a25ccab0c024aa9512df822032fca11683def03d0886b58f375c42834264c47c", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-frame_regroup.json": "8d880d3d8e795575a3a3428e0031b2c45831eea512dc32cb99f7eae9e6e49e5e", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-hyperplane_end.json": "30504ae76a2387677f05450d23413c7373c08ae2d9d171b2f4597bb63e294631", + "research/complex-k492-owner-repair/data/recipes/k492-ck-cold_end.json.gz": "d438123ecca120799a0b9835d0e7231ec12f61f10caff3ef466ad9f7c96e51a2", + "research/complex-k492-owner-repair/data/recipes/k492-ck-frame_regroup.json": "9894f9c93e931b61cf34b337c4b257a72bb1d06fbdc4e8b02368e6e29ab2b644", + "research/complex-k492-owner-repair/data/recipes/k492-ck-hyperplane_end.json": "c71c2b05550544c29ebb4696e63cffc44d6daa76f1bc25e9c7c97e994b2c7657", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-cold_end.json.gz": "660d2438c5fd4dd4cc49eefff071ac53f50adb65f292005f182082d27555a6a9", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1", + "research/complex-k492-owner-repair/data/search/DISPATCH.json": "b5f8f5779ebd972665ff7a4e1a454b940610305a867dd28ff61df8124e234dc9", + "research/complex-k492-owner-repair/data/search/LP-PATTERNS-AGG.json": "7e8f162a5d949cb1461c8c3b3bfa0a160b42c27a03bfeb6f09b9aa3c116aa953", + "research/complex-k492-owner-repair/data/search/LP-PATTERNS-EX.json": "1d345febd910eeedaa2dbde4d5856d4a3fe8825a16748374ba76655ff6cb6fdb", + "research/complex-k492-owner-repair/data/search/TEMPLATE-PLAN.json": "1879679a44b373006907cbca8261a9cd187c7b868472afab04e002bf95331d9e", + "research/complex-k492-owner-repair/extras/check_declarations.py": "34122816e616e4de6a0524f7feef9a3ece4be1f9d07e477f319404e08374216d", + "research/complex-k492-owner-repair/extras/check_owner_map.py": "d240458ad39a08c242d136c0f1edbda0cb0b93977897f6543c9f430576c9c7dd", + "research/complex-k492-owner-repair/extras/exact_intervals.py": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "research/complex-k492-owner-repair/vendor/direct_delivery/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/complex-k492-owner-repair/vendor/direct_delivery/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/frame_coalescing/MANIFEST.json": "f336fd702c54422d79c1b9ba7d8699ae6c99518f66a5b5bbc5f3be331fa1fadd", + "research/complex-k492-owner-repair/vendor/frame_coalescing/NOTICE.md": "2285f8489d1588ea4deaf07a1ceb36fdc56dde5cecf228b82438284aea072050", + "research/complex-k492-owner-repair/vendor/frame_coalescing/README.md": "32b64f7638e6cb9bcd1d0e41779808ac1d5d6897152a00194e82e8c3754fd7b0", + "research/complex-k492-owner-repair/vendor/frame_coalescing/code/build_frames.py": "59f486c52293c76f1f6140c5f12f7a555a956b455e853c79136fc227deefbc3d", + "research/complex-k492-owner-repair/vendor/joint_prefix/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/joint_prefix/MANIFEST.json": "fd30701bd9bd652985db18fa95bee08a34615ef417a2feb2f55efd60a0b5d665", + "research/complex-k492-owner-repair/vendor/joint_prefix/NOTICE.md": "ba2267f17bb2cad9dc706565c359fec98d6ec0feb3b32dcfb8c3277c59cbf8fe", + "research/complex-k492-owner-repair/vendor/joint_prefix/README.md": "1b2679bed02b9563e6f3a9951eef2cc5057444a78bf4aa7ab89d1ad83330e3e4", + "research/complex-k492-owner-repair/vendor/joint_prefix/SOURCE-PINS.json": "240e8ee75336e921663a0057f450b346bac305d2af4ffacef68dec1798d9bb85", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_joint_prefix.py": "c01836709f3650a39c46418ac1771980b4b96288e60b51032b5d31419e484c37", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/EIGHTCOLD-JOINT-KERNELS.json": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/larger_gain/MANIFEST.json": "54d67f45ad520f4a134e069336bd0ff639aaeada28d13539298e4f2655c9692d", + "research/complex-k492-owner-repair/vendor/larger_gain/README.md": "545f0138139ec1c5410128678818dfb13fbf374d4063de4f425f11e6a1b74eca", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/build_entrance_promotions.py": "50737e20553b5d44381c58e5b35b5031a6797dfdda1c67a1656069f1f6203cd2", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/coupled_frames_base.py": "b6033cd2959297a624b557f3d04665c8fbb680a4c0987daf0704ef93711700bd", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/search_suffix_kernels.py": "0523c90f036ff01cac9299fe4e47dc40dd04f264f09415985d2c98b4da43371c", + "research/complex-k492-owner-repair/vendor/multicold/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/complex-k492-owner-repair/vendor/multicold/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/complex-k492-owner-repair/vendor/multicold/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/complex-k492-owner-repair/vendor/multicold/SOURCE-PINS.json": "503764cd70c99a9652ec51a533c31ad7f2a615e6c230156d785daff2835cf028", + "research/complex-k492-owner-repair/vendor/multicold/code/assemble.py": "3fedbccb09d469f8ee366b4302e51448de6d25793a78a12c5f9a8d9667a755eb", + "research/complex-k492-owner-repair/vendor/multicold/code/assembly_controls.py": "a0f2349ba8fe8404b8b76c869f12dd7e250a775b2e05b3c9c00e6889ad4c8a45", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_allcold.py": "7950e5c01488a9146bdbaf19ab4fd0c33cd25a4d63fb56ef995ef2e45ac7ec1a", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_kernel_controls.py": "5100459211f43ba048bf82c3942bbedb8b224272b24722a14f0dcd808a38aafa", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-k492-owner-repair/vendor/multicold/code/bind_providers_portable.py": "01e62fee1f1dcf1b7b34338d555dacd5cd1d7d10d6b9a605d0913d959f8c7ecf", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/build_four_portable.py": "417b1dc4dca485dfbbaa820e552cae9bf3932bbace6ea16ce93aa0590c3c184e", + "research/complex-k492-owner-repair/vendor/multicold/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/complex-k492-owner-repair/vendor/multicold/code/emit_allcold.py": "9d6c75af63fa8f53973734ccb1eef983511f4337ce644436a693fd8fb9ef8fe2", + "research/complex-k492-owner-repair/vendor/multicold/code/invoice_allcold.py": "ff8fee775ad97926454f3ad1183f8e05de654e276150e579ce612f3eb2f98d44", + "research/complex-k492-owner-repair/vendor/multicold/code/phase_timing_controls.py": "dcc4adfd139d6f65a88bdc6d183ea3777d4e4f688d2169dd41b54964f05591bb", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/complex-k492-owner-repair/vendor/multicold/data/FOUR-COLD.json": "643e07c25dac93ce1fe67532e377f9f1cf8c7bb83835abb3fad63c9c51514736", + "research/complex-k492-owner-repair/vendor/multicold/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/complex-k492-owner-repair/vendor/multicold/data/FROZEN-FOUR-PROMOTION.json": "90417f8d54ea9272bb5041ed9144a58dcbc194a22dd0845e7de89d4b717f1b74", + "research/complex-k492-owner-repair/vendor/multicold/data/OWNERS.json.gz": "93349ec85f21811b5b247980f9fc4d8161100d5ee37bce7fda5ef65d0370240b", + "research/complex-k492-owner-repair/vendor/multicold/data/PLAN.json": "35a95fd9b5e46fdaf8a3929d516fa8c14dd4e3bd9a20eb546e0541a8ef85ff51", + "research/complex-k492-owner-repair/vendor/multicold/data/ZERO-COLD.json": "ea1cda1578464399077bb96e5c3c3d01e88ba5eeaa6c22d3b66ef4380bc3b820", + "research/complex-k492-owner-repair/vendor/multicold/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-EXACT-FRONTIER.json": "55050dbdc1ffa18b3cc1f9b8b94f7de7a04a39f65efbbb890de2e73db837ee38", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-OWNER-RECEIPT.json": "cf9992773c9ae4523dbc7f71753d7ecfa515618d7c2ab414b60d53887f518a30", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-PROVIDERS.json": "59196e2c93f4fb8fdbe74bd16d60242a3534eb5bb8c810fc29635ab0e65bd08f", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR561-NOTICE.md": "180802791d3547d511a7af8bc4f800640abd72636d50631d2e61b35cfa17627d", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NATIVE-TRANSFER.txt": "f4ceeb2a412c9ec3f3bc06a78cf865e5fdb7c1080421ec5285ba02d04418eb37", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NOTICE.md": "a427502077fceaaffc7d44bb8520562160d0d76e4cb08c2b10337e62d8987fae", + "research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-ALLCOLD-NATIVE.txt": "ca7a8b3f3fa6d3610ef9518c71d5186427ccf2b2bdf3511be84a6b2d7bbb1e25", + "research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-REVIEW.txt": "0a807ea2c5fec29cbf994f94bd5a388914fb31de02dba03d18265040044c0dc6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/MANIFEST.json": "f28c04eecbea7599fa9e0867dd8d0311a463af12cab79f90a43733b162527164", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/NOTICE.md": "fa76079e2566b8d644c4aa36cb1034aa2363d2e97978b26203f122d826918fce", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/README.md": "02181c5ff31cd1c2899608e5ab598b405df92ad5814df35f329d117956f7ee10", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/SOURCE-PINS.json": "b09437400a7f6f0dc86eee0f800aae91cd35a7e5e80eb3d348f87113a0bd0d76", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assemble.py": "5d4946dcad7636bf2119bb7bc3a52ceb41454c1514d12cb77def2c2e02b17338", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assembly_controls.py": "f3d703a63404bd655e66a520b3840a4ab72529751664eb634a52736b4bc95a29", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/audit_promoted_scalar.py": "1994e7116065636b53bf740000ff78dce8ea62390e597d293d183f33c67eaa6d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/promote.py": "b69a27d53ec3f64ccbdbbd79f9632419f273b3eb4429f6cdec1315fd8798750c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/reconstruct.py": "e56d57d39cf787b8325de5a97dbc283f89d51c24169efae9ad2227277a6f8243", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/OWNERS.json.gz": "c72892f5b3b36e75ec4db7742b046bd9194f638ff32be9cc8843914af950e6dc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/ASSEMBLY-PROVENANCE.json": "cf1710faaf5d4aa32e6a8a24b0087cdc24e5b680d974e5dd4e0cb4ef4787e395", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/CONSTRUCTION.md": "9b0617dee9c044488b2f72b50059dd8d768f6ee0a29c35fe2cfdde85d25cdbd1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/EXPLORATORY-SCALAR-8-CONTROLS.json": "c0465364067e6392fa0d7e4cd0481a82afebe3e271b486a4984e7b2826025146", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/RANK5-CAPS.json": "461ebc6c8816a0132c89a54c2ae56b07f31500bcb2c2bebfce783eb41bc29441", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/MANIFEST.json": "b0f5773b3ffa2c5305dade20ce6159cb8b5961285d2f7bc767c6353838bac4d3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/README.md": "79cc63fc45ea52c04f32555676704a1664a3eafdd917b25689b1acd390a4636d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-avalanche80.cpp": "0215152bd3ddf0282c8088843c4e8a89e821e747f884e03100fe79238b3061db", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-flags.cpp": "0bd6ac192357ca71f6b84baf50efdc43fccc8394296c35a298b35306db7d88a3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/assemble.py": "bf878beb64edc6bae4c321d7c964088c4d9aa0ae477597ac1adbe2b1078e3904", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/build_wave.py": "249669d046db49011b84345a14ec05a93270829e5e21f6046576972038da377e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/README.md": "bd82df5b39c6ff26b93f41ad76471ac50131050a3cc0f84dbc6c57703a721353", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/RESOURCE-TRANSFERS.md": "6fd2bc82714060290f29b218c235c171395cf9be99bea01f8a7fa770dadd68c7", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT-OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT534-PLAN.json": "221a38f18504e00da31a72a7b3a3f0d248e8f886d2b8fa7cae2d73e7ec86905e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SCREEN-RECEIPT.json": "ed60f7e6b0b86f4401ada159c0d37ee283836a0b5d1967f7b0a236685f64daa3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCE-TRANSFERS.json": "e49fbbaa4533b6f15b56098c9d16ea3e1bc0cc98b19a2e990c51baad047e7839", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCES.json": "85448ef4fb1d124ef8bd2f0b14451ef522465b14510bba4e53fdd24da0968643", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/TWO-RESOURCE-TECHNIQUES.md": "8cc6b582680ae8565444abc01f1dba729c94a827f1f8e89192190229e52183f4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/WAVE-MAJORISATION.json": "c445afc50e594c46932d8d799b446edc22717e664d828d4afd7810c643576475", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/replay.py": "2e1f11b5702b831622cea8b386bb82043ef9e58b2a0aab56b09c00f30ac73046", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_complex44.py": "5533e9e29c66b11f8feb22a2d3d37551787200ea69eb3d04a984c0b1d22c49bc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/NOTICE.md": "b47da4b840ca9c8d1e2816359a603304ebd7ca442c82b94c049b00f142643f73", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/SOURCES.json": "c265f58b1ab29f9b662e9c5f943147ccc0527fb1f4803b06b48f71d96fa9bc60", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/PR523-ANCESTRY.json": "76025ad06d8ac96fc6693092d674729fea2f04b9c1c89ec50dba7488b8e6657a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/NOTICE.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/code/assemble_combined.py": "41216e8da3b647fe6eead9079858f25b2592cab090154aca43f3cc73ff36dc9b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/README.md": "f69ac71a8df62a5d0bf7ed45ad16642e1102faa9e7b95c03f08cdf264a608948", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/SOURCE-MANIFEST.json": "b91c0d923affac87ce0bad7083d4640758930f82628f042bed7aaccf528973cc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/SEARCH-RECORD.md": "7b09479215c407e4258ef6af64c34dc865e3b9a60c845040258413a2a960f5b8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-RECIPES.json": "577a1be13f5140d9c3997637784b2f812f46b24c61877699430b02de4f662102", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-REVIEW.json": "cd48fe6882a39c57021c4614747cc5c2c88ec07e806cebb914cf533997b73d9b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/run_local.py": "8326e67400e5ff87580e93e4518efe397f1b29fffbb6d757a37e5f97c14c3695", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/DAG-STRUCTURES.json": "5461d7832386b2f7f3234b6786e148a7c49461d8527be5e76c8fe977783d9053", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-AVALANCHE-INDEPENDENT-REVIEW.json": "f084eaa33ea10fb0fe4d575f2abd503ad5dbdb2c03d2c8b6dd62fc5f387ae31c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-CODIM2.json": "2422fa6db50ca4b2e8226113aa30d608e7c6525990eb1faf370f9fee7718e698", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-ELIMINATION-AND-PATH-TRANSFER.md": "481001470bd22345a0baf652261351e015a2634b2572b0d4f78fa9e147edd0f9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SCREEN-REVIEW.json": "555024b7a90f8dbbb3f13623d504d36b3bc92dcf118f6f9ecaeff285ee13f2e5", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SOURCES.json": "69a578efa22c12688ef442498f8b1d901c7056f5f1948ac921e1dca0d2be305b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-SOURCES.json": "e01063a60b24b3b21f9c1d472d890bb387e61d66ab8847cbdab4b92f06e0f91d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-TRANSFERS.md": "1756461714ea55bd748d7245af14adf0a6a4e13a9bb7f498a381ec4282a30387", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PR-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PUBLIC-PINS.json": "273e48abf63a49123f11fb4e56f000c648aaa6d17987378b413469a5976e5ebd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/COMPLEX-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/EXACT-ASSEMBLY.json": "4e7e5831683a1af861580a96db1fd717dc2a6fd01a29b220223868fb57d46e83", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/FINAL-RESOURCE.json": "b1463e5f7fe3663080e6021fea5424375538fabef942c7560cfed610f4242ef7", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/WAVES.json": "262d0fccc6e8ffb1198436034a26c467ad28b3251823ac25c966f773afc3c3cf", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-APPLICATION.md": "56eba06ba109c39ab9ce9eb9769c724f532c06d8ffbb2b53706b8294cb4f9711", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-REVIEW.json": "39e813d3c0f48a1a6317edac9ffb9ba5b534a62948708595e43fc2e790eda168", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-SOURCE-BINDING.json": "b7531fb284ee11e16b875d5f82237e025cfcd95593f3e3eca23cb5d3249eedf2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/audit_coset_paths.cpp": "47999863b7c5037754bf73cc94757095f45f6da510d7ce96fb7699e9188d89f2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/coset-path-input.txt": "779b497d52b6896a04f41d6c55424e65030a939945ca80858c369a3a3320a341", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/export_coset_paths.py": "f36c06ecff72e4a2fd83ed44467d528c976d52da3d5bd6e8043084b1568a7fd9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/CROSS-FIELD-PROOFS.md": "3d0a1b9ac989283400e7c1e3a025080a8f6837755baccdd55f5e51599ac0921e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/README.md": "cfd349a83f5ab3d5bb4268ef93b46b1e4542038fb76fe5e7123b8e5fae977de1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCE-MANIFEST.json": "946e3fb8bbd4efbc771dda183de01a2bd9bc5aacc28dbb86a88edcdec960af2a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCES.json": "905c5860d9c920e41138e582c03010b2b03ee8bf071983ad737d2e57868f6857", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/WEIGHTED-COSET-SELECTION.json": "87c15240aaf48810d103ab3234689bb3ad58024d1b1c0b9106719fc18c5d1945", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/build_weighted_coset.py": "5face855c7e4fb8b6b3954bb20f6c0a662550ca7c6263a1a73c40c857816dd6c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/verify.py": "eb4bb8d1c6eaf5327c7d13fc20ebcf2ae2ecebff5b008d44fc1713a7b162084d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/verify.py": "66a20adaaac6850d3c8649f7ccc959cae19ba5bb17ee88a2b41fb1ceff68e431", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED.json": "a79dc7eec1301a69560a2e7fd6ed69634463272696ee96f09e15db1aad8ab0b0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED558.json": "1e922eef350748956f4cd785d7fc5f73297b0ed6f53b130aca2da29d26777c34", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/MANIFEST.json": "32d31fe49c9a4977b1fe83c72320940bff2dececbd8313787fbd81e188b5166a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/NOTICE.md": "02e74770785e31234d863b36ad2291e04267eaf32a4ba82f67cb1c804da1de44", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF-REVIEW-STATUS.json": "f54fcf048c5e24f5d3ccf308259b4b1b291b736e014fee81b4518980d358786c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF.md": "d5d498edc56fdef8c5798af7f5ec66948bd2f66c553b9efe366cdaab01bd3453", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/README.md": "74f5cd377861bdff57a2825b19ac6c2b0bb6aa62f3b0354c7ceec0a76866c61c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/REVIEW.json": "518fd773b1287c9be19563316f55acfa443667946d1f5bc7cc7b884bb9005094", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/SOURCES.json": "32e1466dd29be472e63e11e8ad76b228c0a1e3ec33596ce4319a64b89bd6d912", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-INDEPENDENT-REPLAY.json": "6db0dfeedce73cf9a6eb31bea0a499f06dc4961da40a60d91059bb9ab48fd73c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-PUBLISHED-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged311.json": "8a06db71ab002a9e080f0d60d22ee32a3a6a848a0cc633f37fc8fde22d21694b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged314.json": "53142566b590fdde9258e36e6fe62991c2f39331fc2822bf0105f812e52d6aa6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-regression-final.json": "0c8bb51c2234a3190fab3e0e33187dee1bd4f2aab32483a69452366abb3b2567", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-COMPILER-LINEAGE.json": "db1e3390ade85f2299fc1ff0652e12fe1384c35bdcaf5c49e5403e4eb6b255b9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-RECEIPT.json": "c121cb83baeeb950a42eac4bec73676119dd836386b822e03bf7820fa1bf5262", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-REPLAY.json": "b32113b56745cd5c142c982426ce31f0fe8d4f1a4ba219541e8c8befc69f017c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged311.json": "fed5ee89ea9f6b3c3ffb150898fc95f9a057a0c598b18de6df59e66908342b2e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged314.json": "71251eee88024f14982a4e7328377f50eb9d04314f692b891b53b5911498e3c2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXACT-ASSEMBLY.json": "c7495a6787f48a9c5184a00daa841f4a972e37c580c6ff3dacc07bd947914f99", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-INVOICE.json": "4ac060dbf2ea2624dd1f4bda23bdb81c0a3013dfe49b77c092b631885529947f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-OWNERS.json": "ecac65c65418641abf598db74d588ba8f53b3f358505bd31e215f09562922e3f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-BASELINE-ASSEMBLY.json": "9f5e050486c3c337793d09e4ce96769336a3653de0a3a84a77c39431cf062f16", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-EXPECTED.json": "6c16d41d9c10bc04c65b548ff34422ee2d90d63c37e9bdea4adbdf06fa959f44", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-INVOICE.json": "4b6977a049663ab958bd9a48c2864f7a7bddb26aef03e14f3068aede020ef76f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-OWNERS.json": "0bcaa62bf4723672113f2acdc3ae30c6faa18e5aefa3992e0ec7dc46b9cdd552", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-RESULT.json": "81618cefc1df42f827d0a7da838b13b9167d3500ca5cd598963c3e09e62ceb4e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/UPSTREAM-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-assembly.tex": "ccf34a6d37c4af14bebeab15be50ab204eb1caebe546385520050ec30089441d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-complex.tex": "1c5b638aa9b75365b8addec9c8eeee6bc5e499722901079b94c65fce033fde8a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/verify.py": "6b444c686891b20b3a92385d025818fc86d9a6ddd2f77504d9223afaa47acd21", + "research/complex-k492-owner-repair/vendor/multicold/verify.py": "1a0e92f610f96a5e642310a2823b152cf573c0d1630b9c174fcc8388d1ffd2a2", + "research/complex-k492-owner-repair/vendor/structural_gain/MANIFEST.json": "eb0499a927665a48a25355075dcb7dc76d0fc43c67ea6d311d9e0242b6d4a25d", + "research/complex-k492-owner-repair/vendor/structural_gain/README.md": "b9132c6bfa65a6a1187ace1f42b938dfeb1d1c7544bdb4c56b0a47409e2822d2", + "research/complex-k492-owner-repair/vendor/structural_gain/frontier-composition/combined-prefix-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/complex-k492-owner-repair/verify.py": "dc069c48d1dce31fef2e567fa3ed81780bf07e00b39ac1a0761536e4a5c0b377", + "research/complex-k492-owner-repair/verify.sh": "7fa796bba785a108b681c7c558974c61d5900fbb5e41f2853053faedfb9d3f1f", + "research/complex-sw4-frame8/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/MANIFEST.json": "b9b39c206fcd2613382b0dcbda23a371e8781d1bedaf8e2f8e7df1e79dc1fa89", + "research/complex-sw4-frame8/NOTICE.md": "61b1e1d42b9e589979091cb2d44af2f4e1d9f71075b7bfc9dd7b5b9fb68c2aa5", + "research/complex-sw4-frame8/PROOF.md": "21d8ef267f9ee4c837bcbab0f659e5a8bbf16e0ee1e79e7775342d39c8c8dd7b", + "research/complex-sw4-frame8/PROVENANCE.md": "c7648719b01dd93af2c3a2c6e951a54711d13892dc4bd4339d16edb4c37c9bf0", + "research/complex-sw4-frame8/README.md": "9ae02da50779761637e34b6bc16556de82e97610a339ee9be0eb2e886cf842e9", + "research/complex-sw4-frame8/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/code/assemble.py": "bb32035aefe575da3335da4e907553e2e6fdca0a0f997db569cab651c2ddb008", + "research/complex-sw4-frame8/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/complex-sw4-frame8/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/complex-sw4-frame8/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/complex-sw4-frame8/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/complex-sw4-frame8/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/complex-sw4-frame8/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/complex-sw4-frame8/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-sw4-frame8/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-sw4-frame8/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/complex-sw4-frame8/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/complex-sw4-frame8/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/complex-sw4-frame8/comparison/GEOMETRY.json": "2fbd5e24c217cc322fdda14ece627589be1fd6831444838db58901462938c090", + "research/complex-sw4-frame8/comparison/PR699-SPEC.json": "56eb544289c8bc4314bf1bb6cc00883f132f5c46b92c61bcc84488943b48a615", + "research/complex-sw4-frame8/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/complex-sw4-frame8/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/complex-sw4-frame8/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/complex-sw4-frame8/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/complex-sw4-frame8/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/complex-sw4-frame8/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/complex-sw4-frame8/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/complex-sw4-frame8/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/complex-sw4-frame8/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/complex-sw4-frame8/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/complex-sw4-frame8/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/complex-sw4-frame8/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/complex-sw4-frame8/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/complex-sw4-frame8/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/complex-sw4-frame8/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/complex-sw4-frame8/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/complex-sw4-frame8/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/complex-sw4-frame8/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/complex-sw4-frame8/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/complex-sw4-frame8/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/complex-sw4-frame8/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/complex-sw4-frame8/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/complex-sw4-frame8/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/complex-sw4-frame8/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/complex-sw4-frame8/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/complex-sw4-frame8/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/complex-sw4-frame8/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/complex-sw4-frame8/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/complex-sw4-frame8/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/complex-sw4-frame8/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/complex-sw4-frame8/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/complex-sw4-frame8/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/complex-sw4-frame8/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/complex-sw4-frame8/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/complex-sw4-frame8/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/complex-sw4-frame8/data/EXPECTED-IDLE.json": "2d382c518e56daf26a41e28dcd169f4e7d3ce64a67bc281b395ce367ffb06e86", + "research/complex-sw4-frame8/data/FRAME-RECIPE.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/complex-sw4-frame8/data/FRONTIER.json": "70f211bb048cf19b7d50868fda830145d4073edb2eeedba89d77367129b3bb9f", + "research/complex-sw4-frame8/data/OWNER-CONSTRUCTION.json.gz": "bd3efa32765b30a2e18d113186d4ac94dfd3d080f6499731826f054246cd8f1e", + "research/complex-sw4-frame8/data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "research/complex-sw4-frame8/data/PLAN.json": "b94744674847a9f411a1072521754c605518971a6a96fead1eb3b479eb6455b2", + "research/complex-sw4-frame8/data/SPEC.json": "7fc2bd2e3c0ac13729c1fa1f0f327a4eb7c72373ba58e5ed3954b30e23c803be", + "research/complex-sw4-frame8/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/complex-sw4-frame8/extras/build_frames.py": "a1e6530849499a812d4be2b920f4afe60e55c4a1ecc08f62849d2a3eae882019", + "research/complex-sw4-frame8/extras/check_owner_map.py": "6be8d8bc9ca09a195b25f3ccdfb9ada0d129d4cc7900ad5a26832dd8ae7809a4", + "research/complex-sw4-frame8/extras/exact_intervals.py": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "research/complex-sw4-frame8/extras/frame_controls.py": "47d2f85df2317290687ee44eeb27526649d17a6cc2dba365695647a3cbc42a98", + "research/complex-sw4-frame8/extras/replay_owner_map.py": "8cab5bb2650e3caf1036aed0197663bf26b41c2fa645f732c3c7bfe3f1e2b481", + "research/complex-sw4-frame8/independent/README.md": "5d7bb5bde9710aa266a581b8d2938202b9302a05b47252faf8b1ca9a1e3bdd6a", + "research/complex-sw4-frame8/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/complex-sw4-frame8/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/complex-sw4-frame8/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/complex-sw4-frame8/local/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-sw4-frame8/local/cold_end_controls.py": "6f8cfe711aea1d688c255a1f1c158d94aab8ce4adaa526113d58ca58db87078c", + "research/complex-sw4-frame8/local/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-sw4-frame8/local/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-sw4-frame8/local/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-sw4-frame8/local/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-sw4-frame8/provenance/ADMISSION-DIFF.json": "a16ae3d0757c085212b83600163c9ca2304dbb4c86f489b654d95a66af75509d", + "research/complex-sw4-frame8/provenance/SOURCE-FILES.json": "065a87bcc51c0926666abe981c3a65ddb593fe1e6e315787927523683982dcdd", + "research/complex-sw4-frame8/provenance/upstream-gauge44/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/complex-sw4-frame8/provenance/upstream-gauge44/NOTICE.md": "54305e39f346f658d49fe5a1e0938402ac0977a72f21c92557d887da592ec047", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-BIT.md": "1e2167a0cb69a7be7a5c98e6e5b270b4676d6c0ac209ff29e06e40507f2c9544", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-PROMO.md": "58bc7e022950dde32252d8dd2cbc90bb44f9b7af1f03551a24d2d3a210e0d39b", + "research/complex-sw4-frame8/provenance/upstream-gauge44/README.md": "51416917014fa57205a86f03aba38619ac10d54f5a07e5015bf13e1c1fc9ae07", + "research/complex-sw4-frame8/provenance/upstream-independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE44-INDEPENDENT-PRICE.json": "f5d1a19acc6cc5f6676f68ba60378b4a01841e54f015a8d6c18f7439093da268", + "research/complex-sw4-frame8/provenance/upstream-independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/complex-sw4-frame8/provenance/upstream-independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/complex-sw4-frame8/provenance/upstream-pr699/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/complex-sw4-frame8/provenance/upstream-pr699/NOTICE.md": "93f803ee9ae9d2f02801cf79335ff1731b71bd82b6b6d0bfc9a1130c1543b63c", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/complex-sw4-frame8/provenance/upstream-pr699/README.md": "f320dece84ea669dbe25f59ff14fa32b6c4d9c2cbddc0890a7fce9e5da16e2de", + "research/complex-sw4-frame8/provenance/upstream-pr699/SOURCES.json": "12eb983afb500a57c42e8f22f99d47453d39d1128a0b797e3d684fc7e544f5f5", + "research/complex-sw4-frame8/provenance/upstream-pr699/historical-FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/complex-sw4-frame8/provenance/upstream-pr699/historical-PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/MANIFEST.json": "fd30701bd9bd652985db18fa95bee08a34615ef417a2feb2f55efd60a0b5d665", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/NOTICE.md": "ba2267f17bb2cad9dc706565c359fec98d6ec0feb3b32dcfb8c3277c59cbf8fe", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/README.md": "1b2679bed02b9563e6f3a9951eef2cc5057444a78bf4aa7ab89d1ad83330e3e4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/SOURCE-PINS.json": "240e8ee75336e921663a0057f450b346bac305d2af4ffacef68dec1798d9bb85", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_joint_prefix.py": "c01836709f3650a39c46418ac1771980b4b96288e60b51032b5d31419e484c37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/data/EIGHTCOLD-JOINT-KERNELS.json": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/SOURCE-PINS.json": "503764cd70c99a9652ec51a533c31ad7f2a615e6c230156d785daff2835cf028", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/assemble.py": "3fedbccb09d469f8ee366b4302e51448de6d25793a78a12c5f9a8d9667a755eb", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/assembly_controls.py": "a0f2349ba8fe8404b8b76c869f12dd7e250a775b2e05b3c9c00e6889ad4c8a45", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_allcold.py": "7950e5c01488a9146bdbaf19ab4fd0c33cd25a4d63fb56ef995ef2e45ac7ec1a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_kernel_controls.py": "5100459211f43ba048bf82c3942bbedb8b224272b24722a14f0dcd808a38aafa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/bind_providers_portable.py": "01e62fee1f1dcf1b7b34338d555dacd5cd1d7d10d6b9a605d0913d959f8c7ecf", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_four_portable.py": "417b1dc4dca485dfbbaa820e552cae9bf3932bbace6ea16ce93aa0590c3c184e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/emit_allcold.py": "9d6c75af63fa8f53973734ccb1eef983511f4337ce644436a693fd8fb9ef8fe2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/invoice_allcold.py": "ff8fee775ad97926454f3ad1183f8e05de654e276150e579ce612f3eb2f98d44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/phase_timing_controls.py": "dcc4adfd139d6f65a88bdc6d183ea3777d4e4f688d2169dd41b54964f05591bb", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FOUR-COLD.json": "643e07c25dac93ce1fe67532e377f9f1cf8c7bb83835abb3fad63c9c51514736", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FROZEN-FOUR-PROMOTION.json": "90417f8d54ea9272bb5041ed9144a58dcbc194a22dd0845e7de89d4b717f1b74", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/OWNERS.json.gz": "93349ec85f21811b5b247980f9fc4d8161100d5ee37bce7fda5ef65d0370240b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/PLAN.json": "35a95fd9b5e46fdaf8a3929d516fa8c14dd4e3bd9a20eb546e0541a8ef85ff51", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/ZERO-COLD.json": "ea1cda1578464399077bb96e5c3c3d01e88ba5eeaa6c22d3b66ef4380bc3b820", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-EXACT-FRONTIER.json": "55050dbdc1ffa18b3cc1f9b8b94f7de7a04a39f65efbbb890de2e73db837ee38", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-OWNER-RECEIPT.json": "cf9992773c9ae4523dbc7f71753d7ecfa515618d7c2ab414b60d53887f518a30", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-PROVIDERS.json": "59196e2c93f4fb8fdbe74bd16d60242a3534eb5bb8c810fc29635ab0e65bd08f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR561-NOTICE.md": "180802791d3547d511a7af8bc4f800640abd72636d50631d2e61b35cfa17627d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NATIVE-TRANSFER.txt": "f4ceeb2a412c9ec3f3bc06a78cf865e5fdb7c1080421ec5285ba02d04418eb37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NOTICE.md": "a427502077fceaaffc7d44bb8520562160d0d76e4cb08c2b10337e62d8987fae", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-ALLCOLD-NATIVE.txt": "ca7a8b3f3fa6d3610ef9518c71d5186427ccf2b2bdf3511be84a6b2d7bbb1e25", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-REVIEW.txt": "0a807ea2c5fec29cbf994f94bd5a388914fb31de02dba03d18265040044c0dc6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/MANIFEST.json": "f28c04eecbea7599fa9e0867dd8d0311a463af12cab79f90a43733b162527164", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/NOTICE.md": "fa76079e2566b8d644c4aa36cb1034aa2363d2e97978b26203f122d826918fce", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/README.md": "02181c5ff31cd1c2899608e5ab598b405df92ad5814df35f329d117956f7ee10", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/SOURCE-PINS.json": "b09437400a7f6f0dc86eee0f800aae91cd35a7e5e80eb3d348f87113a0bd0d76", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assemble.py": "5d4946dcad7636bf2119bb7bc3a52ceb41454c1514d12cb77def2c2e02b17338", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assembly_controls.py": "f3d703a63404bd655e66a520b3840a4ab72529751664eb634a52736b4bc95a29", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/audit_promoted_scalar.py": "1994e7116065636b53bf740000ff78dce8ea62390e597d293d183f33c67eaa6d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/promote.py": "b69a27d53ec3f64ccbdbbd79f9632419f273b3eb4429f6cdec1315fd8798750c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/reconstruct.py": "e56d57d39cf787b8325de5a97dbc283f89d51c24169efae9ad2227277a6f8243", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/OWNERS.json.gz": "c72892f5b3b36e75ec4db7742b046bd9194f638ff32be9cc8843914af950e6dc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/ASSEMBLY-PROVENANCE.json": "cf1710faaf5d4aa32e6a8a24b0087cdc24e5b680d974e5dd4e0cb4ef4787e395", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/CONSTRUCTION.md": "9b0617dee9c044488b2f72b50059dd8d768f6ee0a29c35fe2cfdde85d25cdbd1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/EXPLORATORY-SCALAR-8-CONTROLS.json": "c0465364067e6392fa0d7e4cd0481a82afebe3e271b486a4984e7b2826025146", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/RANK5-CAPS.json": "461ebc6c8816a0132c89a54c2ae56b07f31500bcb2c2bebfce783eb41bc29441", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/MANIFEST.json": "b0f5773b3ffa2c5305dade20ce6159cb8b5961285d2f7bc767c6353838bac4d3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/README.md": "79cc63fc45ea52c04f32555676704a1664a3eafdd917b25689b1acd390a4636d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-avalanche80.cpp": "0215152bd3ddf0282c8088843c4e8a89e821e747f884e03100fe79238b3061db", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-flags.cpp": "0bd6ac192357ca71f6b84baf50efdc43fccc8394296c35a298b35306db7d88a3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/assemble.py": "bf878beb64edc6bae4c321d7c964088c4d9aa0ae477597ac1adbe2b1078e3904", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/build_wave.py": "249669d046db49011b84345a14ec05a93270829e5e21f6046576972038da377e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/README.md": "bd82df5b39c6ff26b93f41ad76471ac50131050a3cc0f84dbc6c57703a721353", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/RESOURCE-TRANSFERS.md": "6fd2bc82714060290f29b218c235c171395cf9be99bea01f8a7fa770dadd68c7", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT-OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT534-PLAN.json": "221a38f18504e00da31a72a7b3a3f0d248e8f886d2b8fa7cae2d73e7ec86905e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SCREEN-RECEIPT.json": "ed60f7e6b0b86f4401ada159c0d37ee283836a0b5d1967f7b0a236685f64daa3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCE-TRANSFERS.json": "e49fbbaa4533b6f15b56098c9d16ea3e1bc0cc98b19a2e990c51baad047e7839", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCES.json": "85448ef4fb1d124ef8bd2f0b14451ef522465b14510bba4e53fdd24da0968643", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/TWO-RESOURCE-TECHNIQUES.md": "8cc6b582680ae8565444abc01f1dba729c94a827f1f8e89192190229e52183f4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/WAVE-MAJORISATION.json": "c445afc50e594c46932d8d799b446edc22717e664d828d4afd7810c643576475", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/replay.py": "2e1f11b5702b831622cea8b386bb82043ef9e58b2a0aab56b09c00f30ac73046", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_complex44.py": "5533e9e29c66b11f8feb22a2d3d37551787200ea69eb3d04a984c0b1d22c49bc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/NOTICE.md": "b47da4b840ca9c8d1e2816359a603304ebd7ca442c82b94c049b00f142643f73", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/SOURCES.json": "c265f58b1ab29f9b662e9c5f943147ccc0527fb1f4803b06b48f71d96fa9bc60", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/PR523-ANCESTRY.json": "76025ad06d8ac96fc6693092d674729fea2f04b9c1c89ec50dba7488b8e6657a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/NOTICE.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/code/assemble_combined.py": "41216e8da3b647fe6eead9079858f25b2592cab090154aca43f3cc73ff36dc9b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/README.md": "f69ac71a8df62a5d0bf7ed45ad16642e1102faa9e7b95c03f08cdf264a608948", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/SOURCE-MANIFEST.json": "b91c0d923affac87ce0bad7083d4640758930f82628f042bed7aaccf528973cc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/SEARCH-RECORD.md": "7b09479215c407e4258ef6af64c34dc865e3b9a60c845040258413a2a960f5b8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-RECIPES.json": "577a1be13f5140d9c3997637784b2f812f46b24c61877699430b02de4f662102", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-REVIEW.json": "cd48fe6882a39c57021c4614747cc5c2c88ec07e806cebb914cf533997b73d9b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/run_local.py": "8326e67400e5ff87580e93e4518efe397f1b29fffbb6d757a37e5f97c14c3695", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/DAG-STRUCTURES.json": "5461d7832386b2f7f3234b6786e148a7c49461d8527be5e76c8fe977783d9053", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-AVALANCHE-INDEPENDENT-REVIEW.json": "f084eaa33ea10fb0fe4d575f2abd503ad5dbdb2c03d2c8b6dd62fc5f387ae31c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-CODIM2.json": "2422fa6db50ca4b2e8226113aa30d608e7c6525990eb1faf370f9fee7718e698", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-ELIMINATION-AND-PATH-TRANSFER.md": "481001470bd22345a0baf652261351e015a2634b2572b0d4f78fa9e147edd0f9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SCREEN-REVIEW.json": "555024b7a90f8dbbb3f13623d504d36b3bc92dcf118f6f9ecaeff285ee13f2e5", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SOURCES.json": "69a578efa22c12688ef442498f8b1d901c7056f5f1948ac921e1dca0d2be305b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-SOURCES.json": "e01063a60b24b3b21f9c1d472d890bb387e61d66ab8847cbdab4b92f06e0f91d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-TRANSFERS.md": "1756461714ea55bd748d7245af14adf0a6a4e13a9bb7f498a381ec4282a30387", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PR-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PUBLIC-PINS.json": "273e48abf63a49123f11fb4e56f000c648aaa6d17987378b413469a5976e5ebd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/COMPLEX-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/EXACT-ASSEMBLY.json": "4e7e5831683a1af861580a96db1fd717dc2a6fd01a29b220223868fb57d46e83", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/FINAL-RESOURCE.json": "b1463e5f7fe3663080e6021fea5424375538fabef942c7560cfed610f4242ef7", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/WAVES.json": "262d0fccc6e8ffb1198436034a26c467ad28b3251823ac25c966f773afc3c3cf", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-APPLICATION.md": "56eba06ba109c39ab9ce9eb9769c724f532c06d8ffbb2b53706b8294cb4f9711", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-REVIEW.json": "39e813d3c0f48a1a6317edac9ffb9ba5b534a62948708595e43fc2e790eda168", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-SOURCE-BINDING.json": "b7531fb284ee11e16b875d5f82237e025cfcd95593f3e3eca23cb5d3249eedf2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/audit_coset_paths.cpp": "47999863b7c5037754bf73cc94757095f45f6da510d7ce96fb7699e9188d89f2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/coset-path-input.txt": "779b497d52b6896a04f41d6c55424e65030a939945ca80858c369a3a3320a341", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/export_coset_paths.py": "f36c06ecff72e4a2fd83ed44467d528c976d52da3d5bd6e8043084b1568a7fd9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/CROSS-FIELD-PROOFS.md": "3d0a1b9ac989283400e7c1e3a025080a8f6837755baccdd55f5e51599ac0921e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/README.md": "cfd349a83f5ab3d5bb4268ef93b46b1e4542038fb76fe5e7123b8e5fae977de1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCE-MANIFEST.json": "946e3fb8bbd4efbc771dda183de01a2bd9bc5aacc28dbb86a88edcdec960af2a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCES.json": "905c5860d9c920e41138e582c03010b2b03ee8bf071983ad737d2e57868f6857", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/WEIGHTED-COSET-SELECTION.json": "87c15240aaf48810d103ab3234689bb3ad58024d1b1c0b9106719fc18c5d1945", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/build_weighted_coset.py": "5face855c7e4fb8b6b3954bb20f6c0a662550ca7c6263a1a73c40c857816dd6c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/verify.py": "eb4bb8d1c6eaf5327c7d13fc20ebcf2ae2ecebff5b008d44fc1713a7b162084d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/verify.py": "66a20adaaac6850d3c8649f7ccc959cae19ba5bb17ee88a2b41fb1ceff68e431", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED.json": "a79dc7eec1301a69560a2e7fd6ed69634463272696ee96f09e15db1aad8ab0b0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED558.json": "1e922eef350748956f4cd785d7fc5f73297b0ed6f53b130aca2da29d26777c34", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/MANIFEST.json": "32d31fe49c9a4977b1fe83c72320940bff2dececbd8313787fbd81e188b5166a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/NOTICE.md": "02e74770785e31234d863b36ad2291e04267eaf32a4ba82f67cb1c804da1de44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF-REVIEW-STATUS.json": "f54fcf048c5e24f5d3ccf308259b4b1b291b736e014fee81b4518980d358786c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF.md": "d5d498edc56fdef8c5798af7f5ec66948bd2f66c553b9efe366cdaab01bd3453", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/README.md": "74f5cd377861bdff57a2825b19ac6c2b0bb6aa62f3b0354c7ceec0a76866c61c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/REVIEW.json": "518fd773b1287c9be19563316f55acfa443667946d1f5bc7cc7b884bb9005094", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/SOURCES.json": "32e1466dd29be472e63e11e8ad76b228c0a1e3ec33596ce4319a64b89bd6d912", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-INDEPENDENT-REPLAY.json": "6db0dfeedce73cf9a6eb31bea0a499f06dc4961da40a60d91059bb9ab48fd73c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-PUBLISHED-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged311.json": "8a06db71ab002a9e080f0d60d22ee32a3a6a848a0cc633f37fc8fde22d21694b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged314.json": "53142566b590fdde9258e36e6fe62991c2f39331fc2822bf0105f812e52d6aa6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-regression-final.json": "0c8bb51c2234a3190fab3e0e33187dee1bd4f2aab32483a69452366abb3b2567", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-COMPILER-LINEAGE.json": "db1e3390ade85f2299fc1ff0652e12fe1384c35bdcaf5c49e5403e4eb6b255b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-RECEIPT.json": "c121cb83baeeb950a42eac4bec73676119dd836386b822e03bf7820fa1bf5262", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-REPLAY.json": "b32113b56745cd5c142c982426ce31f0fe8d4f1a4ba219541e8c8befc69f017c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged311.json": "fed5ee89ea9f6b3c3ffb150898fc95f9a057a0c598b18de6df59e66908342b2e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged314.json": "71251eee88024f14982a4e7328377f50eb9d04314f692b891b53b5911498e3c2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXACT-ASSEMBLY.json": "c7495a6787f48a9c5184a00daa841f4a972e37c580c6ff3dacc07bd947914f99", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-INVOICE.json": "4ac060dbf2ea2624dd1f4bda23bdb81c0a3013dfe49b77c092b631885529947f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-OWNERS.json": "ecac65c65418641abf598db74d588ba8f53b3f358505bd31e215f09562922e3f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-BASELINE-ASSEMBLY.json": "9f5e050486c3c337793d09e4ce96769336a3653de0a3a84a77c39431cf062f16", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-EXPECTED.json": "6c16d41d9c10bc04c65b548ff34422ee2d90d63c37e9bdea4adbdf06fa959f44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-INVOICE.json": "4b6977a049663ab958bd9a48c2864f7a7bddb26aef03e14f3068aede020ef76f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-OWNERS.json": "0bcaa62bf4723672113f2acdc3ae30c6faa18e5aefa3992e0ec7dc46b9cdd552", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-RESULT.json": "81618cefc1df42f827d0a7da838b13b9167d3500ca5cd598963c3e09e62ceb4e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/UPSTREAM-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-assembly.tex": "ccf34a6d37c4af14bebeab15be50ab204eb1caebe546385520050ec30089441d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-complex.tex": "1c5b638aa9b75365b8addec9c8eeee6bc5e499722901079b94c65fce033fde8a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/verify.py": "6b444c686891b20b3a92385d025818fc86d9a6ddd2f77504d9223afaa47acd21", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/verify.py": "1a0e92f610f96a5e642310a2823b152cf573c0d1630b9c174fcc8388d1ffd2a2", + "research/complex-sw4-frame8/vendor/main/research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/complex-sw4-frame8/vendor/main/research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/MANIFEST.json": "faa8559bc062cb1813c482580967de2de0669ee59e708908fd24b16b74d6c707", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-NOTE-R.md": "22312bb347bdf159e6a01a45c47675e6170d33b258e2fd9ed52aee88fb92c0ed", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-NOTE.md": "e79d0920228107083be166a6733186816a38a8fa68d99f2038f07b157ea5690e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/README.md": "d74a9499a23a729d3470bde7b06b85c4cf8602d06d10af9bf9991aea2da8ed7e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/assemble.py": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/assembly_controls.py": "8a365b95c412d75d10db5bb59309d47cd56c5f8a77566f940a05977795130ce8", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/audit_allcold.py": "cea021ae79658ca7ca4d07f1e1a70bdb4947afaf95b362114c11032c0fef889a", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/bind_providers_portable.py": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_frame_regroup.py": "e2549ccc7a90008831be3b59aeb37b47db696640f5f5c2b72dd888b2f1e7e5c9", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/cold_end_controls.py": "0c404f49e90457520f1788ee6741c9ac154a5814c54ad6cb83b59c44552ebc84", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/construct_k_triangle.py": "66fc460df8eb8067efe3d8a3f9e97a7244aacd7bf11650a6ce656e868ce053da", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/emit_allcold.py": "fe26f10fe5d30ed407a37540a45ef94f44576dd241d09e19aef5db1efb072746", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/generated_identity_controls.py": "a7b93207a673575d1fddc3e579153349c145c8f08d4575ae0a5d1e3cffec01de", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/witness.py": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/EXPECTED.json": "9eeb8b149bf7649a47b0d3266436b9bfe0ba155ffb9668fa66cfa21136f9b8ed", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/OWNERS.json.gz": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/PLAN.json": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/SPEC.json": "f5473e3e6d76901bca57616efda78c3e23b3d30aa2c05acb656b6e87c38abbff", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/WITNESS.json": "05f7127910a846210d8c75d67c58185b7cd15b9861d71d0cfea955ae62414436", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/cand.json": "f1f42cb6f1f272ca3690e65fe604c18427dd9ac51241095c133bf97af21d32e3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-cold_end.json.gz": "a25ccab0c024aa9512df822032fca11683def03d0886b58f375c42834264c47c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-frame_regroup.json": "8d880d3d8e795575a3a3428e0031b2c45831eea512dc32cb99f7eae9e6e49e5e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-hyperplane_end.json": "30504ae76a2387677f05450d23413c7373c08ae2d9d171b2f4597bb63e294631", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-cold_end.json.gz": "9f487a0c6e89f6f3aec38726c3a4e514ffe1248ce6cda3704676f2c86ad0866c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-frame_regroup.json": "9894f9c93e931b61cf34b337c4b257a72bb1d06fbdc4e8b02368e6e29ab2b644", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-hyperplane_end.json": "c71c2b05550544c29ebb4696e63cffc44d6daa76f1bc25e9c7c97e994b2c7657", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-cold_end.json.gz": "90952fde4666724f783191d92f132e9f6aa84cdc6163a42974774e9957cd6f35", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/DISPATCH.json": "34f233d4976e59455c3f0e1fa6edef8091d04bf63e4268aeb4a73810bfd5e338", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/LP-PATTERNS-AGG.json": "5a1e2c3f7784cff71d4577e29d7a598a41198dac20aa35d5c87bb345d12f3e03", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/LP-PATTERNS-EX.json": "08dd7090b5fda8b0a2c936c12982b279333c5765cfd090361a58e74d68b22e80", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/TEMPLATE-PLAN.json": "1879679a44b373006907cbca8261a9cd187c7b868472afab04e002bf95331d9e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/WARM-OWNERS.json.gz": "56aac182713cba7627b7ebfbb497975b5a7c76b9da9f835a1cb63192fc6134a4", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/WARM-PLAN.json": "89539c2b5d24225613c0ceb571a03a2165bcaf0a0bea06986e212649cbfef9e1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/verify.py": "4c8dea601fe9255bd9fbbf7840d3bfacc3dcf0b1deaf7ffab467e3c10648a3b7", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/verify.sh": "18cf93f64fa5b7301f837950df181cf08ee8c3efe1b3fb6803354549a7462618", + "research/complex-sw4-frame8/verify.py": "7706065e3d2934ea493910638b40e6285348d337507e0fb695d8d1e536926637", + "research/complex-sw4-frame8/verify.sh": "51474403117d5ab4d6afe6dada67d9af6654964dc03aeaed8716ec15dfc0b1eb", + "research/complex-sw4-frame8/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/complex-sw4-frame8/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/complex-t21-owners/DEPENDENCY-PINS.json": "7c47d44e8d5c24aa80afc70724e7c0381fec57ef80d085d2ee4611726a0f1254", + "research/complex-t21-owners/MANIFEST.json": "663a4300ec3abe2278ac6c8e49dd13dc58694c33bfadaa278c5406539e113a31", + "research/complex-t21-owners/NOTICE.md": "91fffbebc4bb0f3c1e4e81f239d3e7c44400c1f001a6fd5120572017bfb598f7", + "research/complex-t21-owners/PROOF.md": "78721b32fceb34b21b8e77c95381c38c60276e72e6d9c2e9c6262cb347457def", + "research/complex-t21-owners/README.md": "7d09210953f2fc66efd3bd0af0fdd899ed98c93645f80fc32934c8d19323dfa0", + "research/complex-t21-owners/VENDOR-PINS.json": "578100c9ed4812a161271a1b5c8036673f4b27d6cc1df560715ff2ea9a598f6d", + "research/complex-t21-owners/build_owners.py": "d1e6bbab8ea0de09048fc9737dd4a4713289ca69328efe71855e16fc55abfa57", + "research/complex-t21-owners/build_parent.py": "0b5a66641494e934e3e032982c31aa561b89975d6673e7db257f4efdf5b8c921", + "research/complex-t21-owners/check_parent.py": "0e158551680b06a7a3f4599b4dcb74bcfcb7f1e94fcaf9a46c9b7a95d1200a6e", + "research/complex-t21-owners/common.py": "41a2e8a4cc69251e7e31dd82b4776ccfe46033afa8dca59f45f5d3c377541ea7", + "research/complex-t21-owners/data/ADAPTER-EDITS.json": "507e45b14439c8a19e269ee3c92fe9f28c80bf93375696b51e6618494de2c46a", + "research/complex-t21-owners/data/CLAIM.json": "433d7bc4a371aaffeee35c12a1db6ea974722a85b799233626e1a57dcfdcb121", + "research/complex-t21-owners/data/EDITS.json": "a3bdecb4899af794427458eec0b7b13b404e2c822c1e8e152d4a4eb92cb10638", + "research/complex-t21-owners/data/SPEC.json": "f18777bc770f1c65d17c3fe3c5d04d341e42bec6c5beabc97b1ca599df7bfc5a", + "research/complex-t21-owners/data/T5-OWNERS.json.gz": "676e91f0ab18bdc93b3da067082506b779969dde32a38baacfc8576c327a3c54", + "research/complex-t21-owners/independent_check.py": "9d8c86bf45cdaef37f223c88704055ced503ee295645611e13f3fb9059a00e55", + "research/complex-t21-owners/owner_controls.py": "1b38c922aad0776a52ec47f0db6b0d53e8c556b872b908f1fe93892ff918804c", + "research/complex-t21-owners/package_controls.py": "6676ae2e17f13142e6d5df27367fd0633e0d5f592869b637fbf875e38ce7b642", + "research/complex-t21-owners/price.py": "b4510dd0d86322be627ff500e76a22f53cafa8405a699d04646dc3039167d569", + "research/complex-t21-owners/source_adapters.py": "d77c78189db392855b462b3bd11b690b0d0a066335b7b1ed25568c03bab04c09", + "research/complex-t21-owners/vendor/pr858/baseline_coverage.py": "c0cf6bb2035817a09e1abb5dc492d57af79f584bbd0c1cf5fe73ba0f8f604741", + "research/complex-t21-owners/vendor/pr858/independent_check.py": "dd552d627bbefc05ab3f6abbbd1640ba53b67e607002ebb7dd3d17bf03ae1e65", + "research/complex-t21-owners/vendor/pr870/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-t21-owners/vendor/pr870/NOTICE.md": "e67a7bf357e62c130ed0df184c27d3b439b55c30e1c4c003c97bb1c6d0ab58e1", + "research/complex-t21-owners/vendor/pr870/PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "research/complex-t21-owners/vendor/pr870/PROOF-NOTE-T16.md": "b13621111876dee62367d7ee8e9b46c3707145d5f08914b0932d0960ee700d43", + "research/complex-t21-owners/vendor/pr870/SOURCES.json": "a7c2f2d21d535439b729f4d1245fa6a9bb24a148d877c1298e9bbdbcf251067f", + "research/complex-t21-owners/vendor/pr870/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-t21-owners/vendor/pr870/code/assemble.py": "15f6986a476bac76bcdc0bfcf51da115389b46f1950d2766b6822f757888b13a", + "research/complex-t21-owners/vendor/pr870/code/assembly_controls.py": "da7e981ae1b9f099d4e1524cb4f3ba1116011936ebe378692889b5dbfa99029d", + "research/complex-t21-owners/vendor/pr870/code/audit_allcold.py": "1467a2acb654e62552c69fb9a7c4c85f70a02120881d222313865058ab71a6cc", + "research/complex-t21-owners/vendor/pr870/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/complex-t21-owners/vendor/pr870/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/complex-t21-owners/vendor/pr870/code/emit_allcold.py": "354367e1fd6185a67b04f4268bcae4d502e47b18cb2131e247f5bcab5b3a769e", + "research/complex-t21-owners/vendor/pr870/code/freeze_spec.py": "5971eecac6d6fbcb53244b80f1b9d7232012dc32876fab511214a5addebbe6c2", + "research/complex-t21-owners/vendor/pr870/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-t21-owners/vendor/pr870/code/invoice_allcold.py": "71eb57514e28ced97251e0507105f654f59885ec4d40486a780bf166098858a8", + "research/complex-t21-owners/vendor/pr870/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/complex-t21-owners/vendor/pr870/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/complex-t21-owners/vendor/pr870/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/complex-t21-owners/vendor/pr870/construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "research/complex-t21-owners/vendor/pr870/construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "research/complex-t21-owners/vendor/pr870/construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "research/complex-t21-owners/vendor/pr870/construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "research/complex-t21-owners/vendor/pr870/construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "research/complex-t21-owners/vendor/pr870/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/complex-t21-owners/vendor/pr870/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/complex-t21-owners/vendor/pr870/data/T8/PLAN.json": "673fd8e812fadcfb757264aba2d7e1abee9199457ed52e678ac65796cd4c1b70", + "research/complex-t21-owners/vendor/pr870/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/complex-t21-owners/vendor/pr870/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/complex-t21-owners/vendor/pr870/independent/price_profile_t16.py": "53f8e62dcf27bee032c1bee0245d126a9c8a12ebcf24f6aaff65ea3122fffe29", + "research/complex-t21-owners/vendor/pr870/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/complex-t21-owners/vendor/pr870/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "research/complex-t21-owners/vendor/pr870/t16/build_owners.py": "faf14dd99b331a8bc5d35e3497bdb9c26fcea24ce2ee74f0dfeae87883af8db4", + "research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "research/complex-t21-owners/verify.py": "2ee09291148a81ffead860c2237ebcef47a1f02ca5f0833cf5230532ba61243e", + "research/complex-t37-owners/ALL-T-PROOF.md": "4c0c71ccd0afb850538af1b467e5208b7eb3edd0260fded84e02a8c01dfc868b", + "research/complex-t37-owners/CLAIM.json": "a383da34ee22da831fa436ad3483568ae1fcd62cd76581f2c2dd2b6473b346fb", + "research/complex-t37-owners/DEPENDENCY-PINS.json": "0160ea2677cc9ceeb0f861dc2774d470a27cbaa58b8fd6c064cf0683d18f3e87", + "research/complex-t37-owners/EDITS.json": "cd28d8014fe6576a56a640d9a94b6b3fbd7715ea1a6c2858c1597b3c9fb51576", + "research/complex-t37-owners/MANIFEST.json": "38907d05fddac9be6bf7a7aff47fae43114a055d2259cead5651a08f9b983820", + "research/complex-t37-owners/NOTICE.md": "78887899d460a21fc6bf6e6021fea7f6864a93e079b639e7c92d4dc77ca30c1e", + "research/complex-t37-owners/ORDER.json": "2093ca4050e1ce95621f4702bebe8b01b36773b1ecfa2c0d6275e132bd33d578", + "research/complex-t37-owners/OWNERS.json.gz": "f89e00863c8415d1df1de9c481528f677eeda808ef3cd83bfa5ca3e7d9360f5a", + "research/complex-t37-owners/PREDECESSOR.json": "3639c960052fa67c350ae0fdd7b70e3fff99709fa35a54335cc38dc8a8f41ac4", + "research/complex-t37-owners/PROOF.md": "09b39ad0d5f1f59f54dcff15c16640f7a7acf27e6597660acaf957b95c7e8510", + "research/complex-t37-owners/README.md": "7f7fc22918132a20b4b6248f20e5850586394fe1d3356d49b5ade5df43053b0a", + "research/complex-t37-owners/binding_controls.py": "87216d5efce156e32cea3b9908ef0ace984a6fbe300a8eac5f5750a5171eabb5", + "research/complex-t37-owners/common.py": "b85769c7c29429da7ce9eed55f0ed5f672e2bedc0d894ae02bf9be8c86a638e1", + "research/complex-t37-owners/evidence/ALL-T-BOUND.json": "5101909cf84a2bfce777dcc34075ffcfe5c135debd16fa56ef7273523b434a35", + "research/complex-t37-owners/evidence/ASSEMBLY.json": "63dfe017fe0a955fd6b12aa04c542dc5ae669581811a96214de587440b0b81a7", + "research/complex-t37-owners/evidence/README.md": "859ada21a8f584b9f301758ef477059abf7d5db7dbf5f75f7ff273bd97d7e00b", + "research/complex-t37-owners/final_binding.py": "61e8a8856ebc36feee11cbf6e60f2ace3b9b89195c3282f565a651488cf947f7", + "research/complex-t37-owners/independent/all_t_bound.py": "3f8637a90baaa11ef18eab9e739d17b32fcff18fbc50c355f9ef32727a92e4f6", + "research/complex-t37-owners/independent/check_payload_controls.py": "5b59c6f50c0d79c5857dd4efefdd0fb472ba72fbaafa91596a5a3159500e98cf", + "research/complex-t37-owners/independent/check_t37.py": "af77010b89db12d58030579e19273f960abb301f651361b448e8caf82d8355a9", + "research/complex-t37-owners/independent/verify_construct.py": "094a93a7edd3c63890d0313a0ff8b71e335f570cfa548b9b20d8809e3d05abd2", + "research/complex-t37-owners/package.py": "7022764ffd5abb8c869cf2269cc8fb188f574560c379abb00b40aba671d22278", + "research/complex-t37-owners/package_controls.py": "f152d1cb57dd63af5abdaea88f03090ec7e24b8eb90d30b9b659030cb89c9991", + "research/complex-t37-owners/prepare.py": "8414859fc69885e5698fb3dbe0f7d9ee20d9782102e0abf7da991c904920fe47", + "research/complex-t37-owners/replay.py": "7834f469861df4a8ed82550762e7d1640123f547a715b55a937dea0cb381cedd", + "research/complex-t37-owners/verify.py": "4d880a6237c2f5d4f4e08374e2a4ddbe7bdcc972fe4ee0e879e9a547754f5fd0", + "research/direct-delivery504-global/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "research/direct-delivery504-global/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/direct-delivery504-global/LOCAL-VALIDATION.json": "e7dcbbe16d3a51288dddcc9022ba852ea6c9d428f8391c72d9b61429168a5561", + "research/direct-delivery504-global/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/direct-delivery504-global/NOTICE.md": "a92f49c5ced455160fbedcc8954e3c9255e3605e88ad12ae5a84f1c4302986f1", + "research/direct-delivery504-global/README.md": "305497b4bf15e691bf0ea504f628a397ea40b814053948ca32c84ce5c16e6f5b", + "research/direct-delivery504-global/SOURCES.json": "9e8182e6e659f4671fe0873e324b622cc871df7344157093df40476c8687be5f", + "research/direct-delivery504-global/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/direct-delivery504-global/code/assemble.py": "71b4cbbbc5acdfe06ac67879cf54ea761e29e52143af1cd8410ad672a5cc190b", + "research/direct-delivery504-global/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/direct-delivery504-global/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/direct-delivery504-global/code/audit_same_partition_frontier.py": "3a2a072304c0c112b4938070515035b49595c86565b454806fdcbbfacf0e1bd2", + "research/direct-delivery504-global/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/direct-delivery504-global/code/build_selected.py": "7fa8f981cbf3b01ac960226e6afc6be7bd76d94d9c01796941979deb77bd8875", + "research/direct-delivery504-global/code/coalesce_frames.py": "b3e53a17f2519e1afc5bee9b6518252eeb0cb7c56b6e0a1554fdfb54f2908915", + "research/direct-delivery504-global/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/direct-delivery504-global/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/direct-delivery504-global/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/direct-delivery504-global/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/direct-delivery504-global/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/direct-delivery504-global/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/direct-delivery504-global/evidence/BEFORE-COALESCING.json.gz": "5381265008ec84dc0b3eb2870040215b8470620d234573c15e836dba928d910e", + "research/direct-delivery504-global/evidence/COALESCING.json": "f9175c204c084e083ba2f8f4bc66dc71feb75d90b1b57b36dfacbffe89568ae0", + "research/direct-delivery504-global/evidence/DISCOVERY-MOMENT.json": "d964db94f4a11840bbea57a47c203a2fe6b51a381072d403d1c1504ac2ba0c7b", + "research/direct-delivery504-global/evidence/ENTRANCE-SELECTION-SCREEN.json": "2d5c7db49077ea50f0877f1bd3a5839e5c49a7c75519ebaf549bce0e828b7b99", + "research/direct-delivery504-global/evidence/FAST-REPLAY.json": "b95028b7cd5a830bd5d702d5193f0bc93d981426ca6f8916eea7a2bf9dcc53a7", + "research/direct-delivery504-global/evidence/LINE-GAUGE-SELECTION.json": "1ecec9dd594653d54448ba9e2fd7b7b830e26bfd159d3b268672f80d8cb06250", + "research/direct-delivery504-global/evidence/PR523-FIXED-WORD-CEILING.json": "e971df6465b6a37d2042bd7e2169419578d68d7177c060599b16b3f67292935f", + "research/direct-delivery504-global/evidence/PUBLIC-SNAPSHOT.json": "d859621516bb33d1c77ea9413b53930fab42447360b7e6246ba839b95a834abb", + "research/direct-delivery504-global/evidence/SAME-PARTITION-FRONTIER.json": "3a02123a292730c1dfea8d6c1c8238115b4b07d19c8b8f119b54c345cd1f46af", + "research/direct-delivery504-global/evidence/VERIFICATION-SCOPE.json": "424ea699b0849c3e8dd41d585b271906cbbbbddb4c3464fd20dde30133bae367", + "research/direct-delivery504-global/evidence/audit/ASYNC-AUDIT.json": "01ea0015d4e08170ac65f1cdd051be64e07f622eba62eadbf39524317388cba7", + "research/direct-delivery504-global/evidence/audit/EXACT-ASSEMBLY.json": "550c6703e73b2dcfaae986706ceb1ac67ecd93dec8b591954abe51c7fa3b7a03", + "research/direct-delivery504-global/evidence/audit/GLOBAL-PREFIX.json": "378275e21f7ff147cd7cb0b33c972e75139d949195ddf13dd71b55a77a0f7cfb", + "research/direct-delivery504-global/evidence/audit/IDLE-REMAINDER-FRAMES.json": "7923ed6a528f006c353fe7e0639fd230ad140ca835b8e64ceadc7aefb0300ea8", + "research/direct-delivery504-global/evidence/audit/OWNERS-AND-PROFILE.json": "e5f11e7b920f9985f085546c641dbac5b8d98231d562e1e030ab2566ccea4bd6", + "research/direct-delivery504-global/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/direct-delivery504-global/evidence/hosted/ACTUAL-SIGMAS.json.gz": "dbced27348bd0ae2fb937a9c1fd03e2181d7268ccdea5d80ebbe6ec3fed314d9", + "research/direct-delivery504-global/evidence/hosted/GLOBAL-TEMPLATE.json.gz": "0c5ea47883fafc2aa0b2b9711e7c52a3fc8fdf96c84eb3043834e34ced550473", + "research/direct-delivery504-global/evidence/hosted/HOSTED.json": "a0b29d73f2beb821a59f356150a7a9475394643bf9fd8eb5a67a6fc4d46ad2f5", + "research/direct-delivery504-global/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz": "a21fb2c7395b7193d46752f7bd9cc670fbfffc7287f8370bd9f6df0aed6b21eb", + "research/direct-delivery504-global/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/direct-delivery504-global/evidence/local/CLIFFORD-RECIPES.json": "1ac0a7d07a487bf58e59e82a8a656a3a3edca5731af9029ad7874b535407ceb9", + "research/direct-delivery504-global/evidence/local/CLIFFORD-REVIEW.json": "a917bb1abdc864b404dc4a869af3e29aaab2270d392b662cb60b70ebbe5d1975", + "research/direct-delivery504-global/evidence/local/FULL-WORD.json.gz": "bd6b004c4948d5ce80d4f81477338fe30434c2a94586463fdcc531df0dbc9509", + "research/direct-delivery504-global/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "4149f3d2ec3041965c5d72869748090d9aeed422f36d753550c543bb7808b30b", + "research/direct-delivery504-global/evidence/local/LEMMA-A.json": "f789357f75d562ec9c6f2ef75ced6f4286df2840b493600147b34a36ad0fa460", + "research/direct-delivery504-global/evidence/local/LOCAL-CHECKS.json": "c6807681d40cb46c21a50edc1058044ddc758f2dd3e6b0bab16d7cb28d41732f", + "research/direct-delivery504-global/evidence/local/LOCAL-PROGRAMS.json.gz": "755a5c4ebe958fd9f7b5d4a6e7a506d2c802e31c4d9da46b63db1994c4d8ffa6", + "research/direct-delivery504-global/evidence/local/RESIDUAL-ADAPTERS.json": "83a91fb9cbbe600328cd399f67fdb6ffb698ed3b20d050916d21f3af48b0db20", + "research/direct-delivery504-global/evidence/local/SCALAR-FRAME-AUDIT.json": "5bf884b9c5c9e65658974a8f5548f93a583fb48461e8125fa68893aa2b403718", + "research/direct-delivery504-global/inputs/ASYNC-6.json": "8a128d7c435f01d9f920c1353711eb0721ce3cbdd0b8799bf69b2d676266dbd3", + "research/direct-delivery504-global/inputs/OWNER-PLAN.json": "13d5284e3d95fd4718b538f7d0d1e6f8db3236d4608a755dce6deade440f4185", + "research/direct-delivery504-global/inputs/OWNERS.json.gz": "5e27eaf098214e3ab8159e322241aa90a1ae77b0bff78b426512b87f9f60c91f", + "research/direct-delivery504-global/inputs/PR493-EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "research/direct-delivery504-global/inputs/PR523-ANCESTRY.json": "0bfce40d86c849f18e8872ee9e8462b0a69a34ed04e01e942a6614645f686f4b", + "research/direct-delivery504-global/inputs/PR523-EXACT-ASSEMBLY.json": "39900354203609a142d159096ccc221ddb21c1f714b2b74b9b1b325beaf15259", + "research/direct-delivery504-global/inputs/PR523-PREFIX-AND-INVOICE.json": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "research/direct-delivery504-global/inputs/SELECTION.json": "46cfad0c5a4b8dacc18ed02b5e259f2168e6a93a8dff6ffb447fb0f20917a9bd", + "research/direct-delivery504-global/inputs/data-base/split-centres/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "research/direct-delivery504-global/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz": "5b913207775fcd87090cfa8776e8bd2bb872426923345fe1a1a4e1ea84bfae2c", + "research/direct-delivery504-global/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/direct-delivery504-global/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/direct-delivery504-global/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/direct-delivery504-global/inputs/phase-baseline/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "research/direct-delivery504-global/inputs/phase-baseline/CLIFFORD-RECIPES.json": "1f37afd5a9e14b113ba56e0ac8a5200a6b41c695d2cd308dc0fd6ec46a4c73d2", + "research/direct-delivery504-global/inputs/phase-baseline/CLIFFORD-REVIEW.json": "468a5df1937e82a0b8e8c1c2540e18480f354154325353c5596c68e7435c89c2", + "research/direct-delivery504-global/inputs/phase-baseline/LOCAL-CHECKS.json": "ead7163869ecb9fc276f477c0ec0ed85dc74d7901ce04f91213bcf7ee1f20382", + "research/direct-delivery504-global/proof/DELIVERY-AND-COALESCING.md": "7e719f01416cf312272dfabca8b355d327128859c01d686056e0833e83870bc7", + "research/direct-delivery504-global/proof/GLOBAL-HOSTING.md": "c47b61bf2e998583e4626eec068439600f3464aab2ddbdb0ac044b0136d7b502", + "research/direct-delivery504-global/proof/LOCAL-CONSTRUCTION.md": "3b1fc44f6f8290361cb24526cf91c3174c734f5da3cc9fb94559a96168d39e70", + "research/direct-delivery504-global/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/direct-delivery504-global/vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/direct-delivery504-global/vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/direct-delivery504-global/verify_fast.py": "ea4e33a17419009f0872fac42f7ae5a2f2090c4487cc9815721d907d1e9b1cae", + "research/e8-bit-carrier-skeleton/EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "research/e8-bit-carrier-skeleton/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/e8-bit-carrier-skeleton/MANIFEST.sha256": "7f25c41d0400ef5adf763eae6e166003a9b59e5a655b860c04b052f6731c7297", + "research/e8-bit-carrier-skeleton/NOTICE.md": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a", + "research/e8-bit-carrier-skeleton/README.md": "e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204", + "research/e8-bit-carrier-skeleton/SOURCE-pr370.json": "03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0", + "research/e8-bit-carrier-skeleton/SOURCE-pr381.json": "16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5", + "research/e8-bit-carrier-skeleton/SOURCE-pr386.json": "87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131", + "research/e8-bit-carrier-skeleton/SOURCE-pr436.json": "4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693", + "research/e8-bit-carrier-skeleton/SOURCE-pr445.json": "e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f", + "research/e8-bit-carrier-skeleton/SOURCE-pr448.json": "c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27", + "research/e8-bit-carrier-skeleton/SOURCE-pr451.json": "a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df", + "research/e8-bit-carrier-skeleton/SOURCE-pr458.json": "cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf", + "research/e8-bit-carrier-skeleton/SOURCE-pr471.json": "499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b", + "research/e8-bit-carrier-skeleton/SOURCE-pr472.json": "6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1", + "research/e8-bit-carrier-skeleton/SOURCE-pr473.json": "2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656", + "research/e8-bit-carrier-skeleton/SOURCE-pr478.json": "9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d", + "research/e8-bit-carrier-skeleton/SOURCE-pr483.json": "24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8", + "research/e8-bit-carrier-skeleton/SOURCE-pr484.json": "b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867", + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "research/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "research/e8-bit-carrier-skeleton/code/bit/independent/checkword.py": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "research/e8-bit-carrier-skeleton/code/bit/independent/interface.py": "2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c", + "research/e8-bit-carrier-skeleton/code/bit/independent/mutate.py": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "research/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py": "3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8", + "research/e8-bit-carrier-skeleton/code/bit/independent/relax.py": "d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6", + "research/e8-bit-carrier-skeleton/code/bit/mutate_records.py": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "research/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py": "a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e", + "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "research/e8-bit-carrier-skeleton/code/cited.py": "a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842", + "research/e8-bit-carrier-skeleton/code/eleven/adapt.py": "d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b", + "research/e8-bit-carrier-skeleton/code/eleven/assemble.py": "c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c", + "research/e8-bit-carrier-skeleton/code/eleven/audit.py": "5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09", + "research/e8-bit-carrier-skeleton/code/eleven/emit.py": "b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46", + "research/e8-bit-carrier-skeleton/code/eleven/local_audit.py": "95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py": "abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py": "d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py": "98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py": "23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json": "765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json": "750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz": "b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json": "e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz": "d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6", + "research/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py": "9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py": "de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json": "52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json": "b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json": "4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz": "41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47", + "research/e8-bit-carrier-skeleton/code/nine/geometry.py": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "research/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-carrier-skeleton/code/pricing/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-carrier-skeleton/code/pricing/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "research/e8-bit-carrier-skeleton/code/provenance.py": "e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4", + "research/e8-bit-carrier-skeleton/code/skeleton/e8.py": "721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e", + "research/e8-bit-carrier-skeleton/code/skeleton/gen.py": "7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a", + "research/e8-bit-carrier-skeleton/code/skeleton/geom.py": "bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3", + "research/e8-bit-carrier-skeleton/code/skeleton/wordkit.py": "2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351", + "research/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "research/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz": "835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9", + "research/e8-bit-carrier-skeleton/data/complex-b.json": "dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e", + "research/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json": "18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024", + "research/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json": "a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3", + "research/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json": "188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720", + "research/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json": "70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910", + "research/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json": "07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164", + "research/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json": "799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6", + "research/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json": "0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be", + "research/e8-bit-carrier-skeleton/data/eleven/hosting.json": "61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e", + "research/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json": "0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc", + "research/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json": "d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9", + "research/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json": "f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b", + "research/e8-bit-carrier-skeleton/discovery/README.md": "b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f", + "research/e8-bit-carrier-skeleton/discovery/d4part.py": "a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179", + "research/e8-bit-carrier-skeleton/discovery/host_select.py": "2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7", + "research/e8-bit-carrier-skeleton/discovery/plan.py": "40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010", + "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99", + "research/e8-bit-carrier-skeleton/requirements.txt": "6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5", + "research/e8-bit-carrier-skeleton/verify.sh": "0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224", + "research/e8-bit-p111-tuned/DEPENDS.json": "fa9253078c444b8f4a57e849048f727c3c8233c3dc3c7f651bef2cf7bb0178c5", + "research/e8-bit-p111-tuned/EXPECTED.json": "7c2675fd49afd7e328606399a4421fd49c43fe8a6c5b57154cc908c00588abe2", + "research/e8-bit-p111-tuned/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/e8-bit-p111-tuned/MANIFEST.sha256": "8d8fc2625b71b835176b666385c69fa4d1e4c5839e8e601924db2c9261761310", + "research/e8-bit-p111-tuned/NOTICE.md": "5b88eb2b7de76aa2a3288ee3c7a08d18a5eadfa82f5e7a99e207d232aed71221", + "research/e8-bit-p111-tuned/README.md": "a054ce8453e2936d45c4edd1c3678993903fcf6705ac241b9f1a4c4f9accda2d", + "research/e8-bit-p111-tuned/SOURCE-pr510.json": "5e84c26ba837ce029acd1b5089e5533d2ebde793deede84215322112e95e06f8", + "research/e8-bit-p111-tuned/SOURCE-pr535.json": "74254fde5cff5580d5c199b139ff3ce31a3defded3f653a3ba83cf0c9204ddc4", + "research/e8-bit-p111-tuned/SOURCE-pr544.json": "9ae1cfa69158f678499510e9cf24396b2bdd9b68979e906cbb8d4ee29b63e0b9", + "research/e8-bit-p111-tuned/SOURCE-pr545.json": "4b868b05c092eb821b257eab0f429f7c502fde946dd6508e8f5161a8758b4904", + "research/e8-bit-p111-tuned/SOURCE-pr548.json": "4480cd4e1dd0dc2bf55c26a1ae4a8bbb8587a96cea3053687e5d4c874148043e", + "research/e8-bit-p111-tuned/code/adapt9p.py": "14365d0eb8f4a7352edd28816196148fd28d5bbcb36044ebeeb15ca051bca9de", + "research/e8-bit-p111-tuned/code/cited.py": "8f7852571a897e131cf964d4b7826dc7bb2b7a42e81892d436f8ea092b26ef7d", + "research/e8-bit-p111-tuned/code/gen_p3.py": "438b83f10d70ceca7cf78049420204b7de2dc61682f913c50a62596106ad84cd", + "research/e8-bit-p111-tuned/code/mutants.py": "e2fd3429e2db4389ae8a5ab47dda89f551b0d0952c42fad5ac8d38a85d670594", + "research/e8-bit-p111-tuned/code/mutants_p.py": "ee2a2cfb44072a214dd29eae5b96a71b258ac886a05456b84d600de94b339591", + "research/e8-bit-p111-tuned/code/mutrec_b.py": "231cbf26bfe5e6824347e4556959941d8b4dea1efa06d7f88d7a73cca8b03158", + "research/e8-bit-p111-tuned/code/nodeopt.py": "6a5896f60b1fe05c41ab28ce822dff782c635e12d0c74fad20b5ce2a4010fa3f", + "research/e8-bit-p111-tuned/code/planio.py": "c0a687f61aed29455cea953d8a3e49a32136edb3cd4213c46880c146a6ca7fa3", + "research/e8-bit-p111-tuned/code/provenance.py": "aade757c1e4e2714207cbc80a9a60793d84b5f009de2cac79ee8d3239986fd2a", + "research/e8-bit-p111-tuned/code/pwordl.py": "6d8fccd44508e4705b6446e0a64482a5221a3efc5663c5ca7ae90d44581ac50a", + "research/e8-bit-p111-tuned/code/receipt_kappa.py": "6ac4cb3c6015bd46f3b0a88dfffce741d8942a703cc68738ad61953fae485e9e", + "research/e8-bit-p111-tuned/code/summary.py": "c7599cafe1a2330a2fc8a956dca457f802dbb8b04e4dc4ffa9d90890e5efb428", + "research/e8-bit-p111-tuned/code/xcheck_p.py": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e", + "research/e8-bit-p111-tuned/data/bitE8mut-p111.json.gz": "1bc3c53d4baf4927c6a00c339ea3975516471a48074d4d97c6addaded2a4d858", + "research/e8-bit-p111-tuned/data/complex-b.json": "96943a080f371392381c70676638c7b3281ffc44f96b50d7ab064f59aa9897c0", + "research/e8-bit-p111-tuned/data/complex/pr535/EXACT-ASSEMBLY-PR493.json": "3f4be566309841e00e842d5686f7937a355ae1a6a2eaa3ccb07bdf8a9ca604fb", + "research/e8-bit-p111-tuned/data/complex/pr535/EXPECTED.json": "cb734055c36681d38cf431a6926b7713351a94073cfba37d70a5384a9ef0d178", + "research/e8-bit-p111-tuned/data/complex/pr544/EXACT-ASSEMBLY.json": "eaacbe5a9b971b20f59503a5e948c1ba76c5e082f81a012c9cc7394494bc4db5", + "research/e8-bit-p111-tuned/data/complex/pr544/EXPECTED.json": "8f48531cb1ccc6c1fe7c80ba5990f8aea4278dbe9394bcc4d3f471a3e8d75f1c", + "research/e8-bit-p111-tuned/data/complex/pr548/EXACT-ASSEMBLY.json": "8c40d6a7907c2ba71284d4f29a2d6e6bbe4dfc5da92a6da1bbac13488b916349", + "research/e8-bit-p111-tuned/data/complex/pr548/EXPECTED.json": "2e458dd9880d001b63153e37ef7954c6bcfceae378ab4b225cfa1c94ea8e23ce", + "research/e8-bit-p111-tuned/data/hosting11-p111.json": "1f5a1142e0119483cabf9a4d99094d988014d1adaa29370e93f4b4a63d9bfd7f", + "research/e8-bit-p111-tuned/data/plan-l3.json": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "research/e8-bit-p111-tuned/data/punct.json": "dd371e1d6fe57602f242920b582ec4c133efc8ede4a849fd701ac90b7f6e1853", + "research/e8-bit-p111-tuned/data/selection9-p111.json": "4ab1ed4529683cd184987f8bc3031fb7408b9cd22c25ab9cf541a8aaf896eaf1", + "research/e8-bit-p111-tuned/discovery/choose.py": "18d77e8f62ffc671b3b3d3e50626c03481a2eaf6fb4abbc131e08226feebc180", + "research/e8-bit-p111-tuned/discovery/search.py": "edd876212edf0db3f6620534dcf50b5d2c23197c2d5f8af8c030ed5bc8447923", + "research/e8-bit-p111-tuned/requirements.txt": "e11a6f5c2a40b77fbf54a31a4c45bac575e9d2f765d35b657406d5f088fd0664", + "research/e8-bit-p111-tuned/tune/EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/e8-bit-p111-tuned/tune/README.md": "46c7917fb252949f38b7bcd88cf568efc282e3ea065b61d11e457e41673d0b2d", + "research/e8-bit-p111-tuned/tune/apply.py": "806ae4cb2648e4f05dcf56bd089891fd3ba33a6ee5fe76d3329e322c6770c1a1", + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "research/e8-bit-p111-tuned/tune/fastc.py": "ae51f1fbb22b8c8dac8aab787c798361f6aa5d4e1fefb29e43d0197899d4eab5", + "research/e8-bit-p111-tuned/tune/moves.json": "a113933002239eb2dd32726bd572ba8ca41b5bce0d438327dd770754c8d5e0f4", + "research/e8-bit-p111-tuned/tune/summary.py": "24841f9f5b039f05cfa934295203c982faf181cf28b9b1a71e50d1a35dc723d0", + "research/e8-bit-p111-tuned/tune/tune.py": "bdaf632852c514b257bcb1b81004a942fc022ab876565b4e5f6ff5a038d323c2", + "research/e8-bit-p111-tuned/tune/verify.sh": "efb1051d3e2c6119574a29a8e4efbe316307b5901d05079d029e12fae9ff1fb1", + "research/e8-bit-p111-tuned/tune/wlib.py": "a37fdf3cdf5f62945c2a90193401c0e9edc9dd3cda8d8cb36a3b9c329ebe4dbc", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz": "92e399e9a486b55229b5624632ac54f800dd9e022f2aee97f1e5f264bbc0ef5c", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/EXPECTED.json": "883f7a1a84f31d9e4430e348bc8d9c1ec10210b206ff602dbe126349056af13d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/code/adapt.py": "27b6b77cc4ebf439f9019e63a22dedc1ef72ee65fe120aad3d17316b1df06d7b", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/code/assemble9.py": "4bf6768224a3fac81ccda26df24f3763f9a4fbc35ad62bef2888595cdae519fe", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json": "8176db518bed23ea8121543bfb18085ec6633064142ba40ac5db00f63b06553d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py": "57e558c80a2fea6e291587b04afd76dfaee3550729997798b61f33daf90b8ec9", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py": "374e1d983589463bbfa06b6e9f2ffafb9d2c14acf97b1f858593a3cef90e93d2", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py": "ea678a7befda10c6f1b9dd38a36fe1437c6468472bd649f60b9f01522047e0bf", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py": "298b16c3d4f58a468ad1a64564c8500cb281414a3f3c0428fd467908eeb4a4b4", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py": "081c3b95b18d900d97ce82af64fb428f085b6adc6d8ca93ea920797dad7eb81e", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py": "283d7fad45155ee91e704d63ec947cf4a60aeff5cc43510bc0e835f7da7d8767", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "research/e8-bit-p111-tuned/vendor/pr545/EXPECTED.json": "dd078d075b153ea2ed02a4bbd1fe467315930f4d7dc90f2c34cd2c33e06a5029", + "research/e8-bit-p111-tuned/vendor/pr545/code/adapt.py": "b9a50303147a3003ad94fc4b1a822d4fca7f9b9e917d165e3c45152575302a0e", + "research/e8-bit-p111-tuned/vendor/pr545/code/punct_cfg.py": "7cedd3416d6a8ce2e6393cea32dc1d11032190787a593a0ad964a0b62fc407f3", + "research/e8-bit-p111-tuned/vendor/pr545/data/bitE8mut-v111-r489.json.gz": "c78317ab05ea175dc380f4dce2bafdbcd7e8b46f0c9d6baf350c2f604bb3ae4e", + "research/e8-bit-p111-tuned/vendor/pr545/data/hosting-v111-r489.json": "862155e5c341053668ac1a18db05591417c38b9fe5f395d64a3b0a17a1502042", + "research/e8-bit-p111-tuned/verify.sh": "3bb8abf984e98fccf77914ae56d51eb60aab284db677905c1c4aafeacc44eee0", + "research/gauge44-frames-x/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/gauge44-frames-x/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-frames-x/LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "research/gauge44-frames-x/MANIFEST.json": "e1b7998c8f7cb24f8674d250d0510f2b5b351b2ed0b35f17a17e6bacf3d9824b", + "research/gauge44-frames-x/NOTICE.md": "ca9031d8f3f91d074055a6675772be343f05ac3bd30d73259ff292fbe3196666", + "research/gauge44-frames-x/PROOF-NOTE-BIT.md": "e5e96ddd1e7b3cb6d30bed8e5979fc1e9233ed9f10d77a943bdaf4e52cce0b9d", + "research/gauge44-frames-x/PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "research/gauge44-frames-x/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/gauge44-frames-x/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/gauge44-frames-x/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/gauge44-frames-x/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/gauge44-frames-x/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/gauge44-frames-x/README.md": "a086b31dcbfe273006a9a90b56a9703f3679114c9f988f8868f3c5f1ff783f3d", + "research/gauge44-frames-x/RESULT.json": "793ef51c6fc919e092708d24aa1eebf8535d741bb5beb02461b11c9e33d00c8b", + "research/gauge44-frames-x/SOURCES.json": "22af1dcd24763ba391f0c950643a93f5fa83afc396272366518a9953d2942cff", + "research/gauge44-frames-x/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-frames-x/code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "research/gauge44-frames-x/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/gauge44-frames-x/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/gauge44-frames-x/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/gauge44-frames-x/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/gauge44-frames-x/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/gauge44-frames-x/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/gauge44-frames-x/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/gauge44-frames-x/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/gauge44-frames-x/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/gauge44-frames-x/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/gauge44-frames-x/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/gauge44-frames-x/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/gauge44-frames-x/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/gauge44-frames-x/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/gauge44-frames-x/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-frames-x/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/gauge44-frames-x/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/gauge44-frames-x/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-frames-x/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/gauge44-frames-x/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/gauge44-frames-x/construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/gauge44-frames-x/construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "research/gauge44-frames-x/construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "research/gauge44-frames-x/construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "research/gauge44-frames-x/construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "research/gauge44-frames-x/construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "research/gauge44-frames-x/construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "research/gauge44-frames-x/construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "research/gauge44-frames-x/construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "research/gauge44-frames-x/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/gauge44-frames-x/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/gauge44-frames-x/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/gauge44-frames-x/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/gauge44-frames-x/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/gauge44-frames-x/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/gauge44-frames-x/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/gauge44-frames-x/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/gauge44-frames-x/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/gauge44-frames-x/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/gauge44-frames-x/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/gauge44-frames-x/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/gauge44-frames-x/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/gauge44-frames-x/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/gauge44-frames-x/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/gauge44-frames-x/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/gauge44-frames-x/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/gauge44-frames-x/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/gauge44-frames-x/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/gauge44-frames-x/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/gauge44-frames-x/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/gauge44-frames-x/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/gauge44-frames-x/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/gauge44-frames-x/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/gauge44-frames-x/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/gauge44-frames-x/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/gauge44-frames-x/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/gauge44-frames-x/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/gauge44-frames-x/data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/gauge44-frames-x/data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "research/gauge44-frames-x/data/PLAN.json": "5f40e7ccfca61f298539b4f41286d2a9d62caf947057f9cec82aa53f73f707fd", + "research/gauge44-frames-x/data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/gauge44-frames-x/data/SPEC.json": "64817c60a4a2c1839bf12239cb1b7515a40bf8988229d81d4c9faa17b488c7d5", + "research/gauge44-frames-x/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/gauge44-frames-x/evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "research/gauge44-frames-x/evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "research/gauge44-frames-x/evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "research/gauge44-frames-x/evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "research/gauge44-frames-x/evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "research/gauge44-frames-x/evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "research/gauge44-frames-x/evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "research/gauge44-frames-x/evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "research/gauge44-frames-x/evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "research/gauge44-frames-x/evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "research/gauge44-frames-x/evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "research/gauge44-frames-x/evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "research/gauge44-frames-x/evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "research/gauge44-frames-x/evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "research/gauge44-frames-x/evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "research/gauge44-frames-x/evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "research/gauge44-frames-x/evidence/layers/LOCAL-AUDIT-LAYERED.json": "678a69702a946e6e3ac80ec7b3defda65d0fed63bc5cff1a08ec9c1c8a84bc51", + "research/gauge44-frames-x/evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "research/gauge44-frames-x/evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "research/gauge44-frames-x/evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "research/gauge44-frames-x/evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "research/gauge44-frames-x/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "research/gauge44-frames-x/evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "research/gauge44-frames-x/evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "research/gauge44-frames-x/evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "research/gauge44-frames-x/evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "research/gauge44-frames-x/evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "research/gauge44-frames-x/hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "research/gauge44-frames-x/hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "research/gauge44-frames-x/hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "research/gauge44-frames-x/hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "research/gauge44-frames-x/hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "research/gauge44-frames-x/hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "research/gauge44-frames-x/hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "research/gauge44-frames-x/hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "research/gauge44-frames-x/hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "research/gauge44-frames-x/hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "research/gauge44-frames-x/hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "research/gauge44-frames-x/hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "research/gauge44-frames-x/hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "research/gauge44-frames-x/hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "research/gauge44-frames-x/hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "research/gauge44-frames-x/independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/gauge44-frames-x/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/gauge44-frames-x/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/gauge44-frames-x/independent/GAUGE44-INDEPENDENT-PRICE.json": "e8cecbb4f05ca1a115512b246530278ed86558d0fae1229d09d7d9188f5f330f", + "research/gauge44-frames-x/independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/gauge44-frames-x/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/gauge44-frames-x/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/gauge44-frames-x/independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/gauge44-frames-x/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/gauge44-frames-x/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/gauge44-frames-x/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/gauge44-slots/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/gauge44-slots/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-slots/LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "research/gauge44-slots/MANIFEST.json": "9a6f239b1618a43262e56735a99cc59b6f5a6e8816a794a34413e89cc33f4976", + "research/gauge44-slots/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "research/gauge44-slots/PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "research/gauge44-slots/PROOF-NOTE-BIT.md": "dd771adb12f6f0bef0e2931c28b21b243b04d5f512370cbad1207275c342aaf7", + "research/gauge44-slots/PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "research/gauge44-slots/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/gauge44-slots/PROOF-NOTE-LEAVER.md": "e4f9482ef551d6d4300d8ed8bb7c34dc9327fbcfa30a502bf3476b78468e60c3", + "research/gauge44-slots/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/gauge44-slots/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/gauge44-slots/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/gauge44-slots/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/gauge44-slots/README.md": "bd4248499e577321f17aacba1d7815a5eb0f9cbe88faeb8fef38b71bdf3a684c", + "research/gauge44-slots/RESULT.json": "6cbc5f16cb2bdc279cf518b8670cedec1869069daa609a6803d4d377f13b813c", + "research/gauge44-slots/SOURCES.json": "abb903d9b46388f99325a3939eb68171ac163c66b4b62b7961ea46daa20a88f0", + "research/gauge44-slots/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-slots/code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "research/gauge44-slots/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/gauge44-slots/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/gauge44-slots/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/gauge44-slots/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/gauge44-slots/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/gauge44-slots/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/gauge44-slots/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/gauge44-slots/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/gauge44-slots/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/gauge44-slots/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/gauge44-slots/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/gauge44-slots/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/gauge44-slots/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/gauge44-slots/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/gauge44-slots/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-slots/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/gauge44-slots/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/gauge44-slots/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-slots/construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "research/gauge44-slots/construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "research/gauge44-slots/construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "research/gauge44-slots/construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "research/gauge44-slots/construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "research/gauge44-slots/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/gauge44-slots/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/gauge44-slots/construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/gauge44-slots/construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "research/gauge44-slots/construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "research/gauge44-slots/construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "research/gauge44-slots/construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "research/gauge44-slots/construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "research/gauge44-slots/construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "research/gauge44-slots/construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "research/gauge44-slots/construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "research/gauge44-slots/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/gauge44-slots/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/gauge44-slots/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/gauge44-slots/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/gauge44-slots/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/gauge44-slots/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/gauge44-slots/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/gauge44-slots/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/gauge44-slots/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/gauge44-slots/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/gauge44-slots/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/gauge44-slots/construction/leaver/CHAIN-PINS-k8.json": "9dfcecf963d8fa6d1cf5ba212336437a51f03c1444a1c6d33e54d2bf762970a9", + "research/gauge44-slots/construction/leaver/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz": "6416043008fca68463c0026fb7be500bafbf6b592b1caf42701101531814df33", + "research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz": "24a304493f28d7b419d3023598ff728deb63e1582cd65011e438951ae22c0beb", + "research/gauge44-slots/construction/leaver/FRAME-RECIPE-LV-k8.json": "b53b97ecbefb60cddceec08172438f1902178d9438bcd98ecc736c43773c3065", + "research/gauge44-slots/construction/leaver/HPE-RECIPE-k8.json": "907db3b20e2e54e230567259575ac89e7eac2b60ce0daac11b6b98849ce45ee9", + "research/gauge44-slots/construction/leaver/LEAVER-PINS-k8.json": "ab6ce39246d102f55d63c819c4cded2450c515b0e99afe5023f726054afc73f6", + "research/gauge44-slots/construction/leaver/LEC-REASON-PINS-STACK-k8.json": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "research/gauge44-slots/construction/leaver/LEC-REASON-PINS-k8.json": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "research/gauge44-slots/construction/leaver/PROMO-RECIPE-k8.json": "bc017d6d5126f5f975e7fdae84642963c86ff74f7056ec4764192b5f4497dc83", + "research/gauge44-slots/construction/leaver/RECIPE-U8-k8.json": "51e5e37bfcd1dd1f4e2ce1bb60d23f645e5881e36f3aa556f1533543a40e548e", + "research/gauge44-slots/construction/leaver/RECIPE-X4-k8.json": "4199b9b6bb28f3f79fa01744a0520a60fdf783eddca459f86830535f759b67c1", + "research/gauge44-slots/construction/leaver/REGROUP-LEAVER-k8.json": "b846ea56bc8c58d2513b257f9bea7de5136484b7d66c5bf3d8e3211fc48e4b8e", + "research/gauge44-slots/construction/leaver/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "research/gauge44-slots/construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-01-.json": "8f8620f47ce5ba5abf6179d1a5a986c25903ba71b6711a7035815968b5888927", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-23-.json": "e34431338f5527838c6e0d0caff885bde82624b0791f2a072c5b4e49faa6b98d", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-45-.json": "302024488efff30c820b5bbf6b422c6106bb5a9ee851bef8fccc16512ca789e7", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "research/gauge44-slots/construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "research/gauge44-slots/construction/leaver/layer_end_controls_leaver.py": "4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206", + "research/gauge44-slots/construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "research/gauge44-slots/construction/leaver/reproduce_leaver_chain.py": "2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5", + "research/gauge44-slots/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/gauge44-slots/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/gauge44-slots/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/gauge44-slots/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/gauge44-slots/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/gauge44-slots/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/gauge44-slots/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/gauge44-slots/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/gauge44-slots/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/gauge44-slots/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/gauge44-slots/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/gauge44-slots/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/gauge44-slots/construction/slots/RECIPE-SLOTS-k8.json": "0bfffa6a90a3a9635d168f7f55e2003c773c422ded75822b6947cf499f59a55b", + "research/gauge44-slots/construction/slots/SLOT-PINS-k8.json": "55dd229684febecb80638eff9c6b3986623e8539c6c956753b350209c3e0efe2", + "research/gauge44-slots/construction/slots/verify_slots.py": "bc1c0e3e3d7c81dc1649f5be82cdd2399e543d46c24879cb975877bf9b7957be", + "research/gauge44-slots/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/gauge44-slots/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/gauge44-slots/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/gauge44-slots/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/gauge44-slots/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/gauge44-slots/data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/gauge44-slots/data/OWNERS.json.gz": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "research/gauge44-slots/data/PLAN.json": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "research/gauge44-slots/data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/gauge44-slots/data/SPEC.json": "8e95ae8087124189cbd366d0e9d1c5ebededff536ff3501927b4b2a2e8dac70e", + "research/gauge44-slots/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/gauge44-slots/evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "research/gauge44-slots/evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "research/gauge44-slots/evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "research/gauge44-slots/evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "research/gauge44-slots/evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "research/gauge44-slots/evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "research/gauge44-slots/evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "research/gauge44-slots/evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "research/gauge44-slots/evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "research/gauge44-slots/evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "research/gauge44-slots/evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "research/gauge44-slots/evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "research/gauge44-slots/evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "research/gauge44-slots/evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "research/gauge44-slots/evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "research/gauge44-slots/evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "research/gauge44-slots/evidence/layers/LOCAL-AUDIT-LAYERED.json": "a596d7262374a023ae079e0da41d20189bd3ca4594101e5e6f402ce5799df9ff", + "research/gauge44-slots/evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "research/gauge44-slots/evidence/leaver/FRAME-CONTROLS-LV-k8.json": "9629e499a7f01f2db1e41873344a1476708f41698a0b145888ee569e580a31dd", + "research/gauge44-slots/evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "research/gauge44-slots/evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "research/gauge44-slots/evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "research/gauge44-slots/evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "research/gauge44-slots/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "research/gauge44-slots/evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "research/gauge44-slots/evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "research/gauge44-slots/evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "research/gauge44-slots/evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "research/gauge44-slots/evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "research/gauge44-slots/hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "research/gauge44-slots/hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "research/gauge44-slots/hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "research/gauge44-slots/hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "research/gauge44-slots/hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "research/gauge44-slots/hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "research/gauge44-slots/hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "research/gauge44-slots/hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "research/gauge44-slots/hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "research/gauge44-slots/hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "research/gauge44-slots/hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "research/gauge44-slots/hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "research/gauge44-slots/hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "research/gauge44-slots/hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "research/gauge44-slots/hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "research/gauge44-slots/independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/gauge44-slots/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/gauge44-slots/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/gauge44-slots/independent/GAUGE44-INDEPENDENT-PRICE.json": "6e222b252f3453446d0e41b08f00a9bf9449ce3588b6ddc00c9accc1c00e7683", + "research/gauge44-slots/independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/gauge44-slots/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/gauge44-slots/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/gauge44-slots/independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/gauge44-slots/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/gauge44-slots/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/gauge44-slots/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/structural-gain/frontier-composition/ADAPTATION.json": "c47b1dfcfb1d78da7b1ab0d7d2c17cdf5947b4ec9ffb508f39dca572a59be3cb", + "research/structural-gain/frontier-composition/ADAPTATION.patch": "85baf9166f5f7fb40bdfa9372cf5eb05f91c9fb6a5df9f9df486b18e914558e9", + "research/structural-gain/frontier-composition/COMBINED-EIGHT-CEILING.json": "45d341b83067b7b71df6463be118dfd02612eacb4f2040c576fd3aa936a9247e", + "research/structural-gain/frontier-composition/COMBINED-PREFIX-CEILING.json": "de86cd880f285c8d3b279fac5056623b75cc52a7fbb2590078d8a6ba64fdc7a4", + "research/structural-gain/frontier-composition/COMBINED-PREFIX-PROSPECTIVE.json": "c6460a16b59868b7e8184f4ac34eec5035e0256428fc8779a16f89f8acceaeb7", + "research/structural-gain/frontier-composition/NOTICE.md": "09d4d08c655b426d83570b0ee6498330835283a9ec930754f4fa57f60c193e3b", + "research/structural-gain/frontier-composition/README.md": "70f0f791cbe3b2603f85d85bb9055aa0ee1df6dc06ba82fc1921356948312887", + "research/structural-gain/frontier-composition/REPRODUCTION-PINS.json": "8c185dfc046c4d0d00b104b4b3e283b8606d3ec6f8415d2cc400e8a8c0ddd1d4", + "research/structural-gain/frontier-composition/RESULT.json": "70ce494d27389933412f2497804489ea881a1572bf00680951b2eceeb422441f", + "research/structural-gain/frontier-composition/SOURCE-PINS.json": "8eda96e9726663a32a39435eacb5f057a76e08e047e95cb205b0552f2f081e5b", + "research/structural-gain/frontier-composition/adapt_global.py": "c61f573a97e67bae4c8c2b9263771d95e566ea9e734f29c41faae3a48d1861b9", + "research/structural-gain/frontier-composition/admission-nomination/NOMINATION.json": "9de86ae70d1162117657e6e9b5d2819cb264dc86e3c4b1b9414382aed5bfca0f", + "research/structural-gain/frontier-composition/admission-nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/admission-nomination/PLAN.json": "c4c9f4f5db481c982f1d0f9396249ab0593165c1b7ec5d4d2ab850b92c80beac", + "research/structural-gain/frontier-composition/combined-eight-local/CANONICAL-WORD.json.gz": "9670a30e834517612f17942eb564ebad32152d81445ac4b9c0dfb70f69d932ec", + "research/structural-gain/frontier-composition/combined-eight-local/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/combined-eight-local/INDEPENDENT-LOCAL-REPLAY.json": "c2da85f4f343ee1a7bd0c191756a2faea5669b4bed10644e678d5778688da97a", + "research/structural-gain/frontier-composition/combined-eight-local/LOCAL-CHECKS.json": "43c49979bcf3f29f575c10022c3052bfb9846860b13227b3d08cf90a37c382a1", + "research/structural-gain/frontier-composition/combined-eight-local/LOCAL-PROGRAMS.json.gz": "3260547acabf80f1856e3de9a1bf47e4a6a522e7b2d4b1f960b475b3637d31b3", + "research/structural-gain/frontier-composition/combined-eight-local/SCALAR-FRAME-AUDIT.json": "02363c4cb5081319b695dee65f1a01e08a40f272b1b212264a5ad12ef240b33f", + "research/structural-gain/frontier-composition/combined-eight-word/CONSTRUCTION.json": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/combined-eight-word/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/combined-eight-word/RECIPES.json": "4ee838e1cb9258cd330d73b4c58333d35156cd29e4d7b70e4f543280a317ba53", + "research/structural-gain/frontier-composition/combined-prefix-local/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/combined-prefix-local/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/combined-prefix-local/CLIFFORD-REVIEW.json": "1689bc0c187686bc547eac22033b5f781dbf71621cb02d134cba0263e45b88b7", + "research/structural-gain/frontier-composition/combined-prefix-local/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/combined-prefix-local/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/combined-prefix-local/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/combined-prefix-local/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/combined-prefix-local/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/combined-prefix-local/SCALAR-FRAME-AUDIT.json": "2acacc4ce6a76de1df817361f619bc2c4dce171601e96003bab7e19375bbf9bd", + "research/structural-gain/frontier-composition/combined-prefix-local/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/combined-prefix-word/ALL-KERNEL-CONTROLS.json": "8fafe450dc99d5ae5f52c9b943dfd335560db0ce7fa04cecc6079a185c41afd2", + "research/structural-gain/frontier-composition/combined-prefix-word/ALL-KERNEL-OMISSIONS.json": "836d839e744b1cbee5b3a47b4d6f766e9d822161fe3640794f9a0f051d2ad20d", + "research/structural-gain/frontier-composition/combined-prefix-word/CONSTRUCTION.json": "dd4e03987a81cc655885eeadc9ed3aa17e575d6d2568d24878329cc8e98ab3e6", + "research/structural-gain/frontier-composition/combined-prefix-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/combined-prefix-word/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/structural-gain/frontier-composition/combined-prefix-word/RANK5-OMISSION-CONTROLS.json": "449566dc724a285764dbaabc1a448f974f0608c7c68cd0406139c21aa1cf4647", + "research/structural-gain/frontier-composition/compact_owners.py": "0a1745ab326aa4af2ee72d5e6eaf93330b04bb3800a0c7d7747225c09293d2a6", + "research/structural-gain/frontier-composition/compacted-nomination/NOMINATION.json": "545a106d8d76888b916433c36544640602fac6234d8f36fcdab2cc551a7440b6", + "research/structural-gain/frontier-composition/compacted-nomination/OWNERS.json.gz": "92d29bd48582aa87eed2153b2e8f0f41f7d47087d215bebd7dac20fe79c4f8f9", + "research/structural-gain/frontier-composition/compose_prefix.py": "9b76cbe9d5840ba448ac1621fe3dca7ca6c3ea63d4590d595a6ddd8091d22390", + "research/structural-gain/frontier-composition/global-code/assemble.py": "e2e61c092803f9c9c15dc72b8a2cafa57ac8969ec70261b33d390055c911b2b7", + "research/structural-gain/frontier-composition/global-code/assembly_controls.py": "65ac20c51225143b3ec1966e1da8e2405dfd8f0f5e7765c04f07d55e86fba535", + "research/structural-gain/frontier-composition/global-code/audit_allcold.py": "20ed33a1f98240c73a3364d136f28b1e79d9b8cdf03d812f38da850dabf663dd", + "research/structural-gain/frontier-composition/global-code/bind_providers_portable.py": "c914b0161601cd982f0a4700326c505906a3eee5e71529973d5c7ad9caaad3fc", + "research/structural-gain/frontier-composition/global-code/emit_allcold.py": "9e7c53d9760391584ea3c80977fde4337f603a5732b2fe4f0dd36fd96c9c4627", + "research/structural-gain/frontier-composition/global-code/invoice_allcold.py": "6a14639e2849d50978a7821dcda97746b5a66722bb3ca2d6fc8c611d2eaf4e49", + "research/structural-gain/frontier-composition/global-code/phase_timing_controls.py": "edd53ac292132ba894ab17ca783909ffa5140742c45f796e8546383567fa924f", + "research/structural-gain/frontier-composition/global-replay/ASSEMBLY-CONTROLS.json": "5dae5fde9663c497f9d4e545fc8d5dc6d8b99251c4d995a9699c6b03c30e789e", + "research/structural-gain/frontier-composition/global-replay/ASSEMBLY.json": "b8d100f1adcaf818102b38f061cd462479ca37ce0d56d899538a98684f6c099a", + "research/structural-gain/frontier-composition/global-replay/BINDING.json": "6a15b287a04f703e76b6d34c4f092482df8afb3b47c9d4ea606d9c12589224a4", + "research/structural-gain/frontier-composition/global-replay/PHASE-TIMING-CONTROLS.json": "7b286b838470bed5225deabd9f6e70760af3c56d09780753b5c060711045ac7c", + "research/structural-gain/frontier-composition/global-replay/PLAN.json": "46e97c0b6d245d2a471df8e641aeaabc63efc5e5606b16fb6b6efe7e054e9431", + "research/structural-gain/frontier-composition/global-replay/audit/ASYNC-AUDIT.json": "26f1445c0be85a0093ef6e695ef3f34363cd26bfa4dc342440876ca1832175b4", + "research/structural-gain/frontier-composition/global-replay/audit/GLOBAL-PREFIX.json": "c2f8d032275a27c3aceadbda7cfccbe9a4888a2f64f0fc923bf0d536897387a3", + "research/structural-gain/frontier-composition/global-replay/audit/IDLE-REMAINDER-FRAMES.json": "f76c46723a1ded4243aee4f81c441b7eba4798014358a091aba2f50ab79371b6", + "research/structural-gain/frontier-composition/global-replay/audit/OWNERS-AND-PROFILE.json": "7c42b0d506831843ff23a673f0459d41eda2046a3d114d393bccd22920a8ae9e", + "research/structural-gain/frontier-composition/global-replay/audit/PREFIX-AND-INVOICE.json": "15baebfd6c4b3fb1a6b45bf9cffd0b592168af078ddbe898390212173f84ba5c", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CANONICAL-WORD.json.gz": "9d2467e9200fca9aea31bda6f54aec74ee1d0d41e2c0ec64c081691de8536b31", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CLIFFORD-RECIPES.json": "9f7b1d5bfcd937fb25778402cda7e71ccc1ae0e0e7f2b65a380dc231ad6f36fa", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CLIFFORD-REVIEW.json": "093762e2d5e751c26d5e82043773e6d7d77e902dcfadcd38bedc1502241eb455", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/FULL-WORD.json.gz": "4bb27af5d2142114ac59d24c8fc9bb638b932cf1cdffaf17733b5372ee101f3b", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/INDEPENDENT-LOCAL-REPLAY.json": "037ed24855a93ff5104667ceafcbc541dce26dfbccb125933281818e065a2b2c", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/LOCAL-CHECKS.json": "a66926b91a1d383b056e58c9c72024d228e710dae7c28af8514f1a2761e31f2a", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/LOCAL-PROGRAMS.json.gz": "eacd3c25390d7190ae1a54f6899e5e6a66003049665c3dd11648ae91123f4b2a", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/SCALAR-FRAME-AUDIT.json": "8087ceb5539a7a43bf5dc973547dc63ac87a764fff708a11f93c54df2ca711cb", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CLIFFORD-REVIEW.json": "1689bc0c187686bc547eac22033b5f781dbf71621cb02d134cba0263e45b88b7", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/SCALAR-FRAME-AUDIT.json": "2acacc4ce6a76de1df817361f619bc2c4dce171601e96003bab7e19375bbf9bd", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CLIFFORD-REVIEW.json": "f9a5d85a91abe1518fd5b9a1f31d191409ad37860390d3bb05cb1f0ce89768b9", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INTEGRATION.json": "2acde3dd247c50737ad42a2468775be1bdb21cb5751f4c156a1dcc5cac9e13bd", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/SCALAR-FRAME-AUDIT.json": "143ced2876c0fe33dadedce49e7e9ab5e458321c752ae1a0dedcec9cc2486406", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/global-replay/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/structural-gain/frontier-composition/global-replay/hosted/ACTUAL-SIGMAS.json.gz": "936df489d3deb6d6986bec7e31f553535d04e3ad417c600fc700785bc2574d2b", + "research/structural-gain/frontier-composition/global-replay/hosted/GLOBAL-TEMPLATE.json.gz": "d9ffee95dba7d05cfc444e582fa652ab157855e796b5a03969e1ce873803c83b", + "research/structural-gain/frontier-composition/global-replay/hosted/HOSTED.json": "53fd81d8b95f59d56f2ddc0375507d166eeb63bcc6f6e215319843011603ad9f", + "research/structural-gain/frontier-composition/global-replay/hosted/IDLE-REMAINDER-FRAMES.json.gz": "466656a9a6b7270f5b3c5d69539df07555a43f0b14f53fa1740c74d3738c24b3", + "research/structural-gain/frontier-composition/multicold-eight-local/CANONICAL-WORD.json.gz": "94dba75199d70b744be5604386b8eca6767f0b0e1aeee06b2bd0e4e1db858940", + "research/structural-gain/frontier-composition/multicold-eight-local/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/multicold-eight-local/SCALAR-FRAME-AUDIT.json": "2f2f0f18aa3a560b2d274f2a61d1a2e8e93e7b677bdea69f8dd07e5b92f3fbb4", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/multicold-eight-word/KERNEL-CONSTRUCTION.json": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/nominate_combined.py": "ee96ba6b0f57e3a6418b851498a304e2d5f6bbec30c68d39e7bfa589b1cfa4fb", + "research/structural-gain/frontier-composition/portable-replay/RECEIPT.json": "181148f6262f4d38c365e1431424a3c6fdc72e3eb655c8b9e8d229ad74d966f4", + "research/structural-gain/frontier-composition/portable-replay/RESULT.json": "6814b7d49fb28dc7eb7f7a143b62a0e562457b8526c9d6155121a7190cf25636", + "research/structural-gain/frontier-composition/portable-replay/STAGES.json": "5cd026ffaf115c06b6372d66e4a94e7d5a65b1a55601d081a3862f1783dfe00b", + "research/structural-gain/frontier-composition/portable-replay/composed-word/ALL-KERNEL-CONTROLS.json": "8fafe450dc99d5ae5f52c9b943dfd335560db0ce7fa04cecc6079a185c41afd2", + "research/structural-gain/frontier-composition/portable-replay/composed-word/CONSTRUCTION.json": "1b66e7c6de00f0ea5cfb0b064c8d61f7353faad08a9f96153eba1de7df7e4efb", + "research/structural-gain/frontier-composition/portable-replay/composed-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/composed-word/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/structural-gain/frontier-composition/portable-replay/composed-word/RANK5-OMISSION-CONTROLS.json": "449566dc724a285764dbaabc1a448f974f0608c7c68cd0406139c21aa1cf4647", + "research/structural-gain/frontier-composition/portable-replay/global/ASSEMBLY-CONTROLS.json": "4ca8c100c735e46c0aaa54e8222b13f44a8fbd8bc1ecb2e169796dc07b828181", + "research/structural-gain/frontier-composition/portable-replay/global/ASSEMBLY.json": "458bf63f1e5019fef9b1653f68cd0d35de5a8e9183d5cdd0608696f9a80fe20d", + "research/structural-gain/frontier-composition/portable-replay/global/BINDING.json": "b90811aa2011210b603de24e79f45e6f8f5bca7d3687fa6f55fff31694e6d7cb", + "research/structural-gain/frontier-composition/portable-replay/global/PHASE-TIMING-CONTROLS.json": "4fac9ed2d96bcba7fa646045428e931363bbe06cc98283857a6c5d072b6d0a75", + "research/structural-gain/frontier-composition/portable-replay/global/PLAN.json": "528fe700ac5998cc4abb4edd008dcace6ca47db49b431fbf2cc021df885de6a3", + "research/structural-gain/frontier-composition/portable-replay/global/audit/ASYNC-AUDIT.json": "fb374c7f823f5db2162b50801d52a4282b54e36a49df67360d0a26160cdc200f", + "research/structural-gain/frontier-composition/portable-replay/global/audit/GLOBAL-PREFIX.json": "7a4c5d98bc35b2541df3d058292dba3d479b639dd13e6c2db31d9c2dc088e9ef", + "research/structural-gain/frontier-composition/portable-replay/global/audit/IDLE-REMAINDER-FRAMES.json": "7b77927a83f949534d5935579445c4505c3812b7a1403b164c1fa8f9082d33e7", + "research/structural-gain/frontier-composition/portable-replay/global/audit/OWNERS-AND-PROFILE.json": "0246da5a86b87c450db132b875e7dfd1d36b4ea0f388ea02f5d4d77e84751db7", + "research/structural-gain/frontier-composition/portable-replay/global/audit/PREFIX-AND-INVOICE.json": "9f2c2e71ee3a84b1cd65563d038b3a21a2a5de0a0321097c4804b9ae0254f0eb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CANONICAL-WORD.json.gz": "9d2467e9200fca9aea31bda6f54aec74ee1d0d41e2c0ec64c081691de8536b31", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CLIFFORD-RECIPES.json": "9f7b1d5bfcd937fb25778402cda7e71ccc1ae0e0e7f2b65a380dc231ad6f36fa", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CLIFFORD-REVIEW.json": "093762e2d5e751c26d5e82043773e6d7d77e902dcfadcd38bedc1502241eb455", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/FULL-WORD.json.gz": "4bb27af5d2142114ac59d24c8fc9bb638b932cf1cdffaf17733b5372ee101f3b", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/INDEPENDENT-LOCAL-REPLAY.json": "037ed24855a93ff5104667ceafcbc541dce26dfbccb125933281818e065a2b2c", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/LOCAL-CHECKS.json": "a66926b91a1d383b056e58c9c72024d228e710dae7c28af8514f1a2761e31f2a", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/LOCAL-PROGRAMS.json.gz": "eacd3c25390d7190ae1a54f6899e5e6a66003049665c3dd11648ae91123f4b2a", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/SCALAR-FRAME-AUDIT.json": "8087ceb5539a7a43bf5dc973547dc63ac87a764fff708a11f93c54df2ca711cb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CLIFFORD-REVIEW.json": "98e70bd3e56f563c1cb51174cc0f3029d20f58a565a4f993d336c24e2f3e53c2", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/SCALAR-FRAME-AUDIT.json": "04835172c369aa8a0edd31a5161e86c3474f2bc748bea80a37750d37c66118c6", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CLIFFORD-REVIEW.json": "f9a5d85a91abe1518fd5b9a1f31d191409ad37860390d3bb05cb1f0ce89768b9", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INTEGRATION.json": "2acde3dd247c50737ad42a2468775be1bdb21cb5751f4c156a1dcc5cac9e13bd", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "143ced2876c0fe33dadedce49e7e9ab5e458321c752ae1a0dedcec9cc2486406", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/ACTUAL-SIGMAS.json.gz": "936df489d3deb6d6986bec7e31f553535d04e3ad417c600fc700785bc2574d2b", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/GLOBAL-TEMPLATE.json.gz": "049d649d121b5d9bd1947338413ed3b3a07e2429cd99294c914dd4c20b90d35a", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/HOSTED.json": "8d376143853fccfaac130444641a9cd792b94a9e1f2a8449fc6cc37fa622043a", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/IDLE-REMAINDER-FRAMES.json.gz": "466656a9a6b7270f5b3c5d69539df07555a43f0b14f53fa1740c74d3738c24b3", + "research/structural-gain/frontier-composition/portable-replay/local/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/portable-replay/local/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/portable-replay/local/CLIFFORD-REVIEW.json": "98e70bd3e56f563c1cb51174cc0f3029d20f58a565a4f993d336c24e2f3e53c2", + "research/structural-gain/frontier-composition/portable-replay/local/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/local/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/portable-replay/local/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/portable-replay/local/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/portable-replay/local/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/portable-replay/local/SCALAR-FRAME-AUDIT.json": "04835172c369aa8a0edd31a5161e86c3474f2bc748bea80a37750d37c66118c6", + "research/structural-gain/frontier-composition/portable-replay/local/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/portable-replay/logs/admission-controls.log": "659e7183284b11bc7f4bc4a54aae250f7a53993720ef9e88906908ba4590ab2e", + "research/structural-gain/frontier-composition/portable-replay/logs/all-columns-native.log": "7e097e0c37a6f961db5ea0a4b6ccfba1c8d336100dc65435cbc97939b5da88a9", + "research/structural-gain/frontier-composition/portable-replay/logs/all-kernel-omissions.log": "13fae47d3799fead98d1c0df5702516c3cbebf27636a35ae3e7d494274fef5cf", + "research/structural-gain/frontier-composition/portable-replay/logs/all-phase-edges.log": "316379dfe5c469e3f5e64545e786e0d501a3d67ee227cad8a957393fdd44213b", + "research/structural-gain/frontier-composition/portable-replay/logs/bind-providers.log": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a", + "research/structural-gain/frontier-composition/portable-replay/logs/compose-prefix.log": "c8233c0c3b0e31aa798896cef089e55c72cd8471f71cd04c1e6a5ecd0067ecdd", + "research/structural-gain/frontier-composition/portable-replay/logs/construct-multicold.log": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/portable-replay/logs/construct-width7.log": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/portable-replay/logs/emit-owners.log": "8d376143853fccfaac130444641a9cd792b94a9e1f2a8449fc6cc37fa622043a", + "research/structural-gain/frontier-composition/portable-replay/logs/exact-assembly.log": "9dbe4dfe1a7d8bc255008b3d1a2b00865da6f2e3404bf0a27f318640b8280595", + "research/structural-gain/frontier-composition/portable-replay/logs/fresh-invoice.log": "37caff4657f84fa89c1ac13ec93285ff9fa21f6e9ae8a406b28194e83f3ae079", + "research/structural-gain/frontier-composition/portable-replay/logs/independent-local.log": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee", + "research/structural-gain/frontier-composition/portable-replay/logs/independent-owners.log": "fb374c7f823f5db2162b50801d52a4282b54e36a49df67360d0a26160cdc200f", + "research/structural-gain/frontier-composition/portable-replay/logs/normalized-wrappers.log": "084996d2f72ec61b58fd63cabd85c6d01a82c217a8d3f4639f99c5fb32afe978", + "research/structural-gain/frontier-composition/portable-replay/logs/phase-timing-controls.log": "d4300a182a615922dd73ff2b945ff671086b86d5b80dbc009539e96d9b4dfe82", + "research/structural-gain/frontier-composition/portable-replay/logs/rank5-omissions.log": "bab3028f59a9b024df5f20d2c0f3755933cea161bfd49ab676fa6133f58a05db", + "research/structural-gain/frontier-composition/portable-replay/logs/reflected-ledgers.log": "ec8f89251df20f30f32bf57dc61ef643ed0646e629cbeaf406e0d3cdf448ea5b", + "research/structural-gain/frontier-composition/portable-replay/logs/relabel-owners.log": "100be6d961212fe518657e577b7089401067f845fffa4fee9bdcc3d88850f940", + "research/structural-gain/frontier-composition/portable-replay/multicold-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/portable-replay/multicold-word/KERNEL-CONSTRUCTION.json": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/portable-replay/nomination/NOMINATION.json": "d5d23da576ad2b981287048d01b395fb92a241d1fd9a120da45e280a7e83d5d0", + "research/structural-gain/frontier-composition/portable-replay/nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/portable-replay/nomination/PLAN.json": "aff99bac638d9707bd894f9241ea0576f5e7e33eaecc070880f450581d37c5c5", + "research/structural-gain/frontier-composition/portable-replay/width7-word/CONSTRUCTION.json": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/portable-replay/width7-word/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/portable-replay/width7-word/RECIPES.json": "4ee838e1cb9258cd330d73b4c58333d35156cd29e4d7b70e4f543280a317ba53", + "research/structural-gain/frontier-composition/prefix-input/CONSTRUCTION.json": "33febf6fd2ec1361d3c378be5d58eb2da495537987bc5326cd1bf89fa41d20a4", + "research/structural-gain/frontier-composition/prefix-input/FULL-WORD.json.gz": "a8d37cddb9c430569271a25b0af1fe7ff78fd23d183f443ec7c1075898094d4c", + "research/structural-gain/frontier-composition/prefix-input/SOURCE.json": "1598d3d7cc9d7b2e0c400896065d2d149166290320556cb598a3923a1dc59c3f", + "research/structural-gain/frontier-composition/relabel_owners.py": "7f273d712fa9917dd220895b59bacdc776d5b9e6cc5dceb72b92036eff0363f4", + "research/structural-gain/frontier-composition/relabeled-nomination/NOMINATION.json": "9de86ae70d1162117657e6e9b5d2819cb264dc86e3c4b1b9414382aed5bfca0f", + "research/structural-gain/frontier-composition/relabeled-nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/relabeled-nomination/PLAN.json": "c4c9f4f5db481c982f1d0f9396249ab0593165c1b7ec5d4d2ab850b92c80beac", + "research/structural-gain/frontier-composition/repacked-nomination-expanded/WINDOW-SOLUTION.json": "7df5fe77a32eb4dd95b032c522b51f957d1a4b6845ba34b6dfad8d489589cc3b", + "research/structural-gain/frontier-composition/reproduce.py": "8caa2e9d29df773a86a18d6b50b20379a616a22577e8c4fafb926d8c7d24aec7", + "research/structural-gain/frontier-composition/upstream567/data/EIGHT-SECOND.json": "eff4c7cf18a2aca50d4684af5df0fe2d134892354704f65f3d36066200db1cc0", + "research/structural-gain/frontier-composition/upstream567/data/FOUR-SECOND.json": "103afaab0459014cfa67da7cf78d79f9fae41f5f34c002e550b067a7a9ef8ae2", + "research/structural-gain/frontier-composition/upstream567/data/ZERO-SECOND.json": "0dedad089bfa54a0bdf0be77c2aa5e56c098cfb85ccceb9c797a79a13be32357", + "research/structural-gain/frontier-composition/upstream567/proof/CONSTRUCTION.md": "4090072319ae982c2477a6aaa888f204382e80b745b928737cdc1a707547c38b", + "research/structural-gain/frontier-composition/upstream568/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/structural-gain/frontier-composition/upstream568/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/structural-gain/frontier-composition/upstream568/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/structural-gain/frontier-composition/upstream568/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/structural-gain/frontier-composition/upstream568/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/structural-gain/frontier-composition/upstream568/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/structural-gain/frontier-composition/upstream568/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/structural-gain/frontier-composition/upstream568/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/structural-gain/frontier-composition/upstream568/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/structural-gain/frontier-composition/upstream568/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "scripts/audit_additive_labels.py": "fa12eb2c102dc3ea176b6b5ac22618bf1cd2ff15cefc458d3a4274661abcfe6f", + "scripts/audit_affine_vectors.py": "a3fccaeadb9a5db72c33787a055a54374504a6aa231907080396b2cf822e94a7", + "scripts/audit_assembly_domain.py": "02af0a14a4a049d1bb6d073dc4af972f4c2a3b4065fdd32ec5882b5f3b7addea", + "scripts/audit_bit_compression.py": "f0ed48592a885b54669d3f9086530fc84c467c39fd9281b357ba7550549aaa25", + "scripts/audit_block_carry.py": "2835f9262e0f835259a18c11aa3469643a19483d62daff90dbb91ddcb46e4505", + "scripts/audit_block_core.py": "a6ee56d5c238691701e9f17e9f2e7ed109a192d974614f58bdeca57a441ab968", + "scripts/audit_block_labels.py": "5455255446aaca07caae5187487cac5129fdbd823de778bae74ea16ca1f78f10", + "scripts/audit_cancellation.py": "508934ee4d9514a5519813603b6192a0d53103b6e30d65b8d53a1a774de244b6", + "scripts/audit_coded_carries.py": "b914227845265e856e5c343bb8588bb6621477afab40ba6a08ced95eca595ef3", + "scripts/audit_community_candidate.py": "fe687e20639a26c852fcd336411636e5c4293c0d7ba1880cf570bcad2f9d6ac9", + "scripts/audit_compact_controls.py": "c3513cd6b41a20bc33b392d66c1536f0a5fcaa76088848361a3aef64074fa989", + "scripts/audit_complex_centers.py": "166b18f560cd0d520d23fa29ee8147e0ea056358c4268a466ec458195a97a960", + "scripts/audit_core_limits.py": "33060eda83c47372daf887fbdbb5e684d2a0a193e527449443948880cbb0c70c", + "scripts/audit_cube_cores.py": "eaf815316abe1a55b43a62e71252243562486248f3275f4a28ee286a34c5cb07", + "scripts/audit_cyclic_topology.py": "b20ece2cf1337e1808e35b602a0120c6aedaf602fa2315560726a149e9838c29", + "scripts/audit_disjoint_tensor.py": "477db540e972b82751fac6a3a6d6e38fb4141e967261b1f9c260e2c686479a78", + "scripts/audit_early_sharing.py": "2cf08ee65f8f8610578614d0ff0308eb432732e779f1e8c03e67f1979e75fdc6", + "scripts/audit_fano_completion.py": "427c369eb2adec9214c5e804bb4413c5a1c4ecbe74ed81c4d65e1b11faa60ed0", + "scripts/audit_fano_permutation.py": "168d286a09c9c25852c3edd8832c1dab3c30e8fec87c050a6daec8d075822bc5", + "scripts/audit_followup_candidate.py": "dfb65258d08097acd6a4c29719f4d7459646801de56f33e78d9ae1cee55c2cfc", + "scripts/audit_fused_block.py": "2afb83ca8e5f193ca8a4c242becf267ad1d9dc2578ba238b820e98d5185f6288", + "scripts/audit_gather_schedules.py": "d7b4f64a672404a4d46fb2dd46a9e71db70fc61e3e2e8ba4ad20a8a07eb724b6", + "scripts/audit_general_guard.py": "885743e70450f8da77dd8eee619eb784bd10b3078d4229baf4af2791a2e483c1", + "scripts/audit_inplace_side.py": "16d295f9f9250d35f6f1de2843d5e13c7adbf88d595ebcd0b65b00d1a938acd9", + "scripts/audit_joint_candidate.py": "41a5ef6425561eeaa49a4dc1783afbce723ef31944e3f7d30cc91f4a1e0b64ff", + "scripts/audit_joint_frames.py": "3df8061392ce0ba42bbde8c02f2a30c8141145e70e9a48c18da73d3aafb14423", + "scripts/audit_joint_return.py": "da515bbd86dc9597e016c39ce2ea189343699a2d36f51f2224f4c2e39fa69601", + "scripts/audit_mixed_point.py": "2eead5d410d1c96f1a7ef47c9c35d16ca6bb6d9c2a6a8d24273290add842214d", + "scripts/audit_packed_movement.py": "d283f6900c97e04c687f77697ea8b29d5cac5a2f69cf2a79766099573dd66517", + "scripts/audit_pair_candidate.py": "29f38baeaa66e854eb5b235fb9708575137df30da277d439e0a08c5c4c4cb61a", + "scripts/audit_parity_side.py": "7cbdd405ce11fa6f7ffcbef3811174f8685ad4640e9330176601d3b3d3e95390", + "scripts/audit_positive_side.py": "b021aad944d8a6c023e57b1b48937854803bbb370240c93e0fe359d831c838c9", + "scripts/audit_positive_skip_exact.py": "fb4aa8af4e8a0a8a0ce21b8b647efd982fa1da2bb93aaaac72a42496c201d25f", + "scripts/audit_prime_subset_limits.py": "8f5c51d415c3248ce965d93469518e8d219020a1192c7be544a1a5f4b95dc1c9", + "scripts/audit_quadratic_affine.py": "9b7b3a7b8bcf417d95f19e44ff488733e7a3f4757fd12bd98d417e1d01d70425", + "scripts/audit_rank_product_core.py": "1471f17e86d6c02d5c288116cc3a53544c881ded47a3500f70dac97b366e46a7", + "scripts/audit_scratch_pooling.py": "12748b9915aaa5b59f0e32ee0b4f8bf0cdb86d5bf90d633cd12bdfb832e414a3", + "scripts/audit_shared_core.py": "fd257e22b8eef948bd29c2934d15f96ea93bea439e51229965bed53d75e09307", + "scripts/audit_short_guards.py": "c2c929c956e617bee739963b517b9069e0d067cfebc6820f401a4e90a1769eb1", + "scripts/audit_signed_sparse.py": "5b64f4098fcf9092d3e24526f4d6ba90528104fe66396e3e7ee64a7eaf3c8a51", + "scripts/audit_single_intersection.py": "1de7f9a62edc93c624ff2693ae9bb725cf6dc9735ff1caad56f6913aae9448ee", + "scripts/audit_sparse_fusion.py": "bbaa32f9786f083409e363b081bfb7a1e597c8d32e4183c13a4105c2170934ce", + "scripts/audit_split_centers.py": "c5cfd0e89120c918b81c4ef0b69b767342457daa1b29ce2b7821658ea7ba6f2a", + "scripts/audit_stage_pair.py": "f4823525abb553f76ea33adf61ed51e88ec38dd6c346dbcac86f69ffa8fb0375", + "scripts/audit_stronger_screens.py": "9678b66043b384f1454181bc2069c6d72685eda6576e284ce799d4b9aeb79860", + "scripts/audit_subset_cores.py": "ae38397693540a8cc26d416a6edcda271fd0fa2eb88566df690fb569e812f0a3", + "scripts/audit_ternary_side.py": "5e86566eee32031e1829d26ea17a7372e4802e2f7d76a2caa3ae16de3ab072c1", + "scripts/batched_bit_rank_moment.py": "f23bcecb8a71fcc89bc69f8e9f7845483f4b150951099bb296f82c4eba29820c", + "scripts/batched_network.py": "45d918d5a064339299c21a12f02462ac3fe7e18380fa6a5a6e2542566865b830", + "scripts/binary_phase_frames.py": "4148cfa313cf050ed25296e8db36d35871520b8318fd086c7d1facf0c6af67d7", + "scripts/block_label_targets.py": "3bfc422d60db0d79d8cd955a77d8b72c581bc0d4e288589f359fbf8ee6a76c52", + "scripts/bulk_complex_guard.py": "e64bb4e086205155fddf85cea86dbc8f9dcd09af4654d8e4b5c3b2c9b4d04e66", + "scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e", + "scripts/check_lean_axioms.py": "63b7c34c4faf1b2234af7489c3728dc848e7950ec98300ff8bd61cc0d67a10cc", + "scripts/compact_control_layer.py": "e814c9f8d84f2e5d3aa2e06c36697f27f110218addc40ff8df2801fde861ff9f", + "scripts/complex_circuit.py": "d623617f7c5cb3189580883a8ab30c0bd3832688ae3f1f0c1f881bbbbff8e0c1", + "scripts/complex_compression.py": "9b6f758a5985ba5d9fdd726fe6556b3d3b4bd9d98aaf8ba06a7bb58093c4c504", + "scripts/complex_network.py": "0da395e67ac04fa213494e71012c1b19b544596d34cdce5a3b172b1fb6af5f1b", + "scripts/controlled_bit_rank_moment.py": "572a1aea08b5b62da000588862d4724fdb47326b95282b76b8e49dd6923f73a0", + "scripts/copied_centers/README.md": "8d348a28fc11615fb686f7d47548db06a5000378b54e0e47438d17292b5942b9", + "scripts/copied_centers/__init__.py": "13db4f09038a2ff5335cbd4dbd93274b0fb16b3c7b51e4de67cbb2801a3f78e1", + "scripts/copied_centers/corners.py": "9eecdc39c67cc18c806a33f0be03986c28591d322881fd60c11f52c625c8067b", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/copied_centers_producer.py": "33afa6fe25677e13656fa8a200a25ed3510ef70c1ff9f1186612cbd9ee75d209", + "scripts/dag_network.py": "820f1f6e9f26251f58510ae7312e37a91bb5fefc37f8eeaaa648d0c68c48ed2e", + "scripts/endpoint_gauge/README.md": "044eb10845ca3c25adfda4d0abe728fd890d7f1c6ecc5da3e254073c189d08c1", + "scripts/endpoint_gauge/__init__.py": "ec74b81eb64a8167df4597a5ab94bd7a99f65acf0186bca684a74bcbec91113a", + "scripts/endpoint_gauge/bit.py": "5b2817bd1b35a42fabb636541907fcbdc394ed2ef1405099a10de9c9cf524b09", + "scripts/endpoint_gauge/complex.py": "dd0e1ff9729eadb65a18dba48fdbe824f423e025003f081f532b443b939f610a", + "scripts/endpoint_gauge/match_complex_general.cpp": "fb83c08125521128a38f5ee53f91d192904cc3372ad8f196ad9576e5f4f727da", + "scripts/endpoint_gauge_network.py": "7af181e30093d593ca58d0a133dca6862b06f2d350db1c5d745e588856258704", + "scripts/endpoint_gauge_producer.py": "484490dda84716f7077b07aa14fa510fbef2f77124c8b0b99e2adef50c232690", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/affine_vector_screens.py": "756778eeca27f490adc7354a122dc50c40375156259991469c47a90949118ea1", + "scripts/experiments/affine_vector_witnesses.json": "672a4318c48f5286ce088d34736c38957b7f662a5f753d440dbc638e7da5f62a", + "scripts/experiments/balanced_fano.py": "1586fb1db4f40e79e97bae59f47192675663403bbcacbf5f4e0b702edfd22b0a", + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "16dea3d3ef3dc90db928ed3e35d002f6926d2e7388da4766fc2fd725550f739e", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "1a572dbb33faba6695b3293768a7e61392d11cb4c2d5f708eedcd2cb95d0aff9", + "scripts/experiments/bit_compression.py": "d1e6726341b3619262cc07246c3420584f46bdf57d44f1946d8dab18334cbca8", + "scripts/experiments/block_completion.py": "58d928accb928fff0230eef4901a876e6d7a2ec24a3694e4784614f340a03b8d", + "scripts/experiments/block_core.py": "af94018e8f4b80219a8e9e104eae21e34b66fc670217d03ef54862b59c051fc9", + "scripts/experiments/complex_centers.py": "3744396587d729253d80980f6310b56e7bf0ea21b165bd178d0d6d4c49faf2e2", + "scripts/experiments/core_limits.py": "a31a27cc24cf0349a507d1141a2b965ea25f1c60f355d7e13c581305a12d3a43", + "scripts/experiments/cube_core_family.py": "e58f1f4067bda2d4838343f42ec2505316f006561f0702e869847d88b85413a8", + "scripts/experiments/disjoint_tensor.py": "102dd59bf96033f96ba0dab4c2aba77b3a7a73b67b0f96929ff8b20a98b91cd8", + "scripts/experiments/early_sharing.py": "1dd42768536bac13727528e51a999152cf9516a53c4001f2c390323e7f453378", + "scripts/experiments/exclusion_greedy.py": "d8fa918119a6d944174522a5f7a2f55dc9f905aeca98e1864dc9bbf672876902", + "scripts/experiments/fano_completion.py": "6cade2a36b910bf7e68a872dc4fd3560837935cffe80f9526cd012a28b247738", + "scripts/experiments/fano_permuted_completion.py": "0b48e0ba6399ac9864b733998ff32222e7c25c99de052ab8ea5196872f8010d4", + "scripts/experiments/fano_permuted_routing_witnesses.json": "b7093d006713f0b026c49b62ac4c502731630d17d15f56a2b63284ad8f4f8102", + "scripts/experiments/fano_routing_witnesses.json": "2017a4401c16ac58ccd7911b1d2128f1a93a98b108672db709e0c21cda4bb693", + "scripts/experiments/inplace_side.py": "4e7cb3df2e263f6c7f5907c55e3ee04c08926e6dbc984bbda1722a27b0a48ff6", + "scripts/experiments/inplace_side_witnesses.json": "90fe710f5daa35cc9e4892b29d712d66110b7b2b4c404da95a960ea7041618b9", + "scripts/experiments/intersection_circuit.py": "a877cb59aca1f003fc5db4bff5cd873af57be6d8d2465835d6fbe2c396ee5c09", + "scripts/experiments/intersection_greedy.py": "e7faceecad5d1efdc849c52ebe7258453e1579308fc8e31d9a4b3256f6ca9d0e", + "scripts/experiments/joint_dual_compiler.py": "853d3fc4a740c5b74c23b3a6af5d4dc9b41fb38e9b55678539a7e0ee71947c13", + "scripts/experiments/joint_dual_compose.py": "3554e957570e2d3f65c5bd7c945338c9e2fc5f3e79efa2b436a4dfc61899c394", + "scripts/experiments/joint_dual_reclaim_compiler.py": "9984aaccf880e4840402322d76678bfddb33ce7e494af78430a43429f51b85fd", + "scripts/experiments/mixed_point_circuit.py": "f509362b5031976a22af351fd158ae0b4520fa4f286a5176ec37023d672a7ddc", + "scripts/experiments/parity_phase_repair.py": "1f76f3b96ed556ed901835bd101d0e2588c997d2ed39bdfca097f0187aa86d40", + "scripts/experiments/parity_side.py": "1363ebf82d4c39e458e7bede8253688271008374db70ed4284df84253c8d092b", + "scripts/experiments/partial_routing.py": "dd67bf46aa70f1372d49c30c4fbbaff5664e27331a79ca3319251ceeec11ec00", + "scripts/experiments/pin_joint_dual_sources.py": "5d41535a73ad62fae7acb5365c5b7f40d7c99e52b6bc4266e44572018080acc5", + "scripts/experiments/positive_side_core.py": "0d453ab7e869d2cf6a43d6865de82583edb390d3c75038271f0fc09e0f3828ba", + "scripts/experiments/prime_core.py": "080a89a2c91505b509068698542843c9d7af3cdec01b5c88972107dc9c688c62", + "scripts/experiments/prime_subset_limits.py": "3768743ebfd982b7704fdda9c8ee8dd8cfbb4fd126a78396349d075560c047fb", + "scripts/experiments/probe_pair_ranked.py": "aed43df0d61701b5819cd50fd4e028b26f32e65fd7b9074d93e1423a3453fe7d", + "scripts/experiments/quadratic_affine.py": "8f9252bd092eb14779997c6767e090377e91f4d57e6526e9840ae0dd7dcc8f9c", + "scripts/experiments/quadratic_affine_witnesses.json": "3efcebf41650681a8a21a901cd2f81dc07a0c4d28064b883af16b10c3e0036c3", + "scripts/experiments/rank_product_core.py": "7a91c1188c5d42e864a5d2e42397b09c435b526ae4f4210c44bf615de488708e", + "scripts/experiments/shared_core.py": "d3c59b61229956cb54ae1ef9145ed213abdf1ae743929de145a77c43656f01a8", + "scripts/experiments/signed_sparse_core.py": "21da8e1de5ab6ac8479183326c2000313d24b47cc5be2f46b4fe6ac3cd59779f", + "scripts/experiments/single_intersection.py": "08ddae46e5621a5b4c525b504e67ae655abe9b49461d894feaa7abc89a51847d", + "scripts/experiments/single_intersection_witnesses.json": "c2308a3d21991f5828b0519b191b470f48b2fbbcaa5af0f7aed3986cc7534185", + "scripts/experiments/skip_frame_README.txt": "c92a53e608edb95a266ad27f4543c27668451a009c72fd5860619e6f0a355852", + "scripts/experiments/skip_frame_compiler.py": "8ffd079fd2e4f055b5befefecc5f33e686de9898219e9252f5d3913df8b195d8", + "scripts/experiments/skip_frame_compose.py": "d48e688ebb9a490f4eaf50d9ab0a4d4e3e76b6588b55d213df14c703c27a7f66", + "scripts/experiments/subset_core_family.py": "373a45a8fb4294cdf72d510d54e16d21535227b085aefb008aa092b3ad26e4de", + "scripts/experiments/ternary_side.py": "93379b6e70cf58bb55432d9f2d1c0e0305c20a075bfe3cc219deabd927afd375", + "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985", + "scripts/experiments/verify_skip_frame.py": "fc42dc3d59239ee3908d0e3e95402eb53fd6815a100521911fde1b541070c292", + "scripts/fast_gaussian.py": "11430c2df0783b933dc91080595bb7514bb052b8c7b12107e27a1ef701e31e43", + "scripts/fetch_upstream.py": "2109ad8965d88dec73f8e851731eb949d95164f6afd8dfd0e57c11dbc2dd1f31", + "scripts/finite_bit_contract.py": "3cff26a332cb6056f656b824e3a523fb8937d15206ddcc4118b911ac8df1b2a7", + "scripts/general_network_guard.py": "790a2064449afdbffd6dbd4adbcf4a28eaf41931ce7134e4a4e8766f3764270c", + "scripts/incidence_network.py": "033c934acb838e5222d60e09929d724281bb58ad9c2dfc02e89996788ff39ac7", + "scripts/incidence_rectangles.py": "5240fd33dcc3096f5685d10ca360186cad36b355a00d55686a4ea4449417d00e", + "scripts/make_batched_patch.py": "dbf2e939833a282e261511a89cf6fd1c59d51c73db0c6ef65f0605c7ebd7ae6a", + "scripts/make_compact_control_patch.py": "8eb6776b9049267c5a0b3209cf9668d4cc37622a9b111795a68819291db5dd08", + "scripts/make_complex_circuit_patch.py": "17d13ca9ff43a2fc411aa14fd7c8e1f25648b41f09c17a7bbe40a6cfa09862c3", + "scripts/make_complex_compression_patch.py": "4e32d120462812953109c0f7cf18db001ae0e7ae59e6e2fa7923f142df9ad96e", + "scripts/make_dag_patch.py": "1d8e693926f0c770b9a971aba5174fb77422b19f28326d62c0bb6ff62b2dd721", + "scripts/make_fast_gaussian_patch.py": "ce2013dc3a674b920ddacf25fd17329b262885af0a19279e084238318dff4760", + "scripts/make_incidence_patch.py": "11745d761a94c8dc3f150de1da06bd0c4f6841bacc07ff24a3e1807e68cfcec0", + "scripts/make_nonadjacent_patch.py": "4b1ed6115f0919afa5b375688e13dfcbe4eabafbbe32917eb912230ad8421294", + "scripts/make_paired_patch.py": "35cef140ea2656dc30f751414c10d50c6de62e52625fbad85b74f34c2739a273", + "scripts/make_patch.py": "a38a04c3e829b37a61291dd497247ccbe7204d61b505ddf36cca8bc112c11fd4", + "scripts/make_prime_field_patch.py": "a05974b4431cfdd4c5571add995cfaec0288b0c8ed6608142c790b2c61943c5a", + "scripts/make_reuse_patch.py": "c90384c4b0d3b7000e4e2b0f886280140f06627ab976ca8f21d4a32b8dd25166", + "scripts/make_shared_point_patch.py": "06c5f1d7b52fe7493aa249dbbcb9880e7c77cf8c4418ed8d1dc617910295f79c", + "scripts/make_ternary_patch.py": "fa41b5822503538e50fc56d1ee9f4bdbb45deaaf3c10c892244cc7697e0632e1", + "scripts/nonadjacent.py": "dca1e533611ac898a29e176214eb21c152853e68f97f7af533aba1ccb3b1b0f0", + "scripts/paired_complex.py": "4f4c28102bfc528e264896e6c32bbd0e66da0973237e96e4044d8ccf7e78a1de", + "scripts/paired_cube/README.md": "bf2adf1d1c5a412730be66e019bd73a08826ef8dcd6ffc833b9d1656b755dfb2", + "scripts/paired_cube/__init__.py": "b5fb17c79fd41a75c0648e7a5f99076f9f42a619857d5e34e71699bf00ef0c91", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube/gauges.py": "8a501c66e1330f054e0e11a35e9321d2deea7b51cd03ca56b6a41765e43fe061", + "scripts/paired_cube/graph.py": "c757d47997f2fa42a95c16f6e6855cf8b125216ae3335b3891e305cf1da82855", + "scripts/paired_cube/modules.py": "18a1ad8af0a7832b7c5c4791f5b95f76386cfa7e82ad52bfd2758c081ada68c4", + "scripts/paired_cube/verify.py": "e13747916a58b631f10c36eaae230b91b63b427d0a80aa3a530dd9dd90159147", + "scripts/paired_cube_bit.py": "677ff674f48860336ca96c4ab6d7fa9053bf7137d20ba368445d20e236765dbe", + "scripts/paired_cube_network.py": "293662b7f8772dd398399a1c19966faf7d155f024543d0c06601eabb800f35cf", + "scripts/paired_cube_producer.py": "c84ea3e3ce3eb9563906b6ee4b7411d93dcddfed4bdbc2d4e39936642261cab2", + "scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2", + "scripts/paired_network.py": "991223dc3c1374284c361ed017e42bf732dd971fa0bea2be2282cfb18257b3f7", + "scripts/paired_triple_circuit.py": "8f5f2de32fdbd8e0005154638660ff416e5a8cd59623bd0dc03f6f7f97ce2fb1", + "scripts/partial_gauge/README.md": "8725c7c0d3b2287904026caea8e94d62c2f66dbbd085e4fd6e5c10933ad9a72f", + "scripts/partial_gauge/__init__.py": "298aa57fbc2de1ff3f9fcfea0fcc02ee7f6758576c52879cb60e9b9c38d471ee", + "scripts/partial_gauge/binary.py": "b29e2f37d7f32a959a378190d7f1da3c2da534fbdaf878044800301957bffc03", + "scripts/partial_gauge/cube.py": "304b653ae6a30f08cee07b5285d48c3793559d63e623bb9bbe8383d8ce68aa24", + "scripts/partial_gauge/interval.py": "c7cf97aa327c92feedfcc098c77d51f3ba8075ccc6f94ecb064bb7a27e44df0a", + "scripts/partial_gauge/lift.py": "895874399113faa090d168d6168f0664136df6e21205671e7f7f9239cad93d1d", + "scripts/partial_gauge/match.cpp": "12b8b7c93bb78324e7328e624b166be2067ae8861540531c024040220d86f368", + "scripts/partial_gauge/scalar.py": "c9fb22e8643ab6d63f7f64ed8143bc5c469794a53e4914cf482e9ad7fcc10cc4", + "scripts/partial_gauge/select.py": "e23f6af42ee5e96d7b2eb29fccf15892f210253a45623255642a62ba93e20cf7", + "scripts/partial_gauge/verify.py": "d31683af845c1de75ac90c0a208b2d335806b6fb346f9960279204812f92bc63", + "scripts/partial_gauge/word.py": "96015b7b08a261673ab8be1ea47f89302f8a1d62a822d657a09f6a1fcfb51e58", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/partial_gauge_network.py": "76b09c4b8f9570766d94b77b265914e4662f8f782e5fa7b4749a1092972b0d68", + "scripts/partial_gauge_producer.py": "8d9284b02ed5915008bfe2e8186ef18f882306192ddd4873b7856341b061305f", + "scripts/partial_swap/README.md": "a81a6a59b89f7db539bc317a7dce23ab84a75c7abebae105091de4e2aeb3f941", + "scripts/partial_swap/__init__.py": "0438eaa34134600467a5864f93c3e15142eb025b35cef189c2e969cffea72a7f", + "scripts/partial_swap/binary.py": "d32d7a23548cc738e974e8e55dd1fa2a8b11d2b80228515617ffe35410bb8805", + "scripts/partial_swap/binary_io.hpp": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/match_exported_dag.cpp": "7901b0fb1b80b628a24cfd7fda57bbc32f58771594d08b318b90e4b8cdf0ef82", + "scripts/partial_swap/match_positive_dag.cpp": "8a6d64e2d0ac2c69210fb0b8a5bd0d714ad40b3609f75a5fddfcba3291a3d552", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/positive.py": "1dadf771226d6e4f3bf9ce3aae2e6a2ad7173f4d1c900299d0663fc4c432f3e8", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/partial_swap_producer.py": "dba07d742c68e8e4aedd1d93fc4c47a0481778268f7480997463e2b269fdd0a0", + "scripts/prepare_layers.py": "a6e2adc612f264b1c0e51d18ce6315de9ae5e2ae2420aa22e99a22d8bf304947", + "scripts/prime_field_checks.py": "be21a411cdca5fa331fb9f36352ce98c055cb5e973553255e4530d07e99ae5c4", + "scripts/prime_field_circuit.py": "50485ac5a65b2707aab2b870477fbf503f4776699f6dd5ce38fb2006cc95d0f6", + "scripts/prime_field_network.py": "16629edd6aa8357b3fabcd5e1a70027860864a64475e8c0e7c822ee81dcd1ab9", + "scripts/prime_field_supports.cpp": "927dbb2ac2a411f06d8d9e0c440548f7ab965311fd83f4a573668d94d0cff1fe", + "scripts/rank_obstructions.py": "af0bb5d7c21409bf0318ec4ec7d5f391163b7ad9564ed9e35de92ada14bca975", + "scripts/rational_span_frames.py": "766d342dd73ca5efd784c5733282a93d379a58beea763e703238dfbb4eacce82", + "scripts/rational_tensor.py": "629b3f00a1aaab32fe908a73ca8f8412918209a300e6b1e5afe6325b9cfed3c3", + "scripts/reconcile_pr_queue.py": "54447bcc19f927f521373b3f215618a5a96ec4a88066f8558fd3b40fd6a6c728", + "scripts/replay_bank_endpoint_family.py": "5f9e592f87b3f903c851425e165d2866bf791a647561cd8a2c8facd6bb1b2b33", + "scripts/replay_batch1047_t16.py": "8e7d3d8f3e0b906142a219527c4f653444c58cbdfe22646d65077735f2a274e2", + "scripts/research_networks.py": "3db82e1aa5faec2f76bcfd19a996a447048af56b25000af3324884a751e8e864", + "scripts/reuse_network.py": "f345f4f015a17497c173ed331aad2133908e2a67d683455ffd60dbb3b3ed1aa1", + "scripts/routing_smt.py": "25d2dfb09a34c0c0ecfdf870abe2d3883c95677189836dcce25421b9443e8a44", + "scripts/run_isolated_tests.py": "96ea543e6c707424afe247e77bd86c82152f90fc76a0773c4232145da5cdf8d1", + "scripts/search_incidence_partitions.py": "d2e5a98d07dee702064671d9d081b8dc18e7a1bfeb45e4217905141732abd1bf", + "scripts/search_network.py": "3a4faa5037d9b8e7ca5828afac193a96b6966a8b114f14937921795b24ec4f6a", + "scripts/search_network_variants.py": "069a80a1ac504e83c5da60f4737440552df1ca4c57218ab2e32523f88199cbbc", + "scripts/shared_point_circuit.py": "c9bb7a5df92d260a4e3ad532b53e26936730d7c93f7facfb0784957c1e81c8ba", + "scripts/shared_point_network.py": "a85e7f0d8c42d6a27e3846308571ca324a1824ac5c2d59e4daa5c7673c33c697", + "scripts/small_block_witness.py": "a8bff53b5e6a13808305cab3d53c2532b1fcb5ff172653d02761b028eb60d79b", + "scripts/stopped_product/README.md": "6c1805dda45b01ed0ef420c674ec2cd0048fb9d7a1b015ab6cd837067fe66176", + "scripts/stopped_product/__init__.py": "7b794c22bccc00bb6ae8ba4d3379f469570565bbcb1a86090699133b8cf1b7d3", + "scripts/stopped_product/complex.py": "407650d56dceb5cb09d74928658cebed1bb42f4d7e28ca9e3fd36eea075f1ad0", + "scripts/stopped_product_network.py": "a8baaa87dd7679db4f2dd1a18a720397ee6f443262ad04fa26cf51b39909b74c", + "scripts/stopped_product_producer.py": "2c5c71399136ebcfebb8e5277317d5f334eb8df5716ad287391d0996fcc1492c", + "scripts/structured_bulk/README.md": "7d6a91d324019628c842db7ef2deb1fa035fbe39dd7c22877c83f190516fc0bf", + "scripts/structured_bulk/__init__.py": "9c6d0e9c71caa218263b636359b7d6c88f8428cba3cbd27b9f549045d4609b7d", + "scripts/structured_bulk/complex.py": "ee769039ea2111de5488fdc4abba28d50ed8885fa7e8dcd12728c5dbe6170b92", + "scripts/structured_bulk/exactness.py": "2e04898ee4463bf4d2f7ad6b50dd0801e4ebe195d06a33ce428ffd1c0beeb67f", + "scripts/structured_bulk/rankone_profiles.cpp": "5e003fde6e4779078988ce5ba1adf988cb846afbd8fd44faa920a3baa4126848", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/structured_bulk_network.py": "82608e2e7eb622f3ff78ce9bdc3e6c97087c6785aecd1a0eab947e389856600f", + "scripts/structured_bulk_producer.py": "c20e04b5216b04b9343cb28f1b1d164c6ac42ceaac067d82d2850f908dd7d5f6", + "scripts/ternary_assembly.py": "38d12b09dd9074ca56cb658e25f4e0b9e50fad9c36d0d837fc5c059ae4ddb5b2", + "scripts/three_stage_cover/README.md": "b39a28fa8da5d7d3188dfed4c0e0af1e2397f0f5c8f69cfb69671ed27ddca4bb", + "scripts/three_stage_cover/__init__.py": "b964b59af038e70cc15af655a22bcf6aaafc9c842b213765781bc8bea7166430", + "scripts/three_stage_cover/lift.py": "ae5f4c56cd32b5232d6dcdcaed1e24efb81fe20467a2d915ee51479bced06cfc", + "scripts/three_stage_cover/select.py": "457e636ced9bbd368198f78e015660a929ba1aaccbe34122d18da09ebb488f33", + "scripts/three_stage_cover/verify.py": "4bd2347e87e4edb699968bc31dfb94f2ab89bf1227576e59f43c779ba74e4e06", + "scripts/three_stage_cover_network.py": "7e0ad6fd1921b6905a53ce1eeaa03d3bb3a8a8bbaa0382516ea98b636f46335e", + "scripts/three_stage_cover_producer.py": "ea6dd4f06173304bbcb74b8e5bcc02357b7bb162a6d26b4a6f7a9e886158123f", + "scripts/tune_routing.py": "5728c848e23c905f37a9d77928283e64ace5e7b69c3572780c1291800d005e6e", + "scripts/verify_cold617_interface.py": "95d7a9094c05ad975fb72f5ab7605593003245a503c8456764987e512028fa6a", + "scripts/verify_complex741_parallel.py": "616cff67233958647dd1e6f33dcc5ffc6132df68e0e1230dc768e820d00155a1", + "scripts/verify_frontier1042.py": "700fdcaeb6e8f57f6e63c71c2dd1652fc5b183e8d706cd092779bdc0d271e854", + "scripts/verify_frontier1094.py": "c7e20f59968ed5736fb859735de4de207de3418083e37012310ebcded946b949", + "scripts/verify_frontier531.py": "5b96c8c9ac5568e564f708b19a8081f16da5d26bca2e21adc001f0d115b1da72", + "scripts/verify_frontier531_bindings.py": "8a92970fb4e2a3d94056e58b3fb8245dc1bd1bab4c7329caf5797459c7df8d03", + "scripts/verify_frontier531_wrapper_swap.py": "fe6a948e67366825f6c22e7c69a661a727b4092b2aa9cb3e877d6c3002e592a9", + "scripts/verify_frontier535.py": "addc0102539e33b49548342addcbb27518849a12c9eb2422d6291336a03fa3b0", + "scripts/verify_frontier535_bindings.py": "f0aa2e4003706a5d271eea70e81cae85fc708ad43e1b5f0cc46979fc09b8e502", + "scripts/verify_frontier588.py": "28a7e275465e8552d8183bbdc89be9930dc5c0f1e9266524a864b6787bed41c6", + "scripts/verify_frontier588_bindings.py": "6d1932eea7b1936598118ea8e607b09c29b6e31b749ec41bbe0744ea4f0b606d", + "scripts/verify_frontier596.py": "ad3373bb412b8275600377160b50592c63aefbed796e0ef02a18cfd89a86a251", + "scripts/verify_frontier596_bindings.py": "0fb48ee079317709f4fc2ca3ccbc16aac3b96697a2af84ab3ee90aa4d125a51e", + "scripts/verify_frontier617.py": "f80f043ba299512763e43c8a37705b1cc6b445e56479c98fd63856856b422c5a", + "scripts/verify_frontier617_bindings.py": "b4d996f671db2df651c19e3c297811f0e4752bb18492a6cf00c7122714c05086", + "scripts/verify_frontier626.py": "2207bd0ef04a19ef276869085afdedad80a0938fa75db5e1aa7ab73fd3429444", + "scripts/verify_frontier626_bindings.py": "cda63ff41c6d6e2e352c7bf75b84e690c0ce57e4ec6c0355573bb5d9b1f98280", + "scripts/verify_frontier741.py": "215ee6a12de8dc2392e6811a1b8f2140035f6b2d2a0d2100ff4bd2fdcb8bb39b", + "scripts/verify_frontier741_bindings.py": "eff455167e2fd0bc9a67d35241d0e69d8edc58f3a23e776dcfe8f500ca8e8d67", + "scripts/verify_frontier741_bridge_coverage.py": "9a14f26762b6126eb54ed43db90371773374fe98733ada80ee871a74afa3b836", + "scripts/verify_frontier799.py": "19fe1b32079095160dc00fe2f7df75e0fcbc82cff37f7159b755c8a63bd5ce99", + "scripts/verify_frontier799_bindings.py": "43897b3c99212d6134870898a1840f32898aa1b3679b299e654901568ad7e19b", + "scripts/verify_frontier890.py": "88ea38dbef62dd7c0dd46e212618520cc89213edddb2032800e5509993958175", + "scripts/verify_frontier942.py": "27c6713532d9f53f55dfff4884d55a2d9ae74b68156e37a44596c0418fbed5b7", + "scripts/verify_frontier_complete.py": "28e10c23971d2f629395da28b5deaba886c7f35b579ff362c4d409325ff47d94", + "scripts/verify_frontier_replay.py": "fd928cdcaaa6ff049c79d7f01ada7ba88f3c50bab838d08e0b8ad46e742c803f", + "scripts/verify_hpe608.py": "57c2475e572873d3a2fbfba93464f73a9fcb9096868ede75b165a902bb477aff", + "scripts/verify_hpe_lean_binding.py": "52aa1d23641e4c716b43c98f6b883ad042087dd03a9d01369e8e6a735b07aa03", + "scripts/verify_pr_reconciliation.py": "ed04fed33a01e75bd61c28d15e89c9613bd90cf12b2a5834a646c2252c87c8e9", + "scripts/verify_replay_coverage.py": "babe5941d7e6dac4248613ef01f950ee7bb6199e7355021aea4cf854fd1b91c5", + "scripts/verify_selected_result.py": "d7fd929726b326aeeaf0a3996475adec88eee9aac09ae0bebeeaa0bc1fc8f199", + "scripts/verify_supplier_consolidation.py": "3be2fde1186bfb03f1cf4b5cd8f4c816583815f428ddacce9503f26a47f3a8b6" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json new file mode 100644 index 0000000000..20082f0ea3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json @@ -0,0 +1,72 @@ +{ + "CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "evidence/constructed/CONSTRUCTION.json": "e8236655e3f9e061514259dbb114b7e9b77b9be7459977ec613833de1a088073", + "evidence/demote3/STEPS.json": "e3a94ed349c2298d21ed96b0ab6dc02e8b0a7f523028366803df511d7b9200c7", + "evidence/demote3/local/CLIFFORD-REVIEW.json": "2ef79c2ed574a97c109906fc41f69793e19dd010c96240bd788907bbafdc818a", + "evidence/demote3/local/INDEPENDENT-LOCAL-REPLAY.json": "2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6", + "evidence/demote3/local/LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "evidence/demote3/local/SCALAR-FRAME-AUDIT.json": "ebc0b07acae7c8cab1c673407d462ecc357cbe829bdce99d0d8b62149739d96f", + "evidence/demote3/local/WRAPPER-CHECKS.json": "f2a005b54bea64d66633d8a82d0454348172da3b88361081a72126bf1d51744d", + "evidence/demote4/STEPS.json": "934e851f2a79314077019fbfdde9fdce6353ed9ecb468bde7ed426826993c92b", + "evidence/demote4/local/CLIFFORD-REVIEW.json": "7dbaf548ff9a515a2c3e352ecff536c619d546339eaef1b408451a3f65c3f08d", + "evidence/demote4/local/INDEPENDENT-LOCAL-REPLAY.json": "3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48", + "evidence/demote4/local/LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "evidence/demote4/local/SCALAR-FRAME-AUDIT.json": "487409568e9ca43922c47362ca634003fda6957bbb02ab4a2dd5c231e3b92ff0", + "evidence/demote4/local/WRAPPER-CHECKS.json": "0e281983e139a29c2a28eaed51383f14d8acbe0161eb8e437b7f7ea5dd1c11a0", + "evidence/t37/ADAPTATIONS.json": "c4ee575e66a69dedd81ffe790f60ad422a51446c7c8bff860786e6e58e11b255", + "evidence/t37/strict/ADMISSION-CONTROLS.json": "02fcaf60f2db93ed84043c66bfb49e6fb63468a40cc6eb3ef9673bf6f03f9b14", + "evidence/t37/strict/ASSEMBLY.json": "ad612be9b551469cbd776496dbde4638937a184742ae9c380b41569a56253081", + "evidence/t37/strict/BIT-CONTROLS.json": "1e14fa3a1b5ed051e1da5661a4c9c4249a089c9c510553e83574e520a23b91b7", + "evidence/t37/strict/STAGES.json": "284ed86eb0590ce33ec2020d1e2d44b225d2cbc1ab91cb5a972683bcd300e480", + "evidence/t37/strict/global/audit/ASYNC-AUDIT.json": "028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f", + "evidence/t37/strict/global/audit/OWNERS-AND-PROFILE.json": "c64cb2197f98b123a55d30a47b0c8e251873d7635a4de4c13a5e34b2e9483996", + "evidence/t37/strict/global/audit/PREFIX-AND-INVOICE.json": "512e824c274a656f4d4e1e4fdf267d9c38aa1568169716cc833d2d3816d81516", + "local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033", + "verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md new file mode 100644 index 0000000000..8ead68d658 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md @@ -0,0 +1,14 @@ +SPDX-License-Identifier: Apache-2.0 +Prepared for Jeremy Diviney with substantial OpenAI Codex assistance. + +This contribution is the heterogeneous D3/D4 call dispatch, exact integer pattern-flow nomination, literal whole-helper matching realization, independent call-indexed audit, and complete composition of the resulting witness. It builds directly on the following work and does not claim authorship of those constructions. + +* Thomas DiFiore / PR1148, source head `3ba07f19` (full commit and file digests in SOURCE-PINS.json), supplies the joint-entrance D3 word. The complete raw word and notices are retained in vendor/pr1148. Its joint choice builds on seslly / shipstuff PR1111's group-635 demotion lead, PR664's promotion idea, and the preceding k8 coordinated/eight-endpoint/three-demotion packages. +* D4 uses PR1148's already explored codimension-one group-627 entrance and the PR864 frame model (navinor / Claude), as adapted by Thomas DiFiore. Our discovery refit uses that model. Reproduction uses a frozen old/new recipe and exact independent native checks, not the optimizer. +* `construct.py`, `controls.py`, and the initial T37 wrapper structure derive from Chafik Boukhalfa's PR1152 (head `d376209304f0…`). The perfect-matching technique and owner-flow lineage also credit Ali Romman / PR1129, PR1131's wave ordering, and Hao Yan / FanPUYen's PR858 physical windows. Upstream copies and exact digests identify the adapted sources. +* The independent geometry checker is retained PR890, adapted from Hao Yan's PR858 checker; the signed prices and all-replica reasoning credit Chafik Boukhalfa's PR795/890 and jon314159's PR942. Retained PR870/1074 code provides strict multi-provider bindings and mutations. The T37 geometry adapters are PR942's retained source, with explicit, hash-recorded changes. +* Rohan Arun's concurrent PR1169 reached the uniform joint-entrance T37 target 0.001675568675201533 while this mixed-dispatch experiment was running. Our initial uniform result tied its earlier version. This submission instead mixes two words and claims only the additional improvement stated here. PR1169's payload is not used by this verifier. +* PR1176 and PR1183 concurrently explored mixed-provider gap augmentation. Their payloads are not consumed. PR1183's observed head `2dc3d14f54bac2a97811ea27f095bd7b6e28da40` nominates 69 extra group instances by local exchanges; this package independently reconstructs a global integer flow supporting 208. The mixed-provider idea is not claimed as exclusive to this submission. +* Retain PR1018 and Rohan Arun's PR987 scalar-word ancestry, PR1030's endpoint lead, E8/k8/frame and controller predecessors, PR589's unchanged bit supplier, the PR559 recurrence correction, and all original notices in the retained repository dependency closure. + +All-source and package manifests preserve exact immutable source identities. Generated compression and phase timing are treated according to the repository's reproducibility policy. No unconditional theorem, full formal proof, search optimality, or observed runtime improvement is claimed. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md new file mode 100644 index 0000000000..e23ea42ce3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md @@ -0,0 +1,35 @@ +# Accounting and finite witness + +Let D3 be the joint-entrance word from Thomas DiFiore's updated PR1148, with entrance groups 603, 611 and 635 demoted. Its local profile is `{1:2364,2:498,3:412,4:130,5:82,8:8}` and its 480 helper widths have inventory `{4:44,5:44,7:38,8:114,9:240}`. + +D4 additionally changes helpers 627, 629, 630 and 631 to entrance subspace `[68,34,24,1]`. Twelve B-frame assignments are refitted. The scalar operations, registers, coefficients, ordering, ports and centre interface stay identical. The explicit old/new recipe is in `data/FOUR-RECIPE.json`; fresh exact native replay decides validity, independently of the floating frame search. + +D4's profile is `{1:2356,2:506,3:416,4:126,5:82,8:8}` and its width inventory is `{4:40,5:48,7:38,8:114,9:240}`. Thus each substitution changes the local profile by `−8H1+8H2+4H3−4H4` and increases occupied helper width by four. + +The frozen dispatch has 125 D3 and 208 D4 calls on the PR1131/1152 wave order, sorted by `(37*stage+8*replica,stage,replica)`. The source-event geometry is the retained PR942 five-bank T37 lift. There are 33,152 live and 33,642 physical wires. No call is fragmented; each of its 480 helpers belongs to a distinct available physical family. + +The flow uses these nine bin patterns (a zero-width pattern means empty): + +| Capacity | Pattern | Count | +| --- | --- | ---: | +| 8 | 8 | 20,556 | +| 8 | 4+4 | 4,308 | +| 16 | 8+8 | 6,102 | +| 16 | 7+9 | 10,474 | +| 32 | 5+9+9+9 | 15,484 | +| 32 | 4+9+9+9 | 2 | +| 32 | 7+7+9+9 | 1,090 | +| 48 | empty | 11,374 | +| 48 | 4+8+9+9+9+9 | 5,202 | + +`construct.py` checks exact pattern and call-width conservation, legal physical windows, and every integral flow entry. For each physical window group and pattern it completes the flow to a regular bipartite multigraph, decomposes it into perfect matchings, and assigns actual helpers of the nominated provider. This yields all 159,840 literal roles. The independent audit separately reconstructs the source events, strict bridge boundaries, physical family identities, 73-axis charts, occupied prefixes and complete per-call width inventories. It reads and recounts both admitted local words and selects them using the frozen call dispatch; it does not import the owner constructor or controller auditor. + +The resulting idle profile is `{1:2,48:11374}`. Adding it to the two local profiles weighted by their exact call counts gives: + +`{1:785550,2:167498,3:138028,4:42458,5:27306,8:2664,48:11374}`. + +Its rank mass is 2,408,256 and deficit is 11,840. The global prefix bound is 775 bits, below the charged 1,024; the finite physical row coefficient is 17,495, below 20,161. Those charges are checked by the complete retained invoice and independent owner audit, not inferred merely from profile feasibility. + +The PR795/890 signed prices explain the choice of mixture. The uniform D3 inventory has rank-one dual credit 20,850 per replica. Each extra demotion group consumes 3,700 units. Across 37 replicas the budget is 771,450, permitting 208 such substitutions while leaving credit 1,850, exactly two rank-one idle units at 925 each. This guides the search; the literal witness and full admission are still required. It is not a proof of optimality for mixed suppliers. + +The two retained rational engines bracket the complex root and the unchanged full PR589 supplier supplies the bit endpoint. `CLAIM.json` records the exact rational choices. The strict outer assembly selects κ = `1675672695827067/1000000000000000000`. The conditions and scope are the same as the retained framework; finite certificate success does not discharge the all-size multiplication theorem. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md new file mode 100644 index 0000000000..03b83367a9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md @@ -0,0 +1,26 @@ +# Mixed joint entrances on 37 replicas + +This candidate uses **125 calls of PR1148's joint-entrance word and 208 calls of a four-group variant**. Its conditional target is **κ = 0.001675672695827067**. It improves the uniform-word T37 target 0.001675568675201533 in PR1169 by approximately 0.0062%. These are conditional finite construction prices, not an unconditional multiplication theorem or runtime measurements. + +The contribution is the mixed dispatch and its literal whole-helper realization. Changing four more entrance frames increases local recursive cost but reduces the unused rank-one capacity. A mixture balances those costs more effectively than using either word uniformly. The 333 calls have 159,840 whole helpers; the remaining idle profile is `{1:2,48:11374}`. See [PROOF.md](PROOF.md) for the accounting and [NOTICE.md](NOTICE.md) for predecessors. + +The complete local replay passed on the source commit identified in [the evidence record](evidence/REPLAY-SOURCE.json). The [result](evidence/RESULT.json), [two-engine price](evidence/PRICE.json), and [strict assembly](evidence/t37/strict/ASSEMBLY.json) retain exact inputs, charges and controls. Hosted checks and maintainer acceptance are separate. + +## Reproduce + +Use Python 3.11+, the repository's cold-replay dependencies (including a C++ compiler, Boost headers, NumPy/SciPy/SymPy ), and a new output directory outside the checkout: + +```sh +OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 nice -n 15 \ + python -B research/mixed-demotions-t37/verify.py --work /tmp/mixed-t37-fresh +``` + +If Boost is not on the compiler's normal include path, set `CPLUS_INCLUDE_PATH` to its header directory. Verification does not use OR-Tools, an allocation optimizer, a network connection, or discovery-mode admission. The frozen integer flow is expanded by deterministic perfect matchings; every integer equation is checked. + +A completed cold PR799 replay can be reused with `--ancestry799 /path/to/completed/replay`. The retained maintainer checker rechecks its source, artifacts, logs and PR589/741/799 bindings; an independent fixed coverage check rejects omitted stages. This option still rebuilds both new local providers and every new global stage. + +The driver checks both exact scalar maps and all 704 columns in both orientations, all native phase edges, local entrance mutations, the full helper map against literal bridge-aware windows, provider substitutions, the emitted controller and its 23 mutations, the complete invoice, 114 admission mutations, 12 bit-supplier mutations, two rational moment engines, and 47 strict outer inequalities. It also checks eight parent controls, eight frozen-flow controls, and eight independent owner controls. Successful completion writes `RESULT.json` with status `PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION`. + +Immutable upstream archives retain byte pins. Fresh compressed outputs are compared by their complete decompressed content or documented semantic identity; only validated phase timing and compression references are rebound. The committed `SPEC.json` remains frozen throughout verification. + +The all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and exact recovery, analytic transfer, PR559 recurrence correction and bit H1–H5 obligations remain. This package changes the local-word family; it makes no optimality claim for mixed words or other circuits. No selected certificate is changed by this research submission. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json new file mode 100644 index 0000000000..dcfb60ec38 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json @@ -0,0 +1,29 @@ +{ + "allocation_solver": { + "not_required_for_verification": true, + "seed": 836, + "source_sha256": "e126848aa68a85854aa69b736ae5159261dd43f9385806f26c36397139603289", + "status": "OPTIMAL feasible integer witness", + "tool": "OR-Tools CP-SAT", + "workers": 2 + }, + "commits": { + "main": "ce7ad1b6ab09452c3478723a2e96ed5ff212dc08", + "pr1148": "3ba07f190e64bf7748f669d40fc5c37f77ce5dc4", + "pr1152": "d376209304f05551f975b0ddf6eaa84edc4ae31a", + "pr1169_observed_not_consumed": "c79df8e3c61676445f8e1782814450199d8221e6" + }, + "immutable_inputs": { + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py new file mode 100644 index 0000000000..a350fcec65 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py @@ -0,0 +1,79 @@ +"""Independent call-indexed local recount and PR890 literal owner geometry audit. + +The owner constructor and emitted controller are never imported. Both native +words are independently recounted, then selected by the frozen call dispatch. +Every modification to the retained geometric checker is explicit and hashed. +""" +import argparse, copy +from collections import Counter +from pathlib import Path +from common import P,ROOT,read,dump,load,sha + +INVENTORIES={'demote3':{4:44,5:44,7:38,8:114,9:240},'demote4':{4:40,5:48,7:38,8:114,9:240}} + +def check(base,providers,owners_path,out): + source=ROOT/'research/complex-t21-owners/independent_check.py' + text=source.read_text() + edits=[('2 * 512','2 * 1024'),('prefix < 512','prefix < 1024'), + ('charged_prefix_bits=512','charged_prefix_bits=1024'), + ('Counter(widths) == {4: 80, 5: 32, 7: 54, 8: 122, 9: 216}', + 'Counter(widths) in ({4:44,5:44,7:38,8:114,9:240},{4:40,5:48,7:38,8:114,9:240})'), + ("width == c['widths'][helper]", "width == c['widths_by_call'][call][helper]"), + ("Counter({rank: 9 * T * count for rank, count in c['paid'].items()})", "Counter(c['paid_total'])"), + ("max(x['prefix_bits_upper'] for x in c['replay']['local'].values())", "c['localbits']"), + ("local_profile=dict(sorted(c['paid'].items())), width_inventory=dict(sorted(Counter(c['widths']).items())),", "local_profiles=c['local_profiles'], width_inventories=c['inventories'], provider_call_counts=c['call_counts'],"), + ("if context['callpos'][key] >= hi", "if context['callpos'][key] >= hi and context['widths_by_call'][key][z['helper']] == z['width']")] + for before,after in edits: + assert text.count(before)==1,(before,text.count(before));text=text.replace(before,after) + adapter=out.parent/'mixed_independent_owner_adapter.py';assert not adapter.exists();adapter.write_text(text) + ck=load(adapter,'independent_mixed_owner_checker');ck.T=37;ck.R=480;ck.EXPECTED_IDLE={1:2,48:11374} + refs=[base/'split-centres/GLOBAL-TEMPLATE.json.gz',base/'work/complex-nine-native/DATA-PHASES.json', + base/'split-centres/CANONICAL-WORD.json.gz',owners_path,P/'data/MIX.json',P/'data/ORDER.json'] + parent,phases,canonical,owners,mix,order=map(read,refs) + assert [[s,r]for pid,s,r in mix]==order + assert len({(s,r)for pid,s,r in mix})==333 + counts=Counter(pid for pid,s,r in mix);assert counts=={'demote3':125,'demote4':208} + assert set(providers)==set(counts) + widths={};paid={};words={};receipts={};bits=[] + for pid,directory in sorted(providers.items()): + paths=[directory/'CANONICAL-WORD.json.gz',directory/'INDEPENDENT-LOCAL-REPLAY.json'];refs+=paths + word,receipt=map(read,paths);words[pid]=word;receipts[pid]=receipt + assert receipt['canonical_word_sha256']==sha(paths[0]) + assert receipt['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert word['ports']==canonical['ports'] + assert [ck.basis(word['frames'][f])for f in word['center_frames']]==[ck.basis(canonical['frames'][f])for f in canonical['center_frames']] + widths[pid],paid[pid]=ck.local_inventory(word,receipt) + assert Counter(widths[pid])==INVENTORIES[pid] + bits.extend(v['prefix_bits_upper']for v in receipt['local'].values()) + context=ck.make_context(parent,phases,words['demote3']['ports'],words['demote3'],receipts['demote3'],owners) + assert [list(k)for k in context['order']]==order + total=Counter() + for pid,s,r in mix:total.update(paid[pid]) + context.update(widths_by_call={(s,r):widths[pid]for pid,s,r in mix},paid_total=total,localbits=max(bits), + local_profiles={pid:dict(v)for pid,v in paid.items()},inventories=INVENTORIES,call_counts=dict(counts)) + result=ck.check_roles(context,owners);result['controls_rejected']=ck.controls(context,owners) + # Substituting the other admitted word changes four specific whole-helper + # widths. Keep the geometry fixed and require rejection at that predicate. + for pid in sorted(providers): + call=next((s,r)for p,s,r in mix if p==pid);bad=copy.copy(context) + bad['widths_by_call']=dict(context['widths_by_call']) + bad['widths_by_call'][call]=widths['demote4'if pid=='demote3'else'demote3'] + try:ck.check_roles(bad,owners) + except ValueError as e: + assert str(e)=='whole-helper residual width' + result['controls_rejected'].append(dict(name='wrong_provider_'+pid,reason=str(e))) + else:raise AssertionError('wrong provider accepted') + result.update(edits=edits,source_sha256=sha(source),adapter_sha256=sha(adapter),inputs={str(p):sha(p)for p in refs}) + claim=read(P/'CLAIM.json') + for field in ('roles','calls','live','physical','rank_mass','deficit','prefix_bits','physical_row_coefficient'): + assert result[field]==claim[field],field + assert {str(r):n for r,n in result['profile'].items()}==claim['complex_profile'] + dump(out,result);return result + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + for k in ('base','local3','local4','owners','out'):ap.add_argument('--'+k,type=Path,required=True) + a=ap.parse_args();out=a.out.resolve();assert not out.exists() and not out.is_relative_to(ROOT) + out.parent.mkdir(parents=True,exist_ok=True) + r=check(a.base,{'demote3':a.local3,'demote4':a.local4},a.owners,out);print(r['status'],r['roles'],flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py new file mode 100644 index 0000000000..b98987baf9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py @@ -0,0 +1,27 @@ +"""Apply a frozen four-helper entrance/frame recipe, without optimization.""" +import argparse +from pathlib import Path +from common import P,read,dump,identity,sha + +def build(out): + assert not out.exists() + word=read(P/'vendor/pr1148/JOINT-WORD.json.gz') + recipe=read(P/'data/FOUR-RECIPE.json') + assert set(recipe)=={'B','report','start_extra'} + for helper,old,new in recipe['start_extra']: + assert word['start_extra'][helper]==old + word['start_extra'][helper]=new + for index,old,new in recipe['B']: + assert word['B'][index]==old + # Scalar operation, registers and coefficient are unchanged. + assert old[:-1]==new[:-1] + word['B'][index]=new + word['report']=recipe['report'] + assert word==read(P/'data/FOUR-WORD.json.gz') + dump(out,word) + return dict(status='PASS_FROZEN_FOUR_ENTRANCE_RECIPE',content_sha256=identity(word), + source_sha256=sha(P/'vendor/pr1148/JOINT-WORD.json.gz'),recipe_sha256=sha(P/'data/FOUR-RECIPE.json')) + +if __name__=='__main__': + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() + print(build(a.out)['status']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py new file mode 100644 index 0000000000..4af6dc3374 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py @@ -0,0 +1,26 @@ +"""Strict shared I/O; construction and independent audit remain separate.""" +import gzip, hashlib, importlib.util, json, sys +from pathlib import Path +P=Path(__file__).resolve().parent +ROOT=P.parents[1] +if not __debug__:raise RuntimeError('Assertions must remain enabled') +def read(path): + path=Path(path);raw=path.read_bytes() + return json.loads(gzip.decompress(raw)if path.suffix=='.gz'else raw) +def canonical(value):return json.dumps(value,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +def identity(value):return hashlib.sha256(canonical(value)).hexdigest() +def dump(path,value): + raw=canonical(value) + if path.suffix=='.gz': + raw=bytearray(gzip.compress(raw,mtime=0));raw[9]=255 + path.write_bytes(raw) +def load(path,name): + previous=sys.modules.pop('common',None);sys.path.insert(0,str(path.parent)) + try: + spec=importlib.util.spec_from_file_location(name,path) + module=importlib.util.module_from_spec(spec);sys.modules[name]=module;spec.loader.exec_module(module) + return module + finally: + sys.path.pop(0);sys.modules.pop('common',None) + if previous is not None:sys.modules['common']=previous diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py new file mode 100644 index 0000000000..00429f1e62 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py @@ -0,0 +1,116 @@ +"""Expand the frozen integer pattern flows without a solver or third-party library. + +Credit: PR858 physical windows; local promo4 pattern-flow formulation; standard +regular bipartite multigraph decomposition by successive perfect matchings. +Every matching and every integer conservation equation is checked explicitly. +""" +import argparse +from collections import Counter,defaultdict,deque +from common import P,ROOT,read,dump,load,identity,sha + +def matching(A): + n=len(A);left=[-1]*n;right=[-1]*n + while True: + distance=[-1]*n;q=deque() + for u in range(n): + if left[u]<0:distance[u]=0;q.append(u) + while q: + u=q.popleft() + for v in sorted(A[u]): + z=right[v] + if z>=0 and distance[z]<0:distance[z]=distance[u]+1;q.append(z) + def augment(u): + for v in sorted(A[u]): + z=right[v] + if z<0 or(distance[z]==distance[u]+1 and augment(z)): + left[u]=v;right[v]=u;return True + distance[u]=-1;return False + count=sum(augment(u) for u in range(n)if left[u]<0) + if all(v>=0 for v in left):break + assert count,'Regular bipartite graph has no perfect matching' + assert sorted(left)==list(range(n)) and all(A[u][v]>0 for u,v in enumerate(left)) + return left + +def construct(parent,words,flow,order,mix): + expected_order=sorted([[s,r]for s in range(9)for r in range(37)],key=lambda k:(37*k[0]+8*k[1],k[0],k[1])) + assert order==expected_order,'Frozen wave order' + mod=load(ROOT/'research/complex-t21-owners/vendor/pr870/t16/build_parent.py','original_actual_windows') + windows,schedule=mod.actual_windows(parent,order) + original=read(P/'vendor/pr1148/PLAN.json.gz') + assert [[s,r] for pid,s,r in mix]==order + assert Counter(pid for pid,s,r in mix)=={'demote3':125,'demote4':208} + inventories={'demote3':{4:44,5:44,7:38,8:114,9:240},'demote4':{4:40,5:48,7:38,8:114,9:240}} + widths={} + for pid,word in words.items(): + widths[pid]=[len(word['frames'][word['final'][h]])-len(word['frames'][word['start'][h]])for h in range(224,224+word['R'])] + assert Counter(widths[pid])==inventories[pid] + pools=defaultdict(list) + for t,(pid,s,r) in enumerate(mix): + for h,w in enumerate(widths[pid]):pools[t,w].append(h) + roles=[];seen=set();flow_edges=0;bin_count=0 + for group in flow: + keys=group['physical_windows'];assert keys and len(keys)==len(set(keys)) + assert not seen.intersection(keys);seen.update(keys) + cap,times=windows[keys[0]] + assert all(windows[key]==[cap,times]for key in keys) + n=len(times);portbase=0 + for pattern in group['patterns']: + widths_p=pattern['widths'];N=pattern['count'];flows={} + assert type(N)is int and 0=0 + for row in range(K,n): + need=N + while need: + while deficit[ti]==0:ti+=1 + take=min(need,deficit[ti]);A[row][ti]+=take;deficit[ti]-=take;need-=take + assert not any(deficit) and all(sum(row.values())==N for row in A) + actual=Counter() + for color in range(N): + match=matching(A);slots=sorted((times[match[i]],row_widths[i])for i in range(K)) + for i,t in enumerate(match): + A[i][t]-=1 + if not A[i][t]:del A[i][t] + index,port=divmod(portbase+color,112);owner,child=map(int,keys[index].split(','));offset=0 + for t,w in slots: + actual[t,w]+=1;assert pools[t,w];helper=pools[t,w].pop();stage,replica=order[t] + roles.append(dict(stage=stage,replica=replica,time=t,helper=helper,width=w,owner_replica=owner,child=child,port=port,offset=offset,copy=112*owner+port,family=896*owner+112*(2*original['pairs'][str(child)]+original['sides'][str(child)])+port)) + offset+=w + assert offset==sum(widths_p) + assert not any(A) and actual==flows + portbase+=N;bin_count+=N + assert portbase==112*len(keys) + assert seen==set(windows) and not any(pools.values()) and len(roles)==159840 + roles.sort(key=lambda z:(z['time'],z['helper'])) + return roles,dict(status='PASS_FROZEN_INTEGER_FLOW_AND_REGULAR_MATCHING',roles=len(roles),bins=bin_count,windows=len(windows),flow_edges=flow_edges,owner_content_sha256=identity(roles),schedule_content_sha256=identity(schedule)) + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + for k in ('parent','word3','word4','out'):ap.add_argument('--'+k,type=__import__('pathlib').Path,required=True) + a=ap.parse_args();out=a.out.resolve();assert not out.exists() and not out.is_relative_to(ROOT);out.mkdir(parents=True) + roles,receipt=construct(read(a.parent),{'demote3':read(a.word3),'demote4':read(a.word4)},read(P/'data/FLOW.json.gz'),read(P/'data/ORDER.json'),read(P/'data/MIX.json')) + dump(out/'OWNERS.json.gz',roles) + receipt['inputs']={str(p):sha(p)for p in (a.parent,a.word3,a.word4,P/'data/FLOW.json.gz',P/'data/ORDER.json',P/'data/MIX.json')} + dump(out/'CONSTRUCTION.json',receipt);print(receipt['status'],len(roles),flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py new file mode 100644 index 0000000000..50387d2973 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py @@ -0,0 +1,55 @@ +"""Run the retained emitted-controller checks and bind their final receipts.""" +from fractions import Fraction +import os,subprocess,sys,time +from common import P,ROOT,read,dump,sha + +def replay(work,providers,discovery=False): + source=ROOT/'research/complex-k492-owner-repair/vendor/multicold' + code=work/'runtime/code';spec=work/'runtime/data/SPEC.json' + mode='discovery'if discovery else'strict';out=work/mode;out.mkdir();g=out/'global' + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(source),GAIN_PR564_SOURCE=str(source),WITNESS_SPEC=str(spec)) + for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(k,None) + if discovery:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(out/'WITNESS-RECORD.jsonl')) + stages=[] + def run(name,script,*args): + start=time.monotonic();log=out/(name+'.log') + with log.open('w')as f:r=subprocess.run([sys.executable,'-B',str(source/'code/run_portable.py'),str(code/script),*map(str,args)],env=env,cwd=ROOT,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,seconds=round(time.monotonic()-start,3),log_sha256=sha(log))) + dump(out/'STAGES.json',stages) + if r.returncode:raise RuntimeError(name+'\n'+log.read_text()[-6000:]) + print('PASS',mode,name,flush=True) + provider_args=[arg for pid,local in sorted(providers.items()) for arg in ('--provider',pid+'='+str(local))] + run('bind','bind_providers_portable.py','--baseline',work/'parent',*provider_args,'--plan',work/'lift/PLAN.json','--out',g) + run('emit','emit_allcold.py','--base',g/'base','--owners',P/'data/OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') + run('audit','audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') + run('invoice','invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',source/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') + run('assembly','assemble.py',source,g,out/'ASSEMBLY.json') + if discovery: + run('freeze','freeze_spec.py','--spec',spec,'--discovery',out) + return read(out/'ASSEMBLY.json') + for name,script,target in [('admission-controls','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit-controls','bit_supplier_controls.py','BIT-CONTROLS.json')]: + run(name,script,'--source-package',source,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',out/target) + asm=read(out/'ASSEMBLY.json');owner=read(g/'audit/OWNERS-AND-PROFILE.json') + invoice=read(g/'audit/PREFIX-AND-INVOICE.json');audit=read(g/'audit/ASYNC-AUDIT.json') + ac=read(out/'ADMISSION-CONTROLS.json');bc=read(out/'BIT-CONTROLS.json');claim=read(P/'CLAIM.json') + for k in ('kappa','kappa_decimal','complex_lower','bit_lower','complex_profile'):assert asm[k]==claim[k],k + for k in ('live','physical','rank_mass','deficit'):assert owner[k]==claim[k],k + assert owner['hosted_residuals']==audit['complex_hosted_residuals']==claim['roles']==159840 + assert audit['complete_invocations']==invoice['complete_invocation_sweeps']==333 + assert invoice['global_prefix_bits']==775 and invoice['charged_prefix_bits']==1024 + assert invoice['finite']['physical_row_coefficient']==174950 for v in asm['outer'].values()) + assert not ac['discovery_accepted_controls'] and len(ac['rejected_controls'])==114 + assert len(bc['rejected_controls'])==12 and bc['derived_deficit']==10272 + assert audit['mutation_controls_run'] and len(audit['mutations_rejected'])==23 + assert asm['template_sha256']==owner['template_sha256']==invoice['template_sha256'] + assert invoice['owner_audit_sha256']==sha(g/'audit/OWNERS-AND-PROFILE.json') + assert invoice['controller_audit_sha256']==sha(g/'audit/ASYNC-AUDIT.json') + for pid,local in providers.items(): + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json'): + assert read(g/'base/providers'/pid/name)==read(local/name),'Fresh provider binding: '+pid+'/'+name + return dict(status='PASS_MIXED_DEMOTIONS_T37_STRICT_CONTROLLER',kappa=asm['kappa'],kappa_decimal=asm['kappa_decimal'], + complex_profile=asm['complex_profile'],roles=159840,calls=333,prefix_bits=775,row_coefficient=17495, + controls=dict(admission=114,bit_supplier=12,controller=23),scope=claim['scope'],stages=stages) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py new file mode 100644 index 0000000000..a5cbce2d30 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py @@ -0,0 +1,25 @@ +"""Reject malformed frozen flow inputs before accepting any reconstructed map.""" +import copy +from construct import construct +from common import P,read,dump + +def check(parent,words,out): + flow=read(P/'data/FLOW.json.gz');order=read(P/'data/ORDER.json');mix=read(P/'data/MIX.json') + result=[] + for name in ('boolean_bin_count','negative_bin_count','duplicate_window','duplicate_flow', + 'out_of_window_time','invalid_width','overfull_call','reordered_wave'): + bad=copy.deepcopy(flow);badorder=copy.deepcopy(order) + group=bad[0];pattern=next(p for p in group['patterns']if p['flow']) + if name=='boolean_bin_count':group['patterns'][0]['count']=True + elif name=='negative_bin_count':group['patterns'][0]['count']=-1 + elif name=='duplicate_window':group['physical_windows'].append(group['physical_windows'][0]) + elif name=='duplicate_flow':pattern['flow'].append(pattern['flow'][0].copy()) + elif name=='out_of_window_time':pattern['flow'][0][0]=333 + elif name=='invalid_width':pattern['flow'][0][1]=6 + elif name=='overfull_call':pattern['flow'][0][2]=pattern['count']+1 + else:badorder[0],badorder[1]=badorder[1],badorder[0] + try:construct(parent,words,bad,badorder,mix) + except AssertionError:result.append(name) + else:raise AssertionError('Accepted malformed flow: '+name) + receipt=dict(status='PASS_FROZEN_FLOW_NEGATIVE_CONTROLS',rejected=result) + dump(out,receipt);return receipt diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz new file mode 100644 index 0000000000..71246bb8e4 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json new file mode 100644 index 0000000000..1fdb9bb71c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json @@ -0,0 +1,479 @@ +{ + "B": [ + [ + 384, + [ + "add", + 624, + 627, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 627, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 385, + [ + "add", + 625, + 627, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 627, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 386, + [ + "add", + 626, + 627, + 1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 627, + 1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 387, + [ + "add", + 624, + 629, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 629, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 388, + [ + "add", + 625, + 629, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 629, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 389, + [ + "add", + 628, + 629, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 629, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 390, + [ + "add", + 624, + 630, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 630, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 391, + [ + "add", + 626, + 630, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 630, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 392, + [ + "add", + 628, + 630, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 630, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 393, + [ + "add", + 625, + 631, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 631, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 394, + [ + "add", + 626, + 631, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 631, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 395, + [ + "add", + 628, + 631, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 631, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ] + ], + "report": { + "R": 480, + "borrowed_output_pairs": 56, + "centre_ranks": [ + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8 + ], + "cst": 64, + "first_load_join_counts": { + "4": 64 + }, + "h": 9, + "local_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "local_rank_mass": 5594, + "m": 73, + "scope": "Clean scalar identity and all literal monotone local frames only; arbitrary-dirt compensation, entrance kernels, exact phase recipes, and global hosting/pricing are not yet certified.", + "selected_load_join_counts": { + "6": 64 + }, + "selected_partitions": [ + 0, + 0 + ], + "source_and_helper_cleanup_exact_on_clean_columns": true, + "source_columns_exact": 112, + "status": "EXACT_CLEAN_OWN_Y_EARLY_CENTER_WORD_NOT_ADMITTED", + "tri_join_counts": {}, + "v": 112, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + } + }, + "start_extra": [ + [ + "627", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "629", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "630", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "631", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ] + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz new file mode 100644 index 0000000000..46f164ba39 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json new file mode 100644 index 0000000000..52e8bdd775 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json @@ -0,0 +1,1667 @@ +[ + [ + "demote4", + 0, + 0 + ], + [ + "demote4", + 0, + 1 + ], + [ + "demote4", + 0, + 2 + ], + [ + "demote4", + 0, + 3 + ], + [ + "demote4", + 0, + 4 + ], + [ + "demote4", + 1, + 0 + ], + [ + "demote4", + 0, + 5 + ], + [ + "demote4", + 1, + 1 + ], + [ + "demote4", + 0, + 6 + ], + [ + "demote4", + 1, + 2 + ], + [ + "demote4", + 0, + 7 + ], + [ + "demote4", + 1, + 3 + ], + [ + "demote4", + 0, + 8 + ], + [ + "demote4", + 1, + 4 + ], + [ + "demote4", + 0, + 9 + ], + [ + "demote4", + 2, + 0 + ], + [ + "demote4", + 1, + 5 + ], + [ + "demote4", + 0, + 10 + ], + [ + "demote4", + 2, + 1 + ], + [ + "demote4", + 1, + 6 + ], + [ + "demote4", + 0, + 11 + ], + [ + "demote4", + 2, + 2 + ], + [ + "demote4", + 1, + 7 + ], + [ + "demote4", + 0, + 12 + ], + [ + "demote4", + 2, + 3 + ], + [ + "demote4", + 1, + 8 + ], + [ + "demote4", + 0, + 13 + ], + [ + "demote4", + 2, + 4 + ], + [ + "demote4", + 1, + 9 + ], + [ + "demote4", + 3, + 0 + ], + [ + "demote4", + 0, + 14 + ], + [ + "demote4", + 2, + 5 + ], + [ + "demote4", + 1, + 10 + ], + [ + "demote4", + 3, + 1 + ], + [ + "demote4", + 0, + 15 + ], + [ + "demote4", + 2, + 6 + ], + [ + "demote4", + 1, + 11 + ], + [ + "demote4", + 3, + 2 + ], + [ + "demote4", + 0, + 16 + ], + [ + "demote4", + 2, + 7 + ], + [ + "demote4", + 1, + 12 + ], + [ + "demote4", + 3, + 3 + ], + [ + "demote4", + 0, + 17 + ], + [ + "demote4", + 2, + 8 + ], + [ + "demote4", + 1, + 13 + ], + [ + "demote4", + 3, + 4 + ], + [ + "demote4", + 0, + 18 + ], + [ + "demote4", + 2, + 9 + ], + [ + "demote4", + 4, + 0 + ], + [ + "demote4", + 1, + 14 + ], + [ + "demote4", + 3, + 5 + ], + [ + "demote4", + 0, + 19 + ], + [ + "demote4", + 2, + 10 + ], + [ + "demote4", + 4, + 1 + ], + [ + "demote4", + 1, + 15 + ], + [ + "demote4", + 3, + 6 + ], + [ + "demote4", + 0, + 20 + ], + [ + "demote4", + 2, + 11 + ], + [ + "demote4", + 4, + 2 + ], + [ + "demote4", + 1, + 16 + ], + [ + "demote4", + 3, + 7 + ], + [ + "demote4", + 0, + 21 + ], + [ + "demote4", + 2, + 12 + ], + [ + "demote4", + 4, + 3 + ], + [ + "demote4", + 1, + 17 + ], + [ + "demote4", + 3, + 8 + ], + [ + "demote4", + 0, + 22 + ], + [ + "demote4", + 2, + 13 + ], + [ + "demote4", + 4, + 4 + ], + [ + "demote4", + 1, + 18 + ], + [ + "demote4", + 3, + 9 + ], + [ + "demote4", + 0, + 23 + ], + [ + "demote4", + 5, + 0 + ], + [ + "demote4", + 2, + 14 + ], + [ + "demote4", + 4, + 5 + ], + [ + "demote4", + 1, + 19 + ], + [ + "demote4", + 3, + 10 + ], + [ + "demote4", + 0, + 24 + ], + [ + "demote4", + 5, + 1 + ], + [ + "demote4", + 2, + 15 + ], + [ + "demote4", + 4, + 6 + ], + [ + "demote4", + 1, + 20 + ], + [ + "demote4", + 3, + 11 + ], + [ + "demote4", + 0, + 25 + ], + [ + "demote4", + 5, + 2 + ], + [ + "demote4", + 2, + 16 + ], + [ + "demote4", + 4, + 7 + ], + [ + "demote4", + 1, + 21 + ], + [ + "demote4", + 3, + 12 + ], + [ + "demote4", + 0, + 26 + ], + [ + "demote4", + 5, + 3 + ], + [ + "demote4", + 2, + 17 + ], + [ + "demote4", + 4, + 8 + ], + [ + "demote4", + 1, + 22 + ], + [ + "demote4", + 3, + 13 + ], + [ + "demote4", + 0, + 27 + ], + [ + "demote4", + 5, + 4 + ], + [ + "demote4", + 2, + 18 + ], + [ + "demote4", + 4, + 9 + ], + [ + "demote4", + 1, + 23 + ], + [ + "demote4", + 6, + 0 + ], + [ + "demote4", + 3, + 14 + ], + [ + "demote4", + 0, + 28 + ], + [ + "demote4", + 5, + 5 + ], + [ + "demote4", + 2, + 19 + ], + [ + "demote4", + 4, + 10 + ], + [ + "demote4", + 1, + 24 + ], + [ + "demote4", + 6, + 1 + ], + [ + "demote4", + 3, + 15 + ], + [ + "demote4", + 0, + 29 + ], + [ + "demote4", + 5, + 6 + ], + [ + "demote4", + 2, + 20 + ], + [ + "demote4", + 4, + 11 + ], + [ + "demote4", + 1, + 25 + ], + [ + "demote4", + 6, + 2 + ], + [ + "demote4", + 3, + 16 + ], + [ + "demote4", + 0, + 30 + ], + [ + "demote4", + 5, + 7 + ], + [ + "demote4", + 2, + 21 + ], + [ + "demote4", + 4, + 12 + ], + [ + "demote4", + 1, + 26 + ], + [ + "demote4", + 6, + 3 + ], + [ + "demote4", + 3, + 17 + ], + [ + "demote4", + 0, + 31 + ], + [ + "demote4", + 5, + 8 + ], + [ + "demote4", + 2, + 22 + ], + [ + "demote4", + 4, + 13 + ], + [ + "demote4", + 1, + 27 + ], + [ + "demote4", + 6, + 4 + ], + [ + "demote4", + 3, + 18 + ], + [ + "demote4", + 0, + 32 + ], + [ + "demote4", + 5, + 9 + ], + [ + "demote4", + 2, + 23 + ], + [ + "demote4", + 7, + 0 + ], + [ + "demote4", + 4, + 14 + ], + [ + "demote4", + 1, + 28 + ], + [ + "demote4", + 6, + 5 + ], + [ + "demote4", + 3, + 19 + ], + [ + "demote4", + 0, + 33 + ], + [ + "demote4", + 5, + 10 + ], + [ + "demote4", + 2, + 24 + ], + [ + "demote4", + 7, + 1 + ], + [ + "demote4", + 4, + 15 + ], + [ + "demote4", + 1, + 29 + ], + [ + "demote4", + 6, + 6 + ], + [ + "demote4", + 3, + 20 + ], + [ + "demote4", + 0, + 34 + ], + [ + "demote4", + 5, + 11 + ], + [ + "demote4", + 2, + 25 + ], + [ + "demote4", + 7, + 2 + ], + [ + "demote4", + 4, + 16 + ], + [ + "demote4", + 1, + 30 + ], + [ + "demote4", + 6, + 7 + ], + [ + "demote4", + 3, + 21 + ], + [ + "demote4", + 0, + 35 + ], + [ + "demote4", + 5, + 12 + ], + [ + "demote4", + 2, + 26 + ], + [ + "demote4", + 7, + 3 + ], + [ + "demote4", + 4, + 17 + ], + [ + "demote4", + 1, + 31 + ], + [ + "demote4", + 6, + 8 + ], + [ + "demote4", + 3, + 22 + ], + [ + "demote4", + 0, + 36 + ], + [ + "demote4", + 5, + 13 + ], + [ + "demote4", + 2, + 27 + ], + [ + "demote4", + 7, + 4 + ], + [ + "demote4", + 4, + 18 + ], + [ + "demote4", + 1, + 32 + ], + [ + "demote4", + 6, + 9 + ], + [ + "demote4", + 3, + 23 + ], + [ + "demote4", + 8, + 0 + ], + [ + "demote4", + 5, + 14 + ], + [ + "demote4", + 2, + 28 + ], + [ + "demote4", + 7, + 5 + ], + [ + "demote4", + 4, + 19 + ], + [ + "demote4", + 1, + 33 + ], + [ + "demote4", + 6, + 10 + ], + [ + "demote4", + 3, + 24 + ], + [ + "demote4", + 8, + 1 + ], + [ + "demote4", + 5, + 15 + ], + [ + "demote4", + 2, + 29 + ], + [ + "demote4", + 7, + 6 + ], + [ + "demote4", + 4, + 20 + ], + [ + "demote4", + 1, + 34 + ], + [ + "demote4", + 6, + 11 + ], + [ + "demote4", + 3, + 25 + ], + [ + "demote4", + 8, + 2 + ], + [ + "demote4", + 5, + 16 + ], + [ + "demote4", + 2, + 30 + ], + [ + "demote4", + 7, + 7 + ], + [ + "demote4", + 4, + 21 + ], + [ + "demote4", + 1, + 35 + ], + [ + "demote4", + 6, + 12 + ], + [ + "demote4", + 3, + 26 + ], + [ + "demote4", + 8, + 3 + ], + [ + "demote4", + 5, + 17 + ], + [ + "demote4", + 2, + 31 + ], + [ + "demote4", + 7, + 8 + ], + [ + "demote4", + 4, + 22 + ], + [ + "demote4", + 1, + 36 + ], + [ + "demote4", + 6, + 13 + ], + [ + "demote4", + 3, + 27 + ], + [ + "demote4", + 8, + 4 + ], + [ + "demote4", + 5, + 18 + ], + [ + "demote4", + 2, + 32 + ], + [ + "demote4", + 7, + 9 + ], + [ + "demote4", + 4, + 23 + ], + [ + "demote4", + 6, + 14 + ], + [ + "demote3", + 3, + 28 + ], + [ + "demote3", + 8, + 5 + ], + [ + "demote3", + 5, + 19 + ], + [ + "demote3", + 2, + 33 + ], + [ + "demote3", + 7, + 10 + ], + [ + "demote3", + 4, + 24 + ], + [ + "demote3", + 6, + 15 + ], + [ + "demote3", + 3, + 29 + ], + [ + "demote3", + 8, + 6 + ], + [ + "demote3", + 5, + 20 + ], + [ + "demote3", + 2, + 34 + ], + [ + "demote3", + 7, + 11 + ], + [ + "demote3", + 4, + 25 + ], + [ + "demote3", + 6, + 16 + ], + [ + "demote3", + 3, + 30 + ], + [ + "demote3", + 8, + 7 + ], + [ + "demote3", + 5, + 21 + ], + [ + "demote3", + 2, + 35 + ], + [ + "demote3", + 7, + 12 + ], + [ + "demote3", + 4, + 26 + ], + [ + "demote3", + 6, + 17 + ], + [ + "demote3", + 3, + 31 + ], + [ + "demote3", + 8, + 8 + ], + [ + "demote3", + 5, + 22 + ], + [ + "demote3", + 2, + 36 + ], + [ + "demote3", + 7, + 13 + ], + [ + "demote3", + 4, + 27 + ], + [ + "demote3", + 6, + 18 + ], + [ + "demote3", + 3, + 32 + ], + [ + "demote3", + 8, + 9 + ], + [ + "demote3", + 5, + 23 + ], + [ + "demote3", + 7, + 14 + ], + [ + "demote3", + 4, + 28 + ], + [ + "demote3", + 6, + 19 + ], + [ + "demote3", + 3, + 33 + ], + [ + "demote3", + 8, + 10 + ], + [ + "demote3", + 5, + 24 + ], + [ + "demote3", + 7, + 15 + ], + [ + "demote3", + 4, + 29 + ], + [ + "demote3", + 6, + 20 + ], + [ + "demote3", + 3, + 34 + ], + [ + "demote3", + 8, + 11 + ], + [ + "demote3", + 5, + 25 + ], + [ + "demote3", + 7, + 16 + ], + [ + "demote3", + 4, + 30 + ], + [ + "demote3", + 6, + 21 + ], + [ + "demote3", + 3, + 35 + ], + [ + "demote3", + 8, + 12 + ], + [ + "demote3", + 5, + 26 + ], + [ + "demote3", + 7, + 17 + ], + [ + "demote3", + 4, + 31 + ], + [ + "demote3", + 6, + 22 + ], + [ + "demote3", + 3, + 36 + ], + [ + "demote3", + 8, + 13 + ], + [ + "demote3", + 5, + 27 + ], + [ + "demote3", + 7, + 18 + ], + [ + "demote3", + 4, + 32 + ], + [ + "demote3", + 6, + 23 + ], + [ + "demote3", + 8, + 14 + ], + [ + "demote3", + 5, + 28 + ], + [ + "demote3", + 7, + 19 + ], + [ + "demote3", + 4, + 33 + ], + [ + "demote3", + 6, + 24 + ], + [ + "demote3", + 8, + 15 + ], + [ + "demote3", + 5, + 29 + ], + [ + "demote3", + 7, + 20 + ], + [ + "demote3", + 4, + 34 + ], + [ + "demote3", + 6, + 25 + ], + [ + "demote3", + 8, + 16 + ], + [ + "demote3", + 5, + 30 + ], + [ + "demote3", + 7, + 21 + ], + [ + "demote3", + 4, + 35 + ], + [ + "demote3", + 6, + 26 + ], + [ + "demote3", + 8, + 17 + ], + [ + "demote3", + 5, + 31 + ], + [ + "demote3", + 7, + 22 + ], + [ + "demote3", + 4, + 36 + ], + [ + "demote3", + 6, + 27 + ], + [ + "demote3", + 8, + 18 + ], + [ + "demote3", + 5, + 32 + ], + [ + "demote3", + 7, + 23 + ], + [ + "demote3", + 6, + 28 + ], + [ + "demote3", + 8, + 19 + ], + [ + "demote3", + 5, + 33 + ], + [ + "demote3", + 7, + 24 + ], + [ + "demote3", + 6, + 29 + ], + [ + "demote3", + 8, + 20 + ], + [ + "demote3", + 5, + 34 + ], + [ + "demote3", + 7, + 25 + ], + [ + "demote3", + 6, + 30 + ], + [ + "demote3", + 8, + 21 + ], + [ + "demote3", + 5, + 35 + ], + [ + "demote3", + 7, + 26 + ], + [ + "demote3", + 6, + 31 + ], + [ + "demote3", + 8, + 22 + ], + [ + "demote3", + 5, + 36 + ], + [ + "demote3", + 7, + 27 + ], + [ + "demote3", + 6, + 32 + ], + [ + "demote3", + 8, + 23 + ], + [ + "demote3", + 7, + 28 + ], + [ + "demote3", + 6, + 33 + ], + [ + "demote3", + 8, + 24 + ], + [ + "demote3", + 7, + 29 + ], + [ + "demote3", + 6, + 34 + ], + [ + "demote3", + 8, + 25 + ], + [ + "demote3", + 7, + 30 + ], + [ + "demote3", + 6, + 35 + ], + [ + "demote3", + 8, + 26 + ], + [ + "demote3", + 7, + 31 + ], + [ + "demote3", + 6, + 36 + ], + [ + "demote3", + 8, + 27 + ], + [ + "demote3", + 7, + 32 + ], + [ + "demote3", + 8, + 28 + ], + [ + "demote3", + 7, + 33 + ], + [ + "demote3", + 8, + 29 + ], + [ + "demote3", + 7, + 34 + ], + [ + "demote3", + 8, + 30 + ], + [ + "demote3", + 7, + 35 + ], + [ + "demote3", + 8, + 31 + ], + [ + "demote3", + 7, + 36 + ], + [ + "demote3", + 8, + 32 + ], + [ + "demote3", + 8, + 33 + ], + [ + "demote3", + 8, + 34 + ], + [ + "demote3", + 8, + 35 + ], + [ + "demote3", + 8, + 36 + ] +] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json new file mode 100644 index 0000000000..b32f07b09b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[0,9],[2,0],[1,5],[0,10],[2,1],[1,6],[0,11],[2,2],[1,7],[0,12],[2,3],[1,8],[0,13],[2,4],[1,9],[3,0],[0,14],[2,5],[1,10],[3,1],[0,15],[2,6],[1,11],[3,2],[0,16],[2,7],[1,12],[3,3],[0,17],[2,8],[1,13],[3,4],[0,18],[2,9],[4,0],[1,14],[3,5],[0,19],[2,10],[4,1],[1,15],[3,6],[0,20],[2,11],[4,2],[1,16],[3,7],[0,21],[2,12],[4,3],[1,17],[3,8],[0,22],[2,13],[4,4],[1,18],[3,9],[0,23],[5,0],[2,14],[4,5],[1,19],[3,10],[0,24],[5,1],[2,15],[4,6],[1,20],[3,11],[0,25],[5,2],[2,16],[4,7],[1,21],[3,12],[0,26],[5,3],[2,17],[4,8],[1,22],[3,13],[0,27],[5,4],[2,18],[4,9],[1,23],[6,0],[3,14],[0,28],[5,5],[2,19],[4,10],[1,24],[6,1],[3,15],[0,29],[5,6],[2,20],[4,11],[1,25],[6,2],[3,16],[0,30],[5,7],[2,21],[4,12],[1,26],[6,3],[3,17],[0,31],[5,8],[2,22],[4,13],[1,27],[6,4],[3,18],[0,32],[5,9],[2,23],[7,0],[4,14],[1,28],[6,5],[3,19],[0,33],[5,10],[2,24],[7,1],[4,15],[1,29],[6,6],[3,20],[0,34],[5,11],[2,25],[7,2],[4,16],[1,30],[6,7],[3,21],[0,35],[5,12],[2,26],[7,3],[4,17],[1,31],[6,8],[3,22],[0,36],[5,13],[2,27],[7,4],[4,18],[1,32],[6,9],[3,23],[8,0],[5,14],[2,28],[7,5],[4,19],[1,33],[6,10],[3,24],[8,1],[5,15],[2,29],[7,6],[4,20],[1,34],[6,11],[3,25],[8,2],[5,16],[2,30],[7,7],[4,21],[1,35],[6,12],[3,26],[8,3],[5,17],[2,31],[7,8],[4,22],[1,36],[6,13],[3,27],[8,4],[5,18],[2,32],[7,9],[4,23],[6,14],[3,28],[8,5],[5,19],[2,33],[7,10],[4,24],[6,15],[3,29],[8,6],[5,20],[2,34],[7,11],[4,25],[6,16],[3,30],[8,7],[5,21],[2,35],[7,12],[4,26],[6,17],[3,31],[8,8],[5,22],[2,36],[7,13],[4,27],[6,18],[3,32],[8,9],[5,23],[7,14],[4,28],[6,19],[3,33],[8,10],[5,24],[7,15],[4,29],[6,20],[3,34],[8,11],[5,25],[7,16],[4,30],[6,21],[3,35],[8,12],[5,26],[7,17],[4,31],[6,22],[3,36],[8,13],[5,27],[7,18],[4,32],[6,23],[8,14],[5,28],[7,19],[4,33],[6,24],[8,15],[5,29],[7,20],[4,34],[6,25],[8,16],[5,30],[7,21],[4,35],[6,26],[8,17],[5,31],[7,22],[4,36],[6,27],[8,18],[5,32],[7,23],[6,28],[8,19],[5,33],[7,24],[6,29],[8,20],[5,34],[7,25],[6,30],[8,21],[5,35],[7,26],[6,31],[8,22],[5,36],[7,27],[6,32],[8,23],[7,28],[6,33],[8,24],[7,29],[6,34],[8,25],[7,30],[6,35],[8,26],[7,31],[6,36],[8,27],[7,32],[8,28],[7,33],[8,29],[7,34],[8,30],[7,35],[8,31],[7,36],[8,32],[8,33],[8,34],[8,35],[8,36]] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz new file mode 100644 index 0000000000..34fa5d69aa Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz new file mode 100644 index 0000000000..09adb56689 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json new file mode 100644 index 0000000000..3298bd4683 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json @@ -0,0 +1,4287 @@ +{ + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "data": { + "owners_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "plan_sha256": "8b9cfb7b9a4cad69ed02c7a39e12cad37d9abe2154a7b2e14570957c11180bd9" + }, + "dispatch": [ + [ + 0, + 0, + "demote4" + ], + [ + 0, + 1, + "demote4" + ], + [ + 0, + 2, + "demote4" + ], + [ + 0, + 3, + "demote4" + ], + [ + 0, + 4, + "demote4" + ], + [ + 1, + 0, + "demote4" + ], + [ + 0, + 5, + "demote4" + ], + [ + 1, + 1, + "demote4" + ], + [ + 0, + 6, + "demote4" + ], + [ + 1, + 2, + "demote4" + ], + [ + 0, + 7, + "demote4" + ], + [ + 1, + 3, + "demote4" + ], + [ + 0, + 8, + "demote4" + ], + [ + 1, + 4, + "demote4" + ], + [ + 0, + 9, + "demote4" + ], + [ + 2, + 0, + "demote4" + ], + [ + 1, + 5, + "demote4" + ], + [ + 0, + 10, + "demote4" + ], + [ + 2, + 1, + "demote4" + ], + [ + 1, + 6, + "demote4" + ], + [ + 0, + 11, + "demote4" + ], + [ + 2, + 2, + "demote4" + ], + [ + 1, + 7, + "demote4" + ], + [ + 0, + 12, + "demote4" + ], + [ + 2, + 3, + "demote4" + ], + [ + 1, + 8, + "demote4" + ], + [ + 0, + 13, + "demote4" + ], + [ + 2, + 4, + "demote4" + ], + [ + 1, + 9, + "demote4" + ], + [ + 3, + 0, + "demote4" + ], + [ + 0, + 14, + "demote4" + ], + [ + 2, + 5, + "demote4" + ], + [ + 1, + 10, + "demote4" + ], + [ + 3, + 1, + "demote4" + ], + [ + 0, + 15, + "demote4" + ], + [ + 2, + 6, + "demote4" + ], + [ + 1, + 11, + "demote4" + ], + [ + 3, + 2, + "demote4" + ], + [ + 0, + 16, + "demote4" + ], + [ + 2, + 7, + "demote4" + ], + [ + 1, + 12, + "demote4" + ], + [ + 3, + 3, + "demote4" + ], + [ + 0, + 17, + "demote4" + ], + [ + 2, + 8, + "demote4" + ], + [ + 1, + 13, + "demote4" + ], + [ + 3, + 4, + "demote4" + ], + [ + 0, + 18, + "demote4" + ], + [ + 2, + 9, + "demote4" + ], + [ + 4, + 0, + "demote4" + ], + [ + 1, + 14, + "demote4" + ], + [ + 3, + 5, + "demote4" + ], + [ + 0, + 19, + "demote4" + ], + [ + 2, + 10, + "demote4" + ], + [ + 4, + 1, + "demote4" + ], + [ + 1, + 15, + "demote4" + ], + [ + 3, + 6, + "demote4" + ], + [ + 0, + 20, + "demote4" + ], + [ + 2, + 11, + "demote4" + ], + [ + 4, + 2, + "demote4" + ], + [ + 1, + 16, + "demote4" + ], + [ + 3, + 7, + "demote4" + ], + [ + 0, + 21, + "demote4" + ], + [ + 2, + 12, + "demote4" + ], + [ + 4, + 3, + "demote4" + ], + [ + 1, + 17, + "demote4" + ], + [ + 3, + 8, + "demote4" + ], + [ + 0, + 22, + "demote4" + ], + [ + 2, + 13, + "demote4" + ], + [ + 4, + 4, + "demote4" + ], + [ + 1, + 18, + "demote4" + ], + [ + 3, + 9, + "demote4" + ], + [ + 0, + 23, + "demote4" + ], + [ + 5, + 0, + "demote4" + ], + [ + 2, + 14, + "demote4" + ], + [ + 4, + 5, + "demote4" + ], + [ + 1, + 19, + "demote4" + ], + [ + 3, + 10, + "demote4" + ], + [ + 0, + 24, + "demote4" + ], + [ + 5, + 1, + "demote4" + ], + [ + 2, + 15, + "demote4" + ], + [ + 4, + 6, + "demote4" + ], + [ + 1, + 20, + "demote4" + ], + [ + 3, + 11, + "demote4" + ], + [ + 0, + 25, + "demote4" + ], + [ + 5, + 2, + "demote4" + ], + [ + 2, + 16, + "demote4" + ], + [ + 4, + 7, + "demote4" + ], + [ + 1, + 21, + "demote4" + ], + [ + 3, + 12, + "demote4" + ], + [ + 0, + 26, + "demote4" + ], + [ + 5, + 3, + "demote4" + ], + [ + 2, + 17, + "demote4" + ], + [ + 4, + 8, + "demote4" + ], + [ + 1, + 22, + "demote4" + ], + [ + 3, + 13, + "demote4" + ], + [ + 0, + 27, + "demote4" + ], + [ + 5, + 4, + "demote4" + ], + [ + 2, + 18, + "demote4" + ], + [ + 4, + 9, + "demote4" + ], + [ + 1, + 23, + "demote4" + ], + [ + 6, + 0, + "demote4" + ], + [ + 3, + 14, + "demote4" + ], + [ + 0, + 28, + "demote4" + ], + [ + 5, + 5, + "demote4" + ], + [ + 2, + 19, + "demote4" + ], + [ + 4, + 10, + "demote4" + ], + [ + 1, + 24, + "demote4" + ], + [ + 6, + 1, + "demote4" + ], + [ + 3, + 15, + "demote4" + ], + [ + 0, + 29, + "demote4" + ], + [ + 5, + 6, + "demote4" + ], + [ + 2, + 20, + "demote4" + ], + [ + 4, + 11, + "demote4" + ], + [ + 1, + 25, + "demote4" + ], + [ + 6, + 2, + "demote4" + ], + [ + 3, + 16, + "demote4" + ], + [ + 0, + 30, + "demote4" + ], + [ + 5, + 7, + "demote4" + ], + [ + 2, + 21, + "demote4" + ], + [ + 4, + 12, + "demote4" + ], + [ + 1, + 26, + "demote4" + ], + [ + 6, + 3, + "demote4" + ], + [ + 3, + 17, + "demote4" + ], + [ + 0, + 31, + "demote4" + ], + [ + 5, + 8, + "demote4" + ], + [ + 2, + 22, + "demote4" + ], + [ + 4, + 13, + "demote4" + ], + [ + 1, + 27, + "demote4" + ], + [ + 6, + 4, + "demote4" + ], + [ + 3, + 18, + "demote4" + ], + [ + 0, + 32, + "demote4" + ], + [ + 5, + 9, + "demote4" + ], + [ + 2, + 23, + "demote4" + ], + [ + 7, + 0, + "demote4" + ], + [ + 4, + 14, + "demote4" + ], + [ + 1, + 28, + "demote4" + ], + [ + 6, + 5, + "demote4" + ], + [ + 3, + 19, + "demote4" + ], + [ + 0, + 33, + "demote4" + ], + [ + 5, + 10, + "demote4" + ], + [ + 2, + 24, + "demote4" + ], + [ + 7, + 1, + "demote4" + ], + [ + 4, + 15, + "demote4" + ], + [ + 1, + 29, + "demote4" + ], + [ + 6, + 6, + "demote4" + ], + [ + 3, + 20, + "demote4" + ], + [ + 0, + 34, + "demote4" + ], + [ + 5, + 11, + "demote4" + ], + [ + 2, + 25, + "demote4" + ], + [ + 7, + 2, + "demote4" + ], + [ + 4, + 16, + "demote4" + ], + [ + 1, + 30, + "demote4" + ], + [ + 6, + 7, + "demote4" + ], + [ + 3, + 21, + "demote4" + ], + [ + 0, + 35, + "demote4" + ], + [ + 5, + 12, + "demote4" + ], + [ + 2, + 26, + "demote4" + ], + [ + 7, + 3, + "demote4" + ], + [ + 4, + 17, + "demote4" + ], + [ + 1, + 31, + "demote4" + ], + [ + 6, + 8, + "demote4" + ], + [ + 3, + 22, + "demote4" + ], + [ + 0, + 36, + "demote4" + ], + [ + 5, + 13, + "demote4" + ], + [ + 2, + 27, + "demote4" + ], + [ + 7, + 4, + "demote4" + ], + [ + 4, + 18, + "demote4" + ], + [ + 1, + 32, + "demote4" + ], + [ + 6, + 9, + "demote4" + ], + [ + 3, + 23, + "demote4" + ], + [ + 8, + 0, + "demote4" + ], + [ + 5, + 14, + "demote4" + ], + [ + 2, + 28, + "demote4" + ], + [ + 7, + 5, + "demote4" + ], + [ + 4, + 19, + "demote4" + ], + [ + 1, + 33, + "demote4" + ], + [ + 6, + 10, + "demote4" + ], + [ + 3, + 24, + "demote4" + ], + [ + 8, + 1, + "demote4" + ], + [ + 5, + 15, + "demote4" + ], + [ + 2, + 29, + "demote4" + ], + [ + 7, + 6, + "demote4" + ], + [ + 4, + 20, + "demote4" + ], + [ + 1, + 34, + "demote4" + ], + [ + 6, + 11, + "demote4" + ], + [ + 3, + 25, + "demote4" + ], + [ + 8, + 2, + "demote4" + ], + [ + 5, + 16, + "demote4" + ], + [ + 2, + 30, + "demote4" + ], + [ + 7, + 7, + "demote4" + ], + [ + 4, + 21, + "demote4" + ], + [ + 1, + 35, + "demote4" + ], + [ + 6, + 12, + "demote4" + ], + [ + 3, + 26, + "demote4" + ], + [ + 8, + 3, + "demote4" + ], + [ + 5, + 17, + "demote4" + ], + [ + 2, + 31, + "demote4" + ], + [ + 7, + 8, + "demote4" + ], + [ + 4, + 22, + "demote4" + ], + [ + 1, + 36, + "demote4" + ], + [ + 6, + 13, + "demote4" + ], + [ + 3, + 27, + "demote4" + ], + [ + 8, + 4, + "demote4" + ], + [ + 5, + 18, + "demote4" + ], + [ + 2, + 32, + "demote4" + ], + [ + 7, + 9, + "demote4" + ], + [ + 4, + 23, + "demote4" + ], + [ + 6, + 14, + "demote4" + ], + [ + 3, + 28, + "demote3" + ], + [ + 8, + 5, + "demote3" + ], + [ + 5, + 19, + "demote3" + ], + [ + 2, + 33, + "demote3" + ], + [ + 7, + 10, + "demote3" + ], + [ + 4, + 24, + "demote3" + ], + [ + 6, + 15, + "demote3" + ], + [ + 3, + 29, + "demote3" + ], + [ + 8, + 6, + "demote3" + ], + [ + 5, + 20, + "demote3" + ], + [ + 2, + 34, + "demote3" + ], + [ + 7, + 11, + "demote3" + ], + [ + 4, + 25, + "demote3" + ], + [ + 6, + 16, + "demote3" + ], + [ + 3, + 30, + "demote3" + ], + [ + 8, + 7, + "demote3" + ], + [ + 5, + 21, + "demote3" + ], + [ + 2, + 35, + "demote3" + ], + [ + 7, + 12, + "demote3" + ], + [ + 4, + 26, + "demote3" + ], + [ + 6, + 17, + "demote3" + ], + [ + 3, + 31, + "demote3" + ], + [ + 8, + 8, + "demote3" + ], + [ + 5, + 22, + "demote3" + ], + [ + 2, + 36, + "demote3" + ], + [ + 7, + 13, + "demote3" + ], + [ + 4, + 27, + "demote3" + ], + [ + 6, + 18, + "demote3" + ], + [ + 3, + 32, + "demote3" + ], + [ + 8, + 9, + "demote3" + ], + [ + 5, + 23, + "demote3" + ], + [ + 7, + 14, + "demote3" + ], + [ + 4, + 28, + "demote3" + ], + [ + 6, + 19, + "demote3" + ], + [ + 3, + 33, + "demote3" + ], + [ + 8, + 10, + "demote3" + ], + [ + 5, + 24, + "demote3" + ], + [ + 7, + 15, + "demote3" + ], + [ + 4, + 29, + "demote3" + ], + [ + 6, + 20, + "demote3" + ], + [ + 3, + 34, + "demote3" + ], + [ + 8, + 11, + "demote3" + ], + [ + 5, + 25, + "demote3" + ], + [ + 7, + 16, + "demote3" + ], + [ + 4, + 30, + "demote3" + ], + [ + 6, + 21, + "demote3" + ], + [ + 3, + 35, + "demote3" + ], + [ + 8, + 12, + "demote3" + ], + [ + 5, + 26, + "demote3" + ], + [ + 7, + 17, + "demote3" + ], + [ + 4, + 31, + "demote3" + ], + [ + 6, + 22, + "demote3" + ], + [ + 3, + 36, + "demote3" + ], + [ + 8, + 13, + "demote3" + ], + [ + 5, + 27, + "demote3" + ], + [ + 7, + 18, + "demote3" + ], + [ + 4, + 32, + "demote3" + ], + [ + 6, + 23, + "demote3" + ], + [ + 8, + 14, + "demote3" + ], + [ + 5, + 28, + "demote3" + ], + [ + 7, + 19, + "demote3" + ], + [ + 4, + 33, + "demote3" + ], + [ + 6, + 24, + "demote3" + ], + [ + 8, + 15, + "demote3" + ], + [ + 5, + 29, + "demote3" + ], + [ + 7, + 20, + "demote3" + ], + [ + 4, + 34, + "demote3" + ], + [ + 6, + 25, + "demote3" + ], + [ + 8, + 16, + "demote3" + ], + [ + 5, + 30, + "demote3" + ], + [ + 7, + 21, + "demote3" + ], + [ + 4, + 35, + "demote3" + ], + [ + 6, + 26, + "demote3" + ], + [ + 8, + 17, + "demote3" + ], + [ + 5, + 31, + "demote3" + ], + [ + 7, + 22, + "demote3" + ], + [ + 4, + 36, + "demote3" + ], + [ + 6, + 27, + "demote3" + ], + [ + 8, + 18, + "demote3" + ], + [ + 5, + 32, + "demote3" + ], + [ + 7, + 23, + "demote3" + ], + [ + 6, + 28, + "demote3" + ], + [ + 8, + 19, + "demote3" + ], + [ + 5, + 33, + "demote3" + ], + [ + 7, + 24, + "demote3" + ], + [ + 6, + 29, + "demote3" + ], + [ + 8, + 20, + "demote3" + ], + [ + 5, + 34, + "demote3" + ], + [ + 7, + 25, + "demote3" + ], + [ + 6, + 30, + "demote3" + ], + [ + 8, + 21, + "demote3" + ], + [ + 5, + 35, + "demote3" + ], + [ + 7, + 26, + "demote3" + ], + [ + 6, + 31, + "demote3" + ], + [ + 8, + 22, + "demote3" + ], + [ + 5, + 36, + "demote3" + ], + [ + 7, + 27, + "demote3" + ], + [ + 6, + 32, + "demote3" + ], + [ + 8, + 23, + "demote3" + ], + [ + 7, + 28, + "demote3" + ], + [ + 6, + 33, + "demote3" + ], + [ + 8, + 24, + "demote3" + ], + [ + 7, + 29, + "demote3" + ], + [ + 6, + 34, + "demote3" + ], + [ + 8, + 25, + "demote3" + ], + [ + 7, + 30, + "demote3" + ], + [ + 6, + 35, + "demote3" + ], + [ + 8, + 26, + "demote3" + ], + [ + 7, + 31, + "demote3" + ], + [ + 6, + 36, + "demote3" + ], + [ + 8, + 27, + "demote3" + ], + [ + 7, + 32, + "demote3" + ], + [ + 8, + 28, + "demote3" + ], + [ + 7, + 33, + "demote3" + ], + [ + 8, + 29, + "demote3" + ], + [ + 7, + 34, + "demote3" + ], + [ + 8, + 30, + "demote3" + ], + [ + 7, + 35, + "demote3" + ], + [ + 8, + 31, + "demote3" + ], + [ + 7, + 36, + "demote3" + ], + [ + 8, + 32, + "demote3" + ], + [ + 8, + 33, + "demote3" + ], + [ + 8, + 34, + "demote3" + ], + [ + 8, + 35, + "demote3" + ], + [ + 8, + 36, + "demote3" + ] + ], + "expected": { + "gain_baseline_kappa": "0.001674622497877364", + "hosted_residuals": 159840, + "rank_mass": 2408256, + "actual_73column_sigmas": 11144, + "cross_replica_helper_roles": 148150, + "idle_remainders": 11376, + "idle_remainder_profile": { + "1": 2, + "48": 11374 + }, + "global_profile": { + "1": 785550, + "2": 167498, + "3": 138028, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "live": 33152, + "physical": 33642, + "conservative_kappa_decimal": "0.001675672692984588", + "kappa_decimal": "0.001675672695827067", + "complex_lower": "167848528779417184507/100000000000000000000000", + "conservative_complex_lower": "839242642471071183683/500000000000000000000000", + "kappa": "1675672695827067/1000000000000000000", + "assembly_controls_rejected": 114, + "provider_counts": { + "demote3": 125, + "demote4": 208 + }, + "mutations_rejected": 23 + }, + "name": "mixed-demotions-t37", + "pivot_swap": { + "recipe": "/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + }, + "providers": { + "demote3": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "artifacts": { + "LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "RESIDUAL-ADAPTERS.json": "c099207d60ab49392bcadcaf7e9cbcfe01178e732f14e2591a8c3463162460d7" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + } + }, + "semantic_phase_sha256": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + }, + "demote4": { + "inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "576ece8ed41adf7145607c12e07d6e461337b188340cda4272cbcf48472ef709", + "LOCAL-PROGRAMS.json.gz": "a7822ed2e402952991bce28b56b8183ff4f502f9599615b5806fc320f7e0c7a4", + "LOCAL-CHECKS.json": "32c93ab90b40b6add454199c48302c149cb35d21da7d27a801544cd45c853101", + "INDEPENDENT-LOCAL-REPLAY.json": "3a943a3c1756ff6643bdecd185cfaee43f040c882790f7392fc08cc9eab1f5e2", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "CLIFFORD-REVIEW.json": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "RESIDUAL-ADAPTERS.json": "91b1a723dd9ce73b87c183980e7f06c05f15a7453bd4efec282cb64fca063122" + }, + "entering": 192, + "entrance": 368, + "width_digest": "ec44b5b214538eafbd921a70a1881e38212a3e101ebf7f35427b971a6447de3f", + "program_hashes": { + "backward": "b0b4402a37084bb1e696afdc3a0e3e946d359a78f198a17f8796cb1ba3261b7b", + "forward": "e17b1fc1c2949db812abc713018db60f5a7ed2a49277f31bce4b9dcad7bc18ee" + }, + "artifacts": { + "LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "RESIDUAL-ADAPTERS.json": "4aa99dccfe367c32b79be0e99b40a8e9f6bcce57db250532d091040ae147dae1" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 368, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "b0b4402a37084bb1e696afdc3a0e3e946d359a78f198a17f8796cb1ba3261b7b", + "forward": "e17b1fc1c2949db812abc713018db60f5a7ed2a49277f31bce4b9dcad7bc18ee" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "576ece8ed41adf7145607c12e07d6e461337b188340cda4272cbcf48472ef709", + "LOCAL-PROGRAMS.json.gz": "a7822ed2e402952991bce28b56b8183ff4f502f9599615b5806fc320f7e0c7a4", + "LOCAL-CHECKS.json": "32c93ab90b40b6add454199c48302c149cb35d21da7d27a801544cd45c853101", + "INDEPENDENT-LOCAL-REPLAY.json": "3a943a3c1756ff6643bdecd185cfaee43f040c882790f7392fc08cc9eab1f5e2", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "CLIFFORD-REVIEW.json": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "RESIDUAL-ADAPTERS.json": "91b1a723dd9ce73b87c183980e7f06c05f15a7453bd4efec282cb64fca063122" + } + }, + "semantic_phase_sha256": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "schema": "witness-spec/1", + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json new file mode 100644 index 0000000000..19c1fe32ba --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json @@ -0,0 +1 @@ +{"archive_sha256":"22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754","binding":{"ancestry":{"bit_input_sha256":"b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4","bit_result_sha256":"28795393651ef4fbbc6232eb2b32f7b39b91fbd5ea6d2315583f350714698055","complex_assembly_sha256":"41bcdbaf21cfb91f017387ec594cd474bf7c96cfd273c9c87e1e60ecdc1f2acd","complex_receipt_sha256":"040d8cfc8ce49be9b475352eac93c7bf1976ed44e8282bc9d0f13275c4d7d2c5","decimal":"0.001661202643272239","kappa":"1661202643272239/1000000000000000000","scope":"Rebuilt finite suppliers and exact composition. All-size/compiler, common-label/mutable-source, whole-call hosting, precision/tape and analytic transfer hypotheses remain conditional; not a full Lean theorem.","status":"PASS_REBUILT_PR589_PR741_COMPOSITION"},"assembly_sha256":"92a6b821af84b6a986bd2ddd4fe5282ef6cf362c832271185f748ae2bc61de2c","decimal":"0.001661634653669567","independent_sha256":"ae5029f14b47f909319fa31ac10f2f4e0200323f8f0e08ef2326f0d51968d584","kappa":"1661634653669567/1000000000000000000","package_manifest_sha256":"e1b7998c8f7cb24f8674d250d0510f2b5b351b2ed0b35f17a17e6bacf3d9824b","price_sha256":"e8cecbb4f05ca1a115512b246530278ed86558d0fae1229d09d7d9188f5f330f","scope":"Exact finite X4 scalar/frame/phase/owner/invoice/assembly checks, bound to rebuilt PR589 and SW4 ancestry. Inherited all-size/compiler, common-label/mutable-source, whole-call hosting, precision/tape and analytic assumptions remain; not a full Lean theorem.","status":"PASS_REBUILT_PR589_PR799_COMPOSITION"},"coverage":{"complex_receipt_sha256":"040d8cfc8ce49be9b475352eac93c7bf1976ed44e8282bc9d0f13275c4d7d2c5","mandatory_artifact_count":44,"ordered_stage_count":22,"scope":"Fixed coverage and receipt/STAGES agreement only. The unchanged maintainer binding must also verify every artifact and log digest. This does not authenticate execution history or fabricated logs.","source_manifest_sha256":"b9b39c206fcd2613382b0dcbda23a371e8781d1bedaf8e2f8e7df1e79dc1fa89","source_spec_sha256":"7fc2bd2e3c0ac13729c1fa1f0f327a4eb7c72373ba58e5ed3954b30e23c803be","stages_sha256":"f14b4729992999ee06029f1bae6606991927fe49fdd0c6493c602062114d02a1","status":"PASS_FIXED_PR741_STAGE_AND_ARTIFACT_COVERAGE"},"reused":true} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json new file mode 100644 index 0000000000..3a6faf62a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_FOUR_ENTRANCE_SEMANTIC_CONTROLS", + "rejected": [ + { + "control": "restore-promoted-start-627", + "reason": "frame not monotone (627, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-627", + "reason": "frame not monotone (627, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-629", + "reason": "frame not monotone (629, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-629", + "reason": "frame not monotone (624, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-630", + "reason": "frame not monotone (630, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-630", + "reason": "frame not monotone (624, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-631", + "reason": "frame not monotone (631, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-631", + "reason": "frame not monotone (625, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "false-paid-profile", + "reason": "paid profile mismatch" + }, + { + "control": "wrong-target-coefficient", + "reason": "nonzero entrance response" + }, + { + "control": "false-helper-inventory", + "reason": "width inventory mismatch" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json new file mode 100644 index 0000000000..b6fe46c47c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json @@ -0,0 +1 @@ +{"rejected":["boolean_bin_count","negative_bin_count","duplicate_window","duplicate_flow","out_of_window_time","invalid_width","overfull_call","reordered_wave"],"status":"PASS_FROZEN_FLOW_NEGATIVE_CONTROLS"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json new file mode 100644 index 0000000000..44c14d7c4a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json @@ -0,0 +1 @@ +{"actual_73_axis_charts":11144,"adapter_sha256":"5dcc9304d84d6f07bb818685baa9c59c609043fa4a6ef156fffc1b44ffce0b33","bridge_events":333,"calls":333,"charged_prefix_bits":1024,"checked_busy_family_windows":159840,"checked_slice_prefixes":74592,"checked_whole_helper_widths":159840,"controls_rejected":[{"name":"private_namespace_collision","reason":"private-namespace collision"},{"name":"copy_replica_alias","reason":"role invocation time"},{"name":"missing_whole_helper","reason":"complete helper role count"},{"name":"split_whole_helper","reason":"complete helper role count"},{"name":"truncated_helper_width","reason":"whole-helper residual width"},{"name":"cross_idle_boundary","reason":"strict bridge-aware idle window"},{"name":"wrong_provider_demote3","reason":"whole-helper residual width"},{"name":"wrong_provider_demote4","reason":"whole-helper residual width"}],"deficit":11840,"edits":[["2 * 512","2 * 1024"],["prefix < 512","prefix < 1024"],["charged_prefix_bits=512","charged_prefix_bits=1024"],["Counter(widths) == {4: 80, 5: 32, 7: 54, 8: 122, 9: 216}","Counter(widths) in ({4:44,5:44,7:38,8:114,9:240},{4:40,5:48,7:38,8:114,9:240})"],["width == c['widths'][helper]","width == c['widths_by_call'][call][helper]"],["Counter({rank: 9 * T * count for rank, count in c['paid'].items()})","Counter(c['paid_total'])"],["max(x['prefix_bits_upper'] for x in c['replay']['local'].values())","c['localbits']"],["local_profile=dict(sorted(c['paid'].items())), width_inventory=dict(sorted(Counter(c['widths']).items())),","local_profiles=c['local_profiles'], width_inventories=c['inventories'], provider_call_counts=c['call_counts'],"],["if context['callpos'][key] >= hi","if context['callpos'][key] >= hi and context['widths_by_call'][key][z['helper']] == z['width']"]],"expanded_replica_events":1110,"idle":{"1":2,"48":11374},"inputs":{"/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/constructed/OWNERS.json.gz":"3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote3/local/CANONICAL-WORD.json.gz":"c35ae25e495c53273a26102338c43de2ac7d3044fdead25b619c0bebc0e5cbff","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote3/local/INDEPENDENT-LOCAL-REPLAY.json":"2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote4/local/CANONICAL-WORD.json.gz":"0f4045b78efc4fd5c1cb5c840f13e5e4b0139a3683d86cced5c8a38dd972723d","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote4/local/INDEPENDENT-LOCAL-REPLAY.json":"3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/split-centres/CANONICAL-WORD.json.gz":"66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/split-centres/GLOBAL-TEMPLATE.json.gz":"ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/work/complex-nine-native/DATA-PHASES.json":"c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa","/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/mixed-demotions-t37/data/MIX.json":"dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea","/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/mixed-demotions-t37/data/ORDER.json":"7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29"},"literal_windows":666,"live":33152,"local_prefix_bits":68,"local_prefix_from_native_receipt":true,"local_profile_recounted":true,"local_profiles":{"demote3":{"1":2364,"2":498,"3":412,"4":130,"5":82,"8":8},"demote4":{"1":2356,"2":506,"3":416,"4":126,"5":82,"8":8}},"namespace":{"centres":[33152,33160],"coefficient":[33640,33642],"data":[0,33152],"tableau":[33160,33640]},"orthogonal_port_bases":112,"physical":33642,"physical_row_coefficient":17495,"physical_stock_bits":2643,"prefix_bits":775,"prefix_formula":{"bridges":333,"input_l2":37,"invocations":333,"local_scalar":68,"margin":4},"profile":{"1":785550,"2":167498,"3":138028,"4":42458,"5":27306,"8":2664,"48":11374},"provider_call_counts":{"demote3":125,"demote4":208},"rank_mass":2408256,"roles":159840,"row_limit":20161,"scope":"Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.","source_events_per_replica":30,"source_sha256":"9d8c86bf45cdaef37f223c88704055ced503ee295645611e13f3fb9059a00e55","status":"PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW","width_inventories":{"demote3":{"4":44,"5":44,"7":38,"8":114,"9":240},"demote4":{"4":40,"5":48,"7":38,"8":114,"9":240}}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json new file mode 100644 index 0000000000..e6f7d66272 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_INDEPENDENT_T37_PARTIAL_BANK_ENVELOPE", + "calls": 333, + "active_helper_lanes": 167832, + "bank_families": 22680, + "maximum_auxiliary_padding_rank": 53, + "source_content_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "parent_content_sha256": "b4a5f30a598f6201c3973ce7ddd059c09fa9086b353456b559ed7b6ebebaec5d", + "controls_rejected": [ + { + "name": "missing_fifth_lane", + "reason": "Lifted call inventory" + }, + { + "name": "bank_group_alias", + "reason": "Literal mapped owner route" + }, + { + "name": "missing_complement_axis", + "reason": "Exact residual complement" + }, + { + "name": "stale_complement_rank", + "reason": "Exact residual complement" + }, + { + "name": "old_idle_multiplicity", + "reason": "Data idle multiplicity" + }, + { + "name": "missing_sweep_replica", + "reason": "Lifted source-event semantics" + }, + { + "name": "private_alias", + "reason": "Private namespace translation" + }, + { + "name": "short_final_correction", + "reason": "Final correction namespace" + } + ], + "input_sha256": { + "source": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "parent": "378d81d3fc38ac1a8cb8d54bf748ecda355c21f4e07f34c09709f1b4d9fcfbab" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json new file mode 100644 index 0000000000..f13194611b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json @@ -0,0 +1 @@ +{"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","outer":[{"binding":"complex","bit_c":"1733427039589844234749/1000000000000000000000000","complex_b":"167848528779417184507/100000000000000000000000","controls_rejected":["next_grid","zero_eta","zero_beta","unit_beta"],"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","strict_constraints_passed":47},{"binding":"complex","bit_c":"1733427039589844234749/1000000000000000000000000","complex_b":"1678485287794171845071/1000000000000000000000000","controls_rejected":["next_grid","zero_eta","zero_beta","unit_beta"],"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","strict_constraints_passed":47}],"profile":{"1":785550,"2":167498,"3":138028,"4":42458,"5":27306,"8":2664,"48":11374},"provider_call_counts":{"demote3":125,"demote4":208},"root":{"lower":"0.00167848528779417184507","lower_endpoint_residual_upper":"-1.069351736589421044442949068274776347065265159260833934734968043471701E-25","moment_minus_one_at_current_k_required_rate":["-0.002869471310105852475544835587786122354087159635736343502742596161123202","-0.002869471310105852475544835587786122354087159635736343502742596161049018"],"nominal_k_ceiling_interval":["0.001675672695827067713539892157071079697339381473540608674787530242060807","0.001675672695827067713540888808533567026744306987435112296261176249809170"],"strict_rational_signs":true,"upper":"0.001678485287794171845071","upper_endpoint_residual_lower":"2.816742062601264700146598580589613332091429668572318441282191717080963E-24"},"scope":"Arithmetic for the nominated mixed profile; geometry and full invoice require separate admission. No optimality claim.","signs":{"lower":{"atanh":["-13367/125000000000000000000000000000","-21387/200000000000000000000000000000"],"mercator":["-1441483289343785538030799499761762428340655/13479973333575319897333507543509815336818572211270286240551805124608","-720741644671892769015399749880881214170327/6739986666787659948666753771754907668409286105635143120275902562304"],"point":"167848528779417184507/100000000000000000000000"},"upper":{"atanh":["1408371/500000000000000000000000000000","2816743/1000000000000000000000000000000"],"mercator":["37969607891424992524321121942360634395873535/13479973333575319897333507543509815336818572211270286240551805124608","148318780825878877048129382587346228108881/52656145834278593348959013841835216159447547700274555627155488768"],"point":"1678485287794171845071/1000000000000000000000000"}},"status":"PASS_TWO_ENGINE_MIXED_PROFILE_AND_OUTER47"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json new file mode 100644 index 0000000000..e69db49e87 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "JOINT-WORD.json.gz", + "content_sha256": "1f66640293bde6c7e1df2d4ee0004c2de2327887a98575c5d975d6a14a8b7e74", + "compressed_sha256": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.684210145031102, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json new file mode 100644 index 0000000000..93a7961813 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FOUR-WORD.json.gz", + "content_sha256": "7ad38f1773ca482277e2e32eac488f0ac59c2bbb3070097739da286faaaabcf3", + "compressed_sha256": "f9d9e74ea4ce7a3d3bdac3e559f39065a8d153b7d8f2299dbf1ff90471846c60", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.6569505339721218, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json new file mode 100644 index 0000000000..4890f180c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json @@ -0,0 +1,82 @@ +{ + "ancestry": "Fresh verify_frontier799.py run earlier in this session; complete source/log/artifact and fixed coverage rechecks during this replay.", + "command": "OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 CPLUS_INCLUDE_PATH=/tmp/intmult-boost/usr/include BOOST_INCLUDE=/tmp/intmult-boost/usr/include nice -n 15 ionice -c 3 /tmp/intmult-contribution-venv/bin/python -B research/mixed-demotions-t37/verify.py --work /home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2 --ancestry799 /home/jeremydiviney/intmult/build/contribution/demotions-t37-search/baseline799-cold3", + "exit_code": 0, + "new_artifacts_and_documentation_only": true, + "receipts": { + "ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "constructed/CONSTRUCTION.json": "e8236655e3f9e061514259dbb114b7e9b77b9be7459977ec613833de1a088073", + "demote3/STEPS.json": "e3a94ed349c2298d21ed96b0ab6dc02e8b0a7f523028366803df511d7b9200c7", + "demote3/local/CLIFFORD-REVIEW.json": "2ef79c2ed574a97c109906fc41f69793e19dd010c96240bd788907bbafdc818a", + "demote3/local/INDEPENDENT-LOCAL-REPLAY.json": "2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6", + "demote3/local/LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "demote3/local/SCALAR-FRAME-AUDIT.json": "ebc0b07acae7c8cab1c673407d462ecc357cbe829bdce99d0d8b62149739d96f", + "demote3/local/WRAPPER-CHECKS.json": "f2a005b54bea64d66633d8a82d0454348172da3b88361081a72126bf1d51744d", + "demote4/STEPS.json": "934e851f2a79314077019fbfdde9fdce6353ed9ecb468bde7ed426826993c92b", + "demote4/local/CLIFFORD-REVIEW.json": "7dbaf548ff9a515a2c3e352ecff536c619d546339eaef1b408451a3f65c3f08d", + "demote4/local/INDEPENDENT-LOCAL-REPLAY.json": "3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48", + "demote4/local/LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "demote4/local/SCALAR-FRAME-AUDIT.json": "487409568e9ca43922c47362ca634003fda6957bbb02ab4a2dd5c231e3b92ff0", + "demote4/local/WRAPPER-CHECKS.json": "0e281983e139a29c2a28eaed51383f14d8acbe0161eb8e437b7f7ea5dd1c11a0", + "t37/ADAPTATIONS.json": "c4ee575e66a69dedd81ffe790f60ad422a51446c7c8bff860786e6e58e11b255", + "t37/strict/ADMISSION-CONTROLS.json": "02fcaf60f2db93ed84043c66bfb49e6fb63468a40cc6eb3ef9673bf6f03f9b14", + "t37/strict/ASSEMBLY.json": "ad612be9b551469cbd776496dbde4638937a184742ae9c380b41569a56253081", + "t37/strict/BIT-CONTROLS.json": "1e14fa3a1b5ed051e1da5661a4c9c4249a089c9c510553e83574e520a23b91b7", + "t37/strict/STAGES.json": "284ed86eb0590ce33ec2020d1e2d44b225d2cbc1ab91cb5a972683bcd300e480", + "t37/strict/global/audit/ASYNC-AUDIT.json": "028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f", + "t37/strict/global/audit/OWNERS-AND-PROFILE.json": "c64cb2197f98b123a55d30a47b0c8e251873d7635a4de4c13a5e34b2e9483996", + "t37/strict/global/audit/PREFIX-AND-INVOICE.json": "512e824c274a656f4d4e1e4fdf267d9c38aa1568169716cc833d2d3816d81516" + }, + "status": "PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION", + "tested_commit": "2eac245dec27736809eb188ced1dd19d08ebc5e1", + "tested_files": { + "CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "README.md": "9c01efbfb9d1913ad6841baca1e1e9cdf289e9919522f6ee02d0bd849e5b8a27", + "SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033", + "verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29" + }, + "tested_manifest_sha256": "7fa3814b679f4d74137bb49262da62926cddc0585068fef5ff36514cf591bf84" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json new file mode 100644 index 0000000000..66b084900c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json @@ -0,0 +1 @@ +{"ancestry_sha256":"cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109","calls":333,"complex_profile":{"1":785550,"2":167498,"3":138028,"4":42458,"48":11374,"5":27306,"8":2664},"controls":{"admission":114,"bit_supplier":12,"controller":23},"entrance_controls":11,"flow_controls":8,"independent_owner_controls":8,"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","native_providers":2,"prefix_bits":775,"price_sha256":"a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b","roles":159840,"row_coefficient":17495,"scope":"Finite conditional construction under the retained compiler, whole-call hosting, common-label/mutable-source realization, precision/tape, analytic-transfer and bitH1-H5 hypotheses. No unconditional theorem or kappa=1 claim.","source_pins":{"dependencies":1902,"dependency_manifest_sha256":"c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc","manifest_sha256":"7fa3814b679f4d74137bb49262da62926cddc0585068fef5ff36514cf591bf84","retained":{"dependencies_sha256":"0160ea2677cc9ceeb0f861dc2774d470a27cbaa58b8fd6c064cf0683d18f3e87","manifest_sha256":"38907d05fddac9be6bf7a7aff47fae43114a055d2259cead5651a08f9b983820","predecessor":{"dependencies_sha256":"7c47d44e8d5c24aa80afc70724e7c0381fec57ef80d085d2ee4611726a0f1254","manifest_sha256":"663a4300ec3abe2278ac6c8e49dd13dc58694c33bfadaa278c5406539e113a31"}}},"stages":[{"exit_code":0,"log_sha256":"71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a","name":"bind","seconds":0.733},{"exit_code":0,"log_sha256":"073c4977498d10a7fc4666c2822da1052cf471ee8fe7b5e70c238a3e28bc5470","name":"emit","seconds":16.986},{"exit_code":0,"log_sha256":"028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f","name":"audit","seconds":62.14},{"exit_code":0,"log_sha256":"a106277fad6e24fcb7fe6f1d454ac4c75c5dac993caff32d21c530355eb5b118","name":"invoice","seconds":1.42},{"exit_code":0,"log_sha256":"09963e62284914b6a61aa41e03b9bf62c745b9eae12a4a78bf3de18eec366274","name":"assembly","seconds":0.228},{"exit_code":0,"log_sha256":"40f0c35552fb10f02288ae8d2c6b9f902050fb370c0a19b7b88c977d0d44dab1","name":"admission-controls","seconds":0.469},{"exit_code":0,"log_sha256":"d54d260bf95bd8ae4ab8846314082b93b2e3d8f427eb35376691f2ce543a6b67","name":"bit-controls","seconds":0.443}],"status":"PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION","steps":[{"exit_code":0,"log_sha256":"b42175653d0f799f6b9c18b399d7a5eed119a94fce113d84cec3f5c1a5f83bd1","name":"raw-demote3","seconds":0.716},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote3","seconds":102.18},{"exit_code":0,"log_sha256":"4c91cf7a4b56e69368c9a4948146e86a723e2f6bf5806213018fe16888483b8c","name":"raw-demote4","seconds":0.686},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote4","seconds":101.238},{"exit_code":0,"log_sha256":"a4ded37f2994ee242102a5ad1765673bb73be2a9d232132e4a44cd91a3d9525e","name":"entrance-controls","seconds":5.684},{"exit_code":0,"log_sha256":"ec8c339a452fecb7b455305c7faea42110cd69dcbee240e110f825178b0d23b4","name":"owners","seconds":4.093},{"exit_code":0,"log_sha256":"efc9bef89fcac5c95165ca04c186c034a774fc6bd2e1db28f481ddb4e40bea96","name":"parent","seconds":16.211}]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json new file mode 100644 index 0000000000..7a61aea81b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json @@ -0,0 +1 @@ +[{"exit_code":0,"log_sha256":"b42175653d0f799f6b9c18b399d7a5eed119a94fce113d84cec3f5c1a5f83bd1","name":"raw-demote3","seconds":0.716},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote3","seconds":102.18},{"exit_code":0,"log_sha256":"4c91cf7a4b56e69368c9a4948146e86a723e2f6bf5806213018fe16888483b8c","name":"raw-demote4","seconds":0.686},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote4","seconds":101.238},{"exit_code":0,"log_sha256":"a4ded37f2994ee242102a5ad1765673bb73be2a9d232132e4a44cd91a3d9525e","name":"entrance-controls","seconds":5.684},{"exit_code":0,"log_sha256":"ec8c339a452fecb7b455305c7faea42110cd69dcbee240e110f825178b0d23b4","name":"owners","seconds":4.093},{"exit_code":0,"log_sha256":"efc9bef89fcac5c95165ca04c186c034a774fc6bd2e1db28f481ddb4e40bea96","name":"parent","seconds":16.211}] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json new file mode 100644 index 0000000000..2d7a2cfe11 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json @@ -0,0 +1 @@ +{"content_sha256":"7ad38f1773ca482277e2e32eac488f0ac59c2bbb3070097739da286faaaabcf3","recipe_sha256":"384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484","source_sha256":"a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718","status":"PASS_FROZEN_FOUR_ENTRANCE_RECIPE"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py new file mode 100644 index 0000000000..e0e5d0e8e4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py @@ -0,0 +1,26 @@ +"""Semantic rejection controls for the changed local interfaces.""" +import argparse,contextlib,copy,gzip,importlib.util,io,json,tempfile +from pathlib import Path +P=Path(__file__).resolve().parent;ROOT=P.parents[1] +def main(): + assert __debug__ + ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();assert not a.out.exists() + spec=importlib.util.spec_from_file_location('audit',ROOT/'research/gauge44-slots/independent/audit_local.py');A=importlib.util.module_from_spec(spec);spec.loader.exec_module(A) + word=json.loads(gzip.decompress((P/'data/FOUR-WORD.json.gz').read_bytes()));recipe=json.loads((P/'data/FOUR-RECIPE.json').read_text());rejected=[] + with tempfile.TemporaryDirectory(prefix='k8-demotion-controls-') as d: + d=Path(d) + def check(label,w): + f=d/'mutant.json.gz';f.write_bytes(gzip.compress(json.dumps(w).encode(),mtime=0)) + try: + with contextlib.redirect_stdout(io.StringIO()):A.run(f,d/'audit.json',ROOT) + except RuntimeError as e:rejected.append(dict(control=label,reason=str(e)));return + raise AssertionError('control admitted: '+label) + for h,old,new in recipe['start_extra']: + w=copy.deepcopy(word);w['start_extra'][h]=old;check('restore-promoted-start-'+h,w) + w=copy.deepcopy(word);gate=next(e for e in w['A']+w['B'] if int(h) in A.registers(e));gate[-1]=gate[-1][:-1];check('first-frame-too-small-'+h,w) + w=copy.deepcopy(word);w['report']['local_profile']['1']+=1;check('false-paid-profile',w) + w=copy.deepcopy(word);w['B'][next(i for i,e in enumerate(w['B']) if e[0]=='add' and 112<=e[1]<224)][3]+=1;check('wrong-target-coefficient',w) + w=copy.deepcopy(word);w['report']['width_inventory']['4']+=1;check('false-helper-inventory',w) + assert len(rejected)==11 + a.out.write_text(json.dumps(dict(status='PASS_FOUR_ENTRANCE_SEMANTIC_CONTROLS',rejected=rejected),indent=2)+'\n');print('PASS',len(rejected),'demotion controls') +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py new file mode 100644 index 0000000000..fb9f676e5d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py @@ -0,0 +1,10 @@ +import os,sys,time,json,subprocess +from pathlib import Path +ROOT=Path(__file__).resolve().parents[2];work=Path(sys.argv[2]);work.mkdir(parents=True,exist_ok=False);raw=Path(sys.argv[1]).resolve() +src=ROOT/'research/complex-k492-owner-repair/vendor/multicold';up=ROOT/'research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code';base=src/'vendor/pr558';par=base/'vendor/pr552';local=work/'local' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(src),GAIN_PR564_SOURCE=str(src),CPLUS_INCLUDE_PATH=os.environ.get('CPLUS_INCLUDE_PATH','/opt/homebrew/include'));env.pop('PYTHONOPTIMIZE',None) +steps=[] +for label,script,args in [('native',up/'hpe_audit_and_transport.py',['--raw',raw,'--routing',par/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz','--out',local]),('ledgers',up/'hpe_emit_local.py',[local]),('local-replay',up/'hpe_audit_local.py',[local]),('wrappers',up/'hpe_adapters_local.py',[local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json']),('phases',base/'code/phases_full.py',[local,par/'complex-global/vendor531/vendor/clifford'])]: + t=time.monotonic() + with (work/(label+'.log')).open('w') as f:p=subprocess.run([sys.executable,'-B',str(src/'code/run_portable.py'),str(script),*map(str,args)],stdout=f,stderr=subprocess.STDOUT,cwd=ROOT,env=env) + steps.append(dict(step=label,exit_code=p.returncode,seconds=time.monotonic()-t));(work/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n');assert p.returncode==0,(label,(work/(label+'.log')).read_text()[-4000:]);print('PASS',label,flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py new file mode 100644 index 0000000000..9e911fe811 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py @@ -0,0 +1,15 @@ +"""Pin this package and the retained source closure; no network is used.""" +from pathlib import Path +from common import P,ROOT,read,sha,load + +def validate(): + manifest=read(P/'MANIFEST.json') + actual={str(p.relative_to(P)):sha(p)for p in P.rglob('*')if p.is_file() and p.name!='MANIFEST.json' and '__pycache__'not in p.parts} + assert actual==manifest,'Package manifest mismatch' + dependencies=read(P/'DEPENDENCY-PINS.json') + for rel,pin in dependencies.items(): + q=(ROOT/rel).resolve() + assert not Path(rel).is_absolute() and q.is_relative_to(ROOT.resolve()) + assert sha(q)==pin,'Changed retained source: '+rel + retained=load(ROOT/'research/complex-t37-owners/package.py','retained_package_validation').validate() + return dict(manifest_sha256=sha(P/'MANIFEST.json'),dependency_manifest_sha256=sha(P/'DEPENDENCY-PINS.json'),dependencies=len(dependencies),retained=retained) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py new file mode 100644 index 0000000000..596920d5ba --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py @@ -0,0 +1,84 @@ +"""Reuse PR942's explicit source adapters and build the five-bank parent. + +The frozen order, owner map, and PR1148 supplier metadata are replaced. +The PR942 finite invoice still charges its 1024-bit prefix reserve. +""" +import copy,os,shutil +from common import P,ROOT,read,dump,load,sha,identity + +def prepare(work,baseline,providers): + t37=ROOT/'research/complex-t37-owners' + t21=ROOT/'research/complex-t21-owners' + os.environ.update(T37_WORK=str(work),T37_BASELINE=str(baseline)) + old=load(t37/'prepare.py','retained_t37_preparation') + runtime=work/'runtime';adapted=work/'adapted';adapted.mkdir() + load(t21/'source_adapters.py','retained_t21_adapters').materialize(runtime) + (runtime/'ADAPTERS.json').rename(runtime/'T21-INTERMEDIATE-ADAPTERS.json') + receipts={} + for name,record in old.expected_adaptations().items(): + target=runtime/'code'/name.split('/',1)[1]if name.startswith('runtime/')else adapted/name + text=record['text'];extra=[] + if name=='runtime/assemble.py': + for before,after in [ + ('the gauge44-barch U8 local word and all 72 cold helper ends','the mixed joint-entrance three- and four-demotion k8 local words'), + ('explicit all333 whole-owner dispatch with a T21 plus T16 eight-role trade','explicit 333-call wave dispatch with frozen integer pattern flows'), + ('This is a new T37 composition of the PR870 U8 and PR589 suppliers.','This is a new T37 composition of the mixed joint-entrance three- and four-demotion k8 and PR589 suppliers.')]: + assert text.count(before)==1,(before,text.count(before));text=text.replace(before,after);extra.append([before,after,1]) + if name=='runtime/freeze_spec.py': + for before,after in [("spec['expected']['assembly_controls_rejected'] = 69","spec['expected']['assembly_controls_rejected'] = 114"), + ("spec['expected']['provider_counts'] = {'gauge44':333}","spec['expected']['provider_counts'] = dict(__import__('collections').Counter(pid for s,r,pid in spec['dispatch']))"), + ("spec['expected']['mutations_rejected'] = 15","spec['expected']['mutations_rejected'] = 23")]: + assert text.count(before)==1 + text=text.replace(before,after);extra.append([before,after,1]) + target.write_text(text,encoding='utf-8',newline='\n') + receipts[name]=dict(source_sha256=sha(record['source']),generated_sha256=sha(target),edits=record.get('edits',[]),description_edits=extra) + dump(work/'ADAPTATIONS.json',receipts) + source=read(baseline/'global/base/split-centres/GLOBAL-TEMPLATE.json.gz') + builder=load(adapted/'build_parent.py','retained_t37_parent_lift');parent=builder.lift(source) + plan=read(P/'vendor/pr1148/PLAN.json.gz');order=read(P/'data/ORDER.json');owners=read(P/'data/OWNERS.json.gz') + windows_mod=load(t21/'vendor/pr870/t16/build_parent.py','retained_physical_windows') + windows,schedule=windows_mod.actual_windows(parent,order) + mix=read(P/'data/MIX.json') + assert [[s,r]for pid,s,r in mix]==order + identities=load(ROOT/'research/complex-t21-owners/vendor/pr870/code/generated_identity.py','mixed_artifact_identities') + plan['provider_registry']={};plan['provider_calls']=[];plan['per_call_widths']=[] + for pid,directory in sorted(providers.items()): + word=read(directory/'CANONICAL-WORD.json.gz');checks=read(directory/'LOCAL-CHECKS.json') + widths=[len(word['frames'][word['final'][h]])-len(word['frames'][word['start'][h]])for h in range(224,704)] + plan['provider_registry'][pid]=dict(directory='providers/'+pid,artifact_sha256={n:sha(directory/n)for n in identities.FILES}, + ports=word['ports'],centers=word['centers'],widths=widths,actual_paid_profile=word['local_profile'], + orientation_program_sha256={o:checks[o]['sha256']for o in ('forward','backward')},artifact_semantic_sha256=identities.artifact_identities(directory)) + for time,(pid,stage,replica)in enumerate(mix): + desc=plan['provider_registry'][pid];orientation='forward'if stage%2==0 else'backward' + plan['provider_calls'].append(dict(time=time,stage=stage,replica=replica,provider=pid,orientation=orientation,local_program_sha256=desc['orientation_program_sha256'][orientation])) + plan['per_call_widths'].append(dict(stage=stage,replica=replica,widths=desc['widths'])) + claim=read(P/'CLAIM.json') + plan.update(T=37,live=33152,deficit=11840,order=order,windows=windows,profile=claim['complex_profile'], + status='FROZEN_T37_MIXED_DEMOTIONS_WHOLE_OWNER_NOMINATION',mode='gauge44-three-demotions-t37-wave', + solver_status='Frozen integer pattern flow, reconstructed by regular bipartite matching; no optimizer runs', + assignment_sha256=sha(P/'data/OWNERS.json.gz'),assignment_content_sha256=identity(owners), + replica_lift=dict(groups=[8,8,8,8,5],source_replicas=8,replicas=37,parent_template_content_sha256=identity(parent), + owners_file_sha256=sha(P/'data/OWNERS.json.gz'),schedule_content_sha256=identity(schedule),window_semantics='Strict physical source-event intervals, including bridges')) + assert len(owners)==159840 and sum(int(r)*n for r,n in plan['profile'].items())==73*33152-11840 + for z in owners: + assert order[z['time']]==[z['stage'],z['replica']] + assert z['time']in windows[f"{z['owner_replica']},{z['child']}"][1] + frozen=read(P/'data/PLAN.json.gz') + for pid,desc in plan['provider_registry'].items(): + # Regenerated compression and timing are rebound by the unchanged + # native binder. All proof-relevant semantic identities must agree. + assert desc['artifact_semantic_sha256']==frozen['provider_registry'][pid]['artifact_semantic_sha256'] + desc['artifact_sha256']=frozen['provider_registry'][pid]['artifact_sha256'] + assert plan==frozen,'Derived geometry/dispatch/provider plan differs from frozen nomination' + lift=work/'lift';lift.mkdir();dump(lift/'GLOBAL-TEMPLATE.json.gz',parent);dump(lift/'PLAN.json',plan) + parentdir=work/'parent';shutil.copytree(baseline/'parent558',parentdir) + shutil.copyfile(lift/'GLOBAL-TEMPLATE.json.gz',parentdir/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz') + (runtime/'data').mkdir(exist_ok=True) + spec=read(P/'data/SPEC.json') + assert spec['call_order']==order and spec['dispatch']==[[s,r,pid]for pid,s,r in mix] + assert spec['data']=={'owners_sha256':sha(P/'data/OWNERS.json.gz'),'plan_sha256':sha(lift/'PLAN.json')} + pivot=ROOT/'research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json' + assert sha(pivot)==spec['pivot_swap']['sha256'] + spec['pivot_swap']['recipe']=str(pivot.resolve()) + dump(runtime/'data/SPEC.json',spec) + return plan diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py new file mode 100644 index 0000000000..0903bea57b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py @@ -0,0 +1,32 @@ +"""Independently recount the dispatch-weighted profile and certify its price.""" +from collections import Counter +from fractions import Fraction as Q +from common import P,ROOT,read,dump,load,sha + +def price(providers,out): + d=ROOT/'research/complex-k492-owner-repair/vendor/multicold/engines' + M=load(d/'moment.py','mixed_mercator');B=load(d/'base_two_moment.py','mixed_atanh') + A=load(d/'outer.py','mixed_outer') + O=load(ROOT/'research/complex-t21-owners/vendor/pr870/independent/price_profile_t16.py','mixed_outer_driver') + mix=read(P/'data/MIX.json');claim=read(P/'CLAIM.json');profile=Counter() + counts=Counter(pid for pid,s,r in mix) + assert counts==claim['provider_calls']=={'demote3':125,'demote4':208} + for pid,count in counts.items(): + word=read(providers[pid]/'CANONICAL-WORD.json.gz') + profile.update({int(r):count*n for r,n in word['local_profile'].items()}) + profile.update({int(r):n for r,n in claim['idle'].items()}) + assert {str(r):n for r,n in profile.items()}==claim['complex_profile'] + assert 73*33152-sum(r*n for r,n in profile.items())==11840 + root=M.certify(profile,73,33152);lo,hi=Q(root['lower']),Q(root['upper']) + assert lo==Q(claim['complex_lower']) + signs={} + for name,z in [('lower',lo),('upper',hi)]: + first=M.moment(profile,73,33152,z);second=B.moment(73,33152,list(profile.items()),z) + assert(first[1]<1 and second[1]<1)if name=='lower'else(first[0]>1 and second[0]>1) + signs[name]={'point':str(z),'mercator':[str(v-1)for v in first],'atanh':[str(v-1)for v in second]} + outer=[O.outer47(Q(claim['bit_lower']),z,A)for z in (lo,hi)] + assert outer[0]['kappa']==outer[1]['kappa']==claim['kappa'] + result=dict(status='PASS_TWO_ENGINE_MIXED_PROFILE_AND_OUTER47',kappa=claim['kappa'],kappa_decimal=claim['kappa_decimal'], + root=root,signs=signs,outer=outer,profile=dict(sorted(profile.items())),provider_call_counts=dict(counts), + scope='Arithmetic for the nominated mixed profile; geometry and full invoice require separate admission. No optimality claim.') + dump(out,result);return result diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz new file mode 100644 index 0000000000..3dab3a16bb Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md new file mode 100644 index 0000000000..af0170afc2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md @@ -0,0 +1,8 @@ +Apache-2.0. Prepared for Thomas DiFiore with substantial OpenAI Codex assistance. + +* The preceding `k8-coordinated-owners`, `k8-eight-ends`, `k8-eight-ends-t16`, and `k8-three-demotions` packages supply the frozen constructions, owner slots, drivers, searches, and all retained source notices. +* PR1111 by seslly / shipstuff, commit `381831ea554ea983e16224dabed8921b7d0ffdbc`, introduced the group-635 entrance-demotion lead. Its public PR description was consulted; no code or payload from that PR is consumed. The group-635 idea is not original to this package. This package composes it with two other groups, the eight-endpoint word, a joint frame refit, and its preceding T16 assignment. Credit also PR664's promotion mechanism and descendants. +* The frame model derives from PR864 (navinor / Claude), as adapted and pinned in `../k8-eight-ends`. The new joint searches treat entrance labels as variables in the same frame graph and retain the scalar/cone constraints. Floating solver output is nomination data only. +* Retain PR1018 and Rohan Arun's PR987 scalar-word lineage, PR1030's endpoint lead, Hao Yan / FanPUYen's PR858 T16 controller and independent checker, PR870/1074 admission work, PR942 by jon314159 and chafreaky's PR795/890 signed prices, and PR589's bit supplier. Their full dependency notices and source hashes remain in the preceding packages. +* All global admission engines are unchanged. The exact bound adapts the preceding signed-dual proof with the new pinned local profile, using the same two rational arithmetic engines. +* No claim of unconditional theorem certification, full Lean proof, or exact optimality of the floating discovery searches is made. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz new file mode 100644 index 0000000000..c7d39df72e Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json new file mode 100644 index 0000000000..9aeea5c043 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json @@ -0,0 +1,1971 @@ +{ + "schema": "witness-spec/1", + "name": "k8-joint-entrances", + "data": { + "plan_sha256": "a986515b256f35c1d8d675998fc8d35182c9340bd7149d166337d1b3ebba4de4", + "owners_sha256": "7755af4108f066cf1eb13dbaac0a0fbb97a2852ffa7403588d2b5218c81101bf" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 8, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 9, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 8, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 10, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 9, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 8, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 11, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 10, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 9, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 8, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 12, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 11, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 10, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 9, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 8, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 13, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 12, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 11, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 10, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 9, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 8, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 14, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 13, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 12, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 11, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 10, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 9, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 0, + 15, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 8, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 14, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 13, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 12, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 11, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 10, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 9, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 1, + 15, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 8, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 14, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 13, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 12, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 11, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 10, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 9, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 2, + 15, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 14, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 13, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 12, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 11, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 3, + 15, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 14, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 13, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 12, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 4, + 15, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 14, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 13, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 5, + 15, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 14, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 9 + ], + [ + 1, + 0 + ], + [ + 1, + 8 + ], + [ + 0, + 2 + ], + [ + 0, + 10 + ], + [ + 1, + 1 + ], + [ + 1, + 9 + ], + [ + 2, + 0 + ], + [ + 2, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 11 + ], + [ + 1, + 2 + ], + [ + 1, + 10 + ], + [ + 2, + 1 + ], + [ + 2, + 9 + ], + [ + 3, + 0 + ], + [ + 3, + 8 + ], + [ + 0, + 4 + ], + [ + 0, + 12 + ], + [ + 1, + 3 + ], + [ + 1, + 11 + ], + [ + 2, + 2 + ], + [ + 2, + 10 + ], + [ + 3, + 1 + ], + [ + 3, + 9 + ], + [ + 4, + 0 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 0, + 13 + ], + [ + 1, + 4 + ], + [ + 1, + 12 + ], + [ + 2, + 3 + ], + [ + 2, + 11 + ], + [ + 3, + 2 + ], + [ + 3, + 10 + ], + [ + 4, + 1 + ], + [ + 4, + 9 + ], + [ + 5, + 0 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 0, + 14 + ], + [ + 1, + 5 + ], + [ + 1, + 13 + ], + [ + 2, + 4 + ], + [ + 2, + 12 + ], + [ + 3, + 3 + ], + [ + 3, + 11 + ], + [ + 4, + 2 + ], + [ + 4, + 10 + ], + [ + 5, + 1 + ], + [ + 5, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 15 + ], + [ + 6, + 0 + ], + [ + 6, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 14 + ], + [ + 2, + 5 + ], + [ + 2, + 13 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 4, + 3 + ], + [ + 4, + 11 + ], + [ + 5, + 2 + ], + [ + 5, + 10 + ], + [ + 6, + 1 + ], + [ + 6, + 9 + ], + [ + 1, + 7 + ], + [ + 1, + 15 + ], + [ + 7, + 0 + ], + [ + 7, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 5 + ], + [ + 3, + 13 + ], + [ + 4, + 4 + ], + [ + 4, + 12 + ], + [ + 5, + 3 + ], + [ + 5, + 11 + ], + [ + 6, + 2 + ], + [ + 6, + 10 + ], + [ + 7, + 1 + ], + [ + 7, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 15 + ], + [ + 8, + 0 + ], + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 14 + ], + [ + 4, + 5 + ], + [ + 4, + 13 + ], + [ + 5, + 4 + ], + [ + 5, + 12 + ], + [ + 6, + 3 + ], + [ + 6, + 11 + ], + [ + 7, + 2 + ], + [ + 7, + 10 + ], + [ + 8, + 1 + ], + [ + 8, + 9 + ], + [ + 3, + 7 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 4, + 14 + ], + [ + 5, + 5 + ], + [ + 5, + 13 + ], + [ + 6, + 4 + ], + [ + 6, + 12 + ], + [ + 7, + 3 + ], + [ + 7, + 11 + ], + [ + 8, + 2 + ], + [ + 8, + 10 + ], + [ + 4, + 7 + ], + [ + 4, + 15 + ], + [ + 5, + 6 + ], + [ + 5, + 14 + ], + [ + 6, + 5 + ], + [ + 6, + 13 + ], + [ + 7, + 4 + ], + [ + 7, + 12 + ], + [ + 8, + 3 + ], + [ + 8, + 11 + ], + [ + 5, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 6 + ], + [ + 6, + 14 + ], + [ + 7, + 5 + ], + [ + 7, + 13 + ], + [ + 8, + 4 + ], + [ + 8, + 12 + ], + [ + 6, + 7 + ], + [ + 6, + 15 + ], + [ + 7, + 6 + ], + [ + 7, + 14 + ], + [ + 8, + 5 + ], + [ + 8, + 13 + ], + [ + 7, + 7 + ], + [ + 7, + 15 + ], + [ + 8, + 6 + ], + [ + 8, + 14 + ], + [ + 8, + 7 + ], + [ + 8, + 15 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "artifacts": { + "LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "RESIDUAL-ADAPTERS.json": "c099207d60ab49392bcadcaf7e9cbcfe01178e732f14e2591a8c3463162460d7" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + } + }, + "semantic_phase_sha256": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001674622497877364", + "hosted_residuals": 69120, + "rank_mass": 1041408, + "actual_73column_sigmas": 10580, + "cross_replica_helper_roles": 59636, + "idle_remainders": 5279, + "idle_remainder_profile": { + "1": 360, + "24": 1, + "48": 4918 + }, + "global_profile": { + "1": 340776, + "2": 71712, + "3": 59328, + "4": 18720, + "5": 11808, + "8": 1152, + "24": 1, + "48": 4918 + }, + "live": 14336, + "physical": 14826, + "conservative_kappa_decimal": "0.001675560944680149", + "kappa_decimal": "0.001675560947524449", + "complex_lower": "41959329101337756331/25000000000000000000000", + "conservative_complex_lower": "1678373161199654598379/1000000000000000000000000", + "kappa": "1675560947524449/1000000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 144 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md new file mode 100644 index 0000000000..281e6404ca --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md @@ -0,0 +1,41 @@ +# Attribution and scope + +Prepared for Thomas DiFiore with OpenAI Codex assistance, October 13, 2026. +Licensed under the repository's Apache-2.0 license. + +This contribution changes the whole-helper ownership map for the circuit from +Jeremy Kothe's PR1018 (`eac7547cb191f875d5f5ea5f9bbb1d2b8c51c4ef`). The +eight no-helper mutable-source cells, R480 circuit, frame optimization and +construction controls come from Jeremy Kothe and the credited contributors to +PR1005. The seven additional triangle slots come from PR1018 using Rohan Arun's +PR987 search and NewBArch's PR869 builder. None of those circuit improvements +are claimed as new here. + +The starting ownership map is G44Pack3's K8c8, descended from chafreaky's PR685 +and PR741 maps through G44Pack's relabeling and width changes. This package adds +coordinated complete-call reassignment by grouped integer packing, with +explicitly serialized owners and an unchanged independent admission verifier. + +The separate all-replica upper bound adapts jon314159's PR942 arithmetic +implementation and proof, using chafreaky's PR795/890 signed-dual prices. Its +new contribution is the application to PR1018's changed local profile and +helper inventory. The two rational numerical engines retain their upstream +authorship. `independent/UPSTREAM.json` records the source file and hash. + +All construction, controller, spectator, native phase, finite invoice, exact +moment and outer-transfer implementations retain their upstream authorship +and notices. The runtime copies PR1018's verifier files byte for byte. It +changes the owner nomination, its derived PLAN fields, and expected-value SPEC. +The original packages remain unchanged. + +The bit supplier is the unchanged PR589/PR555 punctured-star construction; +this run reprices its pinned profile and reruns its admission controls. It does +not rebuild the bit circuit. Earlier complex ancestry is inherited through the +pinned PR741 initial word and PR622/PR558 reviewed parent artifacts. The run +freshly rebuilds the k8 leaver circuit, all later layers, and the seven slots. + +This is a conditional finite construction, not an unconditional integer +multiplication theorem. All-size compilation, common-label and mutable-source +realization, whole-call hosting, precision/tape, analytic transfer and bit H1–H5 +assumptions remain. No independent human peer review is claimed. Optimizer +outputs and floating relaxations are discovery evidence, not admission proofs. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md new file mode 100644 index 0000000000..a756f9da58 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md @@ -0,0 +1,9 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +This package composes earlier community constructions and retains their mathematical assumptions. It claims the displayed finite composition and its checks, not original authorship of E8, the mutable-source k8 circuit, the endpoint technique, or the admission machinery. + +* CrocSwap/integer-mult-bounds PR1018 (`research/gauge44-slots`) supplies the R480 k8 + seven-slot circuit, all native scalar/phase checkers, and strict global admission. +* PR1030, commit d71857cd0ae7824e935aac17327e4ec27f66322b, supplies the rank-seven endpoint-pair lead. Its U8 helpers 588/589 correspond to k8 helpers 574/575. The new composition also uses 572/573, 580/581, and 582/583, with all four reductions refitted together. +* `discovery/frame_model.py` adapts the complete frame model from PR864 (navinor / Claude), retained in the earlier local research run. The adaptation permits a new initial frame assignment after changing the scalar graph or endpoint constraints. It is nomination code; unchanged independent native checks decide admission. +* `research/k8-coordinated-owners` supplies the initial whole-owner map and coordinated complete-call search. Earlier owner machinery and dual prices originate with chafreaky, G44Pack, and jon314159; see that package's NOTICE.md. +* All analytic, compiler, boundary, common-label, hosting, and bit-supplier assumptions remain those of the upstream source chain. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md new file mode 100644 index 0000000000..d0359f2e08 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md @@ -0,0 +1,9 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +This package composes community work. It claims the new finite owner assignment, the documented pattern-pricing search, and the inventory-specific ceiling certificate, not original authorship of E8, the k8 word, the sixteen-replica controller, or the admission machinery. + +* `../k8-eight-ends` supplies the unchanged endpoint word, local verification, and initial T8 owners. Its NOTICE.md credits PR1018's R480 k8 + seven-slot supplier, PR1030's rank-seven endpoint lead, PR864's frame model, and earlier owner research. +* CrocSwap/integer-mult-bounds PR1074, commit `052afc128954f7b6a2b3c409eb4d72248e4020f2`, supplies the consumed controller and strict admission sources. Every file under `vendor/pr1074` is byte-identical to that upstream commit and pinned in `UPSTREAM.json`. The original `UPSTREAM-NOTICE.md` is retained there. PR1074's owner research was contributed by jeremykothe2 with Claude Opus 5.5. +* The T16 controller, direct-sum parent, actual-window reconstruction, and independent checker originate in Hao Yan / FanPUYen's PR858, with subsequent PR870 and PR1074 adaptations. This package does not modify their checks. +* `independent/all_t_bound.py` adapts `../k8-coordinated-owners/independent/all_t_bound.py`, itself adapted from jon314159's PR942 certificate and chafreaky's PR795/890 signed dual prices. The two rational arithmetic engines are retained upstream code. +* The bit supplier remains the cited PR589 supplier. All analytic, compiler, boundary, common-label, hosting, and bit-supplier assumptions remain in force. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md new file mode 100644 index 0000000000..9f759cfade --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md @@ -0,0 +1,7 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +* `../k8-eight-ends` and `../k8-eight-ends-t16` supply the unchanged scalar word, endpoint construction, initial owner map, and pinned T16 controller. Their notices retain the PR1018, PR1030, PR864, PR858, PR870, PR1074, and earlier E8, k8, frame, owner, and bit-supplier credits. +* PR1111 by seslly / shipstuff, commit `381831ea554ea983e16224dabed8921b7d0ffdbc`, supplied the entrance-demotion lead: reversing a promotion can profitably trade wider helpers for a different recursive profile. Its README/PR claim was consulted; no PR1111 code or owner payload is consumed. This package instead screens all codimension-one subspaces of the six current dimension-five groups, composes three groups on the eight-endpoint word, and constructs its own complete T16 owner assignment. The older promotion mechanism is credited to PR664 and its descendants. +* The frame refit uses the preceding adaptation of PR864's complete frame model (navinor / Claude). Solver output is nomination data; independent native replay and unchanged global engines decide admission. +* The coordinated pattern-pricing search is retained from `../k8-eight-ends-t16`. Earlier owner algorithms and signed duals are credited in its notice. The bound adapts jon314159's PR942 certificate and chafreaky's PR795/890 prices, using the existing two rational arithmetic engines. +* The fresh native and global checks retain every inherited analytic, compiler, boundary, common-label, hosting, precision/tape, and bit H1–H5 assumption. This package does not claim original authorship of those constructions or an unconditional theorem. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py new file mode 100644 index 0000000000..4802312b52 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py @@ -0,0 +1,75 @@ +"""Fresh mixed local replay, deterministic owner reconstruction and strict admission. + +No allocation optimizer or discovery-mode controller runs. Outputs must be new +and outside the checkout. Optional cold PR799 reuse is independently rebound +with the retained maintainer checker and fixed stage/artifact coverage. +""" +import argparse,os,shutil,subprocess,sys,tarfile,time +from pathlib import Path +from common import P,ROOT,read,dump,sha,identity,load +import package + +ARCHIVE=ROOT/'research/community-frontier1042-audit/selected-replay.tar.gz' +ARCHIVE_SHA='22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754' + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work',type=Path,required=True) + ap.add_argument('--ancestry799',type=Path,help='Completed cold verify_frontier799.py output; all bindings and coverage are rechecked') + a=ap.parse_args();pins=package.validate();w=a.work.resolve() + assert not w.exists() and not w.is_relative_to(ROOT);w.mkdir(parents=True) + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',PYTHON=sys.executable) + for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) + steps=[] + def run(name,script,*args): + log=w/(name+'.log');start=time.monotonic() + with log.open('w')as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + steps.append(dict(name=name,exit_code=r.returncode,seconds=round(time.monotonic()-start,3),log_sha256=sha(log))) + dump(w/'STAGES.json',steps) + if r.returncode:raise RuntimeError(name+'\n'+log.read_text()[-5000:]) + print('PASS',name,flush=True) + assert sha(ARCHIVE)==ARCHIVE_SHA + baseline=w/'retained1042';baseline.mkdir() + with tarfile.open(ARCHIVE)as t: + for m in t.getmembers(): + assert (baseline/m.name).resolve().is_relative_to(baseline) and (m.isfile() or m.isdir()) + t.extractall(baseline,filter='data') + baseline=baseline/'slots/global';base=baseline/'global/base' + import build_word,controls,audit,prepare,controller,price + dump(w/'WORD-RECIPE.json',build_word.build(w/'FOUR-WORD.json.gz')) + providers={} + for pid,word in [('demote3',P/'vendor/pr1148/JOINT-WORD.json.gz'),('demote4',w/'FOUR-WORD.json.gz')]: + run('raw-'+pid,ROOT/'research/gauge44-slots/independent/audit_local.py','--word',word,'--main',ROOT,'--output',w/('RAW-'+pid+'.json')) + run('native-'+pid,P/'native.py',word,w/pid) + providers[pid]=w/pid/'local' + stages=read(w/pid/'STEPS.json') + assert [v['step']for v in stages]==['native','ledgers','local-replay','wrappers','phases'] and all(v['exit_code']==0 for v in stages) + assert read(providers[pid]/'FULL-WORD.json.gz')==read(word) + run('entrance-controls',P/'local_controls.py','--out',w/'ENTRANCE-CONTROLS.json') + run('owners',P/'construct.py','--parent',base/'split-centres/GLOBAL-TEMPLATE.json.gz', + '--word3',providers['demote3']/'CANONICAL-WORD.json.gz','--word4',providers['demote4']/'CANONICAL-WORD.json.gz','--out',w/'constructed') + assert read(w/'constructed/OWNERS.json.gz')==read(P/'data/OWNERS.json.gz') + controls.check(read(base/'split-centres/GLOBAL-TEMPLATE.json.gz'),{pid:read(d/'CANONICAL-WORD.json.gz')for pid,d in providers.items()},w/'FLOW-CONTROLS.json') + independent=audit.check(base,providers,w/'constructed/OWNERS.json.gz',w/'INDEPENDENT-OWNERS.json') + global_work=w/'t37';global_work.mkdir();prepare.prepare(global_work,baseline,providers) + run('parent',global_work/'adapted/check_parent.py','--source',base/'split-centres/GLOBAL-TEMPLATE.json.gz','--parent',global_work/'lift/GLOBAL-TEMPLATE.json.gz','--out',w/'PARENT-CHECK.json') + result=controller.replay(global_work,providers) + owner=read(global_work/'strict/global/audit/OWNERS-AND-PROFILE.json') + assert independent['actual_73_axis_charts']==owner['actual_73column_sigmas'] + prices=price.price(providers,w/'PRICE.json');assert prices['kappa']==result['kappa'] + ancestry=a.ancestry799.resolve()if a.ancestry799 else w/'ancestry799' + if not a.ancestry799:run('cold-ancestry799',ROOT/'scripts/verify_frontier799.py','--work',ancestry) + cover=load(ROOT/'research/complex-t21-owners/vendor/pr858/baseline_coverage.py','fixed_baseline_coverage').check(ancestry/'ancestor') + binding=load(ROOT/'scripts/verify_frontier799_bindings.py','cold_ancestry_bindings').check(ancestry/'ancestor',ancestry/'native',ancestry/'global',ancestry/'INDEPENDENT-LOCAL.json',ancestry/'INDEPENDENT-PRICE.json') + for rel in ('split-centres/GLOBAL-TEMPLATE.json.gz','split-centres/CANONICAL-WORD.json.gz','work/complex-nine-native/DATA-PHASES.json'): + assert read(base/rel)==read(ancestry/'global/global/base'/rel),'Cold ancestral parent binding: '+rel + asm=read(global_work/'strict/ASSEMBLY.json');old=read(ancestry/'global/ASSEMBLY.json') + assert asm['bit_lower']==old['bit_lower'] and asm['bit_supplier']==old['bit_supplier'] + dump(w/'ANCESTRY.json',dict(reused=bool(a.ancestry799),coverage=cover,binding=binding,archive_sha256=ARCHIVE_SHA)) + assert package.validate()==pins,'Sources changed during verification' + result.update(status='PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION',source_pins=pins, + native_providers=2,entrance_controls=11,flow_controls=8,independent_owner_controls=8, + ancestry_sha256=sha(w/'ANCESTRY.json'),price_sha256=sha(w/'PRICE.json'),steps=steps) + dump(w/'RESULT.json',result) + print(result['status'],result['kappa_decimal'],flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py new file mode 100644 index 0000000000..178a101173 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py @@ -0,0 +1,51 @@ +"""Finite mixed-provider replay; exact inherited theorem obligations remain conditional. +Default: sequential fresh native replays. Explicit native reuse validates word and stage bindings. +""" +import argparse,gzip,hashlib,json,os,shutil,subprocess,sys,tarfile,time +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--work',type=Path,required=True);ap.add_argument('--base-native-from',type=Path);ap.add_argument('--extra-native-from',type=Path);a=ap.parse_args();work=a.work.resolve();assert __debug__ and not work.exists() and not work.is_relative_to(P) +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +pins=rd(P/'MANIFEST.json');actual={x.relative_to(P).as_posix() for x in P.rglob('*') if x.is_file() and '__pycache__' not in x.parts and x!=P/'MANIFEST.json'};assert actual==set(pins) +for rel,h in pins.items():assert sha(P/rel)==h,rel +work.mkdir();layout=work/'layout';layout.mkdir();tmp=work/'tmp';tmp.mkdir();env=dict(os.environ,TMPDIR=str(tmp),PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0') +for k in ('PYTHONOPTIMIZE','WITNESS_SPEC','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(k,None) +with tarfile.open(P/'upstream-layout.tar.gz') as t: + for m in t.getmembers():assert m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + t.extractall(layout,filter='data') +M=layout/'globalmix51';M.mkdir();data=M/'candidate';data.mkdir();SRC=layout/'joint1148-round45/source' +for name in ('replay.py','freeze_spec.py','audit_mixed.py','independent_core.py'):shutil.copy2(P/name,M/name) +for name in ('PLAN.json','SPEC.json','PROFILE.json','OWNERS.json.gz','DISPATCH.json','CONSTRUCTION.json','GLOBAL-TEMPLATE.json.gz'):shutil.copy2(P/name,data/name) +stages=[] +def run(name,script,*args): + start=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=layout,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,seconds=time.monotonic()-start,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +for key,name in [('base','gauge44-word.json.gz'),('extra','extra-word.json.gz')]: + run('literal-word-'+key,P/'build_word.py','--base',P/'inputs'/(key+'.json.gz'),'--recipe',P/('RECIPE-'+key+'.json.gz'),'--out',work/('rebuilt-'+key+'.json.gz')) + assert gzip.decompress((work/('rebuilt-'+key+'.json.gz')).read_bytes())==gzip.decompress((P/name).read_bytes()) +natives={} +for key,word,reuse in [('base',P/'gauge44-word.json.gz',a.base_native_from),('extra',P/'extra-word.json.gz',a.extra_native_from)]: + run('independent-local-'+key,SRC/'research/gauge44-slots/independent/audit_local.py','--word',word,'--main',SRC,'--output',work/('INDEPENDENT-LOCAL-'+key+'.json')) + run('fusion-controls-'+key,P/'controls.py','--main',SRC,'--sites',P/('CONTROL-SITES-'+key+'.json'),'--word',word,'--out',work/('FUSION-CONTROLS-'+key+'.json')) + assert len(rd(work/('FUSION-CONTROLS-'+key+'.json'))['rejected'])==10 + run('x54-controls-'+key,P/'x54_controls.py','--main',SRC,'--recipe',P/'MAPPED-RECIPE.json','--word',word,'--out',work/('X54-CONTROLS-'+key+'.json')) + assert len(rd(work/('X54-CONTROLS-'+key+'.json'))['rejected'])==4 + run('kernel543-controls-'+key,P/'kernel543_controls.py','--word',word,'--main',SRC,'--out',work/('KERNEL543-CONTROLS-'+key+'.json')) + run('kernel-controls-'+key,P/'kernel_controls.py','--word',word,'--main',SRC,'--out',work/('KERNEL-CONTROLS-'+key+'.json')) + run('leaver-premise-'+key,P/'premise/premise_check.py',word) + native=reuse.resolve() if reuse else work/('native-'+key) + if not reuse:run('fresh-native-'+key,SRC/'research/k8-eight-ends/replay_native.py',word,native) + assert gzip.decompress((native/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress(word.read_bytes()) + steps=rd(native/'STEPS.json');assert [x['step'] for x in steps]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in steps) + natives[key]=native +run('literal-construct',P/'construct.py','--parent',data/'GLOBAL-TEMPLATE.json.gz','--word3',natives['base']/'local/CANONICAL-WORD.json.gz','--word4',natives['extra']/'local/CANONICAL-WORD.json.gz','--out',work/'constructed') +for name in ('OWNERS.json.gz','DISPATCH.json'): + decode=lambda p:json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) + assert decode(work/'constructed'/name)==decode(P/name),name +assert rd(work/'constructed/CONSTRUCTION.json')['idle']==rd(data/'CONSTRUCTION.json')['idle'] +shutil.copytree(natives['extra'],M/'native-extra') +run('strict-global',M/'replay.py','--data',data,'--work',work/'strict','--local',natives['base']/'local') +r=rd(work/'strict/RESULT.json');assert r['status']=='PASS_STRICT_MIXED_T37_ENTRANCES' and r['kappa']==rd(P/'CLAIM.json')['kappa'] +result=dict(status='PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION',kappa=r['kappa'],kappa_decimal=r['kappa_decimal'],parent_geometry_reuse=True,base_native_reuse=bool(a.base_native_from),extra_native_reuse=bool(a.extra_native_from),kernel_controls=24,inherited_kernel543_controls=12,flow_controls=8,fusion_controls=20,x54_controls=8,leaver_premise_words=2,admission_controls=114,bit_controls=12,controller_controls=15,independent_owner_controls=8,outer_inequalities=47,stages=stages,scope=rd(P/'CLAIM.json')['scope']);(work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n');print(result['status'],result['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py new file mode 100644 index 0000000000..e80ee4b552 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py @@ -0,0 +1,29 @@ +"""Four direct X54 failure controls on each final refitted word, using the unchanged local auditor.""" +import argparse,copy,gzip,hashlib,json,subprocess,sys,tempfile +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));rc=json.loads(a.recipe.read_text());audit=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(section,gate): + ids=[i for i,g in enumerate(section) if g[:-1]==gate[:-1]];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'WORD.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(audit),'--word',str(p),'--main',str(a.main),'--output',str(d/'AUDIT.json')],capture_output=True,text=True);return r.returncode,(r.stdout+r.stderr) +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='x54-controls-') as tmp: + d=Path(tmp);code,msg=check(w0,d);assert code==0,('honest',msg[-1000:]);mutants={} + w=copy.deepcopy(w0) + for gate in rc['cleanup_prepend']: + ci=locate(w['cleanup'],gate);assert all(i!=ci for i,U in w['early_cleanup']);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup']] + mutants['drop_full_restore']=(w,'all-column endpoint failure') + w=copy.deepcopy(w0) + for pos,gate in rc['tail_insert']: + ci=locate(w['cleanup'],gate);assert sum(i==ci for i,U in w['early_cleanup'])==1;w['early_cleanup']=[[i,U] for i,U in w['early_cleanup'] if i!=ci];w['cleanup'][ci][-1]=[1<=di and e[0]=='add' and 112<=e[1]<224 and e[2]==g[1]);w['B'].insert(ri+1,g) + mutants['move_donation_after_read']=(w,'nonzero entrance response');rejected=[] + for name,(word,expected) in mutants.items(): + code,msg=check(word,d);assert code!=0 and expected in msg,(name,code,msg[-1200:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_FINAL_WORD_X54_CONTROLS',honest='PASS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md new file mode 100644 index 0000000000..abdd30cc1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md @@ -0,0 +1,190 @@ +# Independent algebraic-coefficient and stability transfer lemma + +This note uses no claimed finite certificate from any particular matrix multiplication paper. It isolates what follows from an exponent bound alone, including effectiveness and ordinary bit complexity. + +## Statement + +Let `omega_C` be the matrix multiplication exponent over the complex numbers. Suppose + +\[ +\omega_{\mathbb C}<\tau, +\] + +where `tau > 2` is a fixed rational number. There is a single, uniform algorithm, with a fixed finite description, with the following properties. + +* Its recursive block multiplication uses a fixed finite bilinear formula whose coefficients are computable algebraic complex numbers. +* Given two `W` by `W` complex dyadic matrices with component magnitudes at most `2^h`, it computes their product with maximum entrywise absolute error at most `2^{-p}` in + +\[ +O\!\left(W^\tau M(p+h+\log(W+1))\right) +\] + +bit operations. Here `M(t)` is a regular integer multiplication bound: `M(t) >= t`, `M(Ct)=O_C(M(t))` for fixed `C`, and precision doubling sums to `O(M(t))`. All constants can depend on the chosen fixed block formula. +* If the input encoding has `h = O(p)`, this is + +\[ +O\!\left(W^\tau M(p+\log(W+1))\right). +\] + +If also `log W = O(p)`, it is exactly `O(W^tau M(p))`, without a suppressed logarithmic factor. In particular this holds for `W = Theta(sqrt(p))`. + +The strict exponent slack is essential to this statement: an exponent infimum does not by itself supply a finite scheme attaining that infimum. If a source proves `omega_C <= 9/4`, one may take any fixed rational `tau` with `9/4 < tau < 5/2`, for example `tau = 19/8`. + +The proof below also gives an exponent strictly below a specified threshold from only the promise that `omega_C` is below that threshold. It does not give useful numerical constants or an efficient way to discover the block formula. + +## 1. A finite exact bilinear formula exists with exponent slack + +Write `R(b)` for the exact complex tensor rank of `b` by `b` matrix multiplication. Use the usual equivalent definition + +\[ +\omega_{\mathbb C}=\inf_{b\ge2}\log_b R(b). +\] + +Thus some fixed integers `b >= 2` and `r` satisfy + +\[ +R(b)\le r= 2`, `r >= 1` satisfying `r < b^tau`; +2. finite encoded algebraic tuples of the required length; +3. exact tests of all rank equations. + +For rational `tau=a/d`, the first comparison is the integer comparison `r^d < b^a`. The search halts under the stated exponent promise, by Sections 1 and 2. Its output supplies the single fixed block formula. This search may be extremely expensive, but its cost is an absolute constant independent of `W,p,h`, so including it does not change the asymptotic bound. The same result can be phrased by fixing the first successful tuple once and for all. + +For just the promise `omega_C < 5/2`, search using `r^2 < b^5`. Upon success choose a rational `sigma` with + +\[ +\max\{2,\log_b r\}<\sigma<5/2. +\] + +The resulting algorithm has exponent at most `sigma < 5/2`. Thus one need not know a numerical gap in advance to obtain a uniform algorithm below the threshold. A practical certificate or practical constant is a separate issue. + +## 4. Each fixed algebraic coefficient has an ordinary `O(M(q))` precision algorithm + +Every chosen coefficient has a fixed minimal polynomial and a fixed isolating region. In characteristic zero its minimal-polynomial root is simple. Fix a rational starting approximation in a sufficiently small Newton convergence neighborhood. Newton iteration with successively doubled precision computes the root to absolute error `2^{-q}` with `O(M(q))` bit operations. + +The polynomial degree, coefficient heights, root separation, initial precision, and bounds on the derivative and its reciprocal are all fixed constants here. Polynomial evaluation, complex division, and the finite number of operations per Newton step cost `O(M(t))` at precision `t`; the usual precision-doubling sum is `O(M(q))`. This is not a claim uniform in algebraic degree or height. + +There are only finitely many block coefficients. Compute their dyadic approximations once at the precision needed for the current multiplication, and reuse them at all recursive nodes. This costs `O(M(q))` total, with a formula-dependent constant, rather than a logarithmic factor per scalar operation. + +## 5. Recursive arithmetic work + +Pad the matrices with zeros to size `N=b^L`, where `W <= N < bW` (and handle `W=1` directly). At each node, form the fixed `r` input linear combinations, recursively multiply the corresponding submatrices, and form the fixed output linear combinations. + +The arithmetic operation count satisfies + +\[ +T(N)\le rT(N/b)+O(N^2). +\] + +Let `rho=log_b r`. If `rho>2`, this is `O(N^rho)`; if `rho=2`, it is `O(N^2 log N)`; and if `rho<2`, it is `O(N^2)`. Every case is `O(N^tau)` because `rho2`. In particular the possible equality case `r=b^2` creates no extra factor in the advertised bound: its logarithm is absorbed by the fixed exponent slack. + +One could instead tensor a fixed formula a fixed number of times and add a zero product to arrange `b^2 < r < b^tau`, obtaining an exact recursion exponent `rho` strictly between two and `tau`. This refinement is unnecessary for the advertised `O(W^tau)` conclusion. + +## 6. Fixed-point roundoff grows only polynomially in the dimension + +Use fixed-point complex arithmetic with `q` fractional bits, round after scalar products, and use dyadic block coefficients whose absolute errors are at most + +\[ +\epsilon=2^{-q}. +\] + +Complex arithmetic introduces only absolute constant factors. Additions may be done exactly on this fixed grid; allowing an additional absolute error `O(epsilon)` after an addition also satisfies the following bounds. + +For a multiplication node with remaining depth `d`, let `a,beta >= 1` bound the maximum absolute entries of its two inputs. There is a fixed constant `K`, depending only on the block formula, such that the computed result obeys + +\[ +\|\widehat T_d(A,B)-AB\|_{\max} +\le \epsilon E_d a\,\beta, +\qquad +E_d\le K E_{d-1}+K b^{d-1},\quad E_0\le K. +\] + +Here the symbol `b` in `b^{d-1}` is the fixed block dimension; `beta` is the second input bound. + +To verify the recurrence, every local input linear combination has fixed length and fixed coefficients. Its rounded value differs from its exact value by at most `c epsilon a` or `c epsilon beta`, and its size is at most `S a` or `S beta`, for fixed `c,S`. Applying the inductive child bound therefore contributes at most + +\[ +c\epsilon E_{d-1}a\beta. +\] + +Perturbing the two child inputs in their *exact* matrix product contributes at most + +\[ +c\epsilon b^{d-1}a\beta, +\] + +because each entry of that child product sums `b^{d-1}` scalar products. Finally, the output reconstruction has fixed length and fixed coefficients. Propagation through its exact coefficients is a fixed factor; coefficient approximation and reconstruction rounding contribute at most + +\[ +c\epsilon\bigl(b^{d-1}+\epsilon E_{d-1}+1\bigr)a\beta. +\] + +For `epsilon <= 1`, all these terms have the stated recurrence after enlarging `K`. Taking `K >= 2b` gives `E_d <= C K^d` for a fixed `C`. Thus at the root + +\[ +\|\widehat T_L(A,B)-AB\|_{\max} +\le C\,2^{-q}K^L a\beta +=2^{-q}N^{O(1)}a\beta. +\] + +For root input magnitude at most `2^h`, take `a=beta=max(1,2^h)` and choose + +\[ +q=p+2\max(h,0)+\lceil L\log_2K\rceil+O(1). +\] + +The final absolute error is then at most `2^{-p}`. + +There is also no hidden exponential-in-precision magnitude growth. Along a path, each preprocessing step multiplies a magnitude envelope by a fixed `S`. A node at depth `t` therefore receives inputs bounded by `S^t a` and `S^t beta`. Its computed output is bounded by its exact product size plus the proved error: + +\[ +\bigl(b^{L-t}+\epsilon C K^{L-t}\bigr)S^{2t}a\beta. +\] + +Local scalar products and partial sums obey the same bound up to fixed factors. All intermediate magnitudes are consequently `N^{O(1)} max(1,2^{2h})`. Only `O(h+log N)` integer bits are needed. The total working bit width is therefore `O(p+h+log N)`. + +The polynomial error estimate exploits the structure of a bilinear recursion: linear preprocessing, one variable-by-variable scalar product at a leaf, and linear reconstruction. Bounding an arbitrary multiplication by the largest intermediate magnitude at every level would give an unnecessarily pessimistic estimate and is not the argument used here. + +## 7. Bit complexity and scope + +Every scalar operation uses `O(p+h+log W)` bits and costs `O(M(p+h+log W))`. Multiplying by the `O(W^tau)` arithmetic operation count proves the statement. Padding, input conversion, output rounding, and storage of the fixed coefficient approximations fit the same bound. + +The result supplies absolute accuracy. It does not promise small relative error in entries canceled nearly to zero. It applies to arbitrary fixed finite complex bilinear formulas; large fixed coefficient heights or norms worsen only the constants and the fixed multiple of `log W` in the precision requirement. + +An exponent theorem alone therefore suffices for computable, stable approximate multiplication with any fixed strictly larger exponent. It does not justify using the exact infimum exponent without slack, treating a varying family of coefficients as fixed, or claiming a concrete efficient implementation without constructing its constants. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md new file mode 100644 index 0000000000..5cad6ee19f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md @@ -0,0 +1,131 @@ +# Bilateral Gaussian LDU and a fixed-width periodic inverse bound + +Independent audit of the parent's infinite-LDU observation. This is an analytic norm theorem. It does **not** assert that the bilateral factors already have a fully priced fast implementation. + +## Statement + +Let `1=1`, define on Z + +`G_ij=exp(-a[(rho*j-q_i)^2-beta_j^2])`. + +Let `r=exp(2a rho)` and `c=prod_(m>=1)(1-r^-m)>0`. Then G has an exact factorization on bounded bilateral sequences + +`G=L C U`, + +where L is unit lower triangular, U is unit upper triangular, C is diagonal, and all factors and their inverses are bounded. Moreover all six factors are invariant under simultaneous index translation by s. Their periodizations therefore factor the periodic Gaussian matrix N, and + +`||N^-1||_infinity <= c^-4 exp(a/2)/(1-exp(-a rho theta))^2`. + +In particular, at the fixed choice `a=1`, + +`||N^-1||_infinity < 16 theta^-2`. + +Any fixed a>=1, including a=4pi if an integer alpha>=2 is retained, gives a constant times theta^-2. No lower bound proportional to log(1/theta) on a is needed for this norm theorem. + +## 1. Finite-origin factorization and the shift correction + +Write `x_i=r^q_i`, `d_i=exp(-a q_i^2)`, and `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Then `G_ij=d_i x_i^j e_j`, including negative indices, and `d_i x_i^i e_i=1`. + +For a finite square principal interval `[l,r0]`, the Vandermonde powers must begin at zero. The correct shifted row diagonal is **d_i x_i^l**, and the power is `j-l`. This removes a possible erroneous origin-dependent diagonal from the upper factor. + +Put + +`C_i(l)=prod_(l<=k=j`, + +`U^l_ij=(e_j/e_i) h_(j-i)(x_l,...,x_i)`, `j>=i`. + +Here h is the complete symmetric polynomial, h_0=1. Upper and lower inverses are + +`(U^l)^-1_ij=(-1)^(j-i)(e_j/e_i) e_(j-i)(x_l,...,x_(j-1))`, + +`(L^l)^-1_ij=(-1)^(i-j) exp(E_ij) C_i(l)/(C_j(l) D_ij)`, + +where + +`D_ij=prod_(j=j`, + +`|(U^l)^-1_ij|<=c^-1 exp(a/4) exp(-a rho theta(j-i))`, `j>=i`. + +Both use only `-1/2<=beta_k<1/2`. Thus their row norms are at most the corresponding constants divided by `1-exp(-a rho theta)`, uniformly in l and the finite size. + +The row sum of G is uniformly finite, since + +`G_i,i+h <= exp(a/4) exp(-a(rho*|h|-1/2)^2)`. + +The same positive Gaussian bound controls all finite-origin L and U factors. + +## 3. Letting the left origin tend to minus infinity + +For fixed i,j, C_i(l) converges to + +`C_i=prod_(k(i+s,j+s)`. Every displayed factor has the same invariance: ratios `x_k/x_i` are preserved, and the Gaussian/prefix expressions shift together. C_i is s-periodic. + +For an invariant matrix A with bounded absolute row sums, set + +`Pi(A)_ij=sum_(n in Z) A_(i,j+ns)`, `0<=i,j=e^2>7, and the elementary product bound gives `c>=1-sum_(m>=1)r^-m>5/6`. Also `1-exp(-rho theta)>=theta/2` for 04W, choose + +`B=min(Bcap, 2^floor(log2(R-W)))`, + +retain the next B vertices as an interior, then the next W vertices as boundary, and decrement R by B+W. Declare the final R<=4W vertices boundary. + +There are `O(L/Bcap+log Bcap)` interiors: while the cap is active, each step removes at least Bcap vertices; after it ceases to be active, the remaining length halves at each step. Every interior length is dyadic and at most Bcap. Every interior produced by the loop is longer than W; two successive interiors are separated by at least W retained coordinates. + +Total boundary count per original cell is + +`O(W(L/Bcap+log Bcap))`. + +Since original cell lengths are Theta(d), total boundary density is + +`O(W/Bcap + W log Bcap/d)=O((W/Bcap) polylog p)` + +when Bcap<=d. The same selected-input and target-output physical period cuts must be preserved. A clipped endpoint cell of O(W) length is wholly boundary. + +Interior elimination only fills between the adjacent boundary groups of one interior. Each group has O(W) vertices: inserted groups have W; an end remainder has at most 5W after joining the reserved end. Hence scalar Schur half-bandwidth remains O(W), independently of the cap and the number of pieces. No retained matrix coefficient is changed by this new partition. + +## 2. Narrow Gaussian: exact recentering of the existing rounded weights + +In one original phase cell, beta_i=theta*i-c and + +`log a_i=-a(1/4-beta_i^2)/theta`. + +For any two coordinates i,j in that same cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Since both beta values lie in [-1/2,1/2), + +`|log(a_i/a_j)|<=a|i-j|`. + +Thus a capped interior of at most Bcap vertices has ideal weight range at most exp(a Bcap), even when the absolute full-cell gauge has range exp(O(ad)). + +The actual matrix uses already-rounded positive weights ahat_i. Suppose, as ensured by the retained high-precision setup, + +`(1-epsilon) a_i <= ahat_i <= a_i`, with epsilon<=1/2. + +Then for an anchor m in the capped interior, + +`(1-epsilon) exp(-a Bcap) <= ahat_i/ahat_m` + +` <= exp(a Bcap)/(1-epsilon)`. + +Replacing ahat_i by `ahat_i/ahat_m` in both diagonal factors of + +`A=diag(ahat) Ghat diag(ahat)^-1` + +is **exact**. It changes neither A nor the fixed globally rounded H. These ratios must be formed in coefficient setup; the data circuit must not apply the full-cell diagonal and hope to cancel it later. One may anchor at the maximum ahat in the piece to make the direct diagonal contractive and its inverse at most `2 exp(a Bcap)`. + +The old setup provides absolute error below `4*2^-P` and ideal minimum at least exp(-a/(4theta)). It suffices that + +`4*2^-P exp(a/(4theta)) <= epsilon`. + +In the retained family a=Theta(log p), theta^-1=O(d), d=p^epsilon0 with fixed epsilon0<1, so ad=o(p). The existing P=Cp setup precision easily gives epsilon<=2^-cp. The **ad cost occurs in offline coefficient accuracy**, not in the runtime norm of the recentered diagonal. It is not multiplied by the number g of simultaneously executed axes. More explicitly, if the raw relative error is delta0<=4*exp(a/(4theta))*2^-P, then an anchored ratio has relative error at most 2delta0/(1-delta0). A g-fold product of anchored diagonals has error bounded by a polynomial factor times g*delta0*exp(O(g*a*Bcap)). Thus the needed precision is P>=p+O(ad+g*a*Bcap+log g+polylog p), rather than p+O(g*a*d). Both added power terms are o(p) in the proposed parameter family. + +## 3. Broad forward Gaussian: local gauges + +Use the target-grid notation from FORWARD-SMALL-A-AUDIT.md. With lambda=1/rho, b0=pi/alpha^2, original phase c, and an anchor m in the capped interior, + +`delta=(1-lambda)m-c`, `x=i-m`, `y=k-m`. + +The exact split is + +`Dcol(i)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(k)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`, + +with a fixed Toeplitz kernel `exp[-b0 lambda(i-k)^2]`. + +Throughout the original selected-target phase cell, `beta'_i=theta*i-rho*c` lies in [-1/2,1/2). Therefore + +`d(log Dcol)/di = -2 b0 lambda beta'_i`, + +`d(log Drow)/dk = 2 b0 lambda^2 beta'_k`. + +Their absolute slopes are at most b0 and b0 respectively. Both diagonal logarithmic ranges on the capped block are at most `b0 Bcap`. At the anchor, Dcol=1 and Drow=alpha^-1 exp(-b0 delta^2), so their absolute values also have logarithmic size `O(b0 Bcap+log alpha)`. + +If a globally rounded broad block was already defined using a different anchor, use exact constant ratios to recenter its two diagonals: divide the column diagonal by its value at m and multiply the row diagonal by the same value. Ideal changes of anchor differ only by reciprocal constants, since the derivatives above are independent of m. Uniform relative coefficient error changes the range by only O(1), just as in the narrow case. This preserves the already-defined rounded block exactly. Alternatively the broad block can be initially defined with the capped anchor, using one globally specified rounding construction. + +Holes remain boundary. The completed narrow and broad interior inverse bounds and the completed global/Schur norm bounds proved earlier do not depend on the cap: every new interior is still a contiguous principal block of the same original phase matrix. + +## 4. Group guard and circuit count + +Each capped narrow diagonal contributes at most `a Bcap+O(1)` to the logarithmic norm; the broad contribution `O(Bcap/alpha^2+log alpha)` is smaller. Shallow Toeplitz circuit amplification contributes polylog(p) per axis. The number of capped blocks per line does not multiply these bounds: they are disjoint direct-sum blocks and their circuits run in parallel, padding completed smaller circuits with identity gates. + +Consequently g simultaneously executed axes require + +`O(g a Bcap + g polylog p)` + +extra logarithmic precision. With `Bcap<=p^b`, `g<=p^beta`, a=Theta(log p), and beta+b=1-r-zeta with r,zeta>0, + +`g a Bcap=O(p^(1-r-zeta) log p)=o(p)`. + +In particular no remaining full-cell term g*a*d may be charged after exact recentering. Offline accuracy still needs to dominate ad=o(p), as above. + +## 5. Schur solves and whole-group ordering + +For the narrow matrix, strict row dominance is inherited by any interior elimination, so all completed Schur and inverse norms remain polynomial under the cap. + +For the broad matrix, completed Schur/inverse norms follow from the square identity-hole completion and polynomial principal-interior bounds in FORWARD-SMALL-A-AUDIT.md. To obtain uniform norms for a banded online factorization, eliminate **whole boundary groups** of W to O(W) vertices, rather than appealing without proof to scalar prefixes inside one group. + +After all interiors and a prefix of whole boundary groups are eliminated, the eliminated set is a direct sum of one physical contiguous prefix and disjoint future interiors: each remaining full group contains at least W uneliminated coordinates, blocking every width-W connection across it. The same holds after adding the next whole group. A physical prefix reduces, under selected/hole ordering, to the small-b normalized Gaussian block plus identity hole columns, so it has polynomial inverse norm. Each future interior also has polynomial inverse norm. Thus every required eliminated-set inverse is polynomial, uniformly in the number of pieces. + +At the final group on a full periodic line, use the already-established full periodic H inverse bound instead of a nonperiodic-prefix bound. For a clipped principal window the complement-gap condition excludes wrap edges, so the prefix statement applies directly. Each block pivot inverse is a principal block of the inverse after adding that group. Block Schur entries are bounded by `H+H H_EE^-1 H`, hence polynomial. There are only O(1) neighboring boundary groups in a band row. The resulting block-L and block-U norms are polynomial; their full inverses are polynomial as well, from `L^-1=U S^-1` and `U^-1=S^-1 L`. A scalar expansion inside a group is unnecessary: precompute its dense O(W)-square inverse and apply the block updates to batches by Strassen. + +This whole-group order prevents the subtle gap in which a partially consumed separator of fewer than W vertices permits a connection to the next interior. It preserves the claimed batched boundary exponent and is unaffected by capped subdivision. + +## Scope + +The capped local-gauge change is valid. The listed exact controls check carving, analytic slope identities and preservation of the already-rounded narrow matrix. The final recurrence arithmetic and tensor routing remain separate reviewed components. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md new file mode 100644 index 0000000000..62c3fa27b6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md @@ -0,0 +1,72 @@ +# Conditional refinement: cap interior length independently of d + +This is a separate follow-up to the uncapped proof audit. Its current status is **PASS_CONDITIONAL_PHASE_FUSION_REVIEW**, following the independent capped-gauge and capped-layout audits and an integrated root review. It preserves the weaker `OUTER-ARITHMETIC.json` as history. Under the retained supplier assumptions and the reviewed interfaces, the capped construction below gives `kappa=0.001672922349588871`. The only new analytic change is the anchored O(aB) local gauge; all altered operation counts are derived explicitly here. No upstream selected certificate is changed. + +Let the original phase-cell scale remain `d=p^epsilon`, and cap dyadic interior lengths at `B=2^floor(b log2 p)`, where `1/20. The supplier support proof needs each individual K-neighborhood to fit its original axis and total moved support o(p); it does **not** require all g controls to fit within one original axis. The sufficient auxiliary inequality `beta<1-epsilon` in the uncapped ledger must therefore be removed in this follow-up. + +The changed principal exponents, normalized by V, are + +| Component | exponent | +|---|---:| +| main transform | `1-epsilon*q` | +| fused Gaussian circuits | `epsilon-q*beta` | +| boundary algebra | `epsilon-b+(omega-1)/2` | +| sparse union movement | `epsilon+beta+1/2-b` | +| grouped scans | `epsilon-beta` | + +For the boundary row, one axis has O(V W/B) boundary records. A band solve or coupling product on W simultaneous right-hand sides costs O(W^(omega-2)) per boundary record, so all d axes cost `O(V (d/B) W^(omega-1) polylog p)`. The new factor d/B must not be omitted. For the sparse union, its fraction within a group is O(gW/B polylog p); g sequential axis operations and d/g groups give `O(V (dg/B) W polylog p)`. These are precisely the third and fourth changed rows. + +All other costs in `OUTER-AUDIT.md` remain paid. Global routing has saving a_eff; packed polynomial products have saving epsilon. Even a conservative full active-group key surcharge adds only `beta+1-epsilon` to the union exponent. Sparse core-face corrections have exponent at most `epsilon+beta-3`, using the former p² per-record allowance on their O(gA/L) copied volume. + +With the rational bound omega<45/16, put c=(3-omega_upper)/2=3/32 and take a positive boundary slack s_boundary=10^-5. Balancing the two dominant rows while leaving that boundary slack gives + +``` +epsilon=(1+q+q*(c-s_boundary-r-zeta))/(1+q)^2, +b=epsilon*(1+q)-c+s_boundary, +beta=1-b-r-zeta, +kappa_limit=epsilon*q. +``` + +Using the same q, r and zeta as the uncapped candidate yields approximately + +``` +epsilon = 0.9984838711085557536432677624420451614... +b = 0.9064167934681446247757331487619919695... +beta = 0.0935821965318553752242668512380080305... +kappa_limit = 0.0016729223595888711324653863199468081... +kappa = 0.001672922349588871 +``` + +The boundary saving equals `kappa_limit+10^-5`. The union movement exponent is below 0.686, and even its optional full-key surcharge leaves it below 0.781. The per-record phase metadata exponent `beta+2(1-epsilon)` is below 0.097, so calculating all g membership predicates remains cheaper than scanning one p-bit record. Core-face repair costs remain negligible at L=p^8. + +The common compiled H calls are still made globally across complete coarse-label ranges. Each selected bit needs only its own K=128G neighborhood to fit its original axis. Since `1-epsilon>0`, this holds eventually even though gK is larger than one axis width. The total support is O(g polylog p)=o(p), because beta<1. All support-router reservoirs, product row stock and exact endpoint restoration are those of the independently audited supplier. + +At the displayed parameters, `b>1/2`, `epsilon>b`, `beta>0`, `epsilon>beta`, `1-b-r-beta=zeta>0`, and `1-epsilon-r>0`. These respectively pay the wide-band separation, cap below original cell scale, growing group payload, number of groups, compiled local-gauge precision, and global gamma/rounding range. The raw global rounded weights may still have O(ad) logarithmic range during offline generation. The **data** only sees exact anchored ratios of range O(aB); approximating those ratios to the retained precision introduces `exp(o(p))` error amplification, already paid by the strict group guard. + +The assembled group endpoints are the same full normalized Haug inverse or Saug/4 operators as in the uncapped proof. Changing the interior partition changes only their factorization. It does not change their completed contraction bounds, intended zero-hole semantics, principal-core locality, or the final `2^D` scale compensation. Consequently the uncapped precision and error argument applies with the improved group gauge budget. + +`check_capped_outer.py` computes 44 exact positive slacks, every displayed cost margin, and five rejecting controls. The full-cell-gauge control is especially relevant: it fails, so the stronger result depends on the independently reviewed anchored-gauge proof. The local review retains the original supplier and all-size conditional assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..56c871f4f3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json @@ -0,0 +1,388 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "scope": "Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.", + "review": { + "integrated_review": "Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.", + "independent_cap_gauge": "CAPPED-GAUGE-AUDIT.md", + "independent_cap_layout": "CAPPED-SIGNOFF.md", + "supplier_support": "SUPPLIER-SUPPORT-AUDIT.md" + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_boundary": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "capped_block_power": { + "rational": "3631741843538363603786961767383/4006701850307232414091700000000", + "decimal": "0.90641679346814462477573314876199196952827856807257517068829472760" + }, + "beta_group": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "c_boundary": { + "rational": "3/32", + "decimal": "0.09375" + }, + "kappa": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "group_bit_router": { + "rational": "268565263693445502595657234197195111684434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223642679809590581550811601506812813875517947775721171084429" + }, + "group_scans": { + "rational": "152667615602647020756995267555861382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.095098325423299621580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra": { + "rational": "270170628914002673224188597080315522300507800685211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016829223595888711324653863199468081193809860282087059757458669773" + }, + "sparse_union_movement": { + "rational": "50464795843106818372778537326217184169040543916310211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.31435072582773349590819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key": { + "rational": "878478998384747396741111767383/4006701850307232414091700000000", + "decimal": "0.21925240040443387432719944628597590858483570421772551206488418280" + }, + "polynomial_products": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections": { + "rational": "4668298183036122054984246889917045528294403556/1605365971725539986393675267555861382073600889", + "decimal": "2.9079339323595888711324653863199468081193809860282087059757458670" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "epsilon_below_one": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "capped_block_above_band": { + "rational": "1628390918384747396741111767383/4006701850307232414091700000000", + "decimal": "0.40641679346814462477573314876199196952827856807257517068829472760" + }, + "capped_block_below_cell": { + "rational": "14780135356012934699216517036255884934639500533689789/160536597172553998639367526755586138207360088900000000", + "decimal": "0.092067077640411128867534613680053191880619013971791294024254133023" + }, + "group_positive": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "group_below_dimension": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "support_router_span": { + "rational": "36317458903072324140917/40067018503072324140917", + "decimal": "0.90641780346814462477573314876199196952827856807257517068829472760" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "decimal": "0.0015151288914442463567322375579548385911024179556335352874511393772" + }, + "actual_logarithmic_gamma_guard": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "membership_arithmetic_fits_record": { + "rational": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889", + "decimal": "0.90338554568525613206226867364608229234607373216130810011339244885" + }, + "microbox_halo_volume": { + "rational": "196585532915361620704585/40067018503072324140917", + "decimal": "4.9064178034681446247757331487619919695282785680725751706882947276" + }, + "boundary_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "short_record_fallback": { + "rational": "64009691972259592449574424556617076733497945671686139566638347524787/64214638869021599455747010702234455282944035560000000000000000000000", + "decimal": "0.99680840848174765012034276244204516140889758204436646471254886062" + }, + "improvement": { + "rational": "262152511953/1000000000000000000", + "decimal": "2.62152511953E-7" + }, + "main_transform_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "101611088769300917/40000000000000000000000", + "decimal": "0.000002540277219232522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "group_bit_router_above_kappa": { + "rational": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.4679109959058155081160150681281387551794777572117108442914158359E-11" + }, + "group_scans_above_kappa": { + "rational": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.093425403073710750580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.000010000010000000132465386319946808119380986028208705975745866977329" + }, + "sparse_union_movement_above_kappa": { + "rational": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.31267780347814462490819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key_above_kappa": { + "rational": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "decimal": "0.21757947805484500332719944628597590858483570421772551206488418280" + }, + "polynomial_products_above_kappa": { + "rational": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.99681094875896688264326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections_above_kappa": { + "rational": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "2.9062610100100000001324653863199468081193809860282087059757458670" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_boundary_slack": { + "boundary_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-251710882294553122358948322009002986896953538037431690106319/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "-0.00015679345814462464326776244204516140889758204436646471254886062281" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-147801337506469629736765306425806173787781184600889/1605365971725539986393675267555861382073600889000000", + "decimal": "-0.092067067640411128867534613680053191880619013971791294024254133023" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md new file mode 100644 index 0000000000..fc3456387b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md @@ -0,0 +1,89 @@ +# Capped-interior layout extension: positive signoff + +The earlier sparse-union layout proof extends to dyadic interior cap +`B=p^b infinity`. Individual guarded neighborhoods +fit the original long axis; the collection of all g controls does not have +to fit in a single axis. This is the same support proof already audited. + +Microedge correction is unchanged. The underlying rounded operator and its +physical bandwidth do not change when a factorization receives more cuts. +Only the principal restriction and Schur decomposition are repartitioned. +The retained Neumann/principal-window comparison still applies to that +same operator. With L=p^8 and halo A=p^3, the additional output fraction is +O(g p^-5), now about p^-4.9064. Its sparse gather, true-period correction and +old sequential local solvers are still negligible. Capping does not turn +this into a dense non-dyadic tensor halo. + +The pinned independent arithmetic checks give approximately + +``` +epsilon = .9984838711085558 +b = .9064167934681446 +beta = .0935821965318554 + +per-group union movement power = -.2192524004044339 +total union movement power = .6856492741722665 +total group scan power = .9049016745767004 +membership descriptor power = .0966144543147439. +``` + +`check_capped_layout.py` independently checks finite capped partitions, +dyadic block sizes, separator distances, worst-pattern elimination fill, +and these exact rational layout inequalities against the pinned candidate +JSON. No layout blocker was found. + +This signoff is specifically for carving, sparse support, actual stream +movement, descriptors, and inherited microedge placement. It does not +independently prove the newly anchored broad/narrow Gaussian formulas or +their final precision bound. Those remain the algebraic/analytic cap audit. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json new file mode 100644 index 0000000000..66a4af697e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json @@ -0,0 +1,18 @@ +{ + "status": "PASS_CONDITIONAL_SCOPE_AND_PORTABLE_REPLAY_REVIEW", + "scope": "Reviewed final README, proof scope, attribution and verifier; independently reproduced 21 exact checks, 46 canonical native JSON receipts and all 58 file bindings against the completed run. Two false-acceptance controls reject. No independent human or formal theorem review is claimed.", + "conditions": [ + "Use latest support verifier and native capsule before generating final package manifest.", + "Optional matrix corollary retains omega_C<=9/4 as an explicit extra premise.", + "All inherited all-size and fixed-tape hypotheses remain." + ], + "reviewed_sha256": { + "verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "README.md": "61b371fe72353cd1d80cf2a1df5cf4e10df18ca78d2265acf43d263222895103", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "TASK.json": "494271a60db34e6651bfe164a0516c685081e899475ebf8f9fabe98a6a8014b5", + "VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md new file mode 100644 index 0000000000..0f7f80b3f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md @@ -0,0 +1,109 @@ +# Broad forward Gaussian: finite-block and completed-matrix conditioning + +This note supports the phase-assembly branch. It distinguishes the broad forward map S from the narrow T used in N=C T D. Its conclusions concern conditioning and local circuit guards; the final simultaneous tensor layout remains that branch's obligation. + +Let the narrow parameter be `a=pi alpha^2=Theta(log p)`, `rho=t/s=1+theta`, and `lambda=1/rho`. The forward map is + +`S_(k,j)=alpha^-1 exp[-b0(j-lambda*k)^2]`, `b0=pi/alpha^2`. + +Equivalently it uses the small resampling parameter + +`b=b0 lambda^2=pi/(alpha^2 rho^2)`. + +## 1. The bilateral bound works at every positive parameter + +The finite and bilateral LDU arguments in BILATERAL-LDU.md use a>=1 only for their final numerical simplification of the product c. For any b>0, define + +`c_b=prod_(m>=1)(1-exp(-2b rho m))`. + +The same proof gives, for the periodic normalized matrix and for every finite contiguous principal block with q-gaps at least 1 and |beta_i|<=1/2, + +`||N_b^-1|| <= c_b^-4 exp(b/2)/(1-exp(-b rho theta))^2`. + +There is an explicit useful product bound. Expand the logarithm and sum nonnegative terms: + +`log(c_b^-1)=sum_(k>=1) 1/[k(exp(2b rho k)-1)]` + +` <=(1/(2b rho)) sum_(k>=1)1/k^2=pi^2/(12b rho)`. + +At `b=pi/(alpha^2 rho^2)`, this implies + +`c_b^-4 <= exp(pi alpha^2 rho/3)=exp(a rho/3)`. + +Since b*rho*theta=pi*theta/(alpha^2 rho)<1 for alpha>=2 and theta<=1, its reciprocal gap is at most `2alpha^2 rho/(pi theta)`. Thus every such normalized block inverse has norm polynomial in p when alpha^2=O(log p) and theta^-1 is polynomial in p. + +## 2. Actual target-grid phase-cell block + +Embed source j at target coordinate i=q_j. On an original phase cell q_j=j+c, every selected target coordinate i in that cell corresponds to j=i-c. A square interior of the forward target-grid matrix is therefore + +`K_(k,i)=alpha^-1 exp[-b0(i-lambda*k-c)^2]`. + +Here both i and k run over one contiguous selected-target interval inside that cell. Put + +`q'_k=k+rho*c`, `beta'_k=rho*k-q'_k=theta*k-rho*c`. + +At a selected coordinate k=q_j, beta'_k is exactly the original beta_j, hence lies in [-1/2,1/2). Also q' has consecutive gap 1. Integrality of q' was never needed in the finite LDU proof; monotone separation and the beta bound suffice. Consequently + +`K=alpha^-1 N_b diag(exp(-b*(beta'_i)^2))`, + +and + +`||K^-1|| <= alpha exp(3b/4) c_b^-4/(1-exp(-b rho theta))^2` + +` =O(alpha^5 rho^2 theta^-2 exp(pi alpha^2 rho/3))=poly(p)`. + +This controls the **completed** interior inverse. It avoids multiplying the large individual diagonal-gauge norms to estimate K inverse. Target holes should be retained as boundary vertices, so every interior coordinate has the asserted original beta bound. + +## 3. Square completion of the global forward map + +Add one identity column e_h for every target hole h, and feed zero into these extra columns. This makes an invertible square t-by-t matrix H_aug without changing the desired forward result. Permute selected q_j rows/columns first and holes second. In that order, + +`H_aug = [ alpha^-1 N_b D_b^-1 0 ; R I ]`, + +where `D_b=diag(exp(b beta_j^2))` and R consists of broad Gaussian rows at holes. A Gaussian lattice-sum bound gives `||R||=O(1)` after the alpha^-1 factor. Thus + +`H_aug^-1=[ alpha D_b N_b^-1 0 ; -R alpha D_b N_b^-1 I ]` + +has polynomial row norm. The matrix itself also has O(1) row norm. Gaussian truncation and sufficiently accurate structure-preserving coefficient rounding perturb both it and all required interior blocks by exponentially small amounts, preserving these polynomial bounds. + +If A is the block-diagonal interior matrix and S is the completed boundary Schur complement, then S inverse is the boundary principal block of H_aug inverse; hence its norm is polynomial. Also + +`||S||<=||H_BB||+||H_BI|| ||A^-1|| ||H_IB||=poly(p)`. + +This is enough for the completed Schur map. To justify a particular sequential block-LU implementation, its prefix factor norms still need to be checked. The natural physical-prefix elimination sets consist of one contiguous selected-source prefix plus disjoint future interiors, with identity hole columns. That geometry offers the same uniform contiguous-block inverse bound; it should be made explicit in the assembly proof. + +## 4. Exact local Toeplitz split and guard range + +Choose an anchor m inside the target cell, and write x=i-m, y=k-m, + +`delta=(1-lambda)m-c`, with |delta|<=1/2. + +Then the exact factorization is + +`K_(k,i)=Drow(y) G(y,x) Dcol(x)`, + +`G(y,x)=exp[-b0 lambda(x-y)^2]`, + +`Dcol(x)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(y)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`. + +Expansion gives exactly `-b0(delta+x-lambda*y)^2`; no approximate recentering is involved. On a phase cell of O(d) coordinates, the two diagonal logarithmic ranges are O(d/alpha^2). These are smaller than the O(alpha^2 d) narrow inverse gauges already paid by the proposed group size. + +## 5. SPD Toeplitz conditioning for the shallow circuit + +Let `gamma=b0 lambda=pi/(alpha^2 rho)`. The full Gaussian Toeplitz symbol has, by the Gaussian Poisson identity, + +`f(omega)=sqrt(pi/gamma) sum_(k in Z) exp[-(omega+2pi*k)^2/(4gamma)]`. + +For -pi<=omega<=pi, + +`sqrt(pi/gamma) exp[-pi^2/(4gamma)] <= f(omega) <= 1+sqrt(pi/gamma)`. + +Every finite principal Gaussian Toeplitz matrix has eigenvalues between these same bounds, by integrating the squared modulus of its coefficient polynomial against f. At alpha^2=O(log p), its condition number is polynomial in p. Truncation width O(sqrt(p/gamma)) and Cp-bit rounding perturb the matrix far less than its lower eigenvalue, so the actual symmetric rounded Toeplitz Ghat remains SPD with polynomial condition number. + +The low-displacement block-LU circuit of SHALLOW-TOEPLITZ.md extends from near identity to this SPD setting: every principal Schur complement has norm at most lambda_max and inverse norm at most lambda_min^-1, and ranks grow by the same additive displacement recurrence. Shear coefficients are polynomial in p; multiplying these bounds along O(log d) recursive levels gives exp(O(log^2 p)) partial-prefix growth. This calls for O(log^2 p) internal circuit guard bits per axis, rather than claiming the near-identity theorem's O(log p) unchanged. It is still below the group budget dominated by the local Gaussian diagonals. + +Dyadic interior subdivision from LOG-A-PHASE-SCHUR-AUDIT.md applies here too, using the broader width O(sqrt(p alpha^2)). It keeps target holes and separators as boundary, adds only polylogarithmic boundary volume, and lets every interior use a dyadic shallow circuit without 2^g padding. + +No numerical final exponent follows from these conditioning statements alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md new file mode 100644 index 0000000000..60d59bb378 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md @@ -0,0 +1,271 @@ +# Fast tensor convolution by core blocks and sparse face corrections + +This gives a constructive replacement for g dense halo scans. It applies to +a **translation-invariant separable compact stencil**, with optional +diagonal conjugations whose coefficients and tile gauges satisfy the +precision and sequential-access conditions below. It does not claim that +the separate Gaussian product-tree factorization has this form. + +Let g consecutive active axes have dyadic lengths S_i, with +`h=max_i log2 S_i`. Earlier coordinates are outer prefix fibers. Later +coordinates are a complete payload R, so they need no keys or transposition. +Let V denote the total bit volume, including B-bit coefficient records and +all spectators. Assume B=Theta(p), `g h=O(p)`, and the active group grows +superpolynomially. A fixed number of tapes may hold O(V) bits. + +The operation is + +``` +(Tf)(x) = sum_{z in [-L,L]^g} [product_i k_i(z_i)] f(x-z mod S), +``` + +where `L=poly(p)`. A fixed or polylogarithmic number of these operations and +diagonal scans is allowed. Kernel coefficients, coefficient products and +the required intermediates have O(p)-bit representations under the supplied +normalization contract. The retained grouped convolution engine on a +binary field of width k has cost `O(V k^(1-q) polylog p)`. Polynomial-length +one-axis convolution also has its unconditional quasilinear bit algorithm; +it does not invoke the improved bound being proved. + +Choose a dyadic tile side N dividing every S_i, with `N>4L` and `gL/N=o(1)`. +Write `b=log2 N`, `k=gb`, and `K0=O(g(h+b)+log g)=O(gh)` for a correction key. +Require `K0^2=O(B)` or retain the explicit extra metadata term below. + +The complete cost is + +``` +O(V [ (gb)^(1-a) polylog p + + (gb)^(1-q) polylog p + + polylog p + + (gL/N) (K0 + g polylog p) ]) ++ polynomial(p) setup, +``` + +plus `O((gL/N)V K0^2/B)` if metadata arithmetic is not absorbed by records. +All scans, duplication, sparse sorts, local transposes and final output +order are included. In particular, there is no gV layout term. + +## 1. One support-limited gather + +Within the active group, gather its g low b-bit fields into a contiguous +suffix using the support-at-most-2gb extension proved in +`SUPPORT-ROUTER.md`. The remaining active coarse bits remain in their +possibly scrambled order. Every coarse tile is now one contiguous block +of N^g complete R-payloads. No other active coarse bit is put into a new +stable order, and no spectator coordinate is gathered. + +The initial and inverse gather together cost +`O(V (gb)^(1-a) polylog p)`. The explicit permutation maps each physical +coarse tile name back to its logical vector; that small map is used only +for tile setup and sparse correction metadata. + +## 2. Interior outputs from ordinary cyclic convolution + +Flatten a tile by `phi(x)=sum_i x_i N^(g-1-i)` into Q=N^g slots. Put the +product kernel at offsets `psi(z)=sum_i z_i N^(g-1-i) mod Q` in an ordinary +one-dimensional cyclic convolution kernel. These offsets are distinct: +reduce a putative collision modulo N, use `2L= p^eta`, `g -> infinity`; alternatively a supplied sequential dense +kernel generator is an explicit acceptable input. + +If every tile coordinate satisfies `L<=x_ij: [0,N). +``` + +These 2g rectangles are disjoint and contain every discarded output once. +Their required unwrapped input rectangles have intervals + +``` +ij: [-L,N+L). +``` + +Coordinates outside `[0,N)` are taken from the correct neighboring coarse +tile, including periodic wrap in each actual axis. All input dimensions +are less than 2N; no assumption of independent full 2N padding is used. + +The total copied input volume is exactly + +``` +M = 6L V/N^g * sum_{j=0}^{g-1} N^j (N+2L)^(g-1-j) + = 3V [ (1+2L/N)^g - 1 ] + = O((gL/N)V). +``` + +The corrected output volume is +`V [1-(1-2L/N)^g] = O((gL/N)V)`. The formulas count corner duplication +exactly. An individual corner may have many destinations; its total traffic +is already included in M. No bound by worst-case 2^g multiplicity is charged +to all records. + +## 4. One full scan generates all correction copies + +For each original core tile, recover its logical coarse coordinates once. +Scan its local coordinate tuple with a binary odometer. Maintain flags for +membership in the four fixed edge intervals `[0,L)`, `[0,2L)`, +`[N-2L,N)` and `[N-L,N)`. Only coordinates changed by the odometer update +their flags. The number of coordinate updates over a whole tile is +`Q(1+1/N+...)<2Q`. Comparisons cost O(log N), and counters/head resets use +the retained amortized stream-counter convention. Maintain a count of +active near-boundary flags. A nonexceptional record takes no scan through +the g flags. + +For an exceptional record, enumerate candidate first-boundary axes from +the flag tape and all valid neighboring-tile choices. The exact choices +are the ones implemented in `sparse_copies` in `check_halo.py`: earlier +axes stay in the original tile; the selected face axis has its own or one +adjacent tile; each later axis has its own tile plus an adjacent tile only +when within L of that edge. Every emitted record carries + +``` +(j, side, destination coarse tile, unwrapped local coordinates). +``` + +These are K0=O(gh) bits. Precompute the plus/minus-one forms of each logical +coarse coordinate once per tile. A copy's logical neighbor is generated +by selecting those forms, then encoding the known scrambled coarse order. +All carries, periodic wraps and changed tile order are explicit. Using +ordinary binary arithmetic gives O(K0^2) safe metadata work per copy. + +The full scan costs O(V polylog p). The exceptional flag scans and address +work cost O(M K0^2/B+M) in bit-volume units when R includes the B-bit record. +Their setup per coarse tile is absorbed by its N^g payload. This is not an +unpaid nonlinear boundary-signature evaluation on every payload bit. + +## 5. Sparse radix gather and fixed-tape local processing + +Within each *earlier-coordinate prefix fiber*, stable-radix sort the copies +by the displayed key, with unwrapped local coordinates in ordinary tensor +order. Only the g active axes occur in the key; all following spectator +coordinates remain one R-block payload. A radix pass scans each complete +header and payload, splits into two bucket tapes, concatenates, and resets +the same fixed set of tapes. Since K0=O(B), each pass costs O(M); K0 passes +cost O(M K0). No simultaneous open tape per tile, face or corner is needed. + +Sorted copies form the exact input rectangles of section 3, consecutively. +Process one rectangle at a time. For each axis, expose its current local +coordinate field, apply the length-polynomial one-dimensional convolution, +and crop L positions from each end. Thus its length changes from its input +interval to the corresponding output interval. Other axes remain unchanged +until their own pass. This yields the tensor product of the restricted +one-dimensional maps, hence the exact desired face outputs. + +Every current axis has length at most N+2L=poly(p). Its mixed-radix transpose +is the retained short-field construction: pad **only that field** to its +next power of two temporarily, move its O(log p) bits using O(log p) linear +block interchanges, remove the temporary padding, and use the correct new +field length on return. The temporary factor below two is removed before +the next axis. A rectangle therefore costs its volume times +`O(g polylog p)` for movement and unconditional polynomial-length arithmetic. +Summing over rectangles costs `O(M g polylog p)`. Signed/complex dyadic +convolution can use sign splitting and ordinary Kronecker packing with +O(p+log N)=O(p) guard bits, followed by the unconditional quasilinear integer +multiplier; no improved supplier is used on this sparse path. + +After cropping, attach each output's physical coarse-tile and flat inner +address. Their keys are distinct because the face output partition is +disjoint. A second sparse radix sort orders them as holes in the retained +core-output stream. One merge scan replaces exactly those holes. The inverse +support-limited gather restores the original axis-major stream, including +the initially displaced coarse coordinates. All metadata is discarded. + +## 6. Parameters for the proposed partial fusion + +Use `d=p^epsilon`, `h=Theta(p/d)`, `g=p^(1-epsilon-zeta)` with fixed positive +zeta and epsilon>5/6. Suppose `L=O(p polylog p)` and take the dyadic side +`N=2^ceil((3/2)log2 p)`. The actual S_i eventually exceed every polynomial, +so N divides them and each periodic window is shorter than S_i. + +Then `K0=O(p^(2(1-epsilon)-zeta) polylog p)` and `K0^2=o(p)`. The two sparse +cost multipliers satisfy + +``` +(gL/N) K0 = O(p^(5/2-3epsilon-2zeta) polylog p) = o(1), +(gL/N) g = O(p^(3/2-2epsilon-2zeta) polylog p) = o(1). +``` + +All halo work is therefore O(V polylog p), below the desired +`O(V g^(1-a) polylog p)` routing term. The core convolution is +`O(V g^(1-q) polylog p)` since log N=Theta(log p). + +The bounded-gauge condition cited in `PARTIAL-FUSION.md` remains payable: +with `a0=Theta(log d)` and theta=Theta(1/d), its variation is + +``` +g [a0 theta N + a0/theta] + = O(p^(5/2-2epsilon-zeta) polylog p + + p^(1-zeta) polylog p) + = o(p) +``` + +for epsilon>5/6 and fixed zeta>0. Thus the larger polynomial tile does not +consume the O(p)-bit guard budget. This checks a layout/precision inequality; +it does not establish the missing Gaussian convolution factorization. + +## Diagonal and factorization boundary + +The theorem also applies to a fixed or polylogarithmic composition of these +translation-invariant convolutions and diagonal factors if every diagonal +scan/factor page has a proved sequential O(V polylog p) implementation and +all normalized tile-core and tile-halo values use O(p) bits. A tile-dependent +common scalar gauge may multiply every input to that tile and divide its +outputs; boundary copies must use the **destination** tile's gauge. No +enormous diagonal is formed and later canceled numerically by assertion. + +A concrete sufficient diagonal implementation is available for +`D(x)=product_i d_i(x_i)`. Supply each one-axis factor page in coordinate +order, with all normalized prefix products bounded to O(p) bits. Traverse +the rectangle by nested coordinate loops and retain the g successive prefix +products on work tape. Multiply by the innermost factor once per record; +outer prefix updates occur once per complete inner row, then once per +complete inner rectangle, and so on. With side lengths at least two their +number is less than twice the record count. Singleton axes are folded into +one constant per rectangle. Rewinding a factor page costs its length and is +charged to the corresponding completed row. Ordinary O(p)-bit multiplication +therefore gives O(V polylog p) scan cost with O(gp) temporary bits. This +argument uses bounded normalized **prefix products**; bounds on the final +product alone do not suffice. + +It does **not** cover an unbounded collection of different short kernels +inside one tile, a product-tree level with factor-two padding on all g axes, +or an unspecified transform-dependent sparse correction. Those require a +new representation theorem. In particular, the Gaussian_fast/product-tree +algorithm is not silently substituted for the translation-invariant kernel +assumed here. + +## Finite evidence + +`check_halo.py` verifies 5,632 exact outputs in three two/three-axis cyclic +examples, with asymmetric signed kernels, nontrivial diagonal conjugations, +periodic coarse carries, scrambled coarse order, unique sparse gather/scatter +keys and all local sequential crops. Pure flattening gives 3,040 wrong +boundary outputs across these examples; all are repaired. The exact copied +volumes equal `3V[(1+2L/N)^g-1]` in every case. These are constructive finite +controls; the preceding scan, metadata and volume arguments give the +conditional asymptotic claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json new file mode 100644 index 0000000000..121a4ebf87 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json @@ -0,0 +1,24 @@ +{ + "status": "NO_BLOCKING_GAP_FOUND_CONDITIONAL", + "unconditional_integer_multiplication_theorem": false, + "reviewed_current_phase_note_sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "same_assumption_kappa": "0.001672922349588871", + "additional_matrix_premise_kappa": "0.001673360105405778", + "fixed_nonblocking_finding": "Generic SPD prefix bound required absolute scale M and 1/m rather than condition number alone; current note corrected.", + "remaining_nonblocking_evidence_limit": "Union checker is an algebraic dictionary control, not a tape implementation or two-window reuse simulation.", + "reports": { + "core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856" + }, + "premises_not_independently_certified": [ + "finite bit/complex suppliers", + "exact common-frame/mutable-source realization", + "whole-call row hosting", + "semantic guard C1=1", + "retained prime packing and fixed-tape interfaces", + "paid arbitrary-width equal-chunk interchange", + "additional omega_C<=9/4 premise" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md new file mode 100644 index 0000000000..3bcf490a8c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md @@ -0,0 +1,140 @@ +# Audit: logarithmic Gaussian width retains the phase-cell Schur solver + +This audit checks the analytic hypotheses of the retained rad20 phase-cell solver at `a=pi alpha^2=Theta(log p)`, `theta=Theta(1/d)`, even though `a theta` tends to zero. It also audits the shallow Toeplitz circuit algebra and identifies the actual matrix that must be precomputed. It does not certify the final tensor layout or multiplication exponent. + +Read inputs: `references/semantic-bulk/rad20/reports/review-bulk-resampling.md`, `review-phase-cell-inverse.md`, `downstream-phase-cell-inverse.md`, and `work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md`. + +## 1. The sharp elementary diagonal-dominance estimate + +Let `rho=1+theta`, `beta_i=rho*i-q_i`, and let the Gaussian row coefficient at integer offset h be + +`n_i,h=exp(-a[(rho*h+beta_i)^2-beta_(i+h)^2])`. + +The h=0 coefficient is 1. Set `g_i=q_i-q_(i-1)` and `g_(i+1)=q_(i+1)-q_i`, each in {1,2}. For the nearest coefficients, + +`n_i,-1=exp(-a*g_i*(2rho-2beta_i-g_i))`, + +`n_i,+1=exp(-a*g_(i+1)*(2rho+2beta_i-g_(i+1)))`. + +If g_i=1, the first exponent is exactly `1+2theta-2beta_i`; if g_i=2, that gap forces `beta_i=1/2-theta`, so the upper exponent is at least `1+2theta+2beta_i`. Consequently + +`n_i,-1+n_i,+1` + +` <=exp(-a(1+2theta-2beta_i))+exp(-a(1+2theta+2beta_i))` + +` <=exp(-2a theta)+exp(-2a(1+theta))`. + +The last step is convexity in beta on [-1/2,1/2]. The two nearest directions cannot both be charged as exp(-2a theta). + +For |h|>=2, + +`(rho*h+beta_i)^2-beta_(i+h)^2 >= h^2-|h|`, + +so their entire two-sided tail is below `4 exp(-2a)` for a>=1. Therefore + +`||N-I||_infinity <= exp(-2a theta)+5 exp(-2a)`. + +This includes nonzero periodic diagonal aliases in the tail; no alias is silently omitted from this bound. + +For p>=101, theta>=1/(4p), and `a>=4 log(16p)`, + +`1-exp(-2a theta) >= 1-exp(-1/(2p)) >=1/(4p)`, + +`5exp(-2a)<=5/(16p)^8<1/(8p)`. + +Hence N has row diagonal-dominance margin at least `1/(8p)` in the following robust sense: after deleting its tiny nonzero diagonal aliases, its diagonal is 1 and its off-diagonal row sum is at most `1-1/(8p)`. In particular the fixed-width inverse theorem is not needed to supply the retained strict row dominance. + +Choose the legal integer alpha by + +`alpha=ceil(sqrt((4/pi)log(16p)))`. + +Then a has the required lower bound and is O(log p). The old sufficient condition `u>=ceil(log2(8p))` need not be reused: the direct estimate above replaces that prerequisite. + +## 2. Actual rounded H, interior matrices, and guard range + +Use exactly the retained structure: + +- `w=ceil(sqrt(16p/u))+2`, u=alpha^2=a/pi; +- cell weights `a_j=exp(-a(1/4-beta_j^2)/theta)`; +- one globally fixed downward dyadic Toeplitz kernel `Ghat_delta` for |delta|<=w, zero outside, with Ghat_0=1; +- positive downward dyadic weights ahat_j; +- within a physical cell, define H_jk **exactly** as `ahat_j Ghat_(j-k)/ahat_k`; +- across cells, use the retained downward Gaussian entries; set H_jj=1. + +Thus the actual interior block being inverted is + +`A_cell=diag(ahat) Ghat_cell diag(ahat)^-1`. + +It is not the unrounded Gaussian matrix, and its retained truncated Ghat is not silently replaced by the infinite Gaussian kernel. + +The weight range is + +`0<=-log a_j<=a/(4theta)=O(a d)` + +under theta between 1/(4d) and 1/(2d-1). The old eventual condition u*d<=p holds whenever d=p^epsilon, epsilon<1, and u=O(log p). It bounds the old rational perturbation calculation by the same `2^(O(p)) eta` allowance. The stronger range `O(a d)` should be used for grouped tensor precision, rather than charging O(p) independently for every axis. + +Choose the coefficient precision high enough that `||H-N||<1/(16p)`, including the Gaussian truncation, omitted diagonal aliases and weight-ratio rounding. The retained bound `p*2^(16p+7)*eta+2^(-46p)` at eta=2^(-32768p) is more than sufficient. Then H has diagonal 1, row gap at least `1/(16p)`, row norm below 2, and inverse norm at most 16p. All clipped principal windows inherit the same row gap. The physical period cut must remain a cell boundary, as in the retained bulk review. + +## 3. Schur complement bounds without an a*theta>1 assumption + +A scalar elimination step on a strictly row-diagonally-dominant matrix cannot decrease its minimum absolute row gap. For pivot k, + +`gap_i(new) >= gap_i(old)+(|a_ik|/|a_kk|) gap_k(old)`. + +The full absolute row sum also cannot increase, since the added update row has off-pivot sum less than |a_kk|. Induction applies regardless of the signs of filled entries. Since the diagonal begins real positive and the correction magnitude is below it, the surviving diagonal remains positive. + +Consequently the exact Schur complement + +`S=H_BB-H_BI H_II^-1 H_IB` + +has row gap at least `1/(16p)`, row norm below 2, positive diagonal, and + +`||S^-1||_infinity<=16p`. + +Principal interior inverses also have norm at most 16p. Rounding S by a row perturbation below 1/(32p) preserves gap at least 1/(32p) and inverse norm at most 32p. A row has O(w) nonzeros; the retained P-grid readily meets this target. These are polynomial bounds on arbitrary signed inputs, with no factor equal to the number of cells. + +The boundary geometry is unchanged: keep first/last w vertices of each physical cell, yielding O(s*w/d) boundary vertices and circular half-bandwidth at most 2w. Schur fill only joins the two end groups of one cell, while original cross-cell entries join neighboring end groups. Actual inverse and LU coefficient tables must be precomputed for this H/S, not imported from the old parameter values. + +Thus the retained banded/cyclic boundary solver's gap-dependent proof remains applicable with fixed constants enlarged. The proposed batched boundary arithmetic still needs its own data-layout and Strassen error audit, but there is no analytic conditioning obstruction at logarithmic a. + +## 4. Apply the shallow circuit directly to Ghat inverse + +Because a is eventually larger than 4pi, the symmetric Toeplitz matrix Ghat_cell satisfies + +`max(||Ghat_cell-I||_1,||Ghat_cell-I||_infinity)<1/8`. + +Downward rounding only decreases this off-diagonal sum. The shallow full-Toeplitz theorem therefore applies directly to Ghat_cell. Reverse the resulting invertible circuit and invert its gates to obtain Ghat_cell inverse. This avoids the two-branch Gohberg-Semencul difference entirely. The interior inverse is: + +1. multiply by diag(ahat)^-1; +2. apply the reversed shallow circuit for Ghat_cell; +3. multiply by diag(ahat). + +Its only superpolynomial individual scale comes from the **local** weight range O(a d). Completed A_cell inverse has polynomial norm by the strict row gap. Across g axes, the uncompleted local weight contribution is at most exp(O(g*a*d)); choosing `g<=p/(d polylog p)` with sufficient logarithmic slack keeps the total data precision O(p). The shallow circuit contributes polynomial-in-d amplification per axis, hence only O(g log d) additional logarithmic range. This is a guard calculation, not a complete simultaneous-layer routing proof. + +## 5. Independent shallow-Toeplitz algebra audit and a length caveat + +The parity-split triangular identity, block Schur displacement formulas, Stein-generator telescoping identity, and bounded-prefix induction in SHALLOW-TOEPLITZ.md check algebraically. In particular the parity children run in parallel, avoiding the earlier erroneous sequential-depth recurrence. The full block-LU recursion also runs its two children in parallel, with O(log N) displacement rank after O(log N) levels. + +That document currently states its circuit theorem for dyadic N. Actual cell interiors are not generally dyadic. Padding every tensor axis to its next power of two would be invalid. A plausible exact extension has been communicated to its author: split an arbitrary N into balanced sizes differing by at most one; a near-square rectangular Toeplitz dirty shear is a square Toeplitz shear plus one extra row/column rank-one shear. The latter can be implemented by a binary tree of unitary 2-coordinate reductions and its inverse, without clean ancilla. The rectangular Stein identity telescopes as before. This extension needs its own written proof/controls before it is used as an established interface. + +No new final kappa is asserted by this audit. + +## 6. Dyadic interior subdivision resolves the length caveat + +No arbitrary-length shallow FFT theorem is actually needed. Refine the interior/boundary partition inside each original physical phase cell of length L as follows. Keep its first and last w vertices as boundary. Starting with the remaining interval of length R=L-2w: + +- while R>4w, choose the largest power of two B<=R-w; +- mark the next B vertices as one interior, the following w vertices as boundary, and replace R by R-B-w; +- once R<=4w, mark all remaining vertices as boundary. + +Every interior now has exactly dyadic length. If R>4w, then `B>(R-w)/2`, so the next remainder is less than R/2. There are `O(1+log(L/w))` interiors and the total boundary count in the cell is `O(w(1+log(L/w)))`. The final boundary group, including the initially reserved last w vertices, has size at most 5w; all inserted separators have size w. + +The width-w matrix H cannot connect two different new interiors: their separating boundary gap has w vertices, so their nearest physical coordinates differ by w+1. Each new interior is still a principal block of the SAME globally fixed Toeplitz-similar cell matrix. Its weights retain the original cell gauge; there is no new rescaling or rerounding at a subdivision boundary. + +Eliminating one dyadic interior fills only between its immediately neighboring boundary groups. Each such group has O(w) vertices. Original H edges also connect only the same group or neighboring groups; an interior has length greater than w in the loop above. Thus, in inherited physical boundary order, the new Schur complement has half-bandwidth O(w), not O(w log d). Only its number of rows grows by O(log d): + +`n_boundary=O((s/d) w log d)`. + +Clipped endpoint cells of size O(w) may be declared wholly boundary, adding only O(w) rows; preserve the original physical period cut. This is the same endpoint convention as the retained bulk review. + +The boundary solve and coupling work therefore gain only polylogarithmic factors. All dyadic interior blocks use the established SHALLOW-TOEPLITZ theorem directly, without padding any tensor axis and without requiring a non-dyadic Fourier circuit. This resolves the length caveat in section 5 for the intended phase-cell application; it does not prove the separate simultaneous tensor-layer routing claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json new file mode 100644 index 0000000000..423d53d1eb --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json @@ -0,0 +1,172 @@ +{ + "ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "README.txt": "c0a7a1216652ad7d2f9ce09d16011d015e8205212edce3349f383115c9c287b5", + "REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c", + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "evidence/radical_reduction_ultra/README.md": "7fb6138ac39689c6ffd9da2fab3e4f0e81008423554b8dfffea2d139929bd130", + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "frontier_fusion/T74-APPENDIX.tex": "591f16424301eb186066d8ddea743b0a4115d1f7cd378921c688e1ec413b6d55", + "frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json new file mode 100644 index 0000000000..02f55a7351 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json @@ -0,0 +1,609 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_AND_MATRIX_COROLLARY_REVIEW", + "files": { + "ALGEBRAIC-STABILITY-INDEPENDENT.md": { + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + "BILATERAL-LDU.md": { + "bytes": 6305, + "sha256": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77" + }, + "CAPPED-GAUGE-AUDIT.md": { + "bytes": 9176, + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f" + }, + "CAPPED-INTERIORS.md": { + "bytes": 7284, + "sha256": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba" + }, + "CAPPED-OUTER-ARITHMETIC.json": { + "bytes": 15832, + "sha256": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec" + }, + "CAPPED-SIGNOFF.md": { + "bytes": 4414, + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a" + }, + "FORWARD-SMALL-A-AUDIT.md": { + "bytes": 6689, + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0" + }, + "HALO-THEOREM.md": { + "bytes": 12777, + "sha256": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + }, + "INDEPENDENT-FINAL-REVIEW.json": { + "bytes": 1375, + "sha256": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501" + }, + "LOG-A-PHASE-SCHUR-AUDIT.md": { + "bytes": 10642, + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272" + }, + "MATRIX-COROLLARY-ARITHMETIC.json": { + "bytes": 16783, + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a" + }, + "MATRIX-COROLLARY-REVIEW.json": { + "bytes": 7362, + "sha256": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6" + }, + "MATRIX-COROLLARY.md": { + "bytes": 5787, + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221" + }, + "MATRIX-LAYOUT-CONTROLS.json": { + "bytes": 1446, + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a" + }, + "MATRIX-LAYOUT-SIGNOFF.md": { + "bytes": 3081, + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4" + }, + "MATRIX-SOURCE-CONSTRUCTIONS.json": { + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + "MATRIX-SOURCE-COVERAGE.json": { + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + "MATRIX-TRANSFER-MANIFEST.json": { + "bytes": 1159, + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2" + }, + "OUTER-ARITHMETIC.json": { + "bytes": 13871, + "sha256": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020" + }, + "OUTER-AUDIT.md": { + "bytes": 13831, + "sha256": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc" + }, + "PHASE-LAYOUT-AUDIT.md": { + "bytes": 11774, + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a" + }, + "PROOF-AND-COVERAGE.md": { + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + "README.txt": { + "bytes": 3032, + "sha256": "c0a7a1216652ad7d2f9ce09d16011d015e8205212edce3349f383115c9c287b5" + }, + "REVIEW-RECEIPT.json": { + "bytes": 3579, + "sha256": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800" + }, + "ROOT-EXACT-REPLAY.json": { + "bytes": 4315, + "sha256": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994" + }, + "ROOT-MATRIX-EXACT-REPLAY.json": { + "bytes": 1875, + "sha256": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225" + }, + "SHALLOW-TOEPLITZ.md": { + "bytes": 15480, + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310" + }, + "SUPPLIER-SUPPORT-AUDIT.md": { + "bytes": 16557, + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6" + }, + "SUPPORT-ADVERSARIAL-AUDIT.md": { + "bytes": 11276, + "sha256": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d" + }, + "SUPPORT-ROUTER.md": { + "bytes": 7755, + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54" + }, + "TENSOR-COMPILER.md": { + "bytes": 13430, + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15" + }, + "check_capped_outer.py": { + "bytes": 5692, + "sha256": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a" + }, + "check_matrix_corollary.py": { + "bytes": 6692, + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f" + }, + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": { + "bytes": 332, + "sha256": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab" + }, + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": { + "bytes": 6305, + "sha256": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77" + }, + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": { + "bytes": 9176, + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f" + }, + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": { + "bytes": 446, + "sha256": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120" + }, + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": { + "bytes": 208, + "sha256": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c" + }, + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": { + "bytes": 235, + "sha256": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90" + }, + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": { + "bytes": 336, + "sha256": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc" + }, + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": { + "bytes": 6689, + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0" + }, + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": { + "bytes": 10642, + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272" + }, + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": { + "bytes": 412, + "sha256": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d" + }, + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": { + "bytes": 411, + "sha256": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52" + }, + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": { + "bytes": 9538, + "sha256": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30" + }, + "evidence/gaussian_fast_ultra/README.md": { + "bytes": 3171, + "sha256": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0" + }, + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": { + "bytes": 11830, + "sha256": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0" + }, + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": { + "bytes": 466, + "sha256": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76" + }, + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": { + "bytes": 3236, + "sha256": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd" + }, + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": { + "bytes": 231, + "sha256": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d" + }, + "evidence/gaussian_fast_ultra/check_bilateral.py": { + "bytes": 1870, + "sha256": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0" + }, + "evidence/gaussian_fast_ultra/check_capped_gauges.py": { + "bytes": 2966, + "sha256": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f" + }, + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": { + "bytes": 948, + "sha256": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61" + }, + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": { + "bytes": 1586, + "sha256": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1" + }, + "evidence/gaussian_fast_ultra/check_forward_cell.py": { + "bytes": 1591, + "sha256": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90" + }, + "evidence/gaussian_fast_ultra/check_log_a_schur.py": { + "bytes": 1938, + "sha256": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41" + }, + "evidence/gaussian_fast_ultra/check_lower.py": { + "bytes": 3977, + "sha256": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95" + }, + "evidence/gaussian_fast_ultra/check_upper_data.py": { + "bytes": 3189, + "sha256": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d" + }, + "evidence/gaussian_fast_ultra/check_upper_merge.py": { + "bytes": 1593, + "sha256": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780" + }, + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": { + "bytes": 928, + "sha256": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f" + }, + "evidence/halo_layout_ultra/HALO-CONTROLS.json": { + "bytes": 2860, + "sha256": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828" + }, + "evidence/halo_layout_ultra/HALO-THEOREM.md": { + "bytes": 12777, + "sha256": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + }, + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": { + "bytes": 632, + "sha256": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76" + }, + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": { + "bytes": 757, + "sha256": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6" + }, + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": { + "bytes": 4130, + "sha256": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25" + }, + "evidence/halo_layout_ultra/README.md": { + "bytes": 2962, + "sha256": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c" + }, + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": { + "bytes": 2910, + "sha256": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26" + }, + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": { + "bytes": 725, + "sha256": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871" + }, + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": { + "bytes": 7755, + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54" + }, + "evidence/halo_layout_ultra/check_embedding.py": { + "bytes": 1172, + "sha256": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464" + }, + "evidence/halo_layout_ultra/check_halo.py": { + "bytes": 7088, + "sha256": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7" + }, + "evidence/halo_layout_ultra/check_ragged.py": { + "bytes": 3554, + "sha256": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78" + }, + "evidence/halo_layout_ultra/check_sparse_shear.py": { + "bytes": 3770, + "sha256": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121" + }, + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": { + "bytes": 1919, + "sha256": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c" + }, + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": { + "bytes": 1375, + "sha256": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501" + }, + "evidence/independent_fusion_review_ultra/core_review.md": { + "bytes": 11639, + "sha256": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1" + }, + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": { + "bytes": 13105, + "sha256": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430" + }, + "evidence/independent_fusion_review_ultra/layout_subreview.md": { + "bytes": 8632, + "sha256": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a" + }, + "evidence/independent_fusion_review_ultra/union_subreview.md": { + "bytes": 4611, + "sha256": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856" + }, + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": { + "bytes": 3590, + "sha256": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da" + }, + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": { + "bytes": 3920, + "sha256": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12" + }, + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": { + "bytes": 1549, + "sha256": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709" + }, + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": { + "bytes": 15480, + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310" + }, + "evidence/inplace_algebra_ultra/SOURCES.json": { + "bytes": 1174, + "sha256": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": { + "bytes": 5815, + "sha256": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": { + "bytes": 511, + "sha256": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": { + "bytes": 16557, + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6" + }, + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": { + "bytes": 11276, + "sha256": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d" + }, + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": { + "bytes": 2809, + "sha256": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada" + }, + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": { + "bytes": 13430, + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15" + }, + "evidence/inplace_algebra_ultra/check_circuits.py": { + "bytes": 10774, + "sha256": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5" + }, + "evidence/inplace_algebra_ultra/check_exact_algebra.py": { + "bytes": 4388, + "sha256": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab" + }, + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": { + "bytes": 1646, + "sha256": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78" + }, + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": { + "bytes": 10402, + "sha256": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a" + }, + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": { + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": { + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": { + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": { + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + "evidence/matrix_boundary_ultra/check_source_constructions.py": { + "bytes": 6388, + "sha256": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c" + }, + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": { + "bytes": 7284, + "sha256": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba" + }, + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": { + "bytes": 15832, + "sha256": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": { + "bytes": 16783, + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": { + "bytes": 7362, + "sha256": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": { + "bytes": 5787, + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221" + }, + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": { + "bytes": 13871, + "sha256": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020" + }, + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": { + "bytes": 13831, + "sha256": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc" + }, + "evidence/phase_assembly_ultra/README.md": { + "bytes": 1708, + "sha256": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246" + }, + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": { + "bytes": 3579, + "sha256": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800" + }, + "evidence/phase_assembly_ultra/check_capped_outer.py": { + "bytes": 5692, + "sha256": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a" + }, + "evidence/phase_assembly_ultra/check_matrix_corollary.py": { + "bytes": 6692, + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f" + }, + "evidence/phase_assembly_ultra/check_outer.py": { + "bytes": 5355, + "sha256": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10" + }, + "evidence/phase_layout_audit_ultra/AUDIT.md": { + "bytes": 11774, + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a" + }, + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": { + "bytes": 3292, + "sha256": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c" + }, + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": { + "bytes": 4414, + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a" + }, + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": { + "bytes": 1446, + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a" + }, + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": { + "bytes": 3081, + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4" + }, + "evidence/phase_layout_audit_ultra/PARAMETERS.json": { + "bytes": 762, + "sha256": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92" + }, + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": { + "bytes": 1297, + "sha256": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d" + }, + "evidence/phase_layout_audit_ultra/README.md": { + "bytes": 2558, + "sha256": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af" + }, + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": { + "bytes": 1434, + "sha256": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9" + }, + "evidence/phase_layout_audit_ultra/check_capped_layout.py": { + "bytes": 3232, + "sha256": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd" + }, + "evidence/phase_layout_audit_ultra/check_q_embedding.py": { + "bytes": 2408, + "sha256": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6" + }, + "evidence/phase_layout_audit_ultra/check_union.py": { + "bytes": 5165, + "sha256": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce" + }, + "evidence/radical_reduction_ultra/CONTROLS.json": { + "bytes": 416, + "sha256": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2" + }, + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": { + "bytes": 425, + "sha256": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef" + }, + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": { + "bytes": 329, + "sha256": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38" + }, + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": { + "bytes": 3422, + "sha256": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb" + }, + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": { + "bytes": 12801, + "sha256": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3" + }, + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": { + "bytes": 313, + "sha256": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8" + }, + "evidence/radical_reduction_ultra/LEDGER.json": { + "bytes": 1987, + "sha256": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e" + }, + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": { + "bytes": 362, + "sha256": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4" + }, + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": { + "bytes": 3234, + "sha256": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2" + }, + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": { + "bytes": 4169, + "sha256": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5" + }, + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": { + "bytes": 467, + "sha256": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11" + }, + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": { + "bytes": 399, + "sha256": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452" + }, + "evidence/radical_reduction_ultra/README.md": { + "bytes": 18511, + "sha256": "7fb6138ac39689c6ffd9da2fab3e4f0e81008423554b8dfffea2d139929bd130" + }, + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": { + "bytes": 7276, + "sha256": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5" + }, + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": { + "bytes": 8219, + "sha256": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7" + }, + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": { + "bytes": 322, + "sha256": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2" + }, + "evidence/radical_reduction_ultra/TASK.md": { + "bytes": 2172, + "sha256": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611" + }, + "evidence/radical_reduction_ultra/check_constructions.py": { + "bytes": 6600, + "sha256": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316" + }, + "evidence/radical_reduction_ultra/check_erasure_rounding.py": { + "bytes": 1509, + "sha256": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795" + }, + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": { + "bytes": 2440, + "sha256": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0" + }, + "evidence/radical_reduction_ultra/check_holes.py": { + "bytes": 2909, + "sha256": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8" + }, + "evidence/radical_reduction_ultra/check_ledger.py": { + "bytes": 2289, + "sha256": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5" + }, + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": { + "bytes": 1795, + "sha256": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913" + }, + "evidence/radical_reduction_ultra/check_positive_tree.py": { + "bytes": 3454, + "sha256": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37" + }, + "evidence/radical_reduction_ultra/check_q_ldu.py": { + "bytes": 2689, + "sha256": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc" + }, + "evidence/radical_reduction_ultra/check_sylvester_factor.py": { + "bytes": 1955, + "sha256": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced" + }, + "gaussian_fixed_width_note.tex": { + "bytes": 8328, + "sha256": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab" + }, + "phase_fusion_note.tex": { + "bytes": 33757, + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json new file mode 100644 index 0000000000..54ad0ed498 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json @@ -0,0 +1,414 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "scope": "Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.", + "review": { + "integrated": "Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.", + "matrix_source": "PROOF-AND-COVERAGE.md", + "effective_stability": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "independent_layout": "MATRIX-LAYOUT-SIGNOFF.md" + }, + "omitted_row": { + "name": "optional full-coordinate-key union surcharge", + "reason": "The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost." + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_union": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "capped_block_power": { + "rational": "6006737803538363603786961767383/8006701850307232414091700000000", + "decimal": "0.75021374791267813012557319136042532178866352100676648857598350268" + }, + "beta_group": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "matrix_exponent": { + "rational": "19/8", + "decimal": "2.375" + }, + "matrix_source_bound": { + "rational": "9/4", + "decimal": "2.25" + }, + "c_boundary": { + "rational": "5/16", + "decimal": "0.3125" + }, + "kappa": { + "rational": "836680052702889/500000000000000000", + "decimal": "0.001673360105405778" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "first_reviewed_transfer": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "group_bit_router": { + "rational": "536821745603195808901091315103570008424470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601278950405581831414454417167161806227872696731761529052912" + }, + "group_scans": { + "rational": "805348355725539986393675267555861382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.25104009637737138807709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix": { + "rational": "6840475465266695248410101923394927751720175749186737/106934890394947765067678508918528712735786696300000000", + "decimal": "0.063968602202727648328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement": { + "rational": "540029788308430619120633021537184169040543916310211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016833601154057784538170479517203762842018888767028492264912297200" + }, + "polynomial_products": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections": { + "rational": "2942281014059281127650388129972348509431467852/1069348903949477650676785089185287127357866963", + "decimal": "2.7514696122027276483282438565912950544955383678699363606505077270" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "epsilon_below_one": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "capped_block_above_band": { + "rational": "2003386878384747396741111767383/8006701850307232414091700000000", + "decimal": "0.25021374791267813012557319136042532178866352100676648857598350268" + }, + "capped_block_below_cell": { + "rational": "26576677783154481335239432113645294978213166844563263/106934890394947765067678508918528712735786696300000000", + "decimal": "0.24853139779727235167175614340870494550446163213006363934949227296" + }, + "group_positive": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "group_below_dimension": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "support_router_span": { + "rational": "60067458903072324140917/80067018503072324140917", + "decimal": "0.75021475791267813012557319136042532178866352100676648857598350268" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "4022423132330408193934897047393826212218815399111/3208046711848432952030355267555861382073600889000000", + "decimal": "0.0012538542900495182026706652308697327068748468631698720745242243534" + }, + "actual_logarithmic_gamma_guard": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "membership_arithmetic_fits_record": { + "rational": "799557574981283569669931024199112872642133037/1069348903949477650676785089185287127357866963", + "decimal": "0.74770504933257909372023186089868585637491382728042674442693505398" + }, + "sparse_union_fraction_decays": { + "rational": "3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "0.00042850582535626025114638272085064357732704201353297715196700536668" + }, + "microbox_halo_volume": { + "rational": "380335532915361620704585/80067018503072324140917", + "decimal": "4.7502147579126781301255731913604253217886635210067664885759835027" + }, + "union_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "matrix_exponent_above_source_bound": { + "rational": "1/8", + "decimal": "0.125" + }, + "matrix_exponent_below_five_halves": { + "rational": "1/8", + "decimal": "0.125" + }, + "short_record_fallback": { + "rational": "127945844731945360830644877923109261450553910111686139566638347524787/128321868473937318081214210702234455282944035560000000000000000000000", + "decimal": "0.99706968308314237827440433476913026729312515313683012792547577565" + }, + "improvement_over_selected": { + "rational": "34995416443/50000000000000000", + "decimal": "6.9990832886E-7" + }, + "improvement_over_first_reviewed_transfer": { + "rational": "437755816907/1000000000000000000", + "decimal": "4.37755816907E-7" + }, + "main_transform_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "84100856093020917/40000000000000000000000", + "decimal": "0.000002102521402325522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "group_bit_router_above_kappa": { + "rational": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "2.2489262558183141445441716716180622787269673176152905291235206499E-11" + }, + "group_scans_above_kappa": { + "rational": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.24936673627196561007709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "0.062295242097321870328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement_above_kappa": { + "rational": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.000010000010000000453817047951720376284201888876702849226491229720034" + }, + "polynomial_products_above_kappa": { + "rational": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.99707178560454470379732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections_above_kappa": { + "rational": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "2.7497962520973218703282438565912950544955383678699363606505077270" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_union_slack": { + "union_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-671293102421548330224240638726085360914759610620097483268321/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "-0.00041850581535625979732933476913026729312515313683012792547577564665" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-265766767138055773857617814368602057929260394866963/1069348903949477650676785089185287127357866963000000", + "decimal": "-0.24853138779727235167175614340870494550446163213006363934949227296" + } + }, + "full_key_sort_on_union": { + "unnecessary_union_full_key_sort_above_kappa": { + "rational": "-3349871895112392252395010152271923003071/13344503083845387356819500000000000000000", + "decimal": "-0.25103009636737138762328042591872403463400943697970053427204949195" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json new file mode 100644 index 0000000000..fea12fbe37 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json @@ -0,0 +1,164 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:11:15.272021+00:00", + "kappa": "836680052702889/500000000000000000", + "kappa_decimal": "0.001673360105405778", + "upstream_selected_unchanged": true, + "base_transfer_preserved": "CAPPED-OUTER-ARITHMETIC.json and REVIEW-RECEIPT.json", + "additional_hypothesis": "The supplied Matrix Multiplication in Nine Fourths theorem gives omega_C<=9/4; apply the independently audited effective algebraic transfer at tau=19/8.", + "limitations": [ + "All finite supplier, common-frame, whole-call, semantic precision, fixed-tape and prime-packing assumptions of the first transfer remain.", + "No generated competitive finite matrix formula or practical runtime claim is made; the fixed formula search is effective but may have enormous constant cost.", + "This is a local conditional corollary, not an upstream selected certificate or an unconditional integer-multiplication theorem." + ], + "reviews": [ + { + "reviewer": "root agent", + "result": "Read matrix corollary and independent layout signoff; reproduced exact parameters/ledger and matrix construction controls; approved integrated conditional corollary." + }, + { + "reviewer": "matrix_boundary agent", + "result": "Read all 1022 supplied source lines and audited effective algebraic coefficient, fixed-tape, precision and rank-exponent transfer." + }, + { + "reviewer": "global_macro agent", + "result": "Independent new-parameter no-sort union, metadata, q-ordering and microhalo layout signoff." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read both complete matrix transfer notes and independent layout signoff; constructed and replayed 47-slack ledger and six rejecting controls." + }, + { + "reviewer": "independent_fusion_review agent and independent children", + "result": "No blocking gap found under stated assumptions after full compiler, support, Gaussian, layout and tape-cost review. Generic SPD scale wording corrected without changing parameters. See independent FINAL-REVIEW.json." + } + ], + "arithmetic": { + "positive_slacks": 47, + "rejecting_controls": 6, + "minimum_saving": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "files": [ + { + "bundle_filename": "phase_fusion_note.tex", + "source_path": "work/phase_assembly_ultra/phase_fusion_note.tex", + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "bytes": 33757 + }, + { + "bundle_filename": "MATRIX-COROLLARY.md", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY.md", + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "bytes": 5787 + }, + { + "bundle_filename": "check_matrix_corollary.py", + "source_path": "work/phase_assembly_ultra/check_matrix_corollary.py", + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "bytes": 6692 + }, + { + "bundle_filename": "MATRIX-COROLLARY-ARITHMETIC.json", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json", + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "bytes": 16783 + }, + { + "bundle_filename": "PROOF-AND-COVERAGE.md", + "source_path": "work/matrix_boundary_ultra/PROOF-AND-COVERAGE.md", + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "bytes": 12130 + }, + { + "bundle_filename": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "source_path": "work/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md", + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "bytes": 11743 + }, + { + "bundle_filename": "MATRIX-SOURCE-COVERAGE.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-COVERAGE.json", + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "bytes": 2839 + }, + { + "bundle_filename": "MATRIX-SOURCE-CONSTRUCTIONS.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json", + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "bytes": 21018 + }, + { + "bundle_filename": "MATRIX-TRANSFER-MANIFEST.json", + "source_path": "work/matrix_boundary_ultra/MANIFEST.json", + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "bytes": 1159 + }, + { + "bundle_filename": "MATRIX-LAYOUT-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md", + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "bytes": 3081 + }, + { + "bundle_filename": "MATRIX-LAYOUT-CONTROLS.json", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json", + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "bytes": 1446 + }, + { + "bundle_filename": "PHASE-LAYOUT-AUDIT.md", + "source_path": "work/phase_layout_audit_ultra/AUDIT.md", + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "bytes": 11774 + }, + { + "bundle_filename": "CAPPED-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md", + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "bytes": 4414 + }, + { + "bundle_filename": "CAPPED-GAUGE-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md", + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "bytes": 9176 + }, + { + "bundle_filename": "LOG-A-PHASE-SCHUR-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md", + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "bytes": 10642 + }, + { + "bundle_filename": "FORWARD-SMALL-A-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md", + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "bytes": 6689 + }, + { + "bundle_filename": "SHALLOW-TOEPLITZ.md", + "source_path": "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md", + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "bytes": 15480 + }, + { + "bundle_filename": "TENSOR-COMPILER.md", + "source_path": "work/inplace_algebra_ultra/TENSOR-COMPILER.md", + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "bytes": 13430 + }, + { + "bundle_filename": "SUPPLIER-SUPPORT-AUDIT.md", + "source_path": "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md", + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "bytes": 16557 + }, + { + "bundle_filename": "SUPPORT-ROUTER.md", + "source_path": "work/halo_layout_ultra/SUPPORT-ROUTER.md", + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "bytes": 7755 + } + ], + "post_review_correction": "Generic SPD prefix bound records both M and 1/m, not condition number alone; actual Gaussian bounds already satisfy it." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md new file mode 100644 index 0000000000..f08bb57f9c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md @@ -0,0 +1,72 @@ +# Additional corollary using the supplied matrix-exponent theorem + +Status: **PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW**. The independent matrix-transfer and new-parameter layout audits passed, followed by the integrated root review and exact ledger replay. The first, Strassen-based result `kappa=0.001672922349588871` remains separately reviewed and unchanged. Neither result changes the upstream selected certificate. + +This corollary has an **additional hypothesis**: the supplied *Matrix Multiplication in Nine Fourths* theorem gives `omega_C<=9/4`. Its complete-source audit is `PROOF-AND-COVERAGE.md`; the effective approximate-bit transfer is `ALGEBRAIC-STABILITY-INDEPENDENT.md`. The result here retains every supplier and all-size assumption of the first phase-fusion theorem. + +## Effective matrix operation with the required error interface + +Fix `tau=19/8>9/4`. The matrix exponent theorem supplies a fixed block dimension m and rank r with `r0`. All local coefficient pages remain polynomial in p, while `L^g` remains superpolynomial. Microedge correction has exponent `epsilon+beta-3<-1.75`, including the generous old scalar arithmetic bound. Sparse microhalo key passes remain explicitly paid inside that negligible budget. + +All forward q-image group embeddings occur in native axis-major order before the one global low-bit gather. All compression q-image extractions occur after the inverse global gather. The entire Gaussian calculation keeps full dyadic target coordinate ranges, so every globally invoked H stage has complete coarse labels. This schedule needs no per-group gathering of the whole long-axis fields; the q-image scans have the already-paid Vd/g cost. + +The **optional full-group-key sort surcharge on the sparse union is omitted** because it is absent from the actual algorithm. The reviewed union routine extracts the complete rectangle `U_i=E_i x [L]^(g-1)`, transposes only its one polynomial-size field, computes its axis operator, and merges it into U in the original order. It does not radix-sort U. Reintroducing that sort is a rejecting control in the new ledger; it would destroy this parameter choice. This omission relies on the existing positive layout proof, not on the matrix theorem. + +`check_matrix_corollary.py` verifies 47 exact positive slacks and six rejecting controls and writes `MATRIX-COROLLARY-ARITHMETIC.json`. The rejected variants are endpoint equality, zero group guard, zero union slack, the old Vd row, the old full-cell data gauge, and adding a full-key sort to U. The first theorem's records are not overwritten. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json new file mode 100644 index 0000000000..aee3270196 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json @@ -0,0 +1,30 @@ +{ + "status": "PASS_MATRIX_COROLLARY_NO_SORT_LAYOUT", + "source_sha256": "b0d4648e16df74fc0a3644baa8a82cbb82842c0aa21abe915a28c0c4c949182a", + "exponents": { + "union_fraction": { + "rational": "-3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "-0.000428505825356260251146382720850643577327042013532977151967005" + }, + "membership": { + "rational": "269791328968194081006854064986174254715733926/1069348903949477650676785089185287127357866963", + "decimal": "0.252294950667420906279768139101314143625086172719573255573065" + }, + "total_union": { + "rational": "320264641396534864583914893734048954038319544983689789/320804671184843295203035526755586138207360088900000000", + "decimal": "0.998316639884594221546182952048279623715798111123297150773509" + }, + "group_scans": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.748959903622628611922902526129555589081788674143596616501459" + }, + "microhalo_fraction": { + "rational": "-380335532915361620704585/80067018503072324140917", + "decimal": "-4.75021475791267813012557319136042532178866352100676648857598" + }, + "rejected_union_full_key": { + "rational": "3334408963974161672450196077539/2668900616769077471363900000000", + "decimal": "1.24935673626196560962328042591872403463400943697970053427205" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md new file mode 100644 index 0000000000..d683e4d495 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md @@ -0,0 +1,64 @@ +# Matrix-corollary layout: positive signoff + +The no-sort union layout in `AUDIT.md` applies unchanged to +`work/phase_assembly_ultra/MATRIX-COROLLARY.md`. Its algebraic conditions are +closed axis supports E_i and a complete microbox; neither its proof nor its +implementation requires gkappa`. The minimum excess is greater than `10^-11`. Consequently every fixed logarithmic factor and each use of the unconditional quasi-linear short arithmetic kernel can be absorbed in a single positive fraction of that excess. Floors, rounded alpha, and dyadic L alter constants or logarithmic factors. All claims are eventual in p; one fixed finite prefix of inputs can use the retained elementary fallback. This statement becomes an admitted theorem only when the named implementation hypotheses receive the intended full review. + +## Parameter convention + +Let `a_bit=0.001733427039589844234749` and `b=0.001675462676808103522925` be the retained lower bounds certified by the selected PR1094 replay. For applying the older compact recurrence, lower the usable bit saving to `a_eff=(b+q)/2`; this keeps its historical convention `a_eff0` with `(1-t_stop)b>a_eff` and `q<(1-t_stop)b`. + +For each visited coarse block and group, all required local coefficient pages can instead be regenerated in polynomial time in p: there are g local windows of size at most L=Theta(p^8), their rational origins have O(p/d) bits, and the published local coefficient/Schur/circuit constructors are polynomial in that size and requested precision. Recover local phases and anchor gauges from these origins; do not form a raw uncentered global q² exponential on the data. The page contains O(p)-bit online coefficients. Its polynomial setup and sequential loading are amortized by the complete `L^g` payload, which eventually dominates every fixed power of p. This gives an explicit access method even when the coarse labels are permuted; no random global coefficient-table lookup is assumed. + +Global chirps, twists, positive diagonal normalizations and exact scale factors are separable products. The prefix-product scan supplies their products in O(V polylog p), with completed scalar range `O(d alpha^2)=o(p)`. Packed polynomial products retain their saving epsilon. The finite supplier, exact common-label frame, whole-call hosting, semantic depth bound with C1=1, phase precision, prime packing and fixed-tape input/output assumptions are inherited unchanged. They are still conditional interfaces, as in the selected result. + +## Cost ledger, with conservative wide bandwidth + +Let `h_w=1/2` and `h_K=beta+1-epsilon`. Normalize all costs by V. Fixed logarithmic factors are absorbed by strict gaps. + +| Component | power of p | reason | +|---|---:|---| +| main transform | `1-epsilon*q` | deferred reservations | +| constant global coordinate routing | `1-a_eff` | paid support/full router | +| dense Gaussian groups | `epsilon-q*beta` | `(d/g) g^(1-q)` | +| grouped bit routing | `epsilon-a_eff*beta` | same grouping, bit supplier | +| one/fixed group scans | `epsilon-beta` | d/g groups | +| boundary algebra | `(omega-1)*h_w` | batched w-column Strassen | +| sparse union, basic movement | `beta+h_w` | V g w overall | +| sparse union, conservative key surcharge | `beta+h_w+h_K` | full active-group keys | +| polynomial products | `1-epsilon` | retained short polynomial products | +| core-face corrections | `epsilon+beta+3-8+2` | old local maps on sparse copies, with a loose p² allowance | + +Use the rational upper bound `omega<45/16`, checked by `7^16<2^45`. The target balances the first and third rows exactly before a fixed 10^-11 absorption backoff. + +This ledger is accepted only after its circuit tensorizer, grouped sparse route, target-grid core/halo adapter, forward small-a inverse bound, and deferred-reservation interfaces have written proofs. Exact positive inequalities alone do not discharge those interfaces. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json new file mode 100644 index 0000000000..c3977299d4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json @@ -0,0 +1,185 @@ +{ + "ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md new file mode 100644 index 0000000000..bbeeee7431 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md @@ -0,0 +1,242 @@ +# Grouped phase-cell layout audit + +The sparse-union layout in `REFINED-PHASE-FUSION.md` has a constructive +implementation with its stated `V g^2 W polylog(p)/d` per-group movement +budget. It does not require sorting the full tensor or retaining d full +payload scans. The conclusion is conditional on the separately supplied +dense local tensor compiler, rounded phase-cell factorization, and precision +bounds. This audit does not prove those algebraic/analytic inputs. + +The maximum physical bandwidth **W**, including the broad forward map, must +be used in the dyadic carving and support sets below. The narrower inverse +bandwidth alone is insufficient for the broad map. The phase-assembly +branch confirms this convention. + +## Exact operator order and the union that is actually invariant + +Write H in interior/boundary order as `[A B; C D]` and let +`S=D-C A^-1 B`. The displayed identity in the parent note is correct. In +execution order its inverse can be scheduled as + +``` +diag(A^-1,I) +[I 0; -C I] +diag(I,S^-1) +diag(A,I) +[I -B; 0 I] +diag(A^-1,I). +``` + +The middle two diagonal factors commute. Thus there are three dense +interior stages and two sparse windows: the C and S^-1 stages share one +window; B uses the second window. For H itself, reverse and invert this +sequence: the same original B,C and S occur, with signs reversed and dense +A/A^-1 interchanged. No dense A^-1 B or C A^-1 shear is smuggled into the +sparse boundary cost. + +For each active axis i, let J_i be its designated boundary coordinates. +Let E_i contain J_i and every interior coordinate incident to an original +nonzero entry of B_i or C_i. Original physical bandwidth W implies that E_i +lies within O(W) of the carved endpoints. Include physical-period cuts, +artificial phase cuts and clipped microbox endpoints. Dyadic carving gives + +``` +|E_i| <= C (L/d+1) W log d, +mu := max_i |E_i|/L = O(W log d/d + W log d/L) +``` + +inside a length-L microbox. All sparse factors have the block form +`T_i = I_(E_i^c) direct_sum T_i|E_i`. In particular S_i^-1 can be dense on +J_i: J_i is already included in E_i. Let + +``` +U = {x in [L]^g : some x_i belongs to E_i}. +``` + +Then `|U|/L^g <= g mu`. Every sparse tensor-axis operation preserves U and +its complement. If x_i is changed by a nonzero off-diagonal entry, both +its old and new coordinates belong to E_i; otherwise it is unchanged. +This proves closure for an arbitrarily long sequence of these sparse +operations, not just one application. + +Dense A or A^-1 is **not** covered. It can move a near-boundary interior +coordinate into the deep interior. Scatter U before a dense stage and +regather afterwards. `check_union.py` includes an exact example in which +dense A^-1 sends union-supported data outside U. The actual schedule above +therefore uses two union gathers, not one retained union for all six stages. + +## Complete rectangles inside the union: no missing-zero assumption + +For one sparse axis i define + +``` +U_i = {x : x_i in E_i} = E_i x [L]^(g-1). +``` + +This is a **complete rectangle**, and it is wholly present in U regardless +of which other coordinates are near a boundary. All nonidentity data needed +by T_i is in U_i. A line with every other coordinate outside its own E_j +still has every E_i coordinate present. A line with another boundary +coordinate may contain more data, but those extra E_i^c entries are identity +coordinates and need no boundary computation. + +Keep a copy of U in its original microbox lexicographic order, with a short +coordinate/membership header. For each axis i: + +1. Scan U once and copy records with x_i in E_i to an auxiliary stream. + The copied stream is lexicographic E_i x [L]^(g-1). +2. Rename the increasing E_i coordinates by their ordinal 0,...,|E_i|-1. + This is a stream counter; no rank/select query is needed. +3. Expose that one field at the line suffix using the retained small-field + transpose. Its length is at most L=poly(p), so only O(log p) binary + block moves are needed. Pad only this field to its next power of two + temporarily, at a factor below two, and remove that padding before the + next axis. The other fields may be arbitrary spectators. +4. Apply the original B/C or boundary S/S^-1 factor on its complete E_i + line, retaining identity coordinates E_i\J_i when appropriate. +5. Undo the transpose at the actual field length. Merge the ordered E_i + stream back into a fresh copy of U, replacing exactly those entries. + +No array is completed by invented zero coordinates. The finite checker +verifies the extracted rectangle cardinality and the full tensor result. + +The extraction/merge costs O(|U|) per axis. Transposition costs +O(|U_i| polylog p). Consequently one sparse window costs + +``` +O(V [g^2 mu + g mu polylog p]) + = O(V g^2 W polylog p/d) + O(V g^2 W polylog p/L). +``` + +There is no factor `K=g log s` from a computed-key sort in this part of the +algorithm. A more general radix implementation would still fit with extra +small powers of g, but the complete-rectangle construction avoids it. + +## Union extraction and piece catalogues + +Only one full microbox scan is needed to form U, and one to scatter it. +For every complete p-bit coefficient record, compute its g membership flags +from its coordinate tuple and OR them. The flags and coordinate header have +O(g log L) bits. A nonzero number of flags sends the whole record once to U; +it is not duplicated for each active axis. + +This is a charged descriptor calculation. For actual source periods of +bitlength h=Theta(p/d), q_j inversion and phase-cell endpoint calculations +use O(h^2 polylog p) elementary bit operations per axis. Within a phase +cell, the greedy dyadic carve is found by at most O(log d) halvings and +integer comparisons. Thus a conservative membership cost is +`O(g h^2 polylog p)` per record, which is o(p) for +`g=p^(1-epsilon-r-zeta)` and epsilon>2/3. At the proposed epsilon this has +power about 0.005. It is absorbed by reading the p-bit record once. +Alternatively the original remainder phase generator and an odometer give +the same membership flags in sequential coordinate order. + +Factor pages may be regenerated once per complete microbox/group from its +actual coarse origins, using the supplied polynomial-time coefficient +generation. The complete inner microbox and untouched spectator payload +are superpolynomial in p and amortize this polynomial setup. This avoids +random access to a global catalogue in the scrambled coarse order created +by a support-limited gather. Online row/factor pages are then visited in +the ordered extracted E_i line. All page rewinds are within that line or +RHS batch and are included in the corresponding boundary arithmetic. + +## Batched right-hand sides do not add a large transpose + +All other inner coordinates and following tensor axes are independent +right-hand sides for an axis operation. Their count R is superpolynomial. +Batch them in a dyadic width between W and 2W; the final incomplete batch +can be padded once at constant cost. To put the batch index outside the +boundary-row field, move only that polynomial-width row field. This costs +O(log p) times the boundary volume, not a transpose of the long spectator +field. Each W-by-W factor page is scanned once per RHS batch and reused in +the block product. Reverse the small-field layout after the solve. + +Thus the assumed Strassen `W^omega` per W RHS gives the quoted total +`O(V W^(omega-1) polylog p)` boundary arithmetic. This audit checks the +layout and factor reuse; stability and the no-pivot factor theorem remain +the phase-assembly branch's responsibility. + +## q_j embeddings, selections and source order need one group scan + +For a group, each coordinate map `j -> q_j=floor(tj/s+1/2)` is increasing +and injective. Its tensor product preserves lexicographic order on its +image. Enumerate the target-group rectangle once. At target coordinate k, +set + +``` +j=max(0,ceil(s(2k-1)/(2t))). +``` + +The coordinate belongs to the image iff `j9/4`. + +If the surrounding proof allows polylog p factors, the bandwidth's polylogs remain polylogs; no positive power of p is introduced by coefficient approximation or error amplification. The algorithm provides absolute accuracy, which is what local residual bounds use. It makes no relative-error promise for nearly canceled output entries. + +The recursion can also be scheduled with sequential tapes. At one fixed-base node, its fixed number of input block combinations and output block sums require a fixed number of complete scans and fixed block permutations of `O(n^2)` records. Store child inputs consecutively, process children depth-first, and stream their returned blocks into accumulators. Copying a pending-child region or repositioning a finite set of tapes costs another `O(n^2)`-record pass at that node, already covered by the recurrence's addition term. Addresses and recursion descriptions add at most logarithmic factors. If any implementation retains an additional `polylog W` factor, choose the rank scheme first with exponent strictly between 9/4 and the stated target tau, leaving enough fixed exponent slack to absorb it. No algebraic unit-cost random-access assumption is needed for the target power tau. + +## 4. Boundary substitution and the outer ledger + +The existing capped boundary algebra uses W simultaneous right-hand sides. A square product costs `O(W^tau M(p))`; dividing by W² processed entries gives `O(W^(tau-2) M(p))` per entry. One axis has `O(V W/B)` boundary entries, and there are d axes. Its total is consequently + +`O(V (d/B) W^(tau-1) [M(p)/p] polylog p)` + +when V is the total bit volume, as in the phase-assembly notes. There are V/Theta(p) scalar entries, so the factor M(p)/p is the per-bit arithmetic charge. Equivalently, if V counts scalar entries instead, the formula has M(p) without the division. The retained quasi-linear short multiplier has M(p)/p=polylog p. + +This retains the essential d/B factor. With `d=p^epsilon`, `B=p^b`, and `W=p^(1/2) polylog p`, its normalized exponent is + +`epsilon-b+(tau-1)/2`. + +Taking `tau=19/8` gives `(tau-1)/2=11/16` and boundary saving `5/16+b-epsilon`. This is already more than enough to put the basic sparse-union cost near the binding row at b near 3/4. Pushing tau down to the unattained endpoint 9/4 is unnecessary. + +The changed matrix algorithm has the same input/output interface as the former Strassen product. It does not change the original Gaussian matrix, boundary support, anchored gauge, square-block inverse choice, or number of right-hand sides. The surrounding local-residual proof must still supply polynomial bounds on local exact inverses and partial right-hand sides. The new product's error is `poly(p)2^-P`, so that proof applies with a fixed larger guard constant. + +The optional full-coordinate-key surcharge in the old arithmetic ledger would become binding if mechanically retained at b near 3/4. It is not part of the actual rectangle extraction/one-field transpose/ordered-merge algorithm, as confirmed by the separate phase-layout audit. Dropping it is a distinct layout fact, not a consequence of matrix multiplication. It must remain explicitly justified in the final outer ledger. All retained supplier assumptions remain in force. + +No final improved outer exponent is claimed in this note; that requires the whole ledger and the independent group-layout/gauge checks. + +## 5. Exact controls run in this audit + +`check_source_constructions.py` uses only Python's exact rational arithmetic and writes `SOURCE-CONSTRUCTIONS.json`: + +* Finite Fourier/separation support for M=1,...,12: the modular relation has no wraparound and zero weight is exactly g=h,u=v. +* Determinant change of basis for a=1,...,8 and b=2,...,8, for every first-input monomial: quotient and kernel diagonal slices are exactly the two claimed neighboring convolution tensors; the upper-right block vanishes. +* Three-sector identity for a,h=1,...,14: all weights are nonnegative and each of the three retained branches is exactly the claimed tensor after its permitted identification. +* Exact rational diagonal product lower bound through a=300. + +All controls passed. They detect several relevant implementation mistakes but are not a finite substitute for the universal arguments above or for the theorem's nonconstructive rank-existence step. + +## 6. Deliberate limitations + +There is no generated competitive finite matrix scheme, no numeric claim about its constants, no use of a rank formula at exponent exactly 9/4, and no fast algorithm for finding the first successful algebraic tuple. The algorithm remains computable and uniform because the finite search halts under the proved existence statement and its cost is independent of the growing input. The outer conclusion remains conditional on exactly the previously retained supplier/computational assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json new file mode 100644 index 0000000000..befac93552 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json @@ -0,0 +1,226 @@ +{ + "status": "PASS_PORTABLE_EXACT_PHASE_FUSION_PACKAGE", + "scope": "Exact finite controls and arithmetic plus retained native receipt binding. This does not replay the entire native dependency or discharge all-size hypotheses. The matrix corollary retains an additional external premise.", + "package_files": 180, + "headline_kappa": "1677160151714381/1000000000000000000", + "checks": [ + { + "script": "frontier_fusion/check_frontier_fusion.py", + "artifact": "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "frontier_fusion/independent_substitution_check.py", + "artifact": "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_exact_algebra.py", + "artifact": "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_tensor_compiler.py", + "artifact": "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_supplier_capacity.py", + "artifact": "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_lower.py", + "artifact": "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_bilateral.py", + "artifact": "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_upper_data.py", + "artifact": "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_upper_merge.py", + "artifact": "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_capped_gauges.py", + "artifact": "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_dyadic_interiors.py", + "artifact": "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_cyclic_scan.py", + "artifact": "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_forward_cell.py", + "artifact": "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_log_a_schur.py", + "artifact": "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_halo.py", + "artifact": "evidence/halo_layout_ultra/HALO-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_embedding.py", + "artifact": "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_ragged.py", + "artifact": "evidence/halo_layout_ultra/RAGGED-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_sparse_shear.py", + "artifact": "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_union.py", + "artifact": "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_q_embedding.py", + "artifact": "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_capped_layout.py", + "artifact": "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + } + ], + "cold_native_binding": { + "status": "PASS_FRESH_NATIVE_RUN_BOUND_TO_PINNED_PHASE_FUSION", + "scope": "Existing complete cold native run checked against the pinned source and the independently replayed outer inputs; all-size assumptions remain.", + "source_commit": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "source_manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "native_words": { + "base": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "extra": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884" + }, + "complex_lower": "8398566873921928847865107582977140808726533185752606814031551243089531888024439117235381227291914058448586599984374667388474246199941131401151316949826049729135138281487406840315861844950703424400143642674520874037535671888706933756382975087837881090275422517866488734818622618194142006954783211221019204801330544148296601796623021915319705773977790291402669246008667290619418570040011860763793419/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1559766, + "2": 337668, + "3": 278058, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "canonical_native_receipts_checked": 46, + "all_native_receipt_sha256": { + "native_work/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "native_work/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "native_work/audit-local-566-base.log": "4767093ae54ad03845870bcfd0402f7ee6e4bc4c1dd7801146b7aa2217f0f39d", + "native_work/audit-local-566-extra.log": "b03c4d51b4309fd2b49fdae8f26d4bb68f84d1149f310d21237a95f995b57d19", + "native_work/fine-engine-oracle.log": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3", + "native_work/geometry-controls.log": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9", + "native_work/lift-parent.log": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "native_work/native-new-base/local/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "native_work/native-new-base/local/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "native_work/native-new-base/local/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "native_work/native-new-base/local/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "native_work/native-new-base/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "native_work/native-new-base.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "native_work/native-new-extra/local/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "native_work/native-new-extra/local/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "native_work/native-new-extra/local/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "native_work/native-new-extra/local/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "native_work/native-new-extra/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "native_work/native-new-extra.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "native_work/parent/RESULT.json": "13037d41939ede1de9c80be7a75a051006a457ff2d871cadde2351a39bb254ee", + "native_work/rebind-566.log": "c90f7d555ea88339e4999736f38e9fcf1e63b88637e05ddcb76782f0900134a3", + "native_work/rebuild-words-566.log": "e9825c70278880f4a9566012d700b0d7944f84fbf02b95408896b3a07d29e849", + "native_work/reconstruct-owners.log": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5", + "native_work/retained-provider-and-parent-admission.log": "a84cbfcd6ad1a9a2f8279939fcbcec5457b8b55d3dc9971e3407491a82c1c57e", + "native_work/strict/ADMISSION-CONTROLS.json": "528fa1aec9db41e748774df5b9cbcd86f702c76286423fd0762cbac5510564c3", + "native_work/strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60", + "native_work/strict/BIT-CONTROLS.json": "7c27d56e68b924ac0fefc6353e9e38d2e3f593295cf1a39aade27fba39922e54", + "native_work/strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "native_work/strict/STAGES.json": "abbc3fa255097304f0862c3c390c3bd681485a64c5cf906b7796e6f978faf049", + "native_work/strict/global/audit/ASYNC-AUDIT.json": "37b1b8d81353c99db83edbf3d9d1510906e0ae0a3301165894190d416f1c6d60", + "native_work/strict/global/audit/PREFIX-AND-INVOICE.json": "321d98f8342fb61418aacee7a99a7e54ae284b32a5f142fa692ebe6825d05ea0", + "native_work/strict/global/base/providers/extra/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "native_work/strict/global/base/providers/extra/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "native_work/strict/global/base/providers/extra/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "native_work/strict/global/base/providers/extra/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "native_work/strict/global/base/providers/extra/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "native_work/strict/global/base/providers/gauge44/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "native_work/strict/global/base/providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "native_work/strict/global/base/providers/gauge44/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "native_work/strict/global/base/providers/gauge44/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "native_work/strict/global/base/providers/gauge44/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "native_work/strict/global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "native_work/strict/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "native_work/strict/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "native_work/strict/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "native_work/strict/parent/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "native_work/strict/parent/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/parent/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/parent/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "native_work/strict/parent/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "native_work/strict/parent/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "native_work/strict-t74.log": "d6a6c941d4107f47f3f8ced6a4f85b48d562bb30aeb9ae7927c3a3a15331af1b", + "native_source/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "native_source/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "native_source/new/PROFILE.json": "f66dd80aff69525144eac18144c13d7d8be3d3c39028b3afa1b59a8edf53e8a3", + "native_source/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" + }, + "run_receipt_sha256": { + "RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60" + } + }, + "environment": { + "python": "3.14.7", + "platform": "macOS-15.7.7-arm64-arm-64bit-Mach-O", + "dependencies": { + "numpy": "2.5.4", + "scipy": "1.18.1", + "sympy": "1.14.0" + } + }, + "native_replay_mode": "Fresh native providers and retained parent; no reuse/cache flags. Complete source verification was run before publication.", + "capsule_generator_replay": "Regenerated canonical capsule byte-identical to committed capsule using explicit --native-source and --native-work paths.", + "registered_python_312": { + "python": "3.12.15", + "sympy": "1.14.0", + "status": "PASS_REGISTERED_RESEARCH_PACKAGE", + "command": "python3.12 scripts/research_package.py --package research/capped-phase-fusion", + "exact_control_replays": 21 + }, + "native_build_requirements": "C++17 compiler and Boost headers; successful run used /opt/homebrew/include for header lookup." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json new file mode 100644 index 0000000000..3f760bee8a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json @@ -0,0 +1,12 @@ +{ + "research_base": "e6f9716621f4e01fc190617934cdfaf072bd976f", + "publication_base": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "supplier": { + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "pr": 1661, + "commit": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "directory": "research/gmx-t74-p566-ep400", + "manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f" + }, + "scope": "Source snapshots and exact recipe for complete cold replay; historical native receipt hashes are external provenance, not all bundled artifacts." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md new file mode 100644 index 0000000000..f7f3348ee3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md @@ -0,0 +1,162 @@ +# Capped phase-cell fusion: conditional final kappa = 0.001677160151714381 + +This package gives the conditional final integer-multiplication bound + +\[ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1677160151714381}{10^{18}}=0.001677160151714381. +\] + +The contribution changes the **outer Gaussian resampling reduction**. It uses +shallow in-place Toeplitz circuits, a common Hadamard schedule for multiple +axes, recentered and capped Gaussian cells, and explicitly charged sparse +boundary operations. The finite supplier is the unchanged, pinned +[PR1661](https://github.com/CrocSwap/integer-mult-bounds/pull/1661) T74 construction. +Its complete native verification was run afresh, including both new provider +words and the retained parent. The final exponent is a conditional theorem +from the written transfer argument; finite checks alone do not prove it. + +Read [the proof](phase_fusion_note.tex), especially its T74 substitution section, +and the [independent substitution review](frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md). +The proof's earlier numerical specializations remain valid historical cases. +“Independent” in this package means separate agent implementations/reviews, +not an independent human referee or a proof-assistant verification. + +## Exact paid inputs and result + +| Quantity | Value | +|---|---:| +| Retained bit saving c | 0.001733427039589844234749 | +| Chosen complex saving b | 0.00167971337478 | +| Effective tensor saving q | b - 10^-10 | +| Effective bit saving a | (q+b)/2 | +| Native dimension m | 73 | +| Native live width W | 66304 | +| Final kappa | 0.001677160151714381 | + +The complete native profile is +`{1:1559766, 2:337668, 3:278058, 4:84912, 5:54612, 8:5328, 48:22748}`. +All decimals above are exact rationals. Exact epsilon, xi, beta, every outer +cost power and all 45 strict inequalities are in +[FRONTIER-FUSION-ARITHMETIC.json](frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json). +Five deliberate bad variants reject. The native moment has an outward rational +upper bound below one; a larger test endpoint is rejected. + +For the same pinned supplier, PR1661's original outer reduction gives +0.0016768966690212993077507..., so the new outer transfer improves its final +exponent by about 2.6348269308e-7. This is an exponent comparison, not a measured +runtime improvement or a claim of global priority. The selected-result record +is not changed by this contribution. + +The supplementary branch gives 0.001677600129305161 **only with the additional +assumption omega_C <= 9/4**, used through a fixed algebraic algorithm of exponent +19/8. That extra premise is not needed for the headline Strassen-based result. +The supplied 9/4 paper, its audit and historical local locator are recorded in +PROOF-AND-COVERAGE.md and MATRIX-SOURCE-COVERAGE.json; it is treated as an explicit +additional premise, not as a theorem certified by this package. + +## Scope and remaining assumptions + +Retained assumptions include the all-size compiler, exact common-label and +mutable-source realization, whole-call hosting, the semantic precision guard +with C1=1, fixed-tape/prime-packing interfaces, paid arbitrary-width equal-chunk +interchange, exact recovery, and the original analytic transfer. The construction +does not prove an unconditional multiplication theorem, a complete Lean theorem, +or a practical finite cutoff. The written proofs address the new outer steps; +finite algebra and layout checks support, but do not replace, those arguments. + +Original assignment: improve the bound using broad mathematical resources. +For repository indexing this is a changed scope of `uniform-transfer-audit`: +it constructs and audits a replacement outer transfer rather than only checking +one inherited implication. [TASK.json](TASK.json) records the scope and next steps. + +## Reproduce + +Python 3.12, with SymPy 1.14.0, is the registered environment. The exact checks +also ran locally with the Python version recorded in PUBLICATION-CHECKS.json. +The package verifier checks its manifest and source pins, works in a temporary +copy, and compares the regenerated mathematical receipts. It does not modify +this directory. From the repository root: + +```sh +python3 -m pip install sympy==1.14.0 +python3 -B research/capped-phase-fusion/verify.py +python3 scripts/research_package.py --package research/capped-phase-fusion --check-only +``` + +The first command after installation is the bounded outer-proof evidence replay, +not a cold native-supplier replay. The native run already completed with all 12 +top-level stages passing, 319680 owners, prefix 1441 charged at 2048, physical row +coefficient 19545 below 20161, and rejected controls: 114 admission, 12 bit, +15 controller, 8 independent owner, 6 geometry. The retained compact RESULT +and [native binding](frontier_fusion/NATIVE-ADMISSION-BINDING.json) record it. + +To reproduce the full native dependency, obtain the exact source commit +`f852af5e178ce035cd46181a29d9330bcbcaa206` from CrocSwap/integer-mult-bounds, +install its documented dependencies (NumPy, SciPy, SymPy, a C++17 compiler and +Boost headers), and run its unmodified command without cache/reuse flags: + +```sh +python3 -B /absolute/pr1661/research/gmx-t74-p566-ep400/verify.py \ + --work /absolute/new-native-work --audit-shards 4 +python3 -B research/capped-phase-fusion/verify.py \ + --native-source /absolute/pr1661/research/gmx-t74-p566-ep400 \ + --native-work /absolute/new-native-work +``` + +The second command binds a completed external native run to this package's +source and mathematical result. It compares regenerated proof-relevant content; +fresh timings and log bytes need not match the historical run. The full 121 MB +assembly and vendor tree are not duplicated here. The receipt capsule adds canonical hashes for 46 JSON receipts. The 58 hashes +in the historical native binding identify external run artifacts; they are not all bundled files. +The original bind_native_admission.py is retained as historical provenance; +use the new top-level verifier for portable binding. + +PACKAGE-MANIFEST.json is the authoritative publication manifest. MANIFEST.json, +MANIFEST-UPDATE.json and earlier review receipts are explicitly historical +snapshots. The copied upstream CLAIM.json is immutable and contains older pending +language; the later completed native RESULT records this contribution's replay. +Hosted CI and independent human review are separate from the local checks. + +## Sources and overlap + +Prepared by **Vlado Vojdanovski with substantial AI assistance**. New material is +Apache-2.0. The original manuscript and source-specific notices retain their +licenses. This is not an official OpenAI release or endorsement. + +The main research snapshot was `e6f9716621f4e01fc190617934cdfaf072bd976f`; +the publication base is recorded in SOURCES.json. Exact T74 source pins are in +PUBLICATION-SOURCES.json and the source manifest. +The [unaltered T74 NOTICE](target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE) +is included. The original +OpenAI #109 framework and the Harvey–van der Hoeven reduction remain inputs. + +The in-place algebra builds on Giorgi–Grenet–Roche, +[*Fast In-place Algorithms for Polynomial Operations*](https://arxiv.org/abs/2002.10304), +and Dumas–Grenet, [*Fast in-place accumulation*](https://arxiv.org/abs/2302.13600). +SHALLOW-TOEPLITZ.md distinguishes their results from the new parity-split, +low-displacement and prefix-stability arguments. The Gaussian factorization +also relates to +[PR489](https://github.com/CrocSwap/integer-mult-bounds/pull/489), which already +gives a branch-free local Gaussian inverse but leaves joint evaluation, +routing and boundary composition open. The present package supplies a different +in-place tensor compiler and capped boundary transfer for those outer costs. +[PR1141](https://github.com/CrocSwap/integer-mult-bounds/pull/1141) concerns a +reversible quadratic phase stream and is related background, not a dependency. +The overlap check does not establish novelty beyond these identified sources. + +## Open next questions + +1. Can a new finite supplier exceed the present complex rate by a substantial + amount? Even a lossless outer transfer cannot reach 0.002 from b<0.00168. + First step: emit a complete side circuit for a lower-cost decoder and measure + its actual rank profile, helper storage and restoration. The missing piece is + the physical circuit, not an idealized central-rank estimate. +2. Can the capped Gaussian transfer be independently checked or formalized with + its complete fixed-tape schedule? First step: independently reconstruct the + sparse-union and support-local routing lemmas. Existing finite tests cover + algebraic identities, not an end-to-end all-size tape implementation. +3. Can the same outer transfer consume a future reviewed supplier without + changing its proof? First step: rebind the endpoint, prefix and completed-call + restoration contract, then replay the exact ledger. The supplier must satisfy + the full functional interface; a numerical endpoint alone is insufficient. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json new file mode 100644 index 0000000000..2521d02ada --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:06:22.293042+00:00", + "kappa": "1672922349588871/1000000000000000000", + "kappa_decimal": "0.001672922349588871", + "upstream_selected_unchanged": true, + "scope": "Local all-size conditional transfer, retaining the selected finite suppliers and common-frame, whole-call, precision, fixed-tape and prime-packing hypotheses.", + "reviews": [ + { + "reviewer": "root agent", + "result": "Read standalone TeX, integrated notes and exact ledger; cap, supplier and layout audits passed; authorized local conditional status." + }, + { + "reviewer": "gaussian_fast agent", + "result": "Independent capped-gauge and finite-block audit passed; exact inherited-weight reanchoring and broad derivatives checked." + }, + { + "reviewer": "global_macro agent", + "result": "Independent capped carving, sparse-union, q-image and microedge layout audit passed." + }, + { + "reviewer": "inplace_algebra agent", + "result": "Global selected-H support and capacity audit passed; all g controls need not fit one original axis." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read named proofs and relevant retained source contracts; reconstructed complete cost ledger and reviewed capped interfaces." + } + ], + "phase_assembly_replays": [ + "check_capped_outer.py: 44 positive exact slacks and 5 rejecting controls", + "check_forward_cell.py: 350 cases, 5184 factorization and 16496 completion entries", + "check_union.py: exact five-factor/tensor/complete-rectangle checks, with dense escape negative control", + "check_q_embedding.py: product order and augmented inverse checks" + ], + "files": { + "work/phase_assembly_ultra/phase_fusion_note.tex": "da2bf119be3ed1e44473c380e43643d16bdc93015c80380fc59da33d84e951de", + "work/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "work/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "work/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "work/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "work/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "work/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "work/halo_layout_ultra/SUPPORT-ROUTER.md": "d4d2f5bd0a8eb51d9ebd28e4d1a38d3c69bdbf97471a705b3aa199c184364c52", + "work/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json new file mode 100644 index 0000000000..4f80ff6ecc --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json @@ -0,0 +1,39 @@ +{ + "status": "PASS_ROOT_EXACT_BASELINE_AND_CAPPED_MARGIN_REPLAY", + "selected_commit": "e6f9716621f4e01fc190617934cdfaf072bd976f", + "baseline_complex_moment_upper_minus_one": "-2785787033843904352780990891572049605608726093667665717994302747547920313/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576", + "q_below_seven_step_supplier": "327679999999801168224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "new_kappa": "1672922349588871/1000000000000000000", + "old_kappa": "836330098538459/500000000000000000", + "gain": "262152511953/1000000000000000000", + "powers": { + "main": "160268031909611721506129731833773378546441654700203789/160536597172553998639367526755586138207360088900000000", + "Gaussian": "160268031909611721506129731833773378546441654700203789/160536597172553998639367526755586138207360088900000000", + "routing": "39932981494927675859083/40000000000000000000000", + "grouped routing": "160268031908860553136771869521388943095675654700203789/160536597172553998639367526755586138207360088900000000", + "group scans": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "boundary": "160266426543639995966143338158505822685059581099314789/160536597172553998639367526755586138207360088900000000", + "union": "110071801329447180266588989429368954038319544983689789/160536597172553998639367526755586138207360088900000000", + "key surcharge": "3128222851922485017350588232617/4006701850307232414091700000000", + "polynomial leaves": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "microfaces": "-3062932211310582068590571622361184146220802667/1605365971725539986393675267555861382073600889" + }, + "slacks": { + "main": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "Gaussian": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "routing": "101611088769300917/40000000000000000000000", + "grouped routing": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "group scans": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "boundary": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "union": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "key surcharge": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "polynomial leaves": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "microfaces": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000" + }, + "guards": { + "group": "1/100000000", + "axis": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "membership": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889" + }, + "scope": "Exact baseline moment and arithmetic replay. Mathematical transfer depends on the accompanying proved circuit/layout/precision lemmas and inherited repository assumptions." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json new file mode 100644 index 0000000000..bd509b8377 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json @@ -0,0 +1,21 @@ +{ + "status": "PASS_ROOT_MATRIX_CONDITIONAL_LEDGER", + "additional_assumption": "supplied complex matrix multiplication exponent <=9/4, used with strict 19/8 algorithm exponent", + "kappa": "836680052702889/500000000000000000", + "gain_over_selected": "34995416443/50000000000000000", + "epsilon": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "cap": "6006737803538363603786961767383/8006701850307232414091700000000", + "group": "19999559600000000000000/80067018503072324140917", + "slacks": { + "main": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "Gaussian": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "global routing": "84100856093020917/40000000000000000000000", + "grouped routing": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "scans": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "matrix boundary": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "union": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "pointwise products": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "microfaces": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000" + }, + "sparse_fraction_slack": "3430918384747396741111767383/8006701850307232414091700000000" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md new file mode 100644 index 0000000000..bc4349b2da --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md @@ -0,0 +1,197 @@ +# Shallow, stable, dimension-preserving Toeplitz circuits + +Status: a positive algebraic circuit construction for **dyadic local tiles**. It gives the missing full-Toeplitz primitive in the normalized Sylvester merge. It does not reconcile the anchor coordinates with the original Gaussian gauges; that remains a separate obligation. The construction uses no data ancilla, no zero-initialized coordinate and no fan-out. Fixed coefficient generation is allowed polynomial time in the local tile size and precision. + +## 1. Result + +Let N be a power of two, and let H be an N by N real or complex Toeplitz matrix with + + max(||H-I||_1, ||H-I||_infinity) <= delta < 1/4. + +There is an N-wire linear circuit applying H, with O(log^4 N) rounds of disjoint invertible 2 by 2 gates and diagonal gates, O(N log^4 N) gates, and polynomial-in-N bounds for all coefficients and all partial circuit operator norms and inverse operator norms. Constants depend only on delta. + +For any requested output accuracy 2^-p, rounding the coefficients to p+O(log N) bits gives operator error at most 2^-p; arithmetic at that precision also gives uniform forward error 2^-p on bounded inputs, after allowing the same O(log N) guard bits. A rational approximation to the input Toeplitz coefficients and all required gate coefficients can be generated using poly(N,p) bit operations. This coefficient preprocessing may use polynomial extra memory; the **data circuit** still has exactly N live coordinates. + +The same result applies to upper or lower triangular Toeplitz matrices with max(||T-I||_1,||T-I||_infinity)<=eta for **any fixed eta<1**, with only O(log^2 N) rounds and constants depending on eta. In particular eta=1/2 is permitted for the generator-normalization step below, even though the full-Toeplitz statement uses delta<1/4. Descendants need bounded norm and inverse, not continued distance below 1/4. This independent triangular construction is important: a contiguous bottom-recursion / shear / top-recursion has linear depth even though its work is quasi-linear. + +## 2. Dirty Toeplitz shear is a shallow circuit + +For disjoint m-coordinate vectors x and y, implement + + (x,y) -> (x,y+Tx), + +where T is Toeplitz, in O(log m) rounds when m is dyadic. It is an invertible square map on the existing 2m wires. + +Write the first column and row of T as c_0,...,c_(m-1) and c_0,r_1,...,r_(m-1). Set + + g_0=h_0=c_0/2, + g_j=(c_j+r_(m-j))/2, + h_j=(c_j-r_(m-j))/2, 1 <= j < m. + +Then T=C(g)+C_-(h), where C is a circulant and C_- is a negacyclic circulant. For a unitary m-point FFT F, C(g)=F^* diag(DFT(g)) F. A circulant shear therefore consists of F on x and y in parallel, the disjoint pairwise shears y_j+=DFT(g)_j x_j, and F^* on x and y. Every FFT stage consists of disjoint unitary 2 by 2 butterflies; bit reversal is a disjoint swap stage. + +For gamma=exp(pi i/m), D=diag(1,gamma,...,gamma^(m-1)), + + C_-(h)=D^-1 C(Dh) D. + +Use diagonal twists before and after the same circulant-shear circuit. The two completed shears commute. Source x is restored after each. No circulant inverse is needed, so zero Fourier multipliers cause no problem. Every gate is invertible even when T itself is singular. + +All intermediate norms are polynomial in m and the l1 norm of the Toeplitz symbol. In the 2-norm, FFT and twist stages are unitary, and the spectral diagonal has norm at most the symbol l1 norm. + +## 3. Independent triangular primitive: parity splitting + +Let T_N(f) be lower triangular Toeplitz multiplication by f modulo z^N. Write + + f(z)=e(z^2)+z o(z^2). + +Reorder the existing coordinates into even and odd powers, N=2m. Then + + T_N(f) = [ E ZO ; O E ], + +where E=T_m(e), O=T_m(o), and Z=T_m(z). All these m by m triangular Toeplitz matrices commute. Set + + k=o/e mod z^m, + s=e-z o^2/e mod z^m. + +The exact factorization is + + [ E ZO ; O E ] + = [ I 0 ; T_m(k) I ] + diag(T_m(e),T_m(s)) + [ I T_m(zk) ; 0 I ]. + +Thus apply the right Toeplitz shear, the two child triangular circuits **in parallel**, and the left Toeplitz shear. The recurrence for rounds is + + D_tri(N) <= D_tri(N/2)+O(log N), + +giving D_tri(N)=O(log^2 N). The two recursions act on disjoint coordinates. Inverses are obtained by reversing the gate sequence and inverting every gate, at the same depth. + +Stability is not proved by multiplying coefficient l1 bounds afresh at each depth. Each child is a principal submatrix or principal Schur complement of the original triangular matrix, after a coordinate permutation. If the initial T_N(f) differs from I in both 1- and infinity-norm by at most eta<1, every descendant M satisfies + + ||M-I|| <= eta+eta^2/(1-eta)=eta/(1-eta) + +in both norms, and ||M^-1||_2 <= 1/(1-eta). This follows directly by expressing the descendant as a Schur complement of a principal block of the original matrix; nested elimination and restriction preserve that description. Hence all local diagonal blocks and local Schur multipliers have constant 2-norms. Their triangular Toeplitz coefficient l1 norms are at most sqrt(N) times these constant bounds. The dirty shear circuits from section 2 therefore remain polynomially bounded. + +## 4. Full Toeplitz recursion: displacement rank grows additively + +Use the Sylvester shift displacement + + Delta_m(M)=Z_m M-M Z_m. + +A Toeplitz H has rank Delta_N(H)<=2. At a node of size 2m, partition + + M=[ A B ; C D ], + Z_(2m)=[ Z 0 ; E Z ], E=e_0 e_(m-1)^T, + K=A^-1 B, L=C A^-1, S=D-C A^-1 B. + +The usual block factorization is + + M=[ I 0 ; L I ] diag(A,S) [ I K ; 0 I ]. + +Again A and S run in parallel. To bound ranks, let U=[-C A^-1,I] and V=[-A^-1 B;I]. Then M V=[0;S], U M=[0,S], and direct block multiplication gives + + Delta_m(S)=U Delta_(2m)(M) V-S E A^-1 B. + +Therefore rank Delta(S)<=rank Delta(M)+1. Also, the upper-left block of Delta_(2m)(M) is Delta_m(A)-B E, so rank Delta(A)<=rank Delta(M)+1. At depth d, both children thus have displacement rank at most 2+d. + +The top-right block of Delta(M) equals Delta(B), while its bottom-left equals E A+Delta(C)-D E. Consequently + + rank Delta(B)<=r, + rank Delta(C)<=r+2, + rank Delta(K)<=rank Delta(A)+rank Delta(B)<=2r+1, + rank Delta(L)<=rank Delta(C)+rank Delta(A)<=2r+3. + +All shear matrices have displacement rank O(log N). + +Every recursive M is a principal Schur complement of the original H. Since H=I+R and both ||R||_1 and ||R||_infinity are at most delta, + + max(||M-I||_1,||M-I||_infinity) <= delta/(1-delta), + ||M^-1||_2 <= 1/(1-delta). + +The inverse assertion also follows because M^-1 is a principal submatrix of the inverse of a principal submatrix of H. Thus A,S,K,L are uniformly bounded in 2-norm independently of recursion depth. + +## 5. Bounded-generator shear compiler + +For an m by m matrix T define its Stein displacement + + E_T=T-Z T Z^T=-Delta_m(T) Z^T+T e_0 e_0^T. + +Its rank is at most rank Delta(T)+1. Choose an orthonormal basis g_1,...,g_r for the column space of E_T, and put h_j=E_T^* g_j. With conjugates interpreted appropriately, + + E_T=sum_j g_j h_j^*, + T=sum_j L(g_j) U(conj(h_j)). + +Here L(g) is lower triangular Toeplitz with first column g, and U(h) is upper triangular Toeplitz with first row h. The second identity is the finite telescoping sum T=sum_(k=0)^(m-1) Z^k E_T (Z^T)^k. All g_j have 2-norm 1, and all h_j have 2-norm at most ||E_T||_2=O(1). Their coefficient l1 norms are O(sqrt(m)). + +A zero or tiny first coefficient of h is harmless. Choose an integer gamma >= 2||h||_1 (a fixed conservative gamma=64N suffices under the stated bounds), and set + + P=I+U(h)/gamma. + +P and P^-1 have constant norm, and P is upper triangular Toeplitz. On the same two existing vectors, one generator term is implemented by + + x <- P x, + y <- y+gamma L(g) x, + x <- P^-1 x, + y <- y-gamma L(g) x. + +The result is y<-y+L(g)U(h)x and x is restored. Source transforms use section 3; the other two operations use section 2. Each term costs O(log^2 m) rounds. There are O(log N) terms, hence O(log^3 N) rounds for a full low-displacement-rank shear. + +Although the partial generator sum can be larger than its final T, its norm is at most the sum of O(log N) products of O(sqrt N)-norm factors, hence O(N log N). Within a term the source norm remains constant times its entry norm and the target norm is polynomially bounded. Terms are completed as shears with one common source, so their partial sums add; one must not charge a product of polynomial factors for every generator. + +The full recurrence is therefore + + D_full(N) <= D_full(N/2)+O(log^3 N)=O(log^4 N). + +## 6. Global prefixes, rounding and preprocessing + +At each block-LU node the completed right shear, completed middle block, and completed left shear have constant norm and constant inverse norm. At an intermediate time there is at most one unfinished generator compiler or one unfinished triangular compiler along each recursive path; disjoint paths form a direct sum. If B(N) bounds a full circuit prefix and inverse prefix, this gives B(N)<=max(C B(N/2),N^C), hence B(N)=N^O(1). The same argument applies to suffixes and to the triangular compiler. + +There are N polylog(N) arithmetic gates. Perturbation of one bounded gate by epsilon contributes at most N^C epsilon to the whole operator, by the prefix/suffix bounds. The sum over all gates remains N^O(1) epsilon. Therefore p+O(log N) coefficient/arithmetic bits suffice; there is no N or N^2 precision term on the data. + +The coefficients are fixed before seeing the data. One concrete polynomial-time generation route is: + +1. Approximate the original Toeplitz symbol by dyadic rationals at p+O(log N) bits, preserving Toeplitz structure. The operator perturbation is at most N times the entry perturbation. +2. Compute every recursive Schur matrix as a principal Schur complement of this original rational matrix. Its entries are ratios of minors of that original matrix, so numerator and denominator bitlengths are polynomial in N and p. Avoid an unnecessarily expanded recursive rational expression. +3. For each Stein displacement, use exact rational elimination to select independent columns and rational, unnormalized Gram-Schmidt to obtain orthogonal vectors v_j. Then g_j=v_j/sqrt(v_j^*v_j) and h_j=E_T^*v_j/sqrt(v_j^*v_j). The resulting generators have the bounded norms proved above. Nonzero rational residual norms are at least 2^-poly(N,p), so poly(N,p) offline precision suffices for their normalization. Equivalently a high-accuracy SVD may be used. +4. Compute the finite series divisions and FFT roots to p+O(log N) final bits. All final data-gate coefficients are polynomially bounded. Offline intermediate rational numerators may be longer; they never become data wires. + +This separates polynomial-time coefficient setup from bounded-precision data application. Applying an algebraic-RAM theorem directly to arbitrarily large integers would not provide this separation. + +## 7. Normalized Sylvester merge + +For two b-point children, N=2b, the normalized map supplied by the radical-reduction branch is + + S(B,A)=f(z)B(z)+z^b g(z^-1)A(z), + f(z)=product_lower(1+(x/zeta)z), + g(z^-1)=product_upper(1+(zeta/x)z^-1). + +Let h=g(z^-1)/f(z), K_ij=h_(i-b-j), H_ij=h_(i-j), 0<=i,j0. Every principal submatrix has spectrum in [mu,M]. Every principal Schur complement S also does: S^-1 is a principal block of the inverse of a principal submatrix, whose spectrum is in [1/M,1/mu]. Thus every recursive A,S has norm at most M and inverse norm at most 1/mu. The shears K,L have norm at most kappa=M/mu. The displacement-rank formulas are unchanged. + +Use orthonormal g generators and h of norm O(kappa), and choose gamma>=2||h||_1. The triangular source transform P is still near I, so the depth O(log^4 N) is unchanged. Generator-stage amplitudes and coefficients are poly(N,kappa). Across the O(log N) completed ancestor factors, the bound becomes + + log(max prefix/inverse-prefix norm) + = O(log N * log(2+M+1/mu) + log N). + +If M and 1/mu are exp(O(u)), this is O((u+1)log N). The corresponding data precision is p+O((u+1)log N), and g-axis tensorization adds O(g(u+1)log N) guard bits. This is a usable broad-Gaussian extension once a separate spectral argument supplies the stated eigenvalue interval. Reversing the circuit applies H^-1; the inverse itself need not be Toeplitz. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json new file mode 100644 index 0000000000..a5d007aae1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "06c96f5579bb67ed1b86d334e78fbed7da6945f1", + "sha256": "6686ad58f1fbdbc87134a78901b60fd53a20d3984355e91defbbebc9e9fa8075" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md new file mode 100644 index 0000000000..72404c42d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md @@ -0,0 +1,139 @@ +# Independent audit: support-local simultaneous-H supplier + +Conclusion: the retained compact phase supplier can be used at width g with cost + + O(V g^(1-q) polylog(p)) + +without the previously charged additive V p^(1-a), **provided the call is made globally on the complete dyadic tensor, not separately on one fixed coarse-label microbox**. This is conditional on the same accepted finite complex circuit and arbitrary-width equal-chunk interchange as the retained supplier, and on the support-router transfer proved in `work/halo_layout_ultra/SUPPORT-ROUTER.md`. The new support-router's unequal-spacing algebra and its use here have been checked below. + +The full address still has O(p) bits. That quantity remains in descriptor arithmetic, keys and error precision; it no longer determines the width of any newly required fast coordinate interchange. + +## 1. What the actual phase frames touch + +The primary source is `work/integer-mult-current/upstream/build/sections/05-layers.tex`. + +At lines 86–139, a residual basis is a matrix M in GL(m,F_2), extended **inside F_2^m**. At width e=mf it is applied separately to the column + + (x_(1,j),...,x_(m,j)), 0<=j T as prescribed, + T\S -> S\T bijectively, + identity outside S union T + +is a coordinate permutation supported on at most 2gK positions. Its inverse restores the original coarse-coordinate interpretation. The target can be chosen before the payload and a reserved untouched suffix. No stable reordering of every coarse field is required. + +Apply the H supplier to this full global stream, whose complete coarse-coordinate ranges remain present. A fixed coarse-label microbox alone does **not** contain enough complete K-bit fields: its high coarse bits are fixed. Borrowing those fixed labels inside such a microbox would violate the supplier's complete-field hypothesis. This audit approves the global call only. + +The tensor compiler's H schedule is independent of all coarse labels. Those labels affect only diagonal coefficients between complete H calls. The diagonal scan can still be organized by coarse-label microboxes after undoing the global exposure permutation. Coarse-dependent coefficients therefore do not require separate supplier invocations. + +## 3. Deferred reservoirs and the row prefix + +At a phase with h unprocessed selected bits, reserve whole K-bit chunks for two front hG fields, one back hG field, and a leading row prefix. With K=128G, the field reservation is at most 3h/128+O(1) chunks. Row preparation needs O(log h) further chunks, including the product stock for nested bit and complex calls. For h above a fixed polylog(p) threshold the total R(h) is at most h/16. The remaining bounded/polylogarithmic h can be processed individually. + +Every such chunk is one of the current selected chunks. The phase applies C only to the other h-R(h) selected bits and identity to the reserved chunks; the latter are deferred to the next phase. + +This requires one explicit modification to the original exposition: **do not first apply C to the reserved row/front/back selected bits**. That preliminary work in the old all-axis construction only ensured those selected bits were eventually covered. It is not needed to create rows or complete temporary fields. Source `compact-control-layout.tex` lines 30–62 proves that the active invocation is the required C tensor separately on every row and identity on all reserved/spectator coordinates, for arbitrary incoming payloads. Hence dirty, unprocessed reserved selected bits are valid. + +The leading q0 complete chunks have cardinality 2^(q0 K). Choose q0 from the actual product row stock Q_rows=W_complex^D_complex W_bit^D_bit. This preserves the accepted nesting contract; replacing the product by a maximum would be incorrect. Pad the leading row count to a multiple of Q_rows once for this phase, by adding whole rows. The factor is below two. All descendants inherit the same complete within-row fields and the same row stock; no new independent bit coordinates are allocated. + +A completed active invocation is identity on the row label and every temporary coordinate. Each padded zero row is therefore zero at completion and can be deleted. Delete padding and restore the exposure layout **before the next deferred phase**. Consequently row padding does not multiply by 2 at every phase or tensor axis. + +The next deferred phase gathers only its h'=R(h) remaining neighborhoods. A gather/restore can again be extended with support at most 2h'K; it may move previously processed coordinates temporarily but fixes them after the inverse placement. Their values need not be recomputed. There is no need to move all p coordinates back into a stable global axis order. + +## 4. The logarithmic K choice is legal after tightening the statement + +The original compact-control proposition states the sufficient asymptotic condition K/log p -> infinity. K=128G does not satisfy that literal condition. The source proof, however, uses it only at lines 149–154 to obtain + + K >= G+4 ceil(log2 p)+10, + delta_bad <= 5/(128p^3). + +K=128G satisfies the displayed finite inequality directly. The earlier/later-source guard proof, complete-field layout, row stock, scalar gates and semantic guard have no other use of K/log p -> infinity. Thus the transfer must cite the tightened finite guard hypothesis; it must not claim that the new K satisfies the old stronger asymptotic wording. + +With this change, all compact interchanges retain width O(h log p), and the per-node movement overhead is O(V_node h^(1-a) polylog(p)). Here h is the current selected width, not the ambient number d of original Gaussian axes. The supplier's stopping threshold and branching analysis likewise use its own top width g; global p remains only in logarithmic guards and O(p)-bit descriptors. + +## 5. Check of the support-router extension + +The original arbitrary-source router colors active targets by their current location modulo K. Targets in one color have disjoint K-bit guards. The new router stores only the r active control digits, H=rG, even when the target spacings are unequal multiples of K. + +The four-update proof depends solely on disjointness of the guard intervals: on a good address the first y update adds 2zt within a guard, the t update adds its old low bit e without carry, and the second y update adds z(1-2(t+e)). Their net is z(1-2e), changing exactly the selected low bit. The final t update restores t. Nothing uses equality between successive target gaps. A complete F therefore fixes every nontarget source bit, even inside another guard. F; load u from the sources; F; unload implements the desired simultaneous XOR for sources outside the target set. + +All rotations remain globally bijective, because their controls precede the target after the prescribed back-field shuttle. Their current-control inverse is used on bad addresses. The ideal selected-bit XOR preserves the guard/control bad predicate, so the old sparse repair applies unchanged. Its O(p)-bit keys and polynomial per-record arithmetic remain explicit; they are not replaced by a unit-cost sort. + +For a permutation moving k positions, factor it into two involutions and three XOR stages per matching. Three disjoint 3kG-bit reservoirs can be chosen when n>=9kG; the three matching cohorts avoid the respective reservoirs. Each target residue class then uses width at most kG in each control field, rather than ceil(n/K)G. Original equal-width interchanges place and restore the fields. This gives O(V k^(1-a) polylog p), plus descriptor setup. + +When records are short, choose only ell_s=ceil(log2 p)^2 untouched binary bits, not a whole long original axis. Here is explicit noncircular suffix bookkeeping. For a requested permutation pi with moved support at most k, if n>2(k+1)ell_s, a gap in its support contains a consecutive ell_s-bit field S disjoint from the actual last ell_s bits. Use one original equal-ell_s interchange A to move S to the actual suffix. Route the conjugate A pi A^-1 on the n-ell_s prefix only, then undo A. The conjugate fixes that suffix pointwise because pi fixed S. Choose all control reservoirs inside the prefix, after this interchange, and recompute positions and residue classes after their placements. Thus no control operation touches the grouped suffix. Grouping its 2^ell_s complete values into a record preserves the data volume and gives a superpolynomial record length. If n<=2(k+1)ell_s, the retained full-span bound is already O(V(k+1)^(1-a) polylog p), so no suffix grouping is needed for this support bound. The placement costs O(V polylog p), not V ell^(1-a) for the original long axis length ell. + +For the calls here, k=O(hK)=O(h log p), and n/(k log p) tends to infinity because g=p^beta with beta<1 while n is of order p in the retained full tensor. If this inequality fails in a small regime, n=O(k polylog p), so the retained full-span bound is already O(V k^(1-a) polylog p). The support theorem's own temporary reservoirs may have O(kG) bits; this is a polylogarithmic enlargement of support, already priced in the same bound. + +## 6. Complete charge table + +| Operation | Active coordinate/data support | Charge | +| --- | --- | --- | +| Initial and inverse neighborhood exposure | At most 2gK moved bit positions | O(V g^(1-a) polylog p) | +| Deferred phase exposure at width h | At most 2hK positions | O(V h^(1-a) polylog p) | +| Fixed binary residual adapter | h selected bits; compact controls O(hG) | O(V_node h^(1-a) polylog p) | +| Control-field shuttle | At most O(hG)-bit chunks | Original O(V_node(hG)^(1-a)) | +| Modular rotations and exceptional repair | Full scan; O(p)-bit descriptors/keys | O(V_node) after record grouping | +| Residual child concatenation | Existing contiguous first-r slots | Descriptor change only | +| Source/sink/inverse phases | Selected-bit masks and coefficients | O(V_node) | +| Scalar role gates, parking and restoration | Fixed role streams at aligned addresses | O(V_node) | +| Whole-row padding and deletion | One current-phase row prefix | O(V), factor below two, removed before next phase | + +No row in this table requires an interchange of width p. + +Let tau=1-a. The retained stopped branching argument gives O(V h^(1-q) polylog p) for each phase, with q 2(k+1)L. +``` + +Indeed, after excluding the actual suffix, the at most k moved positions +cut the remaining interval into at most k+1 gaps. If every gap had length +less than L, that prefix would have length at most (k+1)L-1. The displayed +inequality contradicts this bound. + +Let A be the old disjoint equal-L swap exchanging S with the actual suffix. +Execute A, route the conjugated permutation A pi A^{-1}, then execute +A^{-1}. Because pi fixes S pointwise, its conjugate fixes the actual suffix +pointwise. It still moves at most k coordinates. All endpoints are now in +the n-L prefix. Choose the three dirty reservoirs in that prefix and run +all compact rotations, original control shuttles, elementary CNOTs, and +bad-hole repair there. Recompute endpoint names after A and after the +reservoir placement. In the application, n-L>=9kG holds with a wide +asymptotic margin. + +The suffix is a complete binary field with arbitrary contents. Reinterpreting +its 2^L values as part of a record gives record length R0*2^L, without +creating, padding, or deleting data. This length exceeds every fixed +polynomial in p. No operation whose cost relies on that record length acts +on its component coordinates. Both instances of A use the already approved +primitive and cost O(V L^(1-a))=O(V polylog p); they do not invoke the new +router. This removes the prospective circularity. + +For the general router outside this sparse branch, the retained +first-L/second-L/actual-last-L candidate convention and matching cohorts +also work. Arbitrary candidates should not be substituted blindly: a +candidate can partially overlap the actual suffix, whereas the old swap +requires equal disjoint fields. After each candidate placement, the same +n-L prefix exclusion is mandatory. If the entire binary span is only +polylogarithmic, the old elementary construction suffices. If +n=O((k+1)polylog p), the old full-span construction gives the desired +support bound up to polylogarithms; its own short-record preparation must +still use the old suffix construction. + +For a full H supplier call, reserve the suffix outside its selected field +and keep it fixed throughout the completed call. If necessary, perform +the same old L-bit placement before exposure, update the logical names of +the neighborhoods, and restore it after inverse exposure. The source +neighborhoods need not remain physically consecutive before exposure: +the exposure permutation explicitly routes their named bits. The target +complete chunks are placed before the reserved suffix. + +## 3. Whole-row padding and the next diagonal scan + +The leading row prefix and the front/back controls are assembled from +complete K-bit neighborhoods in the globally complete binary tensor. +Their bits are not assumed zero or semantically independent of coefficient +values. Completeness means every coordinate value is represented in the +stream. Multiplication by previous coarse-dependent diagonal coefficients +does not remove any address or change this property. + +Deferring the selected bits lying in reserved chunks is valid: the accepted +active invocation is the desired tensor on the other selected bits and +identity on every reserved coordinate, for arbitrary incoming coefficients. +The preliminary individual transforms in the old layout were used to +finish those selected bits, not to create complete row or control ranges. +After deferral, those transforms are performed in later phases instead. + +The row count is rounded once to a multiple of the actual product + +``` +Q_rows = W_complex^D_complex * W_bit^D_bit. +``` + +The padded row label is allowed to be a nonbinary preceding fiber count. +Every within-row field remains a full binary field. The supplier's +interchanges and controls act within those complete fields; the global +exposure router is not applied to the padded row label. Nested bit adapters +consume and restore the bit stock before later complex splits, exactly as +in the retained product-stock argument. + +At the completed invocation boundary, the operator is identity on the row +label. A padded zero row therefore returns to zero even though temporary +role computations may have combined or moved its contents. Delete those +rows before inverse exposure or the next deferred phase. This bounds each +phase's volume by twice its original volume, not by a factor exponential in +the number of phases. + +All H calls in the compiler have the same selected-bit schedule for every +coarse label; label dependence resides in the intervening diagonal tables. +Run one H call on the complete global tensor, complete every deferred +phase, remove padding, and restore the original exposed-coordinate order. +Only then run the next diagonal scan. The microbox layout used for that +scan is the restored layout in which the local coordinates are already +contiguous (or the separately paid low-bit gather layout). No padded row, +partial H result, or temporarily relocated coarse label is presented to +the diagonal-table lookup. Thus scanning different coarse-label tables +does not require separate H invocations or borrowing fixed labels inside +a microbox. + +## 4. The actual parameter inequalities + +The largest exposure moves k=O(gK)=O(p^.093 log p) binary coordinates. +With G=Theta(log p), its three dirty reservoirs require + +``` +9kG = O(p^.093 log^2 p) = o(p). +``` + +The suffix occupies only L=Theta(log^2 p) positions. In particular, + +``` +n/(kG) = Omega(p^.907/log^2 p) -> infinity, +n/((k+1)L) = Omega(p^.907/log^3 p) -> infinity. +``` + +There is ample room both for the old spectator placement and for all +subsequent prefix-only reservoirs. These inequalities concern the full +binary address, not any one original axis. + +The only per-axis inequality is + +``` +K + O(log p) < ell_axis = Theta(p^.002), +``` + +which holds eventually. The original K/log p -> infinity wording must be +replaced, as already noted in `SUPPLIER-SUPPORT-AUDIT.md`, by the finite +guard inequality K>=G+4ceil(log2 p)+10. K=128G satisfies it. + +The supplier's front/back controls are made by concatenating reserved +complete neighborhoods. Their chunk count is + +``` +ceil(2hG/K) + ceil(hG/K) <= 3h/128 + 2. +``` + +The leading row stock adds O(log h) complete chunks. Above a fixed +polylogarithmic cutoff this is at most h/16, and smaller h is handled +individually. No single original axis stores hG control bits. Indeed +gG/ell_axis=Theta(p^.091 log p) diverges; the construction works precisely +because it does not demand this false per-axis fit. + +Consequently the reviewed mechanisms support the proposed +O(V g^(1-q) polylog p) global-call cost under the retained supplier +assumptions. The suffix exclusion and completed-call boundary should be +kept explicit in any final assembly. They are necessary bookkeeping, +not a new exponent restriction or an unproved sorting primitive. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md new file mode 100644 index 0000000000..4f39fa9eaf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md @@ -0,0 +1,157 @@ +# Coordinate routing measured by moved support + +This is a conditional extension of the retained compact arbitrary-source +router. It uses the same equal-width chunk interchange with cost +`O(V H^(1-a))`, original fixed-tape modular rotations, counters and sparse +radix repair. It changes the packed-control length from the full address span +to the number of active target positions. No computed-key sort of the full +input is assumed. + +Let a supplied permutation of `n=O(p)` binary address coordinates move at +most `k` positions. The stream is a complete binary rectangle, with arbitrary +preceding fibers and following payload. In the regime used below, +`n/(k log p) -> infinity`; short remaining cases can use the retained +full-span router, since `n=O(k polylog p)` there. The conditional cost is + +``` +O(V (k+1)^(1-a) polylog p + poly(p)). +``` + +All other coordinate positions return to their original values. This is a +support bound, not a bound on how far a moved coordinate travels. + +## Unequally spaced target lemma + +Put `B=2^G`, `G=4 ceil(log2 p)+6`, and `K=64G`. Take target positions +`j_0<...2(k+1)ell`, a gap outside the moved support contains a contiguous ell-bit +field S disjoint from the actual last ell bits. Use an original equal-ell +interchange A to move S to that actual suffix. Route the conjugate +`A pi A^-1` on the n-ell prefix only, then undo A. The conjugate fixes the +suffix pointwise because pi fixed S. Choose every dirty control reservoir +inside the prefix after this interchange, then recompute positions and +residue colors. Thus no control operation touches the enlarged record. +Its 2^ell complete values absorb the polynomial descriptor work; no data +is padded or duplicated. If `n<=2(k+1)ell`, the retained full-span bound +already gives `O(V (k+1)^(1-a) polylog p)`. The placement itself costs only +O(V polylog p). This explicit suffix-conjugation bookkeeping was +independently supplied in `work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md`. + +## The gather uses only S union T + +Let S list the k selected low-coordinate bits in the desired tensor order, +and T list k consecutive destination slots. Send S bijectively to T. Send +the remaining domain slots `T\S` bijectively to the remaining output slots +`S\T`, and fix everything outside `S union T`. This explicitly extends the +requested gather to a coordinate permutation supported on at most 2k bits. + +The other coarse-coordinate bits can be scrambled by this extension. Their +order is retained and described by the inverse permutation; **no stable +compaction of all coarse fields is performed**. A coarse neighbor address +can be decoded, incremented in its logical axis, then encoded in this +physical coarse order when constructing a sparse correction key. + +## Evidence and boundary + +`check_sparse_shear.py` checks all 32,768 addresses for targets 0 and 6 with +guard length 5, including 512 good addresses, inverse composition and every +bad repair. It also checks 4,000 arbitrary/constructed-good addresses with +unequal gaps 9 and 11 and sources inside guard fields. `check_halo.py` +checks three explicit support-at-most-2k gather permutations. + +These controls support the algebra; the cost argument above is the +all-size conditional transfer. It retains the original bit-supplier, +equal-width interchange, fixed-tape and common-label hypotheses. It does +not upgrade an arbitrary full computed-key sort to a fast router. + +Sources: the retained reports `compact-arbitrary-source-routing.md` and +`review-arbitrary-routing.md` under +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json new file mode 100644 index 0000000000..8fc25b910b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "task_id": "uniform-transfer-audit", + "priority_revision": 3, + "base_commit": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "original_card": { + "id": "uniform-transfer-audit", + "question": "Can one exact all-size/compiler, precision, hosting or restoration implication be proved or falsified?", + "starting_points": [ + "certificates/selected-result.json", + "docs/audit.md" + ], + "methods": [ + "Prove one missing implication with explicit quantified hypotheses.", + "Find an exact counterexample at the claimed interface boundary." + ], + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read the selected review scope and choose one exact all-size or precision implication.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Write its quantified inputs and conclusion; find a missing hypothesis or construct a minimal exact adversarial instance.", + "bottleneck_link": "Finite supplier improvements are useful only under the retained transfer obligations.", + "allowed_variations": [ + "Choose one tape, precision, hosting or restoration lemma." + ], + "scope_change_triggers": [ + "Replacing a quantified obligation with another finite smoke test." + ], + "overlap_terms": [ + "uniform transfer", + "all-size", + "precision" + ] + }, + "scope_status": "changed", + "actual_scope": "Construct and audit capped phase-cell fusion and substitute the pinned fully replayed T74 supplier to obtain final conditional kappa=0.001677160151714381.", + "scope_change_reason": "The user explicitly requested stronger bounds using broad resources; the resulting work replaces several outer transfer steps rather than auditing a single inherited implication.", + "bottleneck_link": "The outer reduction repeatedly scans Gaussian axes; in-place tensor compilation and capped sparse boundaries reduce that cost. The unchanged complex supplier still caps the possible final saving.", + "budget_minutes": 180, + "stop_rule": "Publish the verified conditional transfer with exact source bindings and bounded replay; retain larger-supplier research as open work.", + "outcome": "completed", + "evidence": "phase_fusion_note.tex; frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json; frontier_fusion/NATIVE-ADMISSION-BINDING.json; PUBLICATION-CHECKS.json", + "author": "Vlado Vojdanovski", + "ai_assistance": "Substantial AI assistance. No independent human or proof-assistant review claimed.", + "open_questions": [ + { + "question": "Can a new finite supplier materially exceed the present complex rate?", + "why_it_matters": "The current complex endpoint is below .00168 and cannot yield final .002.", + "first_step": "Emit and price a full native side circuit for a lower-cost central decoder.", + "blocked_by": "Actual routing, helper and restoration costs." + }, + { + "question": "Can the full capped transfer be independently formalized?", + "why_it_matters": "Finite algebra checks do not establish all-size tape complexity.", + "first_step": "Reconstruct the sparse-union and support-local routing proofs.", + "blocked_by": "Formal all-size schedule and inherited compiler interfaces." + }, + { + "question": "Can future suppliers be substituted without changing the outer proof?", + "why_it_matters": "The outer gain can compose with later finite improvements.", + "first_step": "Bind endpoint, prefix and completed-call restoration contracts and rerun the ledger.", + "blocked_by": "A complete supplier satisfying the same functional contract." + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md new file mode 100644 index 0000000000..19efb9cb1c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md @@ -0,0 +1,160 @@ +# Tensorizing local circuits without dimension padding + +Status: an algebraic compiler and scan-cost lemma. It reduces a tensor product of different bounded-depth local circuits to a bounded sequence of simultaneous binary Hadamard calls and diagonal scans on the **same** data volume. The retained supplier must support the stated Hadamard call on selected local bits and restore the agreed endpoint record order. No new fast-transform supplier is asserted here. + +## 1. Interface and conclusion + +Let N=2^m and let g axes each have N local coordinates. A coarse-label block contains V=N^g data records in lexicographic local-coordinate order. On axis a let C_a be an N-wire linear circuit of depth D; every layer consists of disjoint invertible two-coordinate gates and one-coordinate diagonals. The permitted gates are bounded shears, swaps, FFT butterflies, and diagonals. Circuits, pair matchings, coefficients and depths can differ by axis and by coarse label. Their tables are fixed independently of data values. + +Write H=[[1,1],[1,-1]]. A simultaneous Hadamard call means the tensor product of one H acting on one selected bit in each axis, with all remaining local and coarse coordinates as spectators. It acts on existing 2^g-coordinate fibers inside the N^g records; it allocates no new coordinate. The bit selected in an axis may be prescribed by the compiler. + +After padding shorter circuits by identity **operations**, the tensor product C_1 tensor ... tensor C_g is a sequence of + + at most (8m+2)D simultaneous H calls + +and O(Dm) tensor-diagonal scans. A tensor diagonal has the form + + d(i_1,...,i_g;c)=product_(a=1)^g d_a(i_a;c), + +where c is the fixed coarse label. Each diagonal scan uses O(1) amortized coefficient multiplications and O(1) amortized coefficient-table record movements per data record, after loading gN local values. The number of arithmetic-data coordinates remains exactly N^g throughout. + +If all local gate coefficients and inverses are bounded by B and all original prefix and inverse-prefix norms by Lambda, the compiler's local prefix bounds are Lambda times poly(B), up to absolute constants. For polynomial B and Lambda this is N^O(1). The tensor-prefix logarithmic bound is O(g log N). More generally depth D=polylog(p), B=poly(p), N=poly(p) gives an O(g polylog(p)) guard even without a stronger prefix theorem. + +An outer similarity whose logarithmic range is Q_a on axis a adds only sum_a Q_a. Therefore the retained phase-cell case Q_a=O(a d) uses + + p + O(g a d + g polylog(p)) + +working bits. The condition g a d+g polylog(p)=O(p) is sufficient for O(p)-bit records. + +## 2. Fixed Hadamard words, including zero shears + +All formulas below are matrix-product order; execution reads right to left. Let U(t)=[[1,t],[0,1]]. Direct multiplication gives + + H diag(2,1) H diag(-3,1) H = [[-8,-10],[0,-6]], + diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H = U(5/4). + +For q nonzero, conjugate by A_q=diag(4q/5,1): + + U(q)=A_q diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H A_q^-1. + +This has three H factors. To include t=0 with uniformly invertible diagonals, choose a known B>=|t| and c=2B+1. Then + + U(t)=U(t+c) U(-c). + +Both parameters have magnitude at least B+1 and at most 3B+1. This is a **six-H word for every t**, with all scalar coefficients and inverses bounded by poly(B). There is no division by t and no case split at t=0. Transpose the word to obtain the same six-H count for lower shears. + +There are two bounded identity words: + + I = (1/2) H H, + I = diag((1-i)/4,(1+i)/4) H diag(1,i) H diag(1,i) H. + +The second identity uses three H factors. Its middle product before the leading diagonal equals diag(2+2i,2-2i). Complex coefficients are permitted by the retained complex H interface. + +Consequently every gate type can be given **exactly six H factors**, separated by diagonal matrices: + +- Upper/lower shear: the six-H word above. +- Diagonal, including I: append three two-H identity words. +- Swap J: use J=(1/2)H diag(1,-1)H, then append two two-H identity words. +- FFT butterfly H diag(1,w), optionally scaled by 1/sqrt(2): append a two-H identity and a three-H identity. Here |w|=1. + +Combining neighboring diagonal matrices puts every word in one common alternating shape with six H factors and seven diagonals. Thus different gate types, zero parameters and inactive pairs can coexist in one simultaneous schedule without branches or padded data coordinates. + +## 3. Every matching can be routed to adjacent pairs + +For one local layer, assign its oriented pairs (i,j) to positions (2k,2k+1). Unpaired coordinates are assigned arbitrarily to the remaining positions, in pairs carrying diagonal or identity gates. This defines a permutation pi on exactly N coordinates. The layer equals + + P_pi^-1 (direct sum of adjacent-pair gates) P_pi. + +We use a Beneš network of 2m-1 switch layers. At each layer all switches join indices differing in one fixed bit; the bit sequence is + + 0,1,...,m-1,m-2,...,1,0. + +Here is a constructive proof of rearrangeability. Form a bipartite multigraph whose left vertices are input pairs {2j,2j+1} and whose right vertices are output pairs {2k,2k+1}. Input i supplies an edge to output-pair floor(pi(i)/2). Every vertex has degree two, so each component is an even cycle (parallel edges are allowed). Alternately color each cycle's edges 0 and 1. The first switch sends an input edge into the subnetwork of its color; the last switch sends that color to the required output parity. Each color class induces a permutation on N/2 pair indices. Recursively route both color subnetworks in parallel. This gives exactly the displayed bit sequence and uses no storage coordinates. + +The switch is either I or J. Both are obtained from the common two-H word + + S_epsilon=(1/2) H diag(1,epsilon) H, + epsilon=+1 for I, epsilon=-1 for J. + +Thus all axis-dependent switch controls are diagonal entries. A physical switch on bit k simply uses a simultaneous H call selecting bit k in each axis. No interstage wire shuffle is needed. If a supplier accepts only a contiguous selected-bit field, the existing paid bit router must gather that field and undo the gather; that is a supplier-interface cost, not an uncharged permutation. + +Each forward or inverse Beneš route uses 2(2m-1) H calls. The adjacent gates use six. Hence one original matching layer uses + + 2[2(2m-1)]+6 = 8m+2 + +H calls. The schedule is identical on every axis and every coarse-label block; only diagonal tables change. + +## 4. Tensor fusion is literal multiplication, not a sum expansion + +Let the compiled axis-a circuit be D_(a,L) H_(a,L) ... H_(a,1) D_(a,0), with the same number and arrangement of H factors. Kronecker multiplication gives + + tensor_a C_a + = (tensor_a D_(a,L)) (tensor_a H_(a,L)) ... + (tensor_a H_(a,1)) (tensor_a D_(a,0)). + +Every tensor of diagonals is a single diagonal scan. Every tensor of binary H factors is one simultaneous H call. This introduces neither a sum of 2^g branches nor a 2^g padding factor. The 2^g-dimensional Hadamard fibers are subsets of the N^g existing coordinates. + +An axis with no work at a particular original depth receives an identity layer, routed and compiled with the same fixed shape. Its intermediate H operations are still present, but the complete local word is I. Coarse-label variation is equally harmless: for each fixed label the identity above holds separately, and the whole data operator is a direct sum over labels. + +## 5. Uniform intermediate bounds and precision + +A completed switch route is a permutation and has norm one. Each partial switch word has absolute constant norm and inverse norm. Between original local circuit boundaries, at most one original gate word is partially executed. Its length is constant, and its scalar coefficients and inverses are poly(B); all different pairs act as a direct sum. Therefore + + max_prefix ||C_compiled,prefix||, + max_prefix ||C_compiled,prefix^-1|| <= poly(B) Lambda. + +The length O(D log N) does not require multiplying this polynomial bound afresh at every stage: completed original prefixes already have bound Lambda; completed route and padding words have their exact intended endpoints. The corresponding suffix bound is also polynomial when the original endpoint and inverse-prefix bounds are. + +For g tensor factors, the operator norms multiply, so their logarithms add. A microbox coarse-label direct sum takes the maximum over labels, not a product over labels. Hence polynomial local bounds give exp(O(g log N)); using only the rough original bound Lambda<=(2B)^D gives exp(O(gD log B)). Adding the original cell similarity contributes exp(sum Q_a). + +The number of compiled stages is polylog(p). Allocate each rounding or supplied-transform error below the final tolerance divided by this stage count and the prefix/suffix amplification. This costs O(g polylog(p)+sum Q_a) guard bits. Supplier-internal precision charges still must be those already guaranteed for the simultaneous H call; this compiler does not erase them. + +## 6. Product diagonals with constant amortized scan cost + +Fix one diagonal stage and one coarse label. Load the gN coefficients d_a(i) on a coefficient tape in axis order. Use base-N lexicographic enumeration with axis 0 fastest. Store suffix products + + P_j=product_(a=j)^(g-1) d_a(i_a), 1<=j=1) k/N^k = O(V), + +plus O(g) initialization. No division by d_a(i) is used, so this method also permits zero diagonal entries when an external application permits them. Every cached product is recomputed from current factors, never updated by a long chain of multiplicative ratios, so numerical drift does not depend on the number of records scanned. + +The same accounting works on a fixed number of tapes. Keep the coefficient-tape head normally in axis-0's N-record table. Rewinding that table costs O(N) once per N records. A depth-k carry visits the needed tables up to axis k and returns, moving O(kN) coefficient records. Summing over carries gives + + O(V sum_(k>=1) kN/N^k)=O(V) + +record moves. The suffix-product tape is accessed near its front except on carries, with the same geometric bound. Counter/address arithmetic costs only polylog(p) per record. This does not require g work tapes or a random-access lookup every record. + +The table loading cost is O(gN) records per coarse block and stage. For N>=2 it is O(N^g), including small g, and polynomial-time table construction is negligible per N^g block in the retained asymptotic regime g=p^beta tending to infinity. If tables are supplied rather than constructed locally, no additional assumption is needed. Both generation and loading costs must be charged once per visited coarse block, not silently once for the entire input. + +At O(p) working precision, O(1) amortized scalar multiplications per record and O(1) record movements cost O(V_bits polylog(p)) under the retained pointwise-arithmetic kernel, where V_bits counts bit volume. There is no g V_bits coefficient-generation term. + +## 7. Exact controls + +`check_tensor_compiler.py` constructs the network controls and all fixed words. `TENSOR-COMPILER-CONTROLS.json` records: + +- every permutation for N=2,4,8, including all 40,320 permutations at N=8; +- 100 random permutations each at N=16,32,64; +- exact symbolic checks of upper/lower zero and nonzero shears, diagonal, Swap and FFT words; +- an exact two-axis N=4 replay with different axis matchings and gate types: 16 data coordinates, all 256 input-output matrix entries, 18 simultaneous H calls, no dimension expansion. + +The finite controls support the constructive proofs; the cycle coloring, word identities, Kronecker identity and geometric scan sums establish the asymptotic statements. + +## 8. Cost substitution into the retained supplier + +Suppose a simultaneous H call on g selected bits, across V_bits bits of data and spectators, has paid cost O(V_bits g^(1-q) polylog(p)). Suppose also that any required bit-field gather/restore has cost O(V_bits g^(1-a_bit) polylog(p)). For D=polylog(p), N=poly(p), the compiler uses only polylog(p) such calls, and its diagonal scans cost O(V_bits polylog(p)). Thus the grouped local circuit costs + + O(V_bits [g^(1-q)+g^(1-a_bit)+1] polylog(p)). + +When a_bit>q and 00 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_boundary_slack',dict(sigma_boundary=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_PHASE_FUSION_REVIEW', + scope='Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.', + review=dict(integrated_review='Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.', + independent_cap_gauge='CAPPED-GAUGE-AUDIT.md', + independent_cap_layout='CAPPED-SIGNOFF.md', + supplier_support='SUPPLIER-SUPPORT-AUDIT.md'), + **row,controls=controls) + (ROOT/'CAPPED-OUTER-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py new file mode 100644 index 0000000000..3f543803d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Exact corollary ledger, additionally assuming the supplied 9/4 theorem.""" +from fractions import Fraction as Q +from decimal import Decimal,localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,union_slack=None,old_vd=False, + full_cell_gauge=False,add_full_key_sort=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + union_slack=Q(1,10**5) if union_slack is None else union_slack + tau_matrix=Q(19,8) + c=(3-tau_matrix)/2 + stop=Q(1,10**9) + cap=(Q(3,2)+q-(1+q)*(r+zeta)+union_slack)/(2+q) + eps=(1+q*(1-cap-r-zeta))/(1+q) + beta=1-cap-r-zeta + kappa=Q('0.001673360105405778') + selected=Q('0.001672660197076918') + first=Q('0.001672922349588871') + tau_bit,sigma=1-a,1-complex_ + internal=tau_bit+(1-stop)*max(sigma-tau_bit,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_algebraic_matrix=c+cap-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+cap, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd:margins['unreplaced_per_axis_scan']=1-eps + if add_full_key_sort: + margins['unnecessary_union_full_key_sort']=margins['sparse_union_movement']-key + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau_bit, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=cap-Q(1,2), + capped_block_below_cell=eps-cap, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-cap-r-beta, + actual_logarithmic_group_guard=1-cap-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + sparse_union_fraction_decays=cap-beta-Q(1,2), + microbox_halo_volume=8-3-beta, + union_positive_slack=union_slack, + matrix_exponent_above_source_bound=tau_matrix-Q(9,4), + matrix_exponent_below_five_halves=Q(5,2)-tau_matrix, + short_record_fallback=eps-a, + improvement_over_selected=kappa-selected, + improvement_over_first_reviewed_transfer=kappa-first, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['sparse_union_movement']==margins['main_transform']+union_slack + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_union=union_slack,stop=stop, + epsilon=eps,capped_block_power=cap,beta_group=beta, + matrix_exponent=tau_matrix,matrix_source_bound=Q(9,4), + c_boundary=c,kappa=kappa,selected=selected,first_reviewed_transfer=first, + lambda_=lam,lambda_prime=1-q,tau=tau_bit,sigma=sigma, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_union_slack',dict(union_slack=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True)), + ('full_key_sort_on_union',dict(add_full_key_sort=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW', + scope='Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.', + review=dict(integrated='Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.', + matrix_source='PROOF-AND-COVERAGE.md', + effective_stability='ALGEBRAIC-STABILITY-INDEPENDENT.md', + independent_layout='MATRIX-LAYOUT-SIGNOFF.md'), + omitted_row=dict(name='optional full-coordinate-key union surcharge', + reason='The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost.'), + **row,controls=controls) + (ROOT/'MATRIX-COROLLARY-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement_over_selected'])) + print('gain over first transfer',decimal(row['slacks']['improvement_over_first_reviewed_transfer'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json new file mode 100644 index 0000000000..ed4b620d8a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json @@ -0,0 +1,7 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "negative_and_zero_origin_instances": 45, + "finite_LDU_and_shift_entries": 750, + "scope": "Finite-origin algebra, exact origin-shift correction, upper inverse formula and simultaneous periodic shifts; bilateral limiting argument is analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md new file mode 100644 index 0000000000..5cad6ee19f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md @@ -0,0 +1,131 @@ +# Bilateral Gaussian LDU and a fixed-width periodic inverse bound + +Independent audit of the parent's infinite-LDU observation. This is an analytic norm theorem. It does **not** assert that the bilateral factors already have a fully priced fast implementation. + +## Statement + +Let `1=1`, define on Z + +`G_ij=exp(-a[(rho*j-q_i)^2-beta_j^2])`. + +Let `r=exp(2a rho)` and `c=prod_(m>=1)(1-r^-m)>0`. Then G has an exact factorization on bounded bilateral sequences + +`G=L C U`, + +where L is unit lower triangular, U is unit upper triangular, C is diagonal, and all factors and their inverses are bounded. Moreover all six factors are invariant under simultaneous index translation by s. Their periodizations therefore factor the periodic Gaussian matrix N, and + +`||N^-1||_infinity <= c^-4 exp(a/2)/(1-exp(-a rho theta))^2`. + +In particular, at the fixed choice `a=1`, + +`||N^-1||_infinity < 16 theta^-2`. + +Any fixed a>=1, including a=4pi if an integer alpha>=2 is retained, gives a constant times theta^-2. No lower bound proportional to log(1/theta) on a is needed for this norm theorem. + +## 1. Finite-origin factorization and the shift correction + +Write `x_i=r^q_i`, `d_i=exp(-a q_i^2)`, and `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Then `G_ij=d_i x_i^j e_j`, including negative indices, and `d_i x_i^i e_i=1`. + +For a finite square principal interval `[l,r0]`, the Vandermonde powers must begin at zero. The correct shifted row diagonal is **d_i x_i^l**, and the power is `j-l`. This removes a possible erroneous origin-dependent diagonal from the upper factor. + +Put + +`C_i(l)=prod_(l<=k=j`, + +`U^l_ij=(e_j/e_i) h_(j-i)(x_l,...,x_i)`, `j>=i`. + +Here h is the complete symmetric polynomial, h_0=1. Upper and lower inverses are + +`(U^l)^-1_ij=(-1)^(j-i)(e_j/e_i) e_(j-i)(x_l,...,x_(j-1))`, + +`(L^l)^-1_ij=(-1)^(i-j) exp(E_ij) C_i(l)/(C_j(l) D_ij)`, + +where + +`D_ij=prod_(j=j`, + +`|(U^l)^-1_ij|<=c^-1 exp(a/4) exp(-a rho theta(j-i))`, `j>=i`. + +Both use only `-1/2<=beta_k<1/2`. Thus their row norms are at most the corresponding constants divided by `1-exp(-a rho theta)`, uniformly in l and the finite size. + +The row sum of G is uniformly finite, since + +`G_i,i+h <= exp(a/4) exp(-a(rho*|h|-1/2)^2)`. + +The same positive Gaussian bound controls all finite-origin L and U factors. + +## 3. Letting the left origin tend to minus infinity + +For fixed i,j, C_i(l) converges to + +`C_i=prod_(k(i+s,j+s)`. Every displayed factor has the same invariance: ratios `x_k/x_i` are preserved, and the Gaussian/prefix expressions shift together. C_i is s-periodic. + +For an invariant matrix A with bounded absolute row sums, set + +`Pi(A)_ij=sum_(n in Z) A_(i,j+ns)`, `0<=i,j=e^2>7, and the elementary product bound gives `c>=1-sum_(m>=1)r^-m>5/6`. Also `1-exp(-rho theta)>=theta/2` for 04W, choose + +`B=min(Bcap, 2^floor(log2(R-W)))`, + +retain the next B vertices as an interior, then the next W vertices as boundary, and decrement R by B+W. Declare the final R<=4W vertices boundary. + +There are `O(L/Bcap+log Bcap)` interiors: while the cap is active, each step removes at least Bcap vertices; after it ceases to be active, the remaining length halves at each step. Every interior length is dyadic and at most Bcap. Every interior produced by the loop is longer than W; two successive interiors are separated by at least W retained coordinates. + +Total boundary count per original cell is + +`O(W(L/Bcap+log Bcap))`. + +Since original cell lengths are Theta(d), total boundary density is + +`O(W/Bcap + W log Bcap/d)=O((W/Bcap) polylog p)` + +when Bcap<=d. The same selected-input and target-output physical period cuts must be preserved. A clipped endpoint cell of O(W) length is wholly boundary. + +Interior elimination only fills between the adjacent boundary groups of one interior. Each group has O(W) vertices: inserted groups have W; an end remainder has at most 5W after joining the reserved end. Hence scalar Schur half-bandwidth remains O(W), independently of the cap and the number of pieces. No retained matrix coefficient is changed by this new partition. + +## 2. Narrow Gaussian: exact recentering of the existing rounded weights + +In one original phase cell, beta_i=theta*i-c and + +`log a_i=-a(1/4-beta_i^2)/theta`. + +For any two coordinates i,j in that same cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Since both beta values lie in [-1/2,1/2), + +`|log(a_i/a_j)|<=a|i-j|`. + +Thus a capped interior of at most Bcap vertices has ideal weight range at most exp(a Bcap), even when the absolute full-cell gauge has range exp(O(ad)). + +The actual matrix uses already-rounded positive weights ahat_i. Suppose, as ensured by the retained high-precision setup, + +`(1-epsilon) a_i <= ahat_i <= a_i`, with epsilon<=1/2. + +Then for an anchor m in the capped interior, + +`(1-epsilon) exp(-a Bcap) <= ahat_i/ahat_m` + +` <= exp(a Bcap)/(1-epsilon)`. + +Replacing ahat_i by `ahat_i/ahat_m` in both diagonal factors of + +`A=diag(ahat) Ghat diag(ahat)^-1` + +is **exact**. It changes neither A nor the fixed globally rounded H. These ratios must be formed in coefficient setup; the data circuit must not apply the full-cell diagonal and hope to cancel it later. One may anchor at the maximum ahat in the piece to make the direct diagonal contractive and its inverse at most `2 exp(a Bcap)`. + +The old setup provides absolute error below `4*2^-P` and ideal minimum at least exp(-a/(4theta)). It suffices that + +`4*2^-P exp(a/(4theta)) <= epsilon`. + +In the retained family a=Theta(log p), theta^-1=O(d), d=p^epsilon0 with fixed epsilon0<1, so ad=o(p). The existing P=Cp setup precision easily gives epsilon<=2^-cp. The **ad cost occurs in offline coefficient accuracy**, not in the runtime norm of the recentered diagonal. It is not multiplied by the number g of simultaneously executed axes. More explicitly, if the raw relative error is delta0<=4*exp(a/(4theta))*2^-P, then an anchored ratio has relative error at most 2delta0/(1-delta0). A g-fold product of anchored diagonals has error bounded by a polynomial factor times g*delta0*exp(O(g*a*Bcap)). Thus the needed precision is P>=p+O(ad+g*a*Bcap+log g+polylog p), rather than p+O(g*a*d). Both added power terms are o(p) in the proposed parameter family. + +## 3. Broad forward Gaussian: local gauges + +Use the target-grid notation from FORWARD-SMALL-A-AUDIT.md. With lambda=1/rho, b0=pi/alpha^2, original phase c, and an anchor m in the capped interior, + +`delta=(1-lambda)m-c`, `x=i-m`, `y=k-m`. + +The exact split is + +`Dcol(i)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(k)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`, + +with a fixed Toeplitz kernel `exp[-b0 lambda(i-k)^2]`. + +Throughout the original selected-target phase cell, `beta'_i=theta*i-rho*c` lies in [-1/2,1/2). Therefore + +`d(log Dcol)/di = -2 b0 lambda beta'_i`, + +`d(log Drow)/dk = 2 b0 lambda^2 beta'_k`. + +Their absolute slopes are at most b0 and b0 respectively. Both diagonal logarithmic ranges on the capped block are at most `b0 Bcap`. At the anchor, Dcol=1 and Drow=alpha^-1 exp(-b0 delta^2), so their absolute values also have logarithmic size `O(b0 Bcap+log alpha)`. + +If a globally rounded broad block was already defined using a different anchor, use exact constant ratios to recenter its two diagonals: divide the column diagonal by its value at m and multiply the row diagonal by the same value. Ideal changes of anchor differ only by reciprocal constants, since the derivatives above are independent of m. Uniform relative coefficient error changes the range by only O(1), just as in the narrow case. This preserves the already-defined rounded block exactly. Alternatively the broad block can be initially defined with the capped anchor, using one globally specified rounding construction. + +Holes remain boundary. The completed narrow and broad interior inverse bounds and the completed global/Schur norm bounds proved earlier do not depend on the cap: every new interior is still a contiguous principal block of the same original phase matrix. + +## 4. Group guard and circuit count + +Each capped narrow diagonal contributes at most `a Bcap+O(1)` to the logarithmic norm; the broad contribution `O(Bcap/alpha^2+log alpha)` is smaller. Shallow Toeplitz circuit amplification contributes polylog(p) per axis. The number of capped blocks per line does not multiply these bounds: they are disjoint direct-sum blocks and their circuits run in parallel, padding completed smaller circuits with identity gates. + +Consequently g simultaneously executed axes require + +`O(g a Bcap + g polylog p)` + +extra logarithmic precision. With `Bcap<=p^b`, `g<=p^beta`, a=Theta(log p), and beta+b=1-r-zeta with r,zeta>0, + +`g a Bcap=O(p^(1-r-zeta) log p)=o(p)`. + +In particular no remaining full-cell term g*a*d may be charged after exact recentering. Offline accuracy still needs to dominate ad=o(p), as above. + +## 5. Schur solves and whole-group ordering + +For the narrow matrix, strict row dominance is inherited by any interior elimination, so all completed Schur and inverse norms remain polynomial under the cap. + +For the broad matrix, completed Schur/inverse norms follow from the square identity-hole completion and polynomial principal-interior bounds in FORWARD-SMALL-A-AUDIT.md. To obtain uniform norms for a banded online factorization, eliminate **whole boundary groups** of W to O(W) vertices, rather than appealing without proof to scalar prefixes inside one group. + +After all interiors and a prefix of whole boundary groups are eliminated, the eliminated set is a direct sum of one physical contiguous prefix and disjoint future interiors: each remaining full group contains at least W uneliminated coordinates, blocking every width-W connection across it. The same holds after adding the next whole group. A physical prefix reduces, under selected/hole ordering, to the small-b normalized Gaussian block plus identity hole columns, so it has polynomial inverse norm. Each future interior also has polynomial inverse norm. Thus every required eliminated-set inverse is polynomial, uniformly in the number of pieces. + +At the final group on a full periodic line, use the already-established full periodic H inverse bound instead of a nonperiodic-prefix bound. For a clipped principal window the complement-gap condition excludes wrap edges, so the prefix statement applies directly. Each block pivot inverse is a principal block of the inverse after adding that group. Block Schur entries are bounded by `H+H H_EE^-1 H`, hence polynomial. There are only O(1) neighboring boundary groups in a band row. The resulting block-L and block-U norms are polynomial; their full inverses are polynomial as well, from `L^-1=U S^-1` and `U^-1=S^-1 L`. A scalar expansion inside a group is unnecessary: precompute its dense O(W)-square inverse and apply the block updates to batches by Strassen. + +This whole-group order prevents the subtle gap in which a partially consumed separator of fewer than W vertices permits a connection to the next interior. It preserves the claimed batched boundary exponent and is unaffected by capped subdivision. + +## Scope + +The capped local-gauge change is valid. The listed exact controls check carving, analytic slope identities and preservation of the already-rounded narrow matrix. The final recurrence arithmetic and tensor routing remain separate reviewed components. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json new file mode 100644 index 0000000000..6ea5c59eab --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json @@ -0,0 +1,11 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "integers and fractions.Fraction", + "checks": { + "partitions": 27216, + "narrow_slope_pairs": 6132, + "rounded_ratio_and_exact_reanchoring_pairs": 6132, + "broad_slope_pairs": 14754 + }, + "scope": "Capped dyadic carving, narrow exact log-slope, positive perturbed global weights, exact local reanchoring, and broad gauge log-slope. Final tensor schedule/ledger excluded." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json new file mode 100644 index 0000000000..eddd860c96 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json @@ -0,0 +1,5 @@ +{ + "status": "all exact assertions passed", + "cyclic_signed_scan_systems": 203, + "scope": "Two-pass cyclic affine recurrence against dense exact inversion; bilateral coefficient estimates are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json new file mode 100644 index 0000000000..e42eac6b93 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json @@ -0,0 +1,6 @@ +{ + "status": "all exact assertions passed", + "cell_partitions": 80000, + "reachable_boundary_records": 6413386, + "scope": "Dyadic lengths, exact coverage, w-wide separation, logarithmic block count, and O(w) Schur boundary span." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json new file mode 100644 index 0000000000..c74f144886 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json @@ -0,0 +1,7 @@ +{ + "status": "all exact assertions passed", + "phase_cell_cases": 350, + "local_two_factorization_entries": 5184, + "selected_completion_entries": 16496, + "scope": "Exact target-grid coordinate conversion, local Toeplitz/Gaussian-normalized factorizations and selected block of square hole completion. Norm estimates are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md new file mode 100644 index 0000000000..0f7f80b3f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md @@ -0,0 +1,109 @@ +# Broad forward Gaussian: finite-block and completed-matrix conditioning + +This note supports the phase-assembly branch. It distinguishes the broad forward map S from the narrow T used in N=C T D. Its conclusions concern conditioning and local circuit guards; the final simultaneous tensor layout remains that branch's obligation. + +Let the narrow parameter be `a=pi alpha^2=Theta(log p)`, `rho=t/s=1+theta`, and `lambda=1/rho`. The forward map is + +`S_(k,j)=alpha^-1 exp[-b0(j-lambda*k)^2]`, `b0=pi/alpha^2`. + +Equivalently it uses the small resampling parameter + +`b=b0 lambda^2=pi/(alpha^2 rho^2)`. + +## 1. The bilateral bound works at every positive parameter + +The finite and bilateral LDU arguments in BILATERAL-LDU.md use a>=1 only for their final numerical simplification of the product c. For any b>0, define + +`c_b=prod_(m>=1)(1-exp(-2b rho m))`. + +The same proof gives, for the periodic normalized matrix and for every finite contiguous principal block with q-gaps at least 1 and |beta_i|<=1/2, + +`||N_b^-1|| <= c_b^-4 exp(b/2)/(1-exp(-b rho theta))^2`. + +There is an explicit useful product bound. Expand the logarithm and sum nonnegative terms: + +`log(c_b^-1)=sum_(k>=1) 1/[k(exp(2b rho k)-1)]` + +` <=(1/(2b rho)) sum_(k>=1)1/k^2=pi^2/(12b rho)`. + +At `b=pi/(alpha^2 rho^2)`, this implies + +`c_b^-4 <= exp(pi alpha^2 rho/3)=exp(a rho/3)`. + +Since b*rho*theta=pi*theta/(alpha^2 rho)<1 for alpha>=2 and theta<=1, its reciprocal gap is at most `2alpha^2 rho/(pi theta)`. Thus every such normalized block inverse has norm polynomial in p when alpha^2=O(log p) and theta^-1 is polynomial in p. + +## 2. Actual target-grid phase-cell block + +Embed source j at target coordinate i=q_j. On an original phase cell q_j=j+c, every selected target coordinate i in that cell corresponds to j=i-c. A square interior of the forward target-grid matrix is therefore + +`K_(k,i)=alpha^-1 exp[-b0(i-lambda*k-c)^2]`. + +Here both i and k run over one contiguous selected-target interval inside that cell. Put + +`q'_k=k+rho*c`, `beta'_k=rho*k-q'_k=theta*k-rho*c`. + +At a selected coordinate k=q_j, beta'_k is exactly the original beta_j, hence lies in [-1/2,1/2). Also q' has consecutive gap 1. Integrality of q' was never needed in the finite LDU proof; monotone separation and the beta bound suffice. Consequently + +`K=alpha^-1 N_b diag(exp(-b*(beta'_i)^2))`, + +and + +`||K^-1|| <= alpha exp(3b/4) c_b^-4/(1-exp(-b rho theta))^2` + +` =O(alpha^5 rho^2 theta^-2 exp(pi alpha^2 rho/3))=poly(p)`. + +This controls the **completed** interior inverse. It avoids multiplying the large individual diagonal-gauge norms to estimate K inverse. Target holes should be retained as boundary vertices, so every interior coordinate has the asserted original beta bound. + +## 3. Square completion of the global forward map + +Add one identity column e_h for every target hole h, and feed zero into these extra columns. This makes an invertible square t-by-t matrix H_aug without changing the desired forward result. Permute selected q_j rows/columns first and holes second. In that order, + +`H_aug = [ alpha^-1 N_b D_b^-1 0 ; R I ]`, + +where `D_b=diag(exp(b beta_j^2))` and R consists of broad Gaussian rows at holes. A Gaussian lattice-sum bound gives `||R||=O(1)` after the alpha^-1 factor. Thus + +`H_aug^-1=[ alpha D_b N_b^-1 0 ; -R alpha D_b N_b^-1 I ]` + +has polynomial row norm. The matrix itself also has O(1) row norm. Gaussian truncation and sufficiently accurate structure-preserving coefficient rounding perturb both it and all required interior blocks by exponentially small amounts, preserving these polynomial bounds. + +If A is the block-diagonal interior matrix and S is the completed boundary Schur complement, then S inverse is the boundary principal block of H_aug inverse; hence its norm is polynomial. Also + +`||S||<=||H_BB||+||H_BI|| ||A^-1|| ||H_IB||=poly(p)`. + +This is enough for the completed Schur map. To justify a particular sequential block-LU implementation, its prefix factor norms still need to be checked. The natural physical-prefix elimination sets consist of one contiguous selected-source prefix plus disjoint future interiors, with identity hole columns. That geometry offers the same uniform contiguous-block inverse bound; it should be made explicit in the assembly proof. + +## 4. Exact local Toeplitz split and guard range + +Choose an anchor m inside the target cell, and write x=i-m, y=k-m, + +`delta=(1-lambda)m-c`, with |delta|<=1/2. + +Then the exact factorization is + +`K_(k,i)=Drow(y) G(y,x) Dcol(x)`, + +`G(y,x)=exp[-b0 lambda(x-y)^2]`, + +`Dcol(x)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(y)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`. + +Expansion gives exactly `-b0(delta+x-lambda*y)^2`; no approximate recentering is involved. On a phase cell of O(d) coordinates, the two diagonal logarithmic ranges are O(d/alpha^2). These are smaller than the O(alpha^2 d) narrow inverse gauges already paid by the proposed group size. + +## 5. SPD Toeplitz conditioning for the shallow circuit + +Let `gamma=b0 lambda=pi/(alpha^2 rho)`. The full Gaussian Toeplitz symbol has, by the Gaussian Poisson identity, + +`f(omega)=sqrt(pi/gamma) sum_(k in Z) exp[-(omega+2pi*k)^2/(4gamma)]`. + +For -pi<=omega<=pi, + +`sqrt(pi/gamma) exp[-pi^2/(4gamma)] <= f(omega) <= 1+sqrt(pi/gamma)`. + +Every finite principal Gaussian Toeplitz matrix has eigenvalues between these same bounds, by integrating the squared modulus of its coefficient polynomial against f. At alpha^2=O(log p), its condition number is polynomial in p. Truncation width O(sqrt(p/gamma)) and Cp-bit rounding perturb the matrix far less than its lower eigenvalue, so the actual symmetric rounded Toeplitz Ghat remains SPD with polynomial condition number. + +The low-displacement block-LU circuit of SHALLOW-TOEPLITZ.md extends from near identity to this SPD setting: every principal Schur complement has norm at most lambda_max and inverse norm at most lambda_min^-1, and ranks grow by the same additive displacement recurrence. Shear coefficients are polynomial in p; multiplying these bounds along O(log d) recursive levels gives exp(O(log^2 p)) partial-prefix growth. This calls for O(log^2 p) internal circuit guard bits per axis, rather than claiming the near-identity theorem's O(log p) unchanged. It is still below the group budget dominated by the local Gaussian diagonals. + +Dyadic interior subdivision from LOG-A-PHASE-SCHUR-AUDIT.md applies here too, using the broader width O(sqrt(p alpha^2)). It keeps target holes and separators as boundary, adds only polylogarithmic boundary volume, and lets every interior use a dyadic shallow circuit without 2^g padding. + +No numerical final exponent follows from these conditioning statements alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md new file mode 100644 index 0000000000..3bcf490a8c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md @@ -0,0 +1,140 @@ +# Audit: logarithmic Gaussian width retains the phase-cell Schur solver + +This audit checks the analytic hypotheses of the retained rad20 phase-cell solver at `a=pi alpha^2=Theta(log p)`, `theta=Theta(1/d)`, even though `a theta` tends to zero. It also audits the shallow Toeplitz circuit algebra and identifies the actual matrix that must be precomputed. It does not certify the final tensor layout or multiplication exponent. + +Read inputs: `references/semantic-bulk/rad20/reports/review-bulk-resampling.md`, `review-phase-cell-inverse.md`, `downstream-phase-cell-inverse.md`, and `work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md`. + +## 1. The sharp elementary diagonal-dominance estimate + +Let `rho=1+theta`, `beta_i=rho*i-q_i`, and let the Gaussian row coefficient at integer offset h be + +`n_i,h=exp(-a[(rho*h+beta_i)^2-beta_(i+h)^2])`. + +The h=0 coefficient is 1. Set `g_i=q_i-q_(i-1)` and `g_(i+1)=q_(i+1)-q_i`, each in {1,2}. For the nearest coefficients, + +`n_i,-1=exp(-a*g_i*(2rho-2beta_i-g_i))`, + +`n_i,+1=exp(-a*g_(i+1)*(2rho+2beta_i-g_(i+1)))`. + +If g_i=1, the first exponent is exactly `1+2theta-2beta_i`; if g_i=2, that gap forces `beta_i=1/2-theta`, so the upper exponent is at least `1+2theta+2beta_i`. Consequently + +`n_i,-1+n_i,+1` + +` <=exp(-a(1+2theta-2beta_i))+exp(-a(1+2theta+2beta_i))` + +` <=exp(-2a theta)+exp(-2a(1+theta))`. + +The last step is convexity in beta on [-1/2,1/2]. The two nearest directions cannot both be charged as exp(-2a theta). + +For |h|>=2, + +`(rho*h+beta_i)^2-beta_(i+h)^2 >= h^2-|h|`, + +so their entire two-sided tail is below `4 exp(-2a)` for a>=1. Therefore + +`||N-I||_infinity <= exp(-2a theta)+5 exp(-2a)`. + +This includes nonzero periodic diagonal aliases in the tail; no alias is silently omitted from this bound. + +For p>=101, theta>=1/(4p), and `a>=4 log(16p)`, + +`1-exp(-2a theta) >= 1-exp(-1/(2p)) >=1/(4p)`, + +`5exp(-2a)<=5/(16p)^8<1/(8p)`. + +Hence N has row diagonal-dominance margin at least `1/(8p)` in the following robust sense: after deleting its tiny nonzero diagonal aliases, its diagonal is 1 and its off-diagonal row sum is at most `1-1/(8p)`. In particular the fixed-width inverse theorem is not needed to supply the retained strict row dominance. + +Choose the legal integer alpha by + +`alpha=ceil(sqrt((4/pi)log(16p)))`. + +Then a has the required lower bound and is O(log p). The old sufficient condition `u>=ceil(log2(8p))` need not be reused: the direct estimate above replaces that prerequisite. + +## 2. Actual rounded H, interior matrices, and guard range + +Use exactly the retained structure: + +- `w=ceil(sqrt(16p/u))+2`, u=alpha^2=a/pi; +- cell weights `a_j=exp(-a(1/4-beta_j^2)/theta)`; +- one globally fixed downward dyadic Toeplitz kernel `Ghat_delta` for |delta|<=w, zero outside, with Ghat_0=1; +- positive downward dyadic weights ahat_j; +- within a physical cell, define H_jk **exactly** as `ahat_j Ghat_(j-k)/ahat_k`; +- across cells, use the retained downward Gaussian entries; set H_jj=1. + +Thus the actual interior block being inverted is + +`A_cell=diag(ahat) Ghat_cell diag(ahat)^-1`. + +It is not the unrounded Gaussian matrix, and its retained truncated Ghat is not silently replaced by the infinite Gaussian kernel. + +The weight range is + +`0<=-log a_j<=a/(4theta)=O(a d)` + +under theta between 1/(4d) and 1/(2d-1). The old eventual condition u*d<=p holds whenever d=p^epsilon, epsilon<1, and u=O(log p). It bounds the old rational perturbation calculation by the same `2^(O(p)) eta` allowance. The stronger range `O(a d)` should be used for grouped tensor precision, rather than charging O(p) independently for every axis. + +Choose the coefficient precision high enough that `||H-N||<1/(16p)`, including the Gaussian truncation, omitted diagonal aliases and weight-ratio rounding. The retained bound `p*2^(16p+7)*eta+2^(-46p)` at eta=2^(-32768p) is more than sufficient. Then H has diagonal 1, row gap at least `1/(16p)`, row norm below 2, and inverse norm at most 16p. All clipped principal windows inherit the same row gap. The physical period cut must remain a cell boundary, as in the retained bulk review. + +## 3. Schur complement bounds without an a*theta>1 assumption + +A scalar elimination step on a strictly row-diagonally-dominant matrix cannot decrease its minimum absolute row gap. For pivot k, + +`gap_i(new) >= gap_i(old)+(|a_ik|/|a_kk|) gap_k(old)`. + +The full absolute row sum also cannot increase, since the added update row has off-pivot sum less than |a_kk|. Induction applies regardless of the signs of filled entries. Since the diagonal begins real positive and the correction magnitude is below it, the surviving diagonal remains positive. + +Consequently the exact Schur complement + +`S=H_BB-H_BI H_II^-1 H_IB` + +has row gap at least `1/(16p)`, row norm below 2, positive diagonal, and + +`||S^-1||_infinity<=16p`. + +Principal interior inverses also have norm at most 16p. Rounding S by a row perturbation below 1/(32p) preserves gap at least 1/(32p) and inverse norm at most 32p. A row has O(w) nonzeros; the retained P-grid readily meets this target. These are polynomial bounds on arbitrary signed inputs, with no factor equal to the number of cells. + +The boundary geometry is unchanged: keep first/last w vertices of each physical cell, yielding O(s*w/d) boundary vertices and circular half-bandwidth at most 2w. Schur fill only joins the two end groups of one cell, while original cross-cell entries join neighboring end groups. Actual inverse and LU coefficient tables must be precomputed for this H/S, not imported from the old parameter values. + +Thus the retained banded/cyclic boundary solver's gap-dependent proof remains applicable with fixed constants enlarged. The proposed batched boundary arithmetic still needs its own data-layout and Strassen error audit, but there is no analytic conditioning obstruction at logarithmic a. + +## 4. Apply the shallow circuit directly to Ghat inverse + +Because a is eventually larger than 4pi, the symmetric Toeplitz matrix Ghat_cell satisfies + +`max(||Ghat_cell-I||_1,||Ghat_cell-I||_infinity)<1/8`. + +Downward rounding only decreases this off-diagonal sum. The shallow full-Toeplitz theorem therefore applies directly to Ghat_cell. Reverse the resulting invertible circuit and invert its gates to obtain Ghat_cell inverse. This avoids the two-branch Gohberg-Semencul difference entirely. The interior inverse is: + +1. multiply by diag(ahat)^-1; +2. apply the reversed shallow circuit for Ghat_cell; +3. multiply by diag(ahat). + +Its only superpolynomial individual scale comes from the **local** weight range O(a d). Completed A_cell inverse has polynomial norm by the strict row gap. Across g axes, the uncompleted local weight contribution is at most exp(O(g*a*d)); choosing `g<=p/(d polylog p)` with sufficient logarithmic slack keeps the total data precision O(p). The shallow circuit contributes polynomial-in-d amplification per axis, hence only O(g log d) additional logarithmic range. This is a guard calculation, not a complete simultaneous-layer routing proof. + +## 5. Independent shallow-Toeplitz algebra audit and a length caveat + +The parity-split triangular identity, block Schur displacement formulas, Stein-generator telescoping identity, and bounded-prefix induction in SHALLOW-TOEPLITZ.md check algebraically. In particular the parity children run in parallel, avoiding the earlier erroneous sequential-depth recurrence. The full block-LU recursion also runs its two children in parallel, with O(log N) displacement rank after O(log N) levels. + +That document currently states its circuit theorem for dyadic N. Actual cell interiors are not generally dyadic. Padding every tensor axis to its next power of two would be invalid. A plausible exact extension has been communicated to its author: split an arbitrary N into balanced sizes differing by at most one; a near-square rectangular Toeplitz dirty shear is a square Toeplitz shear plus one extra row/column rank-one shear. The latter can be implemented by a binary tree of unitary 2-coordinate reductions and its inverse, without clean ancilla. The rectangular Stein identity telescopes as before. This extension needs its own written proof/controls before it is used as an established interface. + +No new final kappa is asserted by this audit. + +## 6. Dyadic interior subdivision resolves the length caveat + +No arbitrary-length shallow FFT theorem is actually needed. Refine the interior/boundary partition inside each original physical phase cell of length L as follows. Keep its first and last w vertices as boundary. Starting with the remaining interval of length R=L-2w: + +- while R>4w, choose the largest power of two B<=R-w; +- mark the next B vertices as one interior, the following w vertices as boundary, and replace R by R-B-w; +- once R<=4w, mark all remaining vertices as boundary. + +Every interior now has exactly dyadic length. If R>4w, then `B>(R-w)/2`, so the next remainder is less than R/2. There are `O(1+log(L/w))` interiors and the total boundary count in the cell is `O(w(1+log(L/w)))`. The final boundary group, including the initially reserved last w vertices, has size at most 5w; all inserted separators have size w. + +The width-w matrix H cannot connect two different new interiors: their separating boundary gap has w vertices, so their nearest physical coordinates differ by w+1. Each new interior is still a principal block of the SAME globally fixed Toeplitz-similar cell matrix. Its weights retain the original cell gauge; there is no new rescaling or rerounding at a subdivision boundary. + +Eliminating one dyadic interior fills only between its immediately neighboring boundary groups. Each such group has O(w) vertices. Original H edges also connect only the same group or neighboring groups; an interior has length greater than w in the loop above. Thus, in inherited physical boundary order, the new Schur complement has half-bandwidth O(w), not O(w log d). Only its number of rows grows by O(log d): + +`n_boundary=O((s/d) w log d)`. + +Clipped endpoint cells of size O(w) may be declared wholly boundary, adding only O(w) rows; preserve the original physical period cut. This is the same endpoint convention as the retained bulk review. + +The boundary solve and coupling work therefore gain only polylogarithmic factors. All dyadic interior blocks use the established SHALLOW-TOEPLITZ theorem directly, without padding any tensor axis and without requiring a non-dyadic Fourier circuit. This resolves the length caveat in section 5 for the intended phase-cell application; it does not prove the separate simultaneous tensor-layer routing claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json new file mode 100644 index 0000000000..301815a2c5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json @@ -0,0 +1,11 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "nearest_exponent_checks": 147618, + "far_exponent_checks": 442854, + "schur_eliminations": 468, + "schur_entries": 19032 + }, + "scope": "Nearest/far Gaussian exponent inequalities and signed/asymmetric Schur row-gap preservation; the transcendental row-sum estimate and tensor transfer are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json new file mode 100644 index 0000000000..df9fc504c1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json @@ -0,0 +1,13 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "instances": 63, + "inverse_entries": 2424, + "tile_entries": 4110, + "suffix_outputs": 1377, + "exponent_bounds": 2424, + "upper_entries": 2424 + }, + "scope": "Nonperiodic Newton L inverse and U inverse algebra; exact signed cross-tile data application; no runtime or tensor-fusion certificate." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md new file mode 100644 index 0000000000..35af6c7b99 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md @@ -0,0 +1,180 @@ +# A fast, stable application of the general Newton lower factor + +Status: a proved one-dimensional **nonperiodic lower-factor** algorithm and exact controls. It does not by itself implement the entire periodic inverse. The upper factor has a polynomial norm bound but its fast normalization/fusion remains to be supplied. No final multiplication exponent is claimed. + +## 1. Exact Gaussian LDU + +Let `rho=1+theta`, `q_i=floor(rho*i+1/2)`, `beta_i=rho*i-q_i`, `x_i=r^q_i`, `r=exp(2a rho)>1`, and `d_i=exp(-a q_i^2)`, for `0<=i=j`, zero otherwise. + +The ordinary monic Newton expansion of `X^j` gives exactly + +`G=L diag(C_i) U`, + +where `L=diag(d_i) T diag(d_i)^-1`, `L_ii=U_ii=1`, and + +`(U^-1)_ij=(-1)^(j-i) (e_j/e_i) e_(j-i)(x_0,...,x_(j-1))`, + +`e_j=exp(-a rho^2 j^2+a beta_j^2)`. + +The pivot calculation is exact: + +`d_i P_i(x_i) e_i = C_i`. + +Define + +`A_i=d_i x_i^i C_i/prod_(k<=i)x_k` + +` =C_i exp(-a beta_i^2-a rho^2 i+2a rho sum_(k<=i) beta_k)`. + +Divided differences give the exact inverse lower entries + +`(L^-1)_ij=(-1)^(i-j) (A_i/A_j)/D_(i,j)`, + +`D_(i,j)=prod_(j=1)(1-r^-m)`. Because `q_(i+1)-q_i>=1`, + +`c<=C_i,D_(i,j)<=1`. + +For `i>=j`, direct summation gives + +`log |A_i/A_j| <= -log c+a/4-a rho theta(i-j)`. + +Consequently + +`||L^-1||_infinity <= c^-2 exp(a/4)/(1-exp(-a rho theta))`. + +For the upper factor, compare every elementary-symmetric term with the product of the largest `j-i` variables. The sorted deficits form a partition, hence + +`1<= e_(j-i)(x_0,...,x_(j-1))/prod_(i<=k=-1/2` gives + +`||U^-1||_infinity <= c^-1 exp(a/4)/(1-exp(-a rho theta))`. + +Also `||diag(C_i)^-1||<=c^-1`. For `a>=1`, `r>=e^2`, so `c` has an absolute positive lower bound. For `a=O(log(1/theta))`, both factor norms are polynomial in `theta^-1`. These bounds apply to **arbitrary signed/complex input vectors**, not only correlated outputs of another factor. + +## 3. One stable scan plus a local correction + +Let + +`D_j^+=prod_(j=0`, + +`0<=1-H_i(x_j)<=sum_(k>i)x_j/x_k <= r^(-h-1)/(1-r^-1)`. + +The sum of discarded correction entries for `h>=W` is therefore at most + +`c^-2 exp(a/4) r^(-W-1)/[(1-r^-1)(1-exp(-a rho theta)/r)]`. + +Thus `W=O((p+a+log(1/theta))/a+1)` makes the omitted correction less than `2^-p` in operator norm. At `a=O(log(1/theta))`, `theta>=p^-O(1)`, this is `O(p/a+1)`. + +Partition the line into pages of W indices. Compute the exact correction on each diagonal page and each immediately lower adjacent page, and omit it elsewhere. Every omitted entry has `h>=W`; every retained tile has O(W) rows/columns. A diagonal page is recursively split into ordered cross tiles plus its diagonal. Only O(log W) tree levels are required. The adjacent-page rectangle can use the tile algorithm below directly. Subtracting the scan's contribution on those same tiles gives exactly the desired retained correction. + +## 4. The bounded-polynomial cross-tile algorithm + +Let every column in J precede every row in `I=[l,b]`, and suppose both sets lie in an index interval of length O(W). Put + +`z_j=x_j/x_l` (j in J), `v_k=x_l/x_k` (l=0) M_m Z^m=sum_j w_j/(1-z_j Z)=Q(Z)/P(Z)`. + +Build a balanced tree with leaf pairs `(P,Q)=(1-z_j Z,w_j)` and merge by + +`P=P_left P_right`, + +`Q=Q_left P_right+Q_right P_left`. + +Truncate to the needed degree at each node. Since `sum z_j<=1/(r-1)`, all product coefficient l1 norms are at most `exp(1/(r-1))<2`; numerator norms are at most twice the absolute input weight sum. The power-series reciprocal of P has l1 norm at most `c^-1`. Standard fast power-series inversion, or doubling the geometric series of `1-P` (whose l1 norm is <1/2 for r>=e^2), is therefore stable with polynomially bounded intermediates. Product-tree complexity is soft-O(|J|+|I|) scalar operations. + +### Fast suffix-polynomial evaluation + +The second operation is the transpose of multiplication by the suffix products. Split `[l+1,b]` at m. Right-hand output rows use the moment vector restricted to their degree range. For left rows, replace the moment vector by + +`M'_h=sum_k [Z^k]prod_(m=1; at a=1 this is `<16 theta^-2`. The independent exact negative-origin controls are BILATERAL-CONTROLS.json. +2. **Complete one-dimensional data application:** LOWER-FACTOR.md supplies the lower factor with logarithmic guard overhead. UPPER-DATA-ALGORITHM.md supplies the upper factor and a direct periodic implementation with `O(s p polylog p)` data cost, shared per-axis coefficient preprocessing, and **Cp internal precision**. This is stated in the target `s>>poly(p)` regime. Exact controls are LOWER-CONTROLS.json, UPPER-DATA-CONTROLS.json, and CYCLIC-SCAN-CONTROLS.json. +3. **Length-preserving upper merge:** UPPER-LIFTING.md proves the Newton merge and bounded exact shear algebra. UPPER-MERGE-CONTROLS.json checks its degree indexing and factorization. +4. **Still open:** a realization of the normalized Hankel/Toeplitz steps with only logarithmic internal guard bits, and a bounded-depth width-preserving tensor circuit. Neither the analytic norm theorem nor the one-dimensional time bound establishes those, and no improved final multiplication exponent is claimed. + +Replay all finite controls with Python 3: + +``` +python3 work/gaussian_fast_ultra/check_lower.py +python3 work/gaussian_fast_ultra/check_upper_merge.py +python3 work/gaussian_fast_ultra/check_bilateral.py +python3 work/gaussian_fast_ultra/check_upper_data.py +python3 work/gaussian_fast_ultra/check_cyclic_scan.py +``` + +The package uses no third-party source result beyond the elementary Newton polynomial identities stated and proved by their constructions. It retains the parent Gaussian notation and does not modify the frozen upstream manuscript. + +Focused phase-fusion audit added later: + +- `LOG-A-PHASE-SCHUR-AUDIT.md`: verifies strict row dominance at a=Theta(log p), polynomial Schur bounds, actual rounded Toeplitz interiors, and dyadic interior subdivision with only a logarithmic increase in boundary count. `LOG-A-SCHUR-CONTROLS.json` and `DYADIC-INTERIOR-CONTROLS.json` contain independent exact checks. +- `FORWARD-SMALL-A-AUDIT.md`: handles the distinct broad forward Gaussian S via b=pi/(alpha^2 rho^2), gives polynomial finite-block/completed-matrix inverse bounds, the exact target-grid chirp factorization, and the SPD Toeplitz circuit guard estimate. `FORWARD-CELL-CONTROLS.json` checks the coordinate and matrix identities. + +These are interface components for the parent's focused partial-fusion proposal. They do not independently certify its full tensor schedule or final exponent. + +- `CAPPED-GAUGE-AUDIT.md` independently validates capped dyadic interiors and exact reanchoring of the already-rounded narrow matrix, with local log range O(aB) rather than O(ad). It also validates the broad O(B/alpha^2) gauge and whole-boundary-group solve order. `CAPPED-GAUGE-CONTROLS.json` contains 27,216 partition checks and exact narrow/broad gauge controls. The capped final exponent ledger remains a separate assembly artifact. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md new file mode 100644 index 0000000000..f07f2c68c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md @@ -0,0 +1,166 @@ +# A complete upper-inverse data algorithm with linear precision overhead + +Status: the construction below closes the one-dimensional **data application** of the nonperiodic upper inverse in `O(s p polylog p)` bit operations, after fixed per-axis coefficient preprocessing, using `C p` internal precision for an absolute constant C. It does not obtain logarithmic internal guard bits and does not prove tensor fusion. The lower-factor algorithm in LOWER-FACTOR.md does have logarithmic guard overhead. + +Let `p` be the required output precision, `a>=1`, `theta>=p^-O(1)`, and `a=O(p)`. In the target family a is fixed or logarithmic and every line length s grows faster than any fixed power of p. Preprocessing depending on the axis is shared by all its lines, as allowed by the parent reduction; it is not charged anew for every line. The coefficient words actually read by one data application have total `O(s p polylog p)` bits. + +## 1. Upper inverse is a stable suffix scan plus bandwidth O(p/a) + +Use the column diagonal `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Define + +`B_j=e_j prod_(0<=k=i`, write + +`C_i,j=e_(j-i)(x_0,...,x_(j-1))/prod_(i<=k0. Put `d=m-i`, + +`gamma_i=(U^-1)_i,m`, + +`tau_j=(-1)^(j-m)(B_j/B_m)`. + +An exact Laurent-polynomial coefficient identity gives + +`(U^-1)_ij=gamma_i tau_j sum_(h>=0) (alpha_(d+h)/alpha_d) beta_j,h`. + +The signs are already in gamma and tau; the remaining coefficient sum is nonnegative. Both gamma and tau are polynomially bounded, with the same exponential-distance primary bounds as before. + +To verify the identity, write X=x_m Z and factor + +`P_j(X)=X^m prod_(k=1)(1+r^-k) <= 2/c`. + +A truncated product/sum tree computes M_0,...,M_R in `O((|J|+R) polylog p)` scalar operations. At a split, its exact rule is `S=S_left+P_left S_right`, with P a fixed product. Intermediate norms are bounded by a constant times the absolute weighted input sum, independently of tile length. No large Gaussian diagonal occurs in this step. + +## 3. Exponentially small high degrees + +The partition bound on alpha and beta gives + +`alpha_(d+h)/alpha_d <= c^-1 r^(-d*h-h(h+1)/2)`, + +`beta_j,h <= c^-1 r^(-h(h-1)/2)`. + +Thus the h-term, after summing input weights, is bounded by + +`c^-2 r^(-d*h-h^2) sum_j |tau_j u_j|`. + +Group row distances dyadically: D<=d<2D. For that group retain only + +`R=min(|J|, O(sqrt(P)), O(P/D))`, `P=(p+a+log(1/theta))/a`, + +with sufficiently large absolute constants. If |J| is smaller, the polynomial is already exact. Otherwise all omitted terms sum to less than `2^-p` after allowing the polynomial gamma/tau factors. There are O(log p) row groups. + +## 4. Fast normalized Hankel application, with Cp internal bits + +The remaining map for a row group is + +`y_d=sum_(0<=h<=R) (alpha_(d+h)/alpha_d) M_h`. + +Split the d-range into consecutive blocks of length at most R (or the whole group if shorter). For a block beginning at d0, divide all alpha coefficients used by alpha_d0. Then the numerator is one reversed ordinary convolution of that coefficient segment with M. Divide output d by alpha_d/alpha_d0. + +The decisive height bound is local, not global. If k>=0, comparing dominant products and using q-gaps in {1,2} gives + +`c r^(-2*d0*k-k(k+1)) <= alpha_(d0+k)/alpha_d0 <= c^-1`. + +Here the lower bound is needed only when the coefficient exists; every queried alpha index is <=m. If alpha vanishes because its degree exceeds m, store exact zero and never divide by it. Since d0=O(D), k=O(R), and `D R+R^2=O(P)`, every nonzero coefficient ratio and every divisor in this block lies between `exp(-O(aP))` and an absolute constant. Thus **Cp internal precision** suffices for these convolutions and the final divisions. + +The number of scalar operations for one row group is `O(D polylog p)`; its separate bounded-prefix computation costs `O((|J|+R) polylog p)`. Summing the O(log p) row groups gives `O((|I|+|J|) polylog p)` scalar operations per ordered tile. Recursing through one W-page or processing adjacent pages therefore costs `O(W p polylog p)` bits. Over all pages the data cost is + +`O(s p polylog p)`. + +The Gaussian factors gamma and tau can be evaluated from bounded dominant-product ratios rather than raw e_i or B_i. Precomputed alpha tables can similarly be stored with dominant-product gauges. Every alpha segment actually read by the data algorithm has length O(|I|+|J|) per row-group and tile level; this accounts for the coefficient tape scans in the same bound. + +A conservative preprocessing implementation may compute every required alpha table from O(poly(p)) nearby nodes separately, and can therefore cost `s poly(p)` per axis. This is a one-time axis cost, not an unpriced per-line cost. In the parent regime it is negligible compared with the full tensor data volume. A uniformly quasi-linear preprocessing theorem is not asserted here. + +## 5. Complete nonperiodic and periodic application + +Combining this upper map with the lower map and the bounded diagonal gives the complete nonperiodic inverse `G^-1=U^-1 C^-1 L^-1` in `O(s p polylog p)` data time, at Cp internal precision, with polynomial operator norms. Requested final error is achieved by a fixed additional factor in precision plus O(log p+log(1/theta)) endpoint guard bits. + +For the periodic matrix one may either implement the bilateral factors in BILATERAL-LDU.md or use a finite boundary correction. The latter needs only two nonperiodic inverse data applications: + +- Truncate nonzero Gaussian aliases to the two corner blocks of width `b=O(sqrt((p+log(1/theta))/a)+1)`, obtaining `K=G+UV` and a row-norm tail smaller than `2^-Cp`. +- U inserts O(b) boundary coordinates and V reads a bounded O(b)-by-O(b) corner matrix. +- Precompute `S^-1`, `S=I+V G^-1 U`. Its norm is polynomial because `S^-1=I-V K^-1 U` and the periodic inverse norm plus the tiny discarded tail bounds K inverse. +- Apply `x=G^-1 z`, `w=S^-1 Vx`, and return `x-G^-1 Uw`. + +The boundary data work is polynomial in p. For the target line lengths s growing faster than every fixed polynomial in p, it is negligible relative to sp. The updated matrix in the Woodbury inverse identity is K, not the base G. The periodic Gaussian tail and final correction error are bounded using the fixed-a theorem in BILATERAL-LDU.md. + +## What is still not established + +The normalized Hankel step uses Cp working precision because its local alpha divisors may be exp(-Cp). It has not been converted to a circuit whose every intermediate operator has polynomial norm. Therefore this result does not meet the stronger **logarithmic guard at every internal stage** requirement needed by the proposed full-dimensional fusion. It supplies a complete one-dimensional data algorithm and a precise remaining normalization target; it supplies no improved final kappa. + +## 6. Direct periodic implementation from the bilateral factors + +The bilateral theorem also permits the Woodbury step above to be omitted. This is cleaner in the target regime `s>>W`. + +For the bilateral lower inverse, use + +`C_i=prod_(ki)(1-x_i/x_k)`. + +The same lower formula and scan/correction split hold, with the defining products now bilateral. The adjacent A ratio is still given by the beta formula in LOWER-FACTOR.md. For the upper inverse, use elementary polynomials in the infinite prefix `x_k, k=1-exp(-a)`. Intermediate partial products and scan norms have the polynomial bounds already proved. This supplies a stable two-pass scan on the original s records. + +Retain the correction only for one-sided distances below W on the integer cover of the circle. With `s>>W`, each retained coefficient belongs to its diagonal page or the single adjacent cyclic page; virtual negative or beyond-s indices are generated by periodic q/beta formulas. The same local tile algorithms apply. Periodization cannot increase the row norm of any discarded tail, so all the previous error estimates remain valid. + +In the upper tile algorithm, alpha_d is now the coefficient of the infinite small-root prefix + +`prod_(k=d+O(q/a+1)`: a contribution involving an omitted node has partition deficit at least K-d, and summing the corresponding partition tail gives `O(r^(-(K-d)/2))` relative error (bound the tail by r to half the negative deficit times the convergent partition generating product). For the O(W)-degree tables at q=Cp, this is O(W+p/a) nodes, independent of s. Normalized table storage and data access are unchanged. + +Thus, after fixed per-axis coefficient preprocessing, the bilateral factorization itself gives the **periodic** inverse data application in `O(s p polylog p)` time with Cp working precision, in the target regime `s>>poly(p)`. It needs neither a large raw Vandermonde nor a boundary Schur system. The unresolved logarithmic-internal-guard and tensor-fusion qualifications remain exactly as stated above. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json new file mode 100644 index 0000000000..0d9410b6a8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json @@ -0,0 +1,12 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "instances": 75, + "suffix_recurrences": 2715, + "tile_entries": 6413, + "signed_prefix_tree_and_hankel_outputs": 1833, + "alpha_ratio_bounds": 10008 + }, + "scope": "Algebra, signs, degree indexing, suffix-tail recurrence, and signed blocked upper data application. Cp-bit stability and asymptotic data cost are analytic, not certified by finite tests." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md new file mode 100644 index 0000000000..0985ad16cd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md @@ -0,0 +1,57 @@ +# The upper factor has a length-preserving Newton merge + +This is a structural advance, not yet the missing fast normalized FFT implementation. It concerns the nonperiodic factor from LOWER-FACTOR.md. + +Write `d_i=exp(-a rho^2 i^2+a beta_i^2)` in this note (this is the column diagonal called `e_i` in LOWER-FACTOR.md). The upper inverse is + +`(U^-1)_ij=(d_j/d_i) [X^i] prod_(k=m and h=j-i, the logarithm of the last Gaussian factor is at most + +`a/4-a rho^2 h^2-a rho(2rho-1)h-2a rho^2(i-m)h`. + +Thus D inverse also has row norm `O(exp(a/4))`, and the shear B D inverse has polynomial norm. These statements hold on arbitrary signed/complex records. + +## Remaining realization problem + +The algebra is length preserving and the exact blocks have bounded norm. Directly executing their diagonal-Toeplitz-diagonal presentation is not yet safe for full-dimensional tensor fusion: the raw d_i ratio can have logarithmic range `Theta(a(r-l)^2)`. A local FFT using that presentation therefore reintroduces an O(p) guard for blocks of length sqrt(p/a). + +A plain unit triangular Toeplitz map can be implemented by recursive Toeplitz shears and in-place cyclic/negacyclic Fourier transforms, as suggested by the parent investigation. To close this upper-factor route, that primitive needs a version for the **Gaussian-conjugated** Toeplitz blocks above whose intermediate norms stay polynomial, or a different bounded lifting factorization of them. The final exact block norms alone do not prove the intermediate FFT normalization claim. + +The numerator Sylvester merge in the lower-factor moment tree remains a separate lifting problem; the one-product Newton merge here avoids that two-product merge for the upper factor only. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json new file mode 100644 index 0000000000..7e851839f8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json @@ -0,0 +1,6 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "normalized_node_merges_and_shear_factorizations": 286, + "scope": "Algebra and degree indexing, not bounded FFT realization or tensor fusion." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py new file mode 100644 index 0000000000..b2f527e951 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import matmul, inv, elem + +def pp2(n):return F(2)**n +def prod(v): + z=F(1) + for x in v:z*=x + return z +def complete(xs,n): + c=[F(1)]+[F(0)]*n + for x in xs: + for k in range(1,n+1):c[k]+=x*c[k-1] + return c[n] +def case(s,t,l,n): + q=lambda i:(2*t*i+s)//(2*s) + x=lambda i:pp2(2*s*t*q(i)) + e=lambda i:pp2(-t*t*i*i+(t*i-s*q(i))**2) + G=lambda i,j:pp2(-(t*j-s*q(i))**2+(t*j-s*q(j))**2) + C=lambda i,o:prod(1-x(k)/x(i) for k in range(o,i)) + L=lambda i,j,o:G(i,j)*prod(1-x(k)/x(i) for k in range(o,j))/C(j,o) if i>=j else F(0) + U=lambda i,j,o:e(j)/e(i)*complete([x(k) for k in range(o,i+1)],j-i) if j>=i else F(0) + ids=list(range(l,l+n)); LL=[[L(i,j,l) for j in ids] for i in ids];UU=[[U(i,j,l) for j in ids] for i in ids] + CC=[[C(i,l) if i==j else F(0) for j in ids] for i in ids] + assert matmul(matmul(LL,CC),UU)==[[G(i,j) for j in ids] for i in ids] + UI=inv(UU) + for ii,i in enumerate(ids): + for jj,j in enumerate(ids): + assert L(i+s,j+s,l+s)==L(i,j,l) + assert U(i+s,j+s,l+s)==U(i,j,l) + assert G(i+s,j+s)==G(i,j) + if j>=i: + assert UI[ii][jj]==(-1)**(j-i)*e(j)/e(i)*elem([x(k) for k in range(l,j)],j-i) + return n*n + +def main(): + instances=entries=0 + for s,t in [(2,3),(3,4),(3,5),(4,5),(4,7)]: + for l in [-5,-2,0]: + for n in [3,4,5]:entries+=case(s,t,l,n);instances+=1 + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','negative_and_zero_origin_instances':instances,'finite_LDU_and_shift_entries':entries,'scope':'Finite-origin algebra, exact origin-shift correction, upper inverse formula and simultaneous periodic shifts; bilateral limiting argument is analytic.'} + Path(__file__).with_name('BILATERAL-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py new file mode 100644 index 0000000000..d6f5a14cb2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json + +def p2(n):return F(2)**n + +def carve(L,W,cap): + if L<=6*W:return [('B',0,L)] + ps=[('B',0,W)];pos=W;R=L-2*W + while R>4*W: + B=min(cap,1<<((R-W).bit_length()-1)) + ps.append(('I',pos,pos+B));pos+=B + ps.append(('B',pos,pos+W));pos+=W;R-=B+W + if R:ps.append(('B',pos,pos+R));pos+=R + ps.append(('B',pos,L)) + return ps + +def main(): + c={'partitions':0,'narrow_slope_pairs':0,'rounded_ratio_and_exact_reanchoring_pairs':0,'broad_slope_pairs':0} + for W in [1,2,3,5,9,17]: + for power in range(2,11): + cap=1<=W for x,y in zip(ins,ins[1:])) + budget=(L+cap-1)//cap+cap.bit_length()+10 + assert len(ins)<=budget + assert sum(b-a for typ,a,b in ps if typ=='B')<=W*budget + c['partitions']+=1 + for s in range(3,31): + for K in range(1,min(s,6)): + rho=F(s+K,s);theta=rho-1;lam=1/rho + q=[(2*(s+K)*i+s)//(2*s) for i in range(s)] + cells={} + for i in range(s):cells.setdefault(q[i]-i,[]).append(i) + # a/log(2)=4*s*K makes every original narrow weight dyadic. + exps=[4*(K*i-s*(q[i]-i))**2-s*s for i in range(s)] + aa=[p2(e) for e in exps];eta=p2(-2*s*s-100) + ah=[x-(1+i%4)*eta for i,x in enumerate(aa)] + for phase,inds in cells.items(): + for start in range(0,len(inds),3): + block=inds[start:start+3];m=block[0] + for i in block: + for j in block: + assert abs(exps[i]-exps[j])<=4*s*K*abs(i-j) + c['narrow_slope_pairs']+=1 + assert F(1,2)*p2(-4*s*K*abs(i-j))<=ah[i]/ah[j]<=2*p2(4*s*K*abs(i-j)) + kernel=F(2,3) if i!=j else F(1) + before=ah[i]*kernel/ah[j] + after=(ah[i]/ah[m])*kernel/(ah[j]/ah[m]) + assert before==after + c['rounded_ratio_and_exact_reanchoring_pairs']+=1 + # Broad gauges on target coordinates in the original physical phase cell. + target=[q[i] for i in inds];anchor=target[len(target)//2] + delta=(1-lam)*anchor-phase + def col(k): + x=k-anchor + return -((1-lam)*x*x+2*delta*x) + def row(k): + y=k-anchor + return lam*(1-lam)*y*y+2*delta*lam*y-delta*delta + for i in target: + for j in target: + assert abs(col(i)-col(j))<=abs(i-j) + assert abs(row(i)-row(j))<=abs(i-j) + c['broad_slope_pairs']+=1 + out={'status':'all exact assertions passed','arithmetic':'integers and fractions.Fraction','checks':c,'scope':'Capped dyadic carving, narrow exact log-slope, positive perturbed global weights, exact local reanchoring, and broad gauge log-slope. Final tensor schedule/ledger excluded.'} + Path(__file__).with_name('CAPPED-GAUGE-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py new file mode 100644 index 0000000000..7f8ebba6af --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import matmul,inv,eye + +def scan(lam,u): + P=F(1);Q=F(0) + for a,b in zip(lam,u):P=a*P;Q=a*Q+b + prev=Q/(1-P);out=[] + for a,b in zip(lam,u):prev=a*prev+b;out.append(prev) + return out + +count=0 +for n in range(2,31): + for offset in range(7): + lam=[F((-1)**(i+offset)*(i%3+1),5+i%4) for i in range(n)] + u=[F((-1)**i*(2*i+offset+1),i+1) for i in range(n)] + A=eye(n) + for i,a in enumerate(lam):A[i][(i-1)%n]-=a + expected=[r[0] for r in matmul(inv(A),[[x] for x in u])] + assert scan(lam,u)==expected + count+=1 +out={'status':'all exact assertions passed','cyclic_signed_scan_systems':count,'scope':'Two-pass cyclic affine recurrence against dense exact inversion; bilateral coefficient estimates are analytic.'} +Path(__file__).with_name('CYCLIC-SCAN-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py new file mode 100644 index 0000000000..9a970cb94e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json + +def parts(L,w): + if L<=2*w:return [('B',0,L)] + out=[('B',0,w)];pos=w;R=L-2*w + while R>4*w: + B=1<<((R-w).bit_length()-1) + out.append(('I',pos,pos+B));pos+=B + out.append(('B',pos,pos+w));pos+=w;R-=B+w + if R:out.append(('B',pos,pos+R));pos+=R + out.append(('B',pos,L)) + return out +cases=edges=0 +for w in range(1,41): + for L in range(1,2001): + ps=parts(L,w) + assert ps[0][1]==0 and ps[-1][2]==L + assert all(a[2]==b[1] for a,b in zip(ps,ps[1:])) + ins=[x for x in ps if x[0]=='I'] + assert all((b-a)&(b-a-1)==0 for _,a,b in ins) + assert all(y[1]-x[2]>=w for x,y in zip(ins,ins[1:])) + assert len(ins)<=2+max(0,(max(1,L//w)).bit_length()) + assert sum(b-a for t,a,b in ps if t=='B')<=w*(8+max(1,L//w).bit_length()) + # For each new interior, all boundary neighbors reachable by an original band edge + # lie in its two adjacent retained blocks. Eliminating it can fill only their union. + labels=[-1]*L;bid=0 + for typ,a,b in ps: + if typ=='B': + for i in range(a,b):labels[i]=bid;bid+=1 + for _,a,b in ins: + ns=[labels[i] for i in list(range(max(0,a-w),a))+list(range(b,min(L,b+w))) if labels[i]>=0] + if ns:assert max(ns)-min(ns)<=10*w + edges+=len(ns) + cases+=1 +out={'status':'all exact assertions passed','cell_partitions':cases,'reachable_boundary_records':edges,'scope':'Dyadic lengths, exact coverage, w-wide separation, logarithmic block count, and O(w) Schur boundary span.'} +Path(__file__).with_name('DYADIC-INTERIOR-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py new file mode 100644 index 0000000000..b91b7a6bad --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json + +def p2(k):return F(2)**k +cases=entries=completion=0 +for s in range(3,22): + for t in range(s+1,min(2*s,s+5)+1): + rho=F(t,s);lam=1/rho;q=[(2*t*j+s)//(2*s) for j in range(s)] + cells={} + for j,i in enumerate(q):cells.setdefault(i-j,[]).append(i) + for c,inds in cells.items(): + m=inds[len(inds)//2];delta=F((t-s)*m-t*c,t) + assert abs(delta)<=F(1,2) + for k in inds: + betak=(rho-1)*k-rho*c + assert -F(1,2)<=betak=1+2*th-2*b + assert upper>=1+2*th+2*b + counts['nearest_exponent_checks']+=2 + for h in [-4,-3,-2,2,3,4]: + assert (rho*h+b)**2-beta(i+h)**2>=h*h-abs(h) + counts['far_exponent_checks']+=1 + # Both signs and asymmetric rows: no positivity hypothesis on filled off-diagonals. + for n in range(3,15): + for seed in range(6): + A=[[F(1) if i==j else F(((-1)**(i+j+seed))*((7*i+3*j+seed)%11+1),40*n) for j in range(n)] for i in range(n)] + original_gap=min(gap(A,i) for i in range(n)); original_norm=norm(A) + while len(A)>2: + k=(seed+len(A))%len(A);idx=[i for i in range(len(A)) if i!=k] + B=[[A[i][j]-A[i][k]*A[k][j]/A[k][k] for j in idx] for i in idx] + assert min(gap(B,i) for i in range(len(B)))>=original_gap + assert norm(B)<=original_norm + assert all(B[i][i]>0 for i in range(len(B))) + counts['schur_eliminations']+=1;counts['schur_entries']+=len(B)**2 + A=B + return counts +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Nearest/far Gaussian exponent inequalities and signed/asymmetric Schur row-gap preservation; the transcendental row-sum estimate and tensor transfer are analytic.'} + Path(__file__).with_name('LOG-A-SCHUR-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py new file mode 100644 index 0000000000..1260c26dd1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Exact finite controls for LOWER-FACTOR.md; no floating point.""" +from fractions import Fraction as F +from math import prod +import json +from pathlib import Path + +def matmul(A,B): + return [[sum((a*b for a,b in zip(row,col)),F(0)) for col in zip(*B)] for row in A] +def eye(n): return [[F(i==j) for j in range(n)] for i in range(n)] +def inv(A): + n=len(A); B=[list(r)+list(e) for r,e in zip(A,eye(n))] + for k in range(n): + v=B[k][k]; assert v; B[k]=[x/v for x in B[k]] + for i in range(n): + if i!=k: + v=B[i][k]; B[i]=[x-v*y for x,y in zip(B[i],B[k])] + return [r[n:] for r in B] +def poly_mul(a,b): + out=[F(0)]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b): out[i+j]+=x*y + return out +def newton_poly(xs): + out=[F(1)] + for x in xs: out=poly_mul(out,[-x,F(1)]) + return out +def elem(xs,k): return (-1)**k*newton_poly(xs)[len(xs)-k] +def suffix_pull(vs,M): + """All =i)(1-v_k Z),M>, exact D&C transpose tree.""" + if not vs: return [M[0]] + if len(vs)==1: return [M[0]-vs[0]*M[1],M[0]] + mid=len(vs)//2; left,right=vs[:mid],vs[mid:] + P=[F(1)] + for v in right: P=poly_mul(P,[F(1),-v]) + LM=[sum((P[k]*M[h+k] for k in range(len(P))),F(0)) for h in range(len(left)+1)] + return suffix_pull(left,LM)[:-1]+suffix_pull(right,M[:len(right)+1]) + +def run(): + count={'instances':0,'inverse_entries':0,'tile_entries':0,'suffix_outputs':0,'exponent_bounds':0,'upper_entries':0} + for s in range(3,12): + for t in range(s+1,2*s+1): + rho=F(t,s); q=[(2*t*i+s)//(2*s) for i in range(s)] + beta=[rho*i-q[i] for i in range(s)]; x=[F(2)**k for k in q] + # Arbitrary exact rational diagonal tests all identities independent of Gaussian values. + d=[F(3)**(-q[i]*q[i]) for i in range(s)] + C=[prod((1-x[k]/x[i] for k in range(i)),start=F(1)) for i in range(s)] + D=lambda i,j:prod((1-x[j]/x[k] for k in range(j+1,i+1)),start=F(1)) + A=[d[i]*x[i]**i*C[i]/prod(x[:i+1],start=F(1)) for i in range(s)] + L=[[F(0)]*s for _ in range(s)] + for i in range(s): + for j in range(i+1): + L[i][j]=d[i]/d[j]*prod((x[i]-x[k] for k in range(j)),start=F(1))/prod((x[j]-x[k] for k in range(j)),start=F(1)) + LI=inv(L) + for i in range(s): + for j in range(i+1): + assert LI[i][j]==(-1)**(i-j)*A[i]/A[j]/D(i,j) + count['inverse_entries']+=1 + h=i-j + exponent=-beta[i]**2+beta[j]**2-rho**2*h+2*rho*sum(beta[j+1:i+1],F(0)) + assert exponent<=F(1,4)-rho*(rho-1)*h + count['exponent_bounds']+=1 + # Newton U inverse coefficients and V=L D U, with row diagonal removed. + V=[[x[i]**j for j in range(s)] for i in range(s)] + T=[[L[i][j]*d[j]/d[i] for j in range(s)] for i in range(s)] + U=matmul(inv(T),V) + for i in range(s): + pivot=prod((x[i]-x[k] for k in range(i)),start=F(1)) + U[i]=[v/pivot for v in U[i]] + UI=inv(U) + for i in range(s): + for j in range(i,s): + assert UI[i][j]==(-1)**(j-i)*elem(x[:j],j-i) + count['upper_entries']+=1 + # Every adjacent-cut tile, arbitrary signed inputs, exact moment/suffix algorithm. + u=[F((-1)**j*(2*j+1),j+1) for j in range(s)] + for l in range(1,s): + b=min(s-1,l+3); J=list(range(max(0,l-4),l)); I=list(range(l,b+1)) + z=[x[j]/x[l] for j in J]; v=[x[l]/x[k] for k in range(l+1,b+1)] + w=[(-1)**j*A[l]/A[j]/D(b,j)*u[j] for j in J] + M=[sum((wj*zj**m for wj,zj in zip(w,z)),F(0)) for m in range(len(I))] + pulled=suffix_pull(v,M) + for i,got in zip(I,pulled): + got*=(-1)**i*A[i]/A[l] + expect=sum((LI[i][j]*u[j] for j in J),F(0)) + assert got==expect + count['suffix_outputs']+=1; count['tile_entries']+=len(J) + count['instances']+=1 + return count +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Nonperiodic Newton L inverse and U inverse algebra; exact signed cross-tile data application; no runtime or tensor-fusion certificate.'} + p=Path(__file__).with_name('LOWER-CONTROLS.json');p.write_text(json.dumps(out,indent=2)+'\n'); print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py new file mode 100644 index 0000000000..ad06229d84 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +"""Exact checks of the upper suffix recurrence, tile identity, and blocked data algorithm.""" +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import poly_mul, elem + +def prod(xs): + z=F(1) + for x in xs:z*=x + return z + +def add(a,b): + out=[F(0)]*max(len(a),len(b)) + for i,x in enumerate(a):out[i]+=x + for i,x in enumerate(b):out[i]+=x + return out + +def prefix_sum(roots,weights): + """sum weights[j] product_{k=0 + assert delta<=2*F(4)**(-(j-i+1)) + out['suffix_recurrences']+=1 + u=[F((-1)**j*(j+2),j+1) for j in range(s)] + for m in range(1,s): + l=max(0,m-4);r=min(s,m+5);I=list(range(l,m));J=list(range(m,r)) + aa=[elem([x/xs[m] for x in xs[:m]],h) for h in range(m+1)] + tau=[(-1)**(j-m)*BB[j]/BB[m] for j in J] + gamma={i:U(i,m) for i in I} + roots=[xs[m]/xs[k] for k in range(m,r-1)] + moments=prefix_sum(roots,[tau[k]*u[j] for k,j in enumerate(J)]) + R=len(moments)-1 + for i in I: + d=m-i + for j in J: + b=[elem([xs[m]/xs[k] for k in range(m,j)],h) if h<=j-m else F(0) for h in range(R+1)] + v=sum((aa[d+h]/aa[d]*b[h] for h in range(R+1) if d+h<=m),F(0)) + assert gamma[i]*tau[j-m]*v==U(i,j) + out['tile_entries']+=1 + # Blocks of length two for normalized Hankel convolution. + for d0 in range(1,m-l+1,2): + B=min(2,m-l-d0+1) + a=[aa[d0+k]/aa[d0] if d0+k<=m else F(0) for k in range(B+R)] + cv=poly_mul(a,list(reversed(moments))) + for off in range(B): + d=d0+off;i=m-d + got=gamma[i]*cv[off+R]/(aa[d]/aa[d0]) + expected=sum((U(i,j)*u[j] for j in J),F(0)) + assert got==expected + out['signed_prefix_tree_and_hankel_outputs']+=1 + for d in range(1,m+1): + for k in range(m-d+1): + rat=aa[d+k]/aa[d] + assert F(1,2)*F(4)**(-2*d*k-k*(k+1))<=rat<=2 + out['alpha_ratio_bounds']+=1 + out['instances']+=1 + return out +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Algebra, signs, degree indexing, suffix-tail recurrence, and signed blocked upper data application. Cp-bit stability and asymptotic data cost are analytic, not certified by finite tests.'} + Path(__file__).with_name('UPPER-DATA-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py new file mode 100644 index 0000000000..3dda87e144 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +from check_lower import F, poly_mul, newton_poly, matmul, eye, inv +from pathlib import Path +import json + +def local(xs,ds,l,r): + n=r-l;A=[[F(0)]*n for _ in range(n)] + for j in range(l,r): + P=newton_poly(xs[l:j]) + for k,p in enumerate(P):A[k][j-l]=ds[j]*p/ds[l+k] + return A + +def main(): + count=0 + for n in range(2,13): + xs=[F(2)**(i+i//3) for i in range(n)] + ds=[F(3)**(-i*i) for i in range(n)] + for l in range(n-1): + for r in range(l+2,n+1): + m=(l+r)//2;n1=m-l;n2=r-m + P=newton_poly(xs[l:m]);M=eye(r-l) + for i in range(l,r): + for j in range(m,r): + k=i-l-(j-m) + M[i-l][j-l]=ds[j]/ds[i]*P[k] if 0<=k4L` and `gL/N=o(1)`. +Write `b=log2 N`, `k=gb`, and `K0=O(g(h+b)+log g)=O(gh)` for a correction key. +Require `K0^2=O(B)` or retain the explicit extra metadata term below. + +The complete cost is + +``` +O(V [ (gb)^(1-a) polylog p + + (gb)^(1-q) polylog p + + polylog p + + (gL/N) (K0 + g polylog p) ]) ++ polynomial(p) setup, +``` + +plus `O((gL/N)V K0^2/B)` if metadata arithmetic is not absorbed by records. +All scans, duplication, sparse sorts, local transposes and final output +order are included. In particular, there is no gV layout term. + +## 1. One support-limited gather + +Within the active group, gather its g low b-bit fields into a contiguous +suffix using the support-at-most-2gb extension proved in +`SUPPORT-ROUTER.md`. The remaining active coarse bits remain in their +possibly scrambled order. Every coarse tile is now one contiguous block +of N^g complete R-payloads. No other active coarse bit is put into a new +stable order, and no spectator coordinate is gathered. + +The initial and inverse gather together cost +`O(V (gb)^(1-a) polylog p)`. The explicit permutation maps each physical +coarse tile name back to its logical vector; that small map is used only +for tile setup and sparse correction metadata. + +## 2. Interior outputs from ordinary cyclic convolution + +Flatten a tile by `phi(x)=sum_i x_i N^(g-1-i)` into Q=N^g slots. Put the +product kernel at offsets `psi(z)=sum_i z_i N^(g-1-i) mod Q` in an ordinary +one-dimensional cyclic convolution kernel. These offsets are distinct: +reduce a putative collision modulo N, use `2L= p^eta`, `g -> infinity`; alternatively a supplied sequential dense +kernel generator is an explicit acceptable input. + +If every tile coordinate satisfies `L<=x_ij: [0,N). +``` + +These 2g rectangles are disjoint and contain every discarded output once. +Their required unwrapped input rectangles have intervals + +``` +ij: [-L,N+L). +``` + +Coordinates outside `[0,N)` are taken from the correct neighboring coarse +tile, including periodic wrap in each actual axis. All input dimensions +are less than 2N; no assumption of independent full 2N padding is used. + +The total copied input volume is exactly + +``` +M = 6L V/N^g * sum_{j=0}^{g-1} N^j (N+2L)^(g-1-j) + = 3V [ (1+2L/N)^g - 1 ] + = O((gL/N)V). +``` + +The corrected output volume is +`V [1-(1-2L/N)^g] = O((gL/N)V)`. The formulas count corner duplication +exactly. An individual corner may have many destinations; its total traffic +is already included in M. No bound by worst-case 2^g multiplicity is charged +to all records. + +## 4. One full scan generates all correction copies + +For each original core tile, recover its logical coarse coordinates once. +Scan its local coordinate tuple with a binary odometer. Maintain flags for +membership in the four fixed edge intervals `[0,L)`, `[0,2L)`, +`[N-2L,N)` and `[N-L,N)`. Only coordinates changed by the odometer update +their flags. The number of coordinate updates over a whole tile is +`Q(1+1/N+...)<2Q`. Comparisons cost O(log N), and counters/head resets use +the retained amortized stream-counter convention. Maintain a count of +active near-boundary flags. A nonexceptional record takes no scan through +the g flags. + +For an exceptional record, enumerate candidate first-boundary axes from +the flag tape and all valid neighboring-tile choices. The exact choices +are the ones implemented in `sparse_copies` in `check_halo.py`: earlier +axes stay in the original tile; the selected face axis has its own or one +adjacent tile; each later axis has its own tile plus an adjacent tile only +when within L of that edge. Every emitted record carries + +``` +(j, side, destination coarse tile, unwrapped local coordinates). +``` + +These are K0=O(gh) bits. Precompute the plus/minus-one forms of each logical +coarse coordinate once per tile. A copy's logical neighbor is generated +by selecting those forms, then encoding the known scrambled coarse order. +All carries, periodic wraps and changed tile order are explicit. Using +ordinary binary arithmetic gives O(K0^2) safe metadata work per copy. + +The full scan costs O(V polylog p). The exceptional flag scans and address +work cost O(M K0^2/B+M) in bit-volume units when R includes the B-bit record. +Their setup per coarse tile is absorbed by its N^g payload. This is not an +unpaid nonlinear boundary-signature evaluation on every payload bit. + +## 5. Sparse radix gather and fixed-tape local processing + +Within each *earlier-coordinate prefix fiber*, stable-radix sort the copies +by the displayed key, with unwrapped local coordinates in ordinary tensor +order. Only the g active axes occur in the key; all following spectator +coordinates remain one R-block payload. A radix pass scans each complete +header and payload, splits into two bucket tapes, concatenates, and resets +the same fixed set of tapes. Since K0=O(B), each pass costs O(M); K0 passes +cost O(M K0). No simultaneous open tape per tile, face or corner is needed. + +Sorted copies form the exact input rectangles of section 3, consecutively. +Process one rectangle at a time. For each axis, expose its current local +coordinate field, apply the length-polynomial one-dimensional convolution, +and crop L positions from each end. Thus its length changes from its input +interval to the corresponding output interval. Other axes remain unchanged +until their own pass. This yields the tensor product of the restricted +one-dimensional maps, hence the exact desired face outputs. + +Every current axis has length at most N+2L=poly(p). Its mixed-radix transpose +is the retained short-field construction: pad **only that field** to its +next power of two temporarily, move its O(log p) bits using O(log p) linear +block interchanges, remove the temporary padding, and use the correct new +field length on return. The temporary factor below two is removed before +the next axis. A rectangle therefore costs its volume times +`O(g polylog p)` for movement and unconditional polynomial-length arithmetic. +Summing over rectangles costs `O(M g polylog p)`. Signed/complex dyadic +convolution can use sign splitting and ordinary Kronecker packing with +O(p+log N)=O(p) guard bits, followed by the unconditional quasilinear integer +multiplier; no improved supplier is used on this sparse path. + +After cropping, attach each output's physical coarse-tile and flat inner +address. Their keys are distinct because the face output partition is +disjoint. A second sparse radix sort orders them as holes in the retained +core-output stream. One merge scan replaces exactly those holes. The inverse +support-limited gather restores the original axis-major stream, including +the initially displaced coarse coordinates. All metadata is discarded. + +## 6. Parameters for the proposed partial fusion + +Use `d=p^epsilon`, `h=Theta(p/d)`, `g=p^(1-epsilon-zeta)` with fixed positive +zeta and epsilon>5/6. Suppose `L=O(p polylog p)` and take the dyadic side +`N=2^ceil((3/2)log2 p)`. The actual S_i eventually exceed every polynomial, +so N divides them and each periodic window is shorter than S_i. + +Then `K0=O(p^(2(1-epsilon)-zeta) polylog p)` and `K0^2=o(p)`. The two sparse +cost multipliers satisfy + +``` +(gL/N) K0 = O(p^(5/2-3epsilon-2zeta) polylog p) = o(1), +(gL/N) g = O(p^(3/2-2epsilon-2zeta) polylog p) = o(1). +``` + +All halo work is therefore O(V polylog p), below the desired +`O(V g^(1-a) polylog p)` routing term. The core convolution is +`O(V g^(1-q) polylog p)` since log N=Theta(log p). + +The bounded-gauge condition cited in `PARTIAL-FUSION.md` remains payable: +with `a0=Theta(log d)` and theta=Theta(1/d), its variation is + +``` +g [a0 theta N + a0/theta] + = O(p^(5/2-2epsilon-zeta) polylog p + + p^(1-zeta) polylog p) + = o(p) +``` + +for epsilon>5/6 and fixed zeta>0. Thus the larger polynomial tile does not +consume the O(p)-bit guard budget. This checks a layout/precision inequality; +it does not establish the missing Gaussian convolution factorization. + +## Diagonal and factorization boundary + +The theorem also applies to a fixed or polylogarithmic composition of these +translation-invariant convolutions and diagonal factors if every diagonal +scan/factor page has a proved sequential O(V polylog p) implementation and +all normalized tile-core and tile-halo values use O(p) bits. A tile-dependent +common scalar gauge may multiply every input to that tile and divide its +outputs; boundary copies must use the **destination** tile's gauge. No +enormous diagonal is formed and later canceled numerically by assertion. + +A concrete sufficient diagonal implementation is available for +`D(x)=product_i d_i(x_i)`. Supply each one-axis factor page in coordinate +order, with all normalized prefix products bounded to O(p) bits. Traverse +the rectangle by nested coordinate loops and retain the g successive prefix +products on work tape. Multiply by the innermost factor once per record; +outer prefix updates occur once per complete inner row, then once per +complete inner rectangle, and so on. With side lengths at least two their +number is less than twice the record count. Singleton axes are folded into +one constant per rectangle. Rewinding a factor page costs its length and is +charged to the corresponding completed row. Ordinary O(p)-bit multiplication +therefore gives O(V polylog p) scan cost with O(gp) temporary bits. This +argument uses bounded normalized **prefix products**; bounds on the final +product alone do not suffice. + +It does **not** cover an unbounded collection of different short kernels +inside one tile, a product-tree level with factor-two padding on all g axes, +or an unspecified transform-dependent sparse correction. Those require a +new representation theorem. In particular, the Gaussian_fast/product-tree +algorithm is not silently substituted for the translation-invariant kernel +assumed here. + +## Finite evidence + +`check_halo.py` verifies 5,632 exact outputs in three two/three-axis cyclic +examples, with asymmetric signed kernels, nontrivial diagonal conjugations, +periodic coarse carries, scrambled coarse order, unique sparse gather/scatter +keys and all local sequential crops. Pure flattening gives 3,040 wrong +boundary outputs across these examples; all are repaired. The exact copied +volumes equal `3V[(1+2L/N)^g-1]` in every case. These are constructive finite +controls; the preceding scan, metadata and volume arguments give the +conditional asymptotic claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json new file mode 100644 index 0000000000..48dbb2a6bf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json @@ -0,0 +1,20 @@ +{ + "EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "embedding.log": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "halo.log": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "ragged.log": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "sparse-shear.log": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json new file mode 100644 index 0000000000..5844ead5c0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json @@ -0,0 +1,10 @@ +{ + "epsilon": "0.99833013302245016130167750009820221155623107175809", + "g_exponent": "0.00166985697754983869832249990179778844376892824191", + "K0_exponent": "0.00333972395509967739664499980359557688753785648382", + "halo_sort_exponent": "-0.4949904190673504839050325002946066346686932152743", + "halo_local_axes_exponent": "-0.4966602860449003226033550001964044231124621435162", + "tile_gauge_exponent": "0.50333972395509967739664499980359557688753785648381", + "K0_squared_exponent": "0.00667944791019935479328999960719115377507571296764", + "initial_gather_exponent": "0.0016669624023127060364416759538459168913455129064535" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json new file mode 100644 index 0000000000..553ea1a36a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json @@ -0,0 +1,36 @@ +{ + "status": "PASS_RAGGED_TRUE_PERIOD_SPARSE_HALO", + "cases": [ + { + "S": [ + 19, + 22 + ], + "N": 8, + "L": 1, + "g": 2, + "input_records": 418, + "halo_records": 732, + "full_halo_candidate_pairs": 700, + "corrected_outputs": 274, + "source_and_rectangle_gathers_identical": true, + "true_period_tensor_convolution_checked": true + }, + { + "S": [ + 17, + 18, + 20 + ], + "N": 8, + "L": 1, + "g": 3, + "input_records": 6120, + "halo_records": 18064, + "full_halo_candidate_pairs": 14352, + "corrected_outputs": 4392, + "source_and_rectangle_gathers_identical": true, + "true_period_tensor_convolution_checked": true + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md new file mode 100644 index 0000000000..fdfe26d197 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md @@ -0,0 +1,89 @@ +# True periods inside a near-one dyadic container + +The primary halo theorem extends to arbitrary true periods s_i when an +already supplied dyadic rectangle t_i>=s_i has bounded total inflation +`product t_i / product s_i=O(1)`. Simultaneous zero embedding and its inverse +cost one ordered scan each by `RECTANGULAR-EMBEDDING.md`. This prerequisite +is satisfied only where the inherited near-one capacity bound applies; it +must not be replaced by independently rounding every axis to its next power. + +Take N dividing every t_i. Write `s_i=q_i N+r_i`, `0<=r_i0, one ragged core in axis i. The initial +support-limited gather uses the dyadic storage coordinates, not mixed-radix +division. It may produce invalid all-zero storage tiles; discard those. + +Apply ordinary flat cyclic convolution only to tiles whose every active +side has valid length N. Their interior outputs remain exact. Regular tile +face corrections use the earlier first-boundary-axis rectangles, but every +halo coordinate is now reduced modulo **s_i**, never t_i. + +If any side of a tile is ragged, discard its entire flat-convolution output. +For its actual side lengths r_i(tile), compute every valid output in +`product [0,r_i(tile))` using the input rectangle +`product [-L,r_i(tile)+L)`. All sides are at most N+2L. The same g successive +polynomial-length convolution/crop passes therefore produce exact outputs. +Full ragged tiles and regular face outputs form a disjoint correction set. + +Let Q_i=q_i+1_(r_i>0). The total full-halo volume of *all* valid tiles is + +``` +H_all = product_i [s_i + 2L Q_i]. +``` + +Their all-full-tile contribution is `product_i q_i(N+2L)`. The sum of the +ragged-tile halo volumes is their difference. Expanding by a first ragged +axis, or simply telescoping the product, gives + +``` +H_ragged <= H_all * sum_i (N+2L)/s_i + = O(S gN/s_min), +``` + +since `H_all/S <= exp(2L sum_i Q_i/s_i)=O(1)` when gL/N=o(1). +Regular face input volume is O(S gL/N). Thus total sparse copy volume is + +``` +M=O(V [gL/N + gN/s_min]). +``` + +The new term is smaller than V divided by every fixed polynomial in p when +`s_min=2^Theta(p/d)` and `N,g=poly(p)`. It pays all the same key sorting, +metadata and local computation factors. No new per-axis full scan appears. + +## One source-driven enumerator + +For each valid source coordinate x_i, list the valid destination tiles t +for which an unwrapped representative + +``` +y_i = x_i - tN + k s_i +``` + +lies in `[-L,r_i(t)+L)`. Only the home and neighboring core intervals can +qualify; there are at most three choices because L5/6, +all sparse halo work is O(V polylog p). The initial gather costs +`O(V g^(1-a_bit) polylog p)` and the grouped convolution costs +`O(V g^(1-q) polylog p)`. The cited bounded-gauge variation is still o(p). +Actual parameter exponents are recorded in `PARAMETER-CHECK.json`. + +Read: + +1. `SUPPORT-ROUTER.md`: arbitrary-spacing guarded shears, support-sized + reservoirs, fixed-tape repair, and the support-at-most-2k gather. +2. `HALO-THEOREM.md`: tensor identity, exact sparse halo volume, all record + movement, key lengths, local transposes, final output order and costs. +3. `RECTANGULAR-EMBEDDING.md`: simultaneous near-one zero embedding and crop + in one scan, using B=Omega(p) record width and an O(p)-bit descriptor. +4. `RAGGED-PERIODS.md`: arbitrary true periods inside that dyadic container, + using full ragged tiles as exponentially sparse additional exceptions. + +No rank/select oracle or sort of the complete tensor by a computed key is +used. Full scans preserve stream order. Only sparse correction records +are sorted, with every key bit pass charged. + +Reproduce, from the chat workspace: + +``` +python3 -B work/halo_layout_ultra/check_sparse_shear.py +python3 -B work/halo_layout_ultra/check_halo.py +python3 -B work/halo_layout_ultra/check_embedding.py +python3 -B work/halo_layout_ultra/check_ragged.py +``` + +Controls include an exhaustive 32,768-address shear permutation, 4,000 +unequal-spacing probes, 5,632 regular-grid convolution outputs and 6,538 +true-period inputs for ragged gather/correction checks. Wrong naive cyclic +flattening is explicitly detected before correction. Source/result hashes +are in `MANIFEST.json`. + +This is not a complete Gaussian resampler or a larger multiplication +exponent certificate. The kernel must be translation invariant and +separable; a fixed/polylogarithmic composition with bounded and sequentially +generated diagonal conjugations is admitted. A product tree with many +different short kernels or per-axis factor-two padding is not admitted by +renaming it a convolution. The missing Gaussian representation/normalization +theorem remains separate. The original bit/complex supplier, fixed-tape, +precision and all-size interfaces remain conditional inputs. + +Prepared with substantial OpenAI Codex assistance, continuing the retained +arbitrary-source router and bulk-resampling proofs in +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. +No frozen source or selected certificate was changed. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md new file mode 100644 index 0000000000..191867c72e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md @@ -0,0 +1,51 @@ +# One-pass near-one rectangular embedding and crop + +This supplies the dyadic-container qualification for the halo theorem. It +does not require one full payload scan per axis. + +Let input axes have arbitrary lengths `s_1,...,s_D` and let dyadic target +lengths `t_i>=s_i` be given, with total address width +`A=sum_i log2 t_i=O(p)`. The input and output use lexicographic axis-major +order, the last coordinate changing fastest. Every payload record has at +least `c p` bits, as in the retained coefficient representation. Assume +`T=product t_i <= C product s_i = C S`; C is the separately proved +near-one capacity bound, not a product of per-axis dyadic roundings. + +Enumerate the complete target rectangle in lexicographic order with its +ordinary A-bit binary counter. For each target address x, output the next +source record if `x_i infinity`; short remaining cases can use the retained +full-span router, since `n=O(k polylog p)` there. The conditional cost is + +``` +O(V (k+1)^(1-a) polylog p + poly(p)). +``` + +All other coordinate positions return to their original values. This is a +support bound, not a bound on how far a moved coordinate travels. + +## Unequally spaced target lemma + +Put `B=2^G`, `G=4 ceil(log2 p)+6`, and `K=64G`. Take target positions +`j_0<...2(k+1)ell`, a gap outside the moved support contains a contiguous ell-bit +field S disjoint from the actual last ell bits. Use an original equal-ell +interchange A to move S to that actual suffix. Route the conjugate +`A pi A^-1` on the n-ell prefix only, then undo A. The conjugate fixes the +suffix pointwise because pi fixed S. Choose every dirty control reservoir +inside the prefix after this interchange, then recompute positions and +residue colors. Thus no control operation touches the enlarged record. +Its 2^ell complete values absorb the polynomial descriptor work; no data +is padded or duplicated. If `n<=2(k+1)ell`, the retained full-span bound +already gives `O(V (k+1)^(1-a) polylog p)`. The placement itself costs only +O(V polylog p). This explicit suffix-conjugation bookkeeping was +independently supplied in `work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md`. + +## The gather uses only S union T + +Let S list the k selected low-coordinate bits in the desired tensor order, +and T list k consecutive destination slots. Send S bijectively to T. Send +the remaining domain slots `T\S` bijectively to the remaining output slots +`S\T`, and fix everything outside `S union T`. This explicitly extends the +requested gather to a coordinate permutation supported on at most 2k bits. + +The other coarse-coordinate bits can be scrambled by this extension. Their +order is retained and described by the inverse permutation; **no stable +compaction of all coarse fields is performed**. A coarse neighbor address +can be decoded, incremented in its logical axis, then encoded in this +physical coarse order when constructing a sparse correction key. + +## Evidence and boundary + +`check_sparse_shear.py` checks all 32,768 addresses for targets 0 and 6 with +guard length 5, including 512 good addresses, inverse composition and every +bad repair. It also checks 4,000 arbitrary/constructed-good addresses with +unequal gaps 9 and 11 and sources inside guard fields. `check_halo.py` +checks three explicit support-at-most-2k gather permutations. + +These controls support the algebra; the cost argument above is the +all-size conditional transfer. It retains the original bit-supplier, +equal-width interchange, fixed-tape and common-label hypotheses. It does +not upgrade an arbitrary full computed-key sort to a fast router. + +Sources: the retained reports `compact-arbitrary-source-routing.md` and +`review-arbitrary-routing.md` under +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py new file mode 100644 index 0000000000..54556ee93d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py @@ -0,0 +1,22 @@ +"""Exact simultaneous zero embedding/cropping in lexicographic order.""" +from itertools import product +from pathlib import Path +import json,math +HERE=Path(__file__).resolve().parent +def check(s,t): + original=list(product(*(range(n) for n in s)));it=iter(enumerate(original,1)) + embedded=[];valid=[] + for x in product(*(range(n) for n in t)): + if all(a=N-2*L] + for j in active: + for side in (0,1): + choices=[] + for i,a in enumerate(x): + if i=N-L:opts.append((1,a-N)) + else: + if a>=N-2*L:opts.append((0,a)) + if a=N-L:opts.append((1,a-N)) + choices.append(opts) + for selected in product(*choices): + dest=tuple((tile[i]+selected[i][0])%Q[i] for i in range(g)) + y=tuple(v[1] for v in selected) + result.append(((j,side,dest,y),value)) + return result + +def radix(records,key): + pairs=[(key(k),k,v) for k,v in records] + bits=max((k.bit_length() for k,_,_ in pairs),default=0) + for b in range(bits): + zero=[];one=[] + for row in pairs:(one if row[0]>>b&1 else zero).append(row) + pairs=zero+one + assert [k for k,_,_ in pairs]==sorted(k for k,_,_ in pairs) + return [(k,v) for _,k,v in pairs],bits + +def key_encoder(N,L,g,Q): + # Deliberately scramble coarse address significance. This represents the + # displaced coordinate slots in a support-limited gather. + coarse=[(i,j) for i,q in enumerate(Q) for j in range(q.bit_length()-1)] + coarse=coarse[::2]+coarse[1::2][::-1] + def enc(key): + j,side,tile,y=key + out=j*2+side + for i,b in coarse:out=(out<<1)|((tile[i]>>b)&1) + for a in y:out=(out*(N+2*L))+(a+L) + return out + return enc + +def replay(N,L,g,Q): + assert N>4*L and N&(N-1)==0 and all(q>=2 and q&(q-1)==0 for q in Q) + S=[N*q for q in Q];global_ranges=[(0,s) for s in S] + raw={x:1+sum((i+3)*a*a+(i+1)*a for i,a in enumerate(x)) for x in box(global_ranges)} + pre=lambda x:1+sum((i+1)*a for i,a in enumerate(x))%3 + post=lambda x:1+sum((i+2)*a for i,a in enumerate(x))%2 + data={x:v*pre(x) for x,v in raw.items()} + kernels=[[((i+2)*(z+L+1))*(-1 if z==0 else 1) for z in range(-L,L+1)] for i in range(g)] + shifts=list(product(range(-L,L+1),repeat=g)) + weight={z:math.prod(kernels[i][a+L] for i,a in enumerate(z)) for z in shifts} + direct={x:post(x)*sum(weight[z]*data[tuple((a-b)%s for a,b,s in zip(x,z,S))] for z in shifts) for x in data} + merged={};wrong=interior=0 + for tile in product(*(range(q) for q in Q)): + core=[data[tuple(t*N+a for t,a in zip(tile,unflat(u,N,g)))] for u in range(N**g)] + for u in range(N**g): + x=unflat(u,N,g);glob=tuple(t*N+a for t,a in zip(tile,x)) + val=post(glob)*sum(w*core[(u-sum(z[i]*N**(g-1-i) for i in range(g)))%(N**g)] for z,w in weight.items()) + wrong+=val!=direct[glob] + if all(L<=a0 + tiles=math.prod(Q) + expected_copies=tiles*2*sum((N**j)*(3*L)*(N+2*L)**(g-j-1) for j in range(g)) + assert len(copies)==expected_copies + expected_boundary=tiles*(N**g-(N-2*L)**g) + assert boundary==expected_boundary + return dict(N=N,L=L,g=g,coarse_sizes=Q,input_records=len(data),interior_outputs=interior, + corrected_boundary_outputs=boundary,gathered_halo_records=len(copies),predicted_halo_records=expected_copies, + direct_flattening_wrong_outputs=wrong,radix_key_bits=keybits, + exact_tensor_outputs_checked=len(data),diagonal_conjugations_checked=True, + scalar_coefficients='signed asymmetric integer product kernel') + +def main(): + cases=[replay(8,1,2,[2,4]),replay(8,1,3,[2,2,2]),replay(16,2,2,[2,2])] + perms=[gather_permutation([5,7,6],3),gather_permutation([4,4,4],3),gather_permutation([9,6],4)] + out=dict(status='PASS_EXACT_CORE_PLUS_SPARSE_BOUNDARY_TENSOR_CONVOLUTION',cases=cases, + support_limited_gathers=perms, + scope='Finite exact map, sparse-copy completeness, unique scatter, radix ordering and support controls; asymptotic fixed-tape costs are in the companion proof.') + (HERE/'HALO-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py new file mode 100644 index 0000000000..4665063452 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py @@ -0,0 +1,69 @@ +"""Independent source-driven versus rectangle-driven ragged halo gather.""" +from itertools import product +from collections import defaultdict +from pathlib import Path +import json,math +HERE=Path(__file__).resolve().parent +def points(ranges):return product(*(range(a,b) for a,b in ranges)) +def rectangles(S,N,L): + Q=[(s+N-1)//N for s in S];g=len(S) + for tile in product(*(range(q) for q in Q)): + sizes=[min(N,s-t*N) for s,t in zip(S,tile)] + if min(sizes)>(i*G))&((1<>(j+1))&((1<<(K-1))-1))<(1<<(K-1))-2*B + for i,j in enumerate(targets)) + +def ops(targets,sources,G): + out=[] + F=[('y1',1),('t1',1),('y2',1),('t2',-1)] + return F+[('load',1)]+F+[('load',-1)] + +def run(state,targets,sources,G,n,inverse=False): + u,t,y=state;H=len(targets)*G;mask=(1<>j)&1)<<(i*G) for i,j in enumerate(targets)))&mask + elif tag=='t2':t=(t+sign*sum((((y>>j)&1)^(digit(u,i,G)&1))<<(i*G) for i,j in enumerate(targets)))&mask + else:u=(u+sign*sum(((y>>s)&1)<<(i*G) for i,s in enumerate(sources)))&mask + return u,t,y + +def ideal(state,targets,sources): + u,t,y=state + return u,t,y^sum(((y>>s)&1)<=K for a,b in zip(sorted(targets),sorted(targets)[1:])) + assert all(j+K<=n for j in targets) + count=good_count=bad_count=corrected=0;images=set() + for state in states: + count+=1;out=run(state,targets,sources,G,n) + assert run(out,targets,sources,G,n,True)==state + assert good(*out,targets,G,K)==good(*state,targets,G,K) + assert good(*ideal(state,targets,sources),targets,G,K)==good(*state,targets,G,K) + if good(*state,targets,G,K): + good_count+=1;assert out==ideal(state,targets,sources) + else: + bad_count+=1 + fixed=ideal(run(out,targets,sources,G,n,True),targets,sources) + assert fixed==ideal(state,targets,sources) + corrected+=fixed!=out + images.add(out) + return dict(targets=targets,sources=sources,G=G,K=K,n=n,states=count, + good=good_count,bad=bad_count,changed_by_repair=corrected,distinct_images=len(images)) + +def main(): + small=check_case([0,6],[4,8],1,5,11, + product(range(4),range(4),range(1<<11))) + assert small['states']==small['distinct_images']==32768 + rng=random.Random(713) + targets=[1,10,21];sources=[5,15,25];G=2;K=7;n=29 + arbitrary=[(rng.randrange(64),rng.randrange(64),rng.randrange(1< infinity`. Their aggregate and all helper reservoirs + fit the full address because beta<1. There is no necessary constraint + beta<1-epsilon; a group is allowed to be wider than one original axis. +* The width-dependent phase sums are geometric. With q=2`, the exponent is at least +`h^2-|h|`; the two-sided tail is at most `4 exp(-2a)`. Thus the claimed +`exp(-2a theta)+5 exp(-2a)` bound follows. In particular, counting both nearest +neighbors separately at the larger bound would be invalid, but the supplied +argument does not do so. + +The actual H is specified by globally fixed rounded weights and a globally +fixed truncated Toeplitz kernel inside each physical phase cell. Its diagonal +is one, with the omitted aliases included in the perturbation. The candidate's +perturbation budget is strictly below the displayed row-dominance gap. Principal +submatrices preserve this row gap. Adding identity hole rows/columns preserves +it as well, and increases the physical bandwidth by at most the q-image spacing +factor, which is bounded by two. + +For `F=H_aug-I`, `||F||_infinity<=1-delta` with +`delta>=1/(16p)`. Powers through order J agree on a core row whose distance from +the principal-window edge exceeds J times the bandwidth. The two inverse tails +are bounded by `2(1-delta)^J/delta`. With `J=C p^2`, this is exponentially small +in p. The distance requirement is `O(p^(5/2) polylog p)`, below the candidate's +`A=C_A p^3` eventually. The preserved physical period cut and the fact that +true axes exceed every polynomial in p exclude spurious short wrap edges. + +## 2. Broad Gaussian conditioning is a different argument, and it works + +Sources: candidate lines 151–201; +`work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md` lines 13–73 and 75–105; +`work/gaussian_fast_ultra/BILATERAL-LDU.md` lines 25–119. + +For the finite LDU formulas, I checked the origin-shift correction and the +triangular inverse estimates. If `h=j-i`, the elementary-polynomial estimate +for the upper inverse reduces its exponential part to + +`b[beta_j^2-beta_i^2-rho^2 h-2 rho sum_{k=i}^{j-1} beta_k]`. + +Using `|beta_k|<=1/2` gives at most `b/4-b rho theta h`. The lower inverse uses +the corresponding expression with the other sign on the beta sum and has the +same decay. The factors `c_b^-1` and `c_b^-2` come from the explicitly bounded +products. This proves the stated uniform finite-interval bound; integrality of +the q-values is not needed, only gaps at least one and the beta bound. + +The broad target-cell identity also checks directly. With +`q'_k=k+rho c`, `beta'_k=theta k-rho c`, and +`b=b0/rho^2`, one obtains + +`K=alpha^-1 N_b diag(exp(-b beta'^2))`. + +At a selected target index, `beta'_k` equals the original source beta. Therefore +the finite LDU bound really applies to the block K used in the candidate; it is +not a bound for a different narrow matrix. The product estimate +`log(c_b^-1)<=pi^2/(12 b rho)` gives +`c_b^-4<=exp(pi alpha^2 rho/3)=p^O(1)`. The reciprocal gap is also polynomial +because `theta^-1=poly(p)` and `alpha^2=O(log p)`. + +The square identity-hole completion has block form `[A 0; R I]`. Its inverse is +`[A^-1 0; -R A^-1 I]`. Hence bounded Gaussian row sums and the selected-row +inverse bound give a polynomial full inverse bound. Dividing the completion +by four is contractive even on numerical hole errors. Its extra factor of +one half per axis is exactly compensated by the stated `2^D` shift. + +For the Toeplitz core, the Poisson symbol bound supplies a polynomial lower +eigenvalue, since its exponent is `O(alpha^2)=O(log p)`. An exponentially small +truncation/rounding perturbation preserves that bound. The extension from +these SPD cores to shallow circuits is outside this subreview, but the +Gaussian side supplies the conditioning claimed for that extension. + +## 3. Capping changes the runtime gauge, without changing H + +Sources: candidate lines 203–221 and 273–283; +`work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md` lines 31–107; +`work/phase_assembly_ultra/CAPPED-INTERIORS.md` lines 13–29 and 68–70. + +Within a fixed narrow phase cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Its absolute value is at most `a|i-j|`. Taking exact ratios of the already +rounded positive weights at one local anchor cancels the same common scalar +from both sides of the similarity, so the matrix is unchanged. Relative +rounding error of the original weights remains small because their minimum +is `exp(-O(ad))` and the absolute setup precision is `Cp`, with `ad=o(p)`. +Thus the local circuit sees range `O(aB)`, not the original `O(ad)`. + +For the broad split, expansion of the displayed exponents gives exactly +`-b0(delta+x-lambda y)^2`. The two logarithmic derivatives are +`-2 b0 lambda beta'_i` and `2 b0 lambda^2 beta'_k`; each is bounded in absolute +value by b0. Changing anchor changes the two ideal diagonals by reciprocal +constants. Applying the same exact reciprocal change to previously rounded +diagonals preserves their product with the Toeplitz core. Thus the broad +rounding scheme can consistently use the same global matrix and locally +recenter its capped restrictions. + +The number of pieces does not multiply the norm of their direct sum. The +group logarithmic range is consequently `O(gaB+g polylog p)`. The inherited +absolute weight accuracy adds `O(ad)` once to the precision requirement, rather +than once for every tensor axis. The candidate's condition +`beta+xi+r0=1-zeta`, with `a=O(log p)<=p^r0` eventually, makes this range o(p). +The total precision is therefore `p+O(ad+gaB+g polylog p)=O(p)` in both parameter +families. This conclusion concerns asymptotics; no reasonable finite cutoff +is supplied or required by the statement. + +## 4. Boundary factorization and rounding do not introduce a window-count factor + +Sources: candidate lines 225–240; +`work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md` lines 78–98; +`work/integer-mult-current/references/semantic-bulk/rad20/reports/review-phase-cell-inverse.md` +lines 203–301. + +The five-factor identities check by ordinary block multiplication. The shears +use B and C from the original banded matrix. They do not use the generally +dense products `A^-1 B` or `C A^-1`. For forward expansion, F is only applied; +its inverse is not required by that formula. + +For a strictly row-diagonally-dominant matrix, one elimination step gives + +`gap_i(new)>=gap_i(old)+|a_ik/a_kk| gap_k(old)`. + +Its absolute row norm does not increase. Thus the narrow Schur matrix retains +the polynomial gap and bounded row norm. A noncyclic cut of its banded matrix +also retains row dominance. In its LU factors, U has bounded row norm and the +unit-lower factor has only O(W) entries per row, each bounded by the reciprocal +pivot gap. Therefore `||L||=poly(p)`. The identities +`L^-1=U A^-1` and `U^-1=A^-1 L` then give polynomial inverse-factor norms. +The periodic correction has rank O(W) and is controlled by the full completed +inverse, as in the retained identity `K^-1=I-V A^-1 U`. + +The exact partial right-hand sides are consequently polynomially bounded. +Rounding a completed block update creates a row residual bounded by +`poly(p) 2^-P`. Equivalently, rounding and coefficient error can be treated as +a perturbation whose norm is small enough to close the same bound on computed +values. Applying the polynomial full inverse bounds the output error by that +residual. Infinity norm takes the maximum over windows rather than summing +their count. Strassen's fixed recursion contributes polynomial W growth and +O(log W) guard bits, already covered by the precision allowance. + +## 5. Density, stream layout, and global calls + +Sources: candidate lines 207–211, 242–271, and 368–385; +`work/phase_layout_audit_ultra/AUDIT.md` lines 15–188; +`work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md` lines 7–65; +`work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md` lines 16–58; +`work/halo_layout_ultra/HALO-THEOREM.md` lines 88–196. + +The capped carve contributes O(d/B+log B) separators per physical phase cell. +Retaining W-wide separators ensures distinct interiors are uncoupled. Each +elimination only joins adjacent O(W)-sized boundary groups, so the Schur +bandwidth remains O(W). The extra clipped-endpoint term in an L-core is +O(W polylog p), negligible relative to `L W/B polylog p`. + +For the union U, every sparse factor changes its own axis only inside E_i; +therefore it preserves U. The dense A stage does not preserve U, and the +candidate explicitly scatters and regathers around it. For one sparse axis, +`U_i=E_i x [L]^(g-1)` is a complete rectangle inside U. Extracting it in order, +transposing only its polynomial-width axis field, processing, undoing the +transpose, and merging back needs no full g-axis key sort. The full union +scan is charged once per sparse axis, producing the stated g-squared factor +per group. The matrix corollary cannot afford an extra full-key union sort, +but this algorithm does not require one. + +The q-image predicate checks the exact half-open interval +`s(2k-1)<=2tj 2(k+1)L. +``` + +Indeed, after excluding the actual suffix, the at most k moved positions +cut the remaining interval into at most k+1 gaps. If every gap had length +less than L, that prefix would have length at most (k+1)L-1. The displayed +inequality contradicts this bound. + +Let A be the old disjoint equal-L swap exchanging S with the actual suffix. +Execute A, route the conjugated permutation A pi A^{-1}, then execute +A^{-1}. Because pi fixes S pointwise, its conjugate fixes the actual suffix +pointwise. It still moves at most k coordinates. All endpoints are now in +the n-L prefix. Choose the three dirty reservoirs in that prefix and run +all compact rotations, original control shuttles, elementary CNOTs, and +bad-hole repair there. Recompute endpoint names after A and after the +reservoir placement. In the application, n-L>=9kG holds with a wide +asymptotic margin. + +The suffix is a complete binary field with arbitrary contents. Reinterpreting +its 2^L values as part of a record gives record length R0*2^L, without +creating, padding, or deleting data. This length exceeds every fixed +polynomial in p. No operation whose cost relies on that record length acts +on its component coordinates. Both instances of A use the already approved +primitive and cost O(V L^(1-a))=O(V polylog p); they do not invoke the new +router. This removes the prospective circularity. + +For the general router outside this sparse branch, the retained +first-L/second-L/actual-last-L candidate convention and matching cohorts +also work. Arbitrary candidates should not be substituted blindly: a +candidate can partially overlap the actual suffix, whereas the old swap +requires equal disjoint fields. After each candidate placement, the same +n-L prefix exclusion is mandatory. If the entire binary span is only +polylogarithmic, the old elementary construction suffices. If +n=O((k+1)polylog p), the old full-span construction gives the desired +support bound up to polylogarithms; its own short-record preparation must +still use the old suffix construction. + +For a full H supplier call, reserve the suffix outside its selected field +and keep it fixed throughout the completed call. If necessary, perform +the same old L-bit placement before exposure, update the logical names of +the neighborhoods, and restore it after inverse exposure. The source +neighborhoods need not remain physically consecutive before exposure: +the exposure permutation explicitly routes their named bits. The target +complete chunks are placed before the reserved suffix. + +## 3. Whole-row padding and the next diagonal scan + +The leading row prefix and the front/back controls are assembled from +complete K-bit neighborhoods in the globally complete binary tensor. +Their bits are not assumed zero or semantically independent of coefficient +values. Completeness means every coordinate value is represented in the +stream. Multiplication by previous coarse-dependent diagonal coefficients +does not remove any address or change this property. + +Deferring the selected bits lying in reserved chunks is valid: the accepted +active invocation is the desired tensor on the other selected bits and +identity on every reserved coordinate, for arbitrary incoming coefficients. +The preliminary individual transforms in the old layout were used to +finish those selected bits, not to create complete row or control ranges. +After deferral, those transforms are performed in later phases instead. + +The row count is rounded once to a multiple of the actual product + +``` +Q_rows = W_complex^D_complex * W_bit^D_bit. +``` + +The padded row label is allowed to be a nonbinary preceding fiber count. +Every within-row field remains a full binary field. The supplier's +interchanges and controls act within those complete fields; the global +exposure router is not applied to the padded row label. Nested bit adapters +consume and restore the bit stock before later complex splits, exactly as +in the retained product-stock argument. + +At the completed invocation boundary, the operator is identity on the row +label. A padded zero row therefore returns to zero even though temporary +role computations may have combined or moved its contents. Delete those +rows before inverse exposure or the next deferred phase. This bounds each +phase's volume by twice its original volume, not by a factor exponential in +the number of phases. + +All H calls in the compiler have the same selected-bit schedule for every +coarse label; label dependence resides in the intervening diagonal tables. +Run one H call on the complete global tensor, complete every deferred +phase, remove padding, and restore the original exposed-coordinate order. +Only then run the next diagonal scan. The microbox layout used for that +scan is the restored layout in which the local coordinates are already +contiguous (or the separately paid low-bit gather layout). No padded row, +partial H result, or temporarily relocated coarse label is presented to +the diagonal-table lookup. Thus scanning different coarse-label tables +does not require separate H invocations or borrowing fixed labels inside +a microbox. + +## 4. The actual parameter inequalities + +The largest exposure moves k=O(gK)=O(p^.093 log p) binary coordinates. +With G=Theta(log p), its three dirty reservoirs require + +``` +9kG = O(p^.093 log^2 p) = o(p). +``` + +The suffix occupies only L=Theta(log^2 p) positions. In particular, + +``` +n/(kG) = Omega(p^.907/log^2 p) -> infinity, +n/((k+1)L) = Omega(p^.907/log^3 p) -> infinity. +``` + +There is ample room both for the old spectator placement and for all +subsequent prefix-only reservoirs. These inequalities concern the full +binary address, not any one original axis. + +The only per-axis inequality is + +``` +K + O(log p) < ell_axis = Theta(p^.002), +``` + +which holds eventually. The original K/log p -> infinity wording must be +replaced, as already noted in `SUPPLIER-SUPPORT-AUDIT.md`, by the finite +guard inequality K>=G+4ceil(log2 p)+10. K=128G satisfies it. + +The supplier's front/back controls are made by concatenating reserved +complete neighborhoods. Their chunk count is + +``` +ceil(2hG/K) + ceil(hG/K) <= 3h/128 + 2. +``` + +The leading row stock adds O(log h) complete chunks. Above a fixed +polylogarithmic cutoff this is at most h/16, and smaller h is handled +individually. No single original axis stores hG control bits. Indeed +gG/ell_axis=Theta(p^.091 log p) diverges; the construction works precisely +because it does not demand this false per-axis fit. + +Consequently the reviewed mechanisms support the proposed +O(V g^(1-q) polylog p) global-call cost under the retained supplier +assumptions. The suffix exclusion and completed-call boundary should be +kept explicit in any final assembly. They are necessary bookkeeping, +not a new exponent restriction or an unproved sorting primitive. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json new file mode 100644 index 0000000000..80cb2c8083 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json @@ -0,0 +1,154 @@ +{ + "status": "pass", + "arithmetic": "exact symbolic rational/complex", + "routing": [ + { + "N": 2, + "permutations": 2, + "switch_depth": 1 + }, + { + "N": 4, + "permutations": 24, + "switch_depth": 3 + }, + { + "N": 8, + "permutations": 40320, + "switch_depth": 5 + }, + { + "N": 16, + "random_permutations": 100, + "switch_depth": 7 + }, + { + "N": 32, + "random_permutations": 100, + "switch_depth": 9 + }, + { + "N": 64, + "random_permutations": 100, + "switch_depth": 11 + } + ], + "fixed_H_word_checks": [ + { + "kind": "upper", + "parameter": "-10", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "-10", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "-3/7", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "-3/7", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "0", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "0", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "7/9", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "7/9", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "10", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "10", + "H_calls": 6 + }, + { + "kind": "diag", + "H_calls": 6 + }, + { + "kind": "swap", + "H_calls": 6 + }, + { + "kind": "fft", + "H_calls": 6 + }, + { + "kind": "diag", + "H_calls": 6 + } + ], + "coefficient_odometer": [ + { + "N": 2, + "g": 1, + "records": 2, + "coefficient_products": 2, + "products_per_record": 1.0, + "table_movement_bound": 2, + "zeros_in_table": true + }, + { + "N": 2, + "g": 8, + "records": 256, + "coefficient_products": 510, + "products_per_record": 1.9921875, + "table_movement_bound": 510, + "zeros_in_table": true + }, + { + "N": 4, + "g": 5, + "records": 1024, + "coefficient_products": 1364, + "products_per_record": 1.33203125, + "table_movement_bound": 1364, + "zeros_in_table": true + }, + { + "N": 8, + "g": 4, + "records": 4096, + "coefficient_products": 4680, + "products_per_record": 1.142578125, + "table_movement_bound": 4680, + "zeros_in_table": true + } + ], + "tensor_test": { + "N": 4, + "axes": 2, + "data_coordinates": 16, + "input_output_matrix_entries": 256, + "simultaneous_H_calls": 18, + "expected_H_calls": 18, + "dimension_expansion": false, + "different_axis_matchings": true, + "different_axis_gate_kinds": true, + "local_matching_endpoints_checked": true + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md new file mode 100644 index 0000000000..19efb9cb1c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md @@ -0,0 +1,160 @@ +# Tensorizing local circuits without dimension padding + +Status: an algebraic compiler and scan-cost lemma. It reduces a tensor product of different bounded-depth local circuits to a bounded sequence of simultaneous binary Hadamard calls and diagonal scans on the **same** data volume. The retained supplier must support the stated Hadamard call on selected local bits and restore the agreed endpoint record order. No new fast-transform supplier is asserted here. + +## 1. Interface and conclusion + +Let N=2^m and let g axes each have N local coordinates. A coarse-label block contains V=N^g data records in lexicographic local-coordinate order. On axis a let C_a be an N-wire linear circuit of depth D; every layer consists of disjoint invertible two-coordinate gates and one-coordinate diagonals. The permitted gates are bounded shears, swaps, FFT butterflies, and diagonals. Circuits, pair matchings, coefficients and depths can differ by axis and by coarse label. Their tables are fixed independently of data values. + +Write H=[[1,1],[1,-1]]. A simultaneous Hadamard call means the tensor product of one H acting on one selected bit in each axis, with all remaining local and coarse coordinates as spectators. It acts on existing 2^g-coordinate fibers inside the N^g records; it allocates no new coordinate. The bit selected in an axis may be prescribed by the compiler. + +After padding shorter circuits by identity **operations**, the tensor product C_1 tensor ... tensor C_g is a sequence of + + at most (8m+2)D simultaneous H calls + +and O(Dm) tensor-diagonal scans. A tensor diagonal has the form + + d(i_1,...,i_g;c)=product_(a=1)^g d_a(i_a;c), + +where c is the fixed coarse label. Each diagonal scan uses O(1) amortized coefficient multiplications and O(1) amortized coefficient-table record movements per data record, after loading gN local values. The number of arithmetic-data coordinates remains exactly N^g throughout. + +If all local gate coefficients and inverses are bounded by B and all original prefix and inverse-prefix norms by Lambda, the compiler's local prefix bounds are Lambda times poly(B), up to absolute constants. For polynomial B and Lambda this is N^O(1). The tensor-prefix logarithmic bound is O(g log N). More generally depth D=polylog(p), B=poly(p), N=poly(p) gives an O(g polylog(p)) guard even without a stronger prefix theorem. + +An outer similarity whose logarithmic range is Q_a on axis a adds only sum_a Q_a. Therefore the retained phase-cell case Q_a=O(a d) uses + + p + O(g a d + g polylog(p)) + +working bits. The condition g a d+g polylog(p)=O(p) is sufficient for O(p)-bit records. + +## 2. Fixed Hadamard words, including zero shears + +All formulas below are matrix-product order; execution reads right to left. Let U(t)=[[1,t],[0,1]]. Direct multiplication gives + + H diag(2,1) H diag(-3,1) H = [[-8,-10],[0,-6]], + diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H = U(5/4). + +For q nonzero, conjugate by A_q=diag(4q/5,1): + + U(q)=A_q diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H A_q^-1. + +This has three H factors. To include t=0 with uniformly invertible diagonals, choose a known B>=|t| and c=2B+1. Then + + U(t)=U(t+c) U(-c). + +Both parameters have magnitude at least B+1 and at most 3B+1. This is a **six-H word for every t**, with all scalar coefficients and inverses bounded by poly(B). There is no division by t and no case split at t=0. Transpose the word to obtain the same six-H count for lower shears. + +There are two bounded identity words: + + I = (1/2) H H, + I = diag((1-i)/4,(1+i)/4) H diag(1,i) H diag(1,i) H. + +The second identity uses three H factors. Its middle product before the leading diagonal equals diag(2+2i,2-2i). Complex coefficients are permitted by the retained complex H interface. + +Consequently every gate type can be given **exactly six H factors**, separated by diagonal matrices: + +- Upper/lower shear: the six-H word above. +- Diagonal, including I: append three two-H identity words. +- Swap J: use J=(1/2)H diag(1,-1)H, then append two two-H identity words. +- FFT butterfly H diag(1,w), optionally scaled by 1/sqrt(2): append a two-H identity and a three-H identity. Here |w|=1. + +Combining neighboring diagonal matrices puts every word in one common alternating shape with six H factors and seven diagonals. Thus different gate types, zero parameters and inactive pairs can coexist in one simultaneous schedule without branches or padded data coordinates. + +## 3. Every matching can be routed to adjacent pairs + +For one local layer, assign its oriented pairs (i,j) to positions (2k,2k+1). Unpaired coordinates are assigned arbitrarily to the remaining positions, in pairs carrying diagonal or identity gates. This defines a permutation pi on exactly N coordinates. The layer equals + + P_pi^-1 (direct sum of adjacent-pair gates) P_pi. + +We use a Beneš network of 2m-1 switch layers. At each layer all switches join indices differing in one fixed bit; the bit sequence is + + 0,1,...,m-1,m-2,...,1,0. + +Here is a constructive proof of rearrangeability. Form a bipartite multigraph whose left vertices are input pairs {2j,2j+1} and whose right vertices are output pairs {2k,2k+1}. Input i supplies an edge to output-pair floor(pi(i)/2). Every vertex has degree two, so each component is an even cycle (parallel edges are allowed). Alternately color each cycle's edges 0 and 1. The first switch sends an input edge into the subnetwork of its color; the last switch sends that color to the required output parity. Each color class induces a permutation on N/2 pair indices. Recursively route both color subnetworks in parallel. This gives exactly the displayed bit sequence and uses no storage coordinates. + +The switch is either I or J. Both are obtained from the common two-H word + + S_epsilon=(1/2) H diag(1,epsilon) H, + epsilon=+1 for I, epsilon=-1 for J. + +Thus all axis-dependent switch controls are diagonal entries. A physical switch on bit k simply uses a simultaneous H call selecting bit k in each axis. No interstage wire shuffle is needed. If a supplier accepts only a contiguous selected-bit field, the existing paid bit router must gather that field and undo the gather; that is a supplier-interface cost, not an uncharged permutation. + +Each forward or inverse Beneš route uses 2(2m-1) H calls. The adjacent gates use six. Hence one original matching layer uses + + 2[2(2m-1)]+6 = 8m+2 + +H calls. The schedule is identical on every axis and every coarse-label block; only diagonal tables change. + +## 4. Tensor fusion is literal multiplication, not a sum expansion + +Let the compiled axis-a circuit be D_(a,L) H_(a,L) ... H_(a,1) D_(a,0), with the same number and arrangement of H factors. Kronecker multiplication gives + + tensor_a C_a + = (tensor_a D_(a,L)) (tensor_a H_(a,L)) ... + (tensor_a H_(a,1)) (tensor_a D_(a,0)). + +Every tensor of diagonals is a single diagonal scan. Every tensor of binary H factors is one simultaneous H call. This introduces neither a sum of 2^g branches nor a 2^g padding factor. The 2^g-dimensional Hadamard fibers are subsets of the N^g existing coordinates. + +An axis with no work at a particular original depth receives an identity layer, routed and compiled with the same fixed shape. Its intermediate H operations are still present, but the complete local word is I. Coarse-label variation is equally harmless: for each fixed label the identity above holds separately, and the whole data operator is a direct sum over labels. + +## 5. Uniform intermediate bounds and precision + +A completed switch route is a permutation and has norm one. Each partial switch word has absolute constant norm and inverse norm. Between original local circuit boundaries, at most one original gate word is partially executed. Its length is constant, and its scalar coefficients and inverses are poly(B); all different pairs act as a direct sum. Therefore + + max_prefix ||C_compiled,prefix||, + max_prefix ||C_compiled,prefix^-1|| <= poly(B) Lambda. + +The length O(D log N) does not require multiplying this polynomial bound afresh at every stage: completed original prefixes already have bound Lambda; completed route and padding words have their exact intended endpoints. The corresponding suffix bound is also polynomial when the original endpoint and inverse-prefix bounds are. + +For g tensor factors, the operator norms multiply, so their logarithms add. A microbox coarse-label direct sum takes the maximum over labels, not a product over labels. Hence polynomial local bounds give exp(O(g log N)); using only the rough original bound Lambda<=(2B)^D gives exp(O(gD log B)). Adding the original cell similarity contributes exp(sum Q_a). + +The number of compiled stages is polylog(p). Allocate each rounding or supplied-transform error below the final tolerance divided by this stage count and the prefix/suffix amplification. This costs O(g polylog(p)+sum Q_a) guard bits. Supplier-internal precision charges still must be those already guaranteed for the simultaneous H call; this compiler does not erase them. + +## 6. Product diagonals with constant amortized scan cost + +Fix one diagonal stage and one coarse label. Load the gN coefficients d_a(i) on a coefficient tape in axis order. Use base-N lexicographic enumeration with axis 0 fastest. Store suffix products + + P_j=product_(a=j)^(g-1) d_a(i_a), 1<=j=1) k/N^k = O(V), + +plus O(g) initialization. No division by d_a(i) is used, so this method also permits zero diagonal entries when an external application permits them. Every cached product is recomputed from current factors, never updated by a long chain of multiplicative ratios, so numerical drift does not depend on the number of records scanned. + +The same accounting works on a fixed number of tapes. Keep the coefficient-tape head normally in axis-0's N-record table. Rewinding that table costs O(N) once per N records. A depth-k carry visits the needed tables up to axis k and returns, moving O(kN) coefficient records. Summing over carries gives + + O(V sum_(k>=1) kN/N^k)=O(V) + +record moves. The suffix-product tape is accessed near its front except on carries, with the same geometric bound. Counter/address arithmetic costs only polylog(p) per record. This does not require g work tapes or a random-access lookup every record. + +The table loading cost is O(gN) records per coarse block and stage. For N>=2 it is O(N^g), including small g, and polynomial-time table construction is negligible per N^g block in the retained asymptotic regime g=p^beta tending to infinity. If tables are supplied rather than constructed locally, no additional assumption is needed. Both generation and loading costs must be charged once per visited coarse block, not silently once for the entire input. + +At O(p) working precision, O(1) amortized scalar multiplications per record and O(1) record movements cost O(V_bits polylog(p)) under the retained pointwise-arithmetic kernel, where V_bits counts bit volume. There is no g V_bits coefficient-generation term. + +## 7. Exact controls + +`check_tensor_compiler.py` constructs the network controls and all fixed words. `TENSOR-COMPILER-CONTROLS.json` records: + +- every permutation for N=2,4,8, including all 40,320 permutations at N=8; +- 100 random permutations each at N=16,32,64; +- exact symbolic checks of upper/lower zero and nonzero shears, diagonal, Swap and FFT words; +- an exact two-axis N=4 replay with different axis matchings and gate types: 16 data coordinates, all 256 input-output matrix entries, 18 simultaneous H calls, no dimension expansion. + +The finite controls support the constructive proofs; the cycle coloring, word identities, Kronecker identity and geometric scan sums establish the asymptotic statements. + +## 8. Cost substitution into the retained supplier + +Suppose a simultaneous H call on g selected bits, across V_bits bits of data and spectators, has paid cost O(V_bits g^(1-q) polylog(p)). Suppose also that any required bit-field gather/restore has cost O(V_bits g^(1-a_bit) polylog(p)). For D=polylog(p), N=poly(p), the compiler uses only polylog(p) such calls, and its diagonal scans cost O(V_bits polylog(p)). Thus the grouped local circuit costs + + O(V_bits [g^(1-q)+g^(1-a_bit)+1] polylog(p)). + +When a_bit>q and 0= j else row[j-i] + for j in range(n)] for i in range(n)]) + + +def lower(c): + return toep(c) + + +def invseries(f): + n = len(f) + ans = np.zeros(n, complex) + ans[0] = 1 / f[0] + for j in range(1, n): + ans[j] = -sum(f[k] * ans[j-k] for k in range(1, j+1)) / f[0] + return ans + + +def conv(a, b, n): + return np.convolve(a, b)[:n] + + +def diag(indices, values): + return [[((int(i),), np.array([[v]], complex)) for i, v in zip(indices, values)]] + + +def inverse(plan): + return [[(ids, np.linalg.inv(g)) for ids, g in layer] + for layer in reversed(plan)] + + +def parallel(a, b): + return [(a[j] if j < len(a) else []) + (b[j] if j < len(b) else []) + for j in range(max(len(a), len(b)))] + + +def fft(indices): + n = len(indices) + if n <= 1: + return [] + assert n & (n - 1) == 0 + bits = n.bit_length() - 1 + rev = [int(f"{j:0{bits}b}"[::-1], 2) for j in range(n)] + plan = [[((indices[i], indices[j]), np.array([[0, 1], [1, 0]], complex)) + for i, j in enumerate(rev) if i < j]] + size = 2 + while size <= n: + layer = [] + for start in range(0, n, size): + for j in range(size // 2): + w = np.exp(-2j * np.pi * j / size) + layer.append(((indices[start+j], indices[start+j+size//2]), + np.array([[1, w], [1, -w]], complex) / math.sqrt(2))) + plan.append(layer) + size *= 2 + return plan + + +def circ_shear(target, source, kernel): + """target += circulant(kernel) source, using these wires only.""" + p = parallel(fft(target), fft(source)) + lams = np.fft.fft(kernel) + mid = [[((source[j], target[j]), np.array([[1, 0], [lams[j], 1]], complex)) + for j in range(len(source))]] + return p + mid + inverse(p) + + +def toeplitz_shear(target, source, T): + """Cyclic + negacyclic decomposition; source and target are disjoint.""" + n = len(source) + assert T.shape == (n, n) and len(target) == n + c, r = T[:, 0], T[0, :] + g = np.zeros(n, complex) + h = np.zeros(n, complex) + g[0] = h[0] = c[0] / 2 + for j in range(1, n): + g[j] = (c[j] + r[n-j]) / 2 + h[j] = (c[j] - r[n-j]) / 2 + gamma = np.exp(1j * np.pi / n) + d = gamma ** np.arange(n) + twists = parallel(diag(target, d), diag(source, d)) + return (circ_shear(target, source, g) + twists + + circ_shear(target, source, d * h) + inverse(twists)) + + +def triangle_plan(indices, f): + n = len(indices) + STATS["triangle_nodes"] += 1 + STATS["max_triangle_coefficient"] = max( + STATS["max_triangle_coefficient"], float(np.max(np.abs(f)))) + if n == 1: + return diag(indices, f) + assert n % 2 == 0 + m = n // 2 + ev, od = indices[::2], indices[1::2] + e, o = np.asarray(f[::2]), np.asarray(f[1::2]) + k = conv(o, invseries(e), m) + zk = np.r_[0, k[:-1]] + s = e - np.r_[0, conv(o, k, m)[:-1]] + right = toeplitz_shear(ev, od, lower(zk)) + middle = parallel(triangle_plan(ev, e), triangle_plan(od, s)) + left = toeplitz_shear(od, ev, lower(k)) + return right + middle + left + + +def lowdisp_shear(target, source, T): + n = len(source) + Z = np.eye(n, k=-1) + Delta = T - Z @ T @ Z.T + U, vals, Vh = np.linalg.svd(Delta) + cutoff = 1e-11 * max(1.0, vals[0]) + rank = int(np.sum(vals > cutoff)) + STATS["max_displacement_rank"] = max(STATS["max_displacement_rank"], rank) + STATS["generator_shears"] += 1 + result = [] + reconstructed = np.zeros_like(T) + for j in range(rank): + g = U[:, j] + h = vals[j] * Vh[j, :] + STATS["max_generator_entry"] = max( + STATS["max_generator_entry"], float(np.max(np.abs(g))), + float(np.max(np.abs(h)))) + reconstructed += lower(g) @ lower(h).T + gamma = max(1.0, 2 * float(np.sum(np.abs(h)))) + p = h / gamma + p[0] += 1 + # U(h)=J L(h) J. This is a genuinely invertible source transform. + transform = triangle_plan(source[::-1], p) + result += transform + result += toeplitz_shear(target, source, gamma * lower(g)) + result += inverse(transform) + result += toeplitz_shear(target, source, -gamma * lower(g)) + assert np.max(np.abs(T - reconstructed)) < 1e-9 + return result + + +def full_plan(indices, M): + n = len(indices) + STATS["full_nodes"] += 1 + if n == 1: + return diag(indices, [M[0, 0]]) + m = n // 2 + A, B, C, D = M[:m, :m], M[:m, m:], M[m:, :m], M[m:, m:] + K = np.linalg.solve(A, B) + L = np.linalg.solve(A.T, C.T).T + S = D - C @ K + right = lowdisp_shear(indices[:m], indices[m:], K) + mid = parallel(full_plan(indices[:m], A), full_plan(indices[m:], S)) + left = lowdisp_shear(indices[m:], indices[:m], L) + return right + mid + left + + +def replay(plan, n, track=True): + out = np.eye(n, dtype=complex) + peak = 1.0 + min_det = 1.0 + for layer in plan: + used = set() + for ids, g in layer: + assert not used.intersection(ids), "non-disjoint layer" + used.update(ids) + min_det = min(min_det, float(abs(np.linalg.det(g)))) + out[list(ids), :] = g @ out[list(ids), :] + if track: + peak = max(peak, float(np.linalg.norm(out, 2))) + STATS["min_gate_determinant"] = min(STATS["min_gate_determinant"], min_det) + return out, peak + + +def main(): + rng = np.random.default_rng(20261013) + rows = [] + for n in [2, 4, 8, 16]: + f = rng.normal(size=n) / (12 * n) + f[0] += 1 + p = triangle_plan(list(range(n)), f) + actual, peak = replay(p, n) + rows.append({"kind": "triangular", "n": n, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-lower(f)))), + "peak_prefix_norm_2": peak}) + + c = rng.normal(size=n) / (20 * n) + r = rng.normal(size=n) / (20 * n) + c[0] += 1 + H = toep(c, r) + p = full_plan(list(range(n)), H) + actual, peak = replay(p, n, track=n <= 8) + rows.append({"kind": "full_toeplitz", "n": n, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-H))), + "peak_prefix_norm_2": peak if n <= 8 else None, + "input_distance_from_I_2": float(np.linalg.norm(H-np.eye(n), 2))}) + # Destructive control: dropping the second subtraction computes the wrong map. + # Independent direct parity block algebra across a range of sizes. + identities = [] + for n in [2, 4, 8, 16, 32]: + f = rng.normal(size=n) / n + f[0] += 2 + m = n // 2 + e, o = f[::2], f[1::2] + k = conv(o, invseries(e), m) + s = e - np.r_[0, conv(o, k, m)[:-1]] + E, O, K = lower(e), lower(o), lower(k) + Z = np.eye(m, k=-1) + left = np.block([[np.eye(m), np.zeros((m,m))], [K, np.eye(m)]]) + diagblock = np.block([[E, np.zeros((m,m))], [np.zeros((m,m)), lower(s)]]) + right = np.block([[np.eye(m), Z@K], [np.zeros((m,m)), np.eye(m)]]) + order = list(range(0,n,2)) + list(range(1,n,2)) + exact = lower(f)[np.ix_(order,order)] + identities.append({"n": n, "error": float(np.max(np.abs(left@diagblock@right-exact)))}) + sylvester = [] + for b in [1, 2, 4, 8]: + f = np.array([1.0]) + g = np.array([1.0]) + for j in range(b): + f = np.convolve(f, [1.0, 256.0 ** (j-b+0.5)]) + g = np.convolve(g, [1.0, 256.0 ** (-j-0.5)]) + fp = np.r_[f, np.zeros(3*b+2-len(f))] + fi = invseries(fp) + def hc(k): + return sum(g[v]*fi[k+v] for v in range(b+1) if 0 <= k+v < len(fi)) + K = np.array([[hc(i-b-j) for j in range(b)] for i in range(b)]) + H = np.array([[hc(i-j) for j in range(b)] for i in range(b)]) + S = np.zeros((2*b, 2*b), complex) + for j in range(b): + for k in range(b+1): + if j+k < 2*b: + S[j+k, j] += f[k] + if 0 <= b+j-k < 2*b: + S[b+j-k, b+j] += g[k] + inds = list(range(2*b)) + p = toeplitz_shear(inds[:b], inds[b:], K) + p += full_plan(inds[b:], H) + p += triangle_plan(inds, np.r_[f, np.zeros(2*b-len(f))]) + actual, peak = replay(p, 2*b, track=b <= 4) + sylvester.append({"b": b, "total_wires": 2*b, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-S))), + "H_minus_I_norm_1": float(np.linalg.norm(H-np.eye(b), 1)), + "H_minus_I_norm_infinity": float(np.linalg.norm(H-np.eye(b), np.inf)), + "peak_prefix_norm_2": peak if b <= 4 else None}) + # Removing the compensating dirty subtraction must fail. + b = 4 + gi, hi = np.array([1, .02, .01, .005]), np.array([.1, .04, .02, .01]) + pi = hi.copy() + pi[0] += 1 + target = np.block([[np.eye(b), np.zeros((b,b))], [lower(gi)@lower(hi).T, np.eye(b)]]) + pp = triangle_plan(list(range(b))[::-1], pi) + correct = pp + toeplitz_shear(list(range(b, 2*b)), list(range(b)), lower(gi)) + inverse(pp) + broken_actual, _ = replay(correct, 2*b, track=False) + correct += toeplitz_shear(list(range(b, 2*b)), list(range(b)), -lower(gi)) + correct_actual, _ = replay(correct, 2*b, track=False) + omission = {"correct_error": float(np.max(np.abs(correct_actual-target))), + "omit_second_subtraction_error": float(np.max(np.abs(broken_actual-target)))} + result = {"seed": 20261013, "note": "Floating replay supports, does not replace, algebraic proof.", + "controls": rows, "polyphase_identity": identities, + "normalized_sylvester": sylvester, "omission_control": omission, "stats": STATS} + (ROOT / "CIRCUIT-REPLAY.json").write_text(json.dumps(result, indent=2)+"\n") + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py new file mode 100644 index 0000000000..4f0180c88f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py @@ -0,0 +1,157 @@ +"""Exact rational checks of parity LU and displacement rank closure.""" +from fractions import Fraction as F +from pathlib import Path +import json +import random + + +def zeros(n, m=None): + return [[F(0) for _ in range(n if m is None else m)] for _ in range(n)] + + +def eye(n): + a = zeros(n) + for i in range(n): + a[i][i] = F(1) + return a + + +def mm(a,b): + return [[sum(a[i][k]*b[k][j] for k in range(len(b))) + for j in range(len(b[0]))] for i in range(len(a))] + + +def add(a,b,sgn=1): + return [[x+sgn*y for x,y in zip(r,s)] for r,s in zip(a,b)] + + +def inv(a): + n=len(a) + q=[r[:] + s for r,s in zip(a,eye(n))] + for j in range(n): + k=next(k for k in range(j,n) if q[k][j]) + q[j],q[k]=q[k],q[j] + v=q[j][j] + q[j]=[x/v for x in q[j]] + for i in range(n): + if i!=j: + v=q[i][j] + q[i]=[x-v*y for x,y in zip(q[i],q[j])] + return [r[n:] for r in q] + + +def rank(a): + a=[r[:] for r in a] + k=0 + for j in range(len(a[0])): + p=next((i for i in range(k,len(a)) if a[i][j]),None) + if p is None: + continue + a[k],a[p]=a[p],a[k] + v=a[k][j] + a[k]=[x/v for x in a[k]] + for i in range(k+1,len(a)): + v=a[i][j] + a[i]=[x-v*y for x,y in zip(a[i],a[k])] + k+=1 + if k==len(a): + break + return k + + +def block(a,b,c,d): + return [r+s for r,s in zip(a,b)] + [r+s for r,s in zip(c,d)] + + +def lo(f): + return [[f[i-j] if i>=j else F(0) for j in range(len(f))] + for i in range(len(f))] + + +def shift(n): + a=zeros(n) + for i in range(1,n): + a[i][i-1]=F(1) + return a + + +def displacement(a): + z=shift(len(a)) + return add(mm(z,a),mm(a,z),-1) + + +def series_inv(f): + g=[1/f[0]] + for i in range(1,len(f)): + g.append(-sum(f[j]*g[i-j] for j in range(1,i+1))/f[0]) + return g + + +def conv(a,b,n): + return [sum(a[j]*b[i-j] for j in range(i+1) + if j=j else r[j-i] for j in range(n)] for i in range(n)] + walk(H) + receipt={"status":"pass","arithmetic":"exact rational", + "parity_instances":parity,"schur_nodes":trace} + Path(__file__).with_name('EXACT-ALGEBRA.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({"status":"pass","parity_instances":len(parity), + "parity_entries":sum(x['matrix_entries_checked'] for x in parity), + "schur_nodes":len(trace)},indent=2)) + + +if __name__=='__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py new file mode 100644 index 0000000000..65b20b8b68 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py @@ -0,0 +1,47 @@ +"""Exact capacity controls in the large-g, gG >> single-axis-ell regime.""" +from pathlib import Path +from fractions import Fraction +import hashlib +import json + + +def main(): + # p itself has one million binary exponent bits. Only short descriptions + # and modest exact powers are needed; no input tensor is materialized. + logp=1_000_000 + eps=Fraction(998,1000) + beta=Fraction(93,1000) + interior=Fraction(907,1000) + d_exp=int(eps*logp) + g_exp=int(beta*logp) + ell_exp=logp-d_exp + g=1<ell + assert reserved<=g//16 + assert (g*K*G).bit_length() 2` is a fixed rational number. There is a single, uniform algorithm, with a fixed finite description, with the following properties. + +* Its recursive block multiplication uses a fixed finite bilinear formula whose coefficients are computable algebraic complex numbers. +* Given two `W` by `W` complex dyadic matrices with component magnitudes at most `2^h`, it computes their product with maximum entrywise absolute error at most `2^{-p}` in + +\[ +O\!\left(W^\tau M(p+h+\log(W+1))\right) +\] + +bit operations. Here `M(t)` is a regular integer multiplication bound: `M(t) >= t`, `M(Ct)=O_C(M(t))` for fixed `C`, and precision doubling sums to `O(M(t))`. All constants can depend on the chosen fixed block formula. +* If the input encoding has `h = O(p)`, this is + +\[ +O\!\left(W^\tau M(p+\log(W+1))\right). +\] + +If also `log W = O(p)`, it is exactly `O(W^tau M(p))`, without a suppressed logarithmic factor. In particular this holds for `W = Theta(sqrt(p))`. + +The strict exponent slack is essential to this statement: an exponent infimum does not by itself supply a finite scheme attaining that infimum. If a source proves `omega_C <= 9/4`, one may take any fixed rational `tau` with `9/4 < tau < 5/2`, for example `tau = 19/8`. + +The proof below also gives an exponent strictly below a specified threshold from only the promise that `omega_C` is below that threshold. It does not give useful numerical constants or an efficient way to discover the block formula. + +## 1. A finite exact bilinear formula exists with exponent slack + +Write `R(b)` for the exact complex tensor rank of `b` by `b` matrix multiplication. Use the usual equivalent definition + +\[ +\omega_{\mathbb C}=\inf_{b\ge2}\log_b R(b). +\] + +Thus some fixed integers `b >= 2` and `r` satisfy + +\[ +R(b)\le r= 2`, `r >= 1` satisfying `r < b^tau`; +2. finite encoded algebraic tuples of the required length; +3. exact tests of all rank equations. + +For rational `tau=a/d`, the first comparison is the integer comparison `r^d < b^a`. The search halts under the stated exponent promise, by Sections 1 and 2. Its output supplies the single fixed block formula. This search may be extremely expensive, but its cost is an absolute constant independent of `W,p,h`, so including it does not change the asymptotic bound. The same result can be phrased by fixing the first successful tuple once and for all. + +For just the promise `omega_C < 5/2`, search using `r^2 < b^5`. Upon success choose a rational `sigma` with + +\[ +\max\{2,\log_b r\}<\sigma<5/2. +\] + +The resulting algorithm has exponent at most `sigma < 5/2`. Thus one need not know a numerical gap in advance to obtain a uniform algorithm below the threshold. A practical certificate or practical constant is a separate issue. + +## 4. Each fixed algebraic coefficient has an ordinary `O(M(q))` precision algorithm + +Every chosen coefficient has a fixed minimal polynomial and a fixed isolating region. In characteristic zero its minimal-polynomial root is simple. Fix a rational starting approximation in a sufficiently small Newton convergence neighborhood. Newton iteration with successively doubled precision computes the root to absolute error `2^{-q}` with `O(M(q))` bit operations. + +The polynomial degree, coefficient heights, root separation, initial precision, and bounds on the derivative and its reciprocal are all fixed constants here. Polynomial evaluation, complex division, and the finite number of operations per Newton step cost `O(M(t))` at precision `t`; the usual precision-doubling sum is `O(M(q))`. This is not a claim uniform in algebraic degree or height. + +There are only finitely many block coefficients. Compute their dyadic approximations once at the precision needed for the current multiplication, and reuse them at all recursive nodes. This costs `O(M(q))` total, with a formula-dependent constant, rather than a logarithmic factor per scalar operation. + +## 5. Recursive arithmetic work + +Pad the matrices with zeros to size `N=b^L`, where `W <= N < bW` (and handle `W=1` directly). At each node, form the fixed `r` input linear combinations, recursively multiply the corresponding submatrices, and form the fixed output linear combinations. + +The arithmetic operation count satisfies + +\[ +T(N)\le rT(N/b)+O(N^2). +\] + +Let `rho=log_b r`. If `rho>2`, this is `O(N^rho)`; if `rho=2`, it is `O(N^2 log N)`; and if `rho<2`, it is `O(N^2)`. Every case is `O(N^tau)` because `rho2`. In particular the possible equality case `r=b^2` creates no extra factor in the advertised bound: its logarithm is absorbed by the fixed exponent slack. + +One could instead tensor a fixed formula a fixed number of times and add a zero product to arrange `b^2 < r < b^tau`, obtaining an exact recursion exponent `rho` strictly between two and `tau`. This refinement is unnecessary for the advertised `O(W^tau)` conclusion. + +## 6. Fixed-point roundoff grows only polynomially in the dimension + +Use fixed-point complex arithmetic with `q` fractional bits, round after scalar products, and use dyadic block coefficients whose absolute errors are at most + +\[ +\epsilon=2^{-q}. +\] + +Complex arithmetic introduces only absolute constant factors. Additions may be done exactly on this fixed grid; allowing an additional absolute error `O(epsilon)` after an addition also satisfies the following bounds. + +For a multiplication node with remaining depth `d`, let `a,beta >= 1` bound the maximum absolute entries of its two inputs. There is a fixed constant `K`, depending only on the block formula, such that the computed result obeys + +\[ +\|\widehat T_d(A,B)-AB\|_{\max} +\le \epsilon E_d a\,\beta, +\qquad +E_d\le K E_{d-1}+K b^{d-1},\quad E_0\le K. +\] + +Here the symbol `b` in `b^{d-1}` is the fixed block dimension; `beta` is the second input bound. + +To verify the recurrence, every local input linear combination has fixed length and fixed coefficients. Its rounded value differs from its exact value by at most `c epsilon a` or `c epsilon beta`, and its size is at most `S a` or `S beta`, for fixed `c,S`. Applying the inductive child bound therefore contributes at most + +\[ +c\epsilon E_{d-1}a\beta. +\] + +Perturbing the two child inputs in their *exact* matrix product contributes at most + +\[ +c\epsilon b^{d-1}a\beta, +\] + +because each entry of that child product sums `b^{d-1}` scalar products. Finally, the output reconstruction has fixed length and fixed coefficients. Propagation through its exact coefficients is a fixed factor; coefficient approximation and reconstruction rounding contribute at most + +\[ +c\epsilon\bigl(b^{d-1}+\epsilon E_{d-1}+1\bigr)a\beta. +\] + +For `epsilon <= 1`, all these terms have the stated recurrence after enlarging `K`. Taking `K >= 2b` gives `E_d <= C K^d` for a fixed `C`. Thus at the root + +\[ +\|\widehat T_L(A,B)-AB\|_{\max} +\le C\,2^{-q}K^L a\beta +=2^{-q}N^{O(1)}a\beta. +\] + +For root input magnitude at most `2^h`, take `a=beta=max(1,2^h)` and choose + +\[ +q=p+2\max(h,0)+\lceil L\log_2K\rceil+O(1). +\] + +The final absolute error is then at most `2^{-p}`. + +There is also no hidden exponential-in-precision magnitude growth. Along a path, each preprocessing step multiplies a magnitude envelope by a fixed `S`. A node at depth `t` therefore receives inputs bounded by `S^t a` and `S^t beta`. Its computed output is bounded by its exact product size plus the proved error: + +\[ +\bigl(b^{L-t}+\epsilon C K^{L-t}\bigr)S^{2t}a\beta. +\] + +Local scalar products and partial sums obey the same bound up to fixed factors. All intermediate magnitudes are consequently `N^{O(1)} max(1,2^{2h})`. Only `O(h+log N)` integer bits are needed. The total working bit width is therefore `O(p+h+log N)`. + +The polynomial error estimate exploits the structure of a bilinear recursion: linear preprocessing, one variable-by-variable scalar product at a leaf, and linear reconstruction. Bounding an arbitrary multiplication by the largest intermediate magnitude at every level would give an unnecessarily pessimistic estimate and is not the argument used here. + +## 7. Bit complexity and scope + +Every scalar operation uses `O(p+h+log W)` bits and costs `O(M(p+h+log W))`. Multiplying by the `O(W^tau)` arithmetic operation count proves the statement. Padding, input conversion, output rounding, and storage of the fixed coefficient approximations fit the same bound. + +The result supplies absolute accuracy. It does not promise small relative error in entries canceled nearly to zero. It applies to arbitrary fixed finite complex bilinear formulas; large fixed coefficient heights or norms worsen only the constants and the fixed multiple of `log W` in the precision requirement. + +An exponent theorem alone therefore suffices for computable, stable approximate multiplication with any fixed strictly larger exponent. It does not justify using the exact infimum exponent without slack, treating a varying family of coefficients as fixed, or claiming a concrete efficient implementation without constructing its constants. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json new file mode 100644 index 0000000000..5a943f0fd6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json @@ -0,0 +1,35 @@ +{ + "status": "MATRIX_BOUNDARY_TRANSFER_SIGNED_OFF", + "scope": "Full 9/4 source audit plus effective fixed algebraic rank scheme and approximate p-bit transfer; no final outer ledger promotion.", + "target_exponent": "19/8", + "source_rank_exponent_bound": "9/4", + "poly_W_error_growth": true, + "computable_fixed_selection": true, + "files": [ + { + "name": "PROOF-AND-COVERAGE.md", + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + { + "name": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + { + "name": "SOURCE-COVERAGE.json", + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + { + "name": "SOURCE-CONSTRUCTIONS.json", + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + { + "name": "check_source_constructions.py", + "bytes": 6388, + "sha256": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md new file mode 100644 index 0000000000..1a98011b1f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md @@ -0,0 +1,91 @@ +# Matrix boundary transfer: full-source audit and interface signoff + +Status: the supplied 9/4 source supports the matrix boundary substitution, with strict exponent slack. This is a theorem-level, computable asymptotic transfer. It is not a numerical finite-size rank certificate and it does not remove any supplier or computational-interface assumptions in the outer integer-multiplication argument. + +The independent reader for this note read all 1,022 lines of +`/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex` +in order, including the full character-existence appendix and all bibliography entries, and also read the README. The companion 2.258 paper is unnecessary for this transfer and is not claimed as read in this new audit. + +## 1. Source coverage + +| Source lines | Material read | Audit result | +|---|---|---| +| 1–36 | Preamble, title, abstract | Establishes complex arithmetic setting. | +| 37–141 | Introduction, theorem and proof route | Explicitly promises an asymptotic exponent, not a competitive finite size. | +| 142–203 | Tensor semiring, rank, characters, detecting lemma | Uses exact rank and mutual restriction. Rank need only be subadditive; no false additivity assumption. | +| 204–235 | Oriented dot-product exponents | Monotonic completely multiplicative functions give power laws; tensor product of the three orientations is square matrix multiplication. | +| 236–269 | Degenerations and interpolation | Fixed degeneration degree is handled before the tensor-power limit. No uniform-in-power degree assumption is made. | +| 270–349 | Finite shared-leg separation | Fourier relation is exact since the phase has absolute size below 5M. Surviving weights equal `(g-h)^2`; the retained auxiliary dot index is distinct from the direct-sum block index. | +| 350–391 | Shared-leg entropy | The factor M cancels correctly before the N-th-root limit. Fixed-frequency counts and continuity cover every probability vector. | +| 392–432 | Polynomial multiplication and symmetrized profile | Rank is exactly a+b−1 by interpolation and output flattening. All six leg permutations are needed for the later middle branch. | +| 433–523 | Determinant filtration and discrete concavity | Fixed input/output bases work for every first-input slice. Multiplication preserves the determinant submodule; the forbidden upper-right block vanishes. The residual lower-left block receives positive weight. | +| 524–604 | Three sectors and shifted tripling | Outer sectors equal C(a,h); the middle is obtained by reversing the first basis and exchanging its second/third legs. This is an identification of an individual block and does not apply incompatible maps to the shared first leg. | +| 605–651 | Diagonal growth | Concavity gives the stated two-increment recurrence; H_a grows at least as a^(1/3). | +| 652–689 | Spectral bound, rank bound, recursion | Detecting characters may depend on d. The conclusion is `nu<=9/4`; selecting a fixed rank scheme requires a strict larger exponent. Rectangular block substitution preserves product order. | +| 690–699 | Algebraic-coefficient remark | The source explicitly allows replacing a complex solution of rational rank equations by a point over Qbar. | +| 700–769 | Appendix: invariant state family and multiplicativity | The fixed-point map is continuous, not asserted affine. Freezing its scalar eigenvalue produces a compact convex invariant subset, permitting finite intersections. | +| 770–905 | Appendix: detecting state existence | Finite rational separation gives an additive catalyst. Reuse keeps one s factor; no tensor cancellation is assumed. Amplification with a second multiplication tensor gives the contradiction to k9/4`. + +If the surrounding proof allows polylog p factors, the bandwidth's polylogs remain polylogs; no positive power of p is introduced by coefficient approximation or error amplification. The algorithm provides absolute accuracy, which is what local residual bounds use. It makes no relative-error promise for nearly canceled output entries. + +The recursion can also be scheduled with sequential tapes. At one fixed-base node, its fixed number of input block combinations and output block sums require a fixed number of complete scans and fixed block permutations of `O(n^2)` records. Store child inputs consecutively, process children depth-first, and stream their returned blocks into accumulators. Copying a pending-child region or repositioning a finite set of tapes costs another `O(n^2)`-record pass at that node, already covered by the recurrence's addition term. Addresses and recursion descriptions add at most logarithmic factors. If any implementation retains an additional `polylog W` factor, choose the rank scheme first with exponent strictly between 9/4 and the stated target tau, leaving enough fixed exponent slack to absorb it. No algebraic unit-cost random-access assumption is needed for the target power tau. + +## 4. Boundary substitution and the outer ledger + +The existing capped boundary algebra uses W simultaneous right-hand sides. A square product costs `O(W^tau M(p))`; dividing by W² processed entries gives `O(W^(tau-2) M(p))` per entry. One axis has `O(V W/B)` boundary entries, and there are d axes. Its total is consequently + +`O(V (d/B) W^(tau-1) [M(p)/p] polylog p)` + +when V is the total bit volume, as in the phase-assembly notes. There are V/Theta(p) scalar entries, so the factor M(p)/p is the per-bit arithmetic charge. Equivalently, if V counts scalar entries instead, the formula has M(p) without the division. The retained quasi-linear short multiplier has M(p)/p=polylog p. + +This retains the essential d/B factor. With `d=p^epsilon`, `B=p^b`, and `W=p^(1/2) polylog p`, its normalized exponent is + +`epsilon-b+(tau-1)/2`. + +Taking `tau=19/8` gives `(tau-1)/2=11/16` and boundary saving `5/16+b-epsilon`. This is already more than enough to put the basic sparse-union cost near the binding row at b near 3/4. Pushing tau down to the unattained endpoint 9/4 is unnecessary. + +The changed matrix algorithm has the same input/output interface as the former Strassen product. It does not change the original Gaussian matrix, boundary support, anchored gauge, square-block inverse choice, or number of right-hand sides. The surrounding local-residual proof must still supply polynomial bounds on local exact inverses and partial right-hand sides. The new product's error is `poly(p)2^-P`, so that proof applies with a fixed larger guard constant. + +The optional full-coordinate-key surcharge in the old arithmetic ledger would become binding if mechanically retained at b near 3/4. It is not part of the actual rectangle extraction/one-field transpose/ordered-merge algorithm, as confirmed by the separate phase-layout audit. Dropping it is a distinct layout fact, not a consequence of matrix multiplication. It must remain explicitly justified in the final outer ledger. All retained supplier assumptions remain in force. + +No final improved outer exponent is claimed in this note; that requires the whole ledger and the independent group-layout/gauge checks. + +## 5. Exact controls run in this audit + +`check_source_constructions.py` uses only Python's exact rational arithmetic and writes `SOURCE-CONSTRUCTIONS.json`: + +* Finite Fourier/separation support for M=1,...,12: the modular relation has no wraparound and zero weight is exactly g=h,u=v. +* Determinant change of basis for a=1,...,8 and b=2,...,8, for every first-input monomial: quotient and kernel diagonal slices are exactly the two claimed neighboring convolution tensors; the upper-right block vanishes. +* Three-sector identity for a,h=1,...,14: all weights are nonnegative and each of the three retained branches is exactly the claimed tensor after its permitted identification. +* Exact rational diagonal product lower bound through a=300. + +All controls passed. They detect several relevant implementation mistakes but are not a finite substitute for the universal arguments above or for the theorem's nonconstructive rank-existence step. + +## 6. Deliberate limitations + +There is no generated competitive finite matrix scheme, no numeric claim about its constants, no use of a rank formula at exponent exactly 9/4, and no fast algorithm for finding the first successful algebraic tuple. The algorithm remains computable and uniform because the finite search halts under the proved existence statement and its cost is independent of the growing input. The outer conclusion remains conditional on exactly the previously retained supplier/computational assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json new file mode 100644 index 0000000000..65880dc95c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json @@ -0,0 +1,1356 @@ +{ + "status": "PASS_EXACT_SOURCE_CONTROLS", + "scope": "Finite controls accompany a full universal proof audit; no rank algorithm synthesized.", + "source": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex", + "source_sha256": "c396f2580a711b8b9e51ecf1265cb0e691acd745943f81bfc14ec0df209e1028", + "source_lines": 1022, + "fourier": [ + { + "M": 1, + "potential_terms": 1, + "fourier_survivors": 1, + "weight_zero_terms": 1 + }, + { + "M": 2, + "potential_terms": 16, + "fourier_survivors": 4, + "weight_zero_terms": 4 + }, + { + "M": 3, + "potential_terms": 81, + "fourier_survivors": 13, + "weight_zero_terms": 9 + }, + { + "M": 4, + "potential_terms": 256, + "fourier_survivors": 28, + "weight_zero_terms": 16 + }, + { + "M": 5, + "potential_terms": 625, + "fourier_survivors": 55, + "weight_zero_terms": 25 + }, + { + "M": 6, + "potential_terms": 1296, + "fourier_survivors": 92, + "weight_zero_terms": 36 + }, + { + "M": 7, + "potential_terms": 2401, + "fourier_survivors": 147, + "weight_zero_terms": 49 + }, + { + "M": 8, + "potential_terms": 4096, + "fourier_survivors": 216, + "weight_zero_terms": 64 + }, + { + "M": 9, + "potential_terms": 6561, + "fourier_survivors": 309, + "weight_zero_terms": 81 + }, + { + "M": 10, + "potential_terms": 10000, + "fourier_survivors": 420, + "weight_zero_terms": 100 + }, + { + "M": 11, + "potential_terms": 14641, + "fourier_survivors": 561, + "weight_zero_terms": 121 + }, + { + "M": 12, + "potential_terms": 20736, + "fourier_survivors": 724, + "weight_zero_terms": 144 + } + ], + "determinant_filtration": [ + { + "a": 1, + "b": 2, + "slices_checked": 1 + }, + { + "a": 1, + "b": 3, + "slices_checked": 1 + }, + { + "a": 1, + "b": 4, + "slices_checked": 1 + }, + { + "a": 1, + "b": 5, + "slices_checked": 1 + }, + { + "a": 1, + "b": 6, + "slices_checked": 1 + }, + { + "a": 1, + "b": 7, + "slices_checked": 1 + }, + { + "a": 1, + "b": 8, + "slices_checked": 1 + }, + { + "a": 2, + "b": 2, + "slices_checked": 2 + }, + { + "a": 2, + "b": 3, + "slices_checked": 2 + }, + { + "a": 2, + "b": 4, + "slices_checked": 2 + }, + { + "a": 2, + "b": 5, + "slices_checked": 2 + }, + { + "a": 2, + "b": 6, + "slices_checked": 2 + }, + { + "a": 2, + "b": 7, + "slices_checked": 2 + }, + { + "a": 2, + "b": 8, + "slices_checked": 2 + }, + { + "a": 3, + "b": 2, + "slices_checked": 3 + }, + { + "a": 3, + "b": 3, + "slices_checked": 3 + }, + { + "a": 3, + "b": 4, + "slices_checked": 3 + }, + { + "a": 3, + "b": 5, + "slices_checked": 3 + }, + { + "a": 3, + "b": 6, + "slices_checked": 3 + }, + { + "a": 3, + "b": 7, + "slices_checked": 3 + }, + { + "a": 3, + "b": 8, + "slices_checked": 3 + }, + { + "a": 4, + "b": 2, + "slices_checked": 4 + }, + { + "a": 4, + "b": 3, + "slices_checked": 4 + }, + { + "a": 4, + "b": 4, + "slices_checked": 4 + }, + { + "a": 4, + "b": 5, + "slices_checked": 4 + }, + { + "a": 4, + "b": 6, + "slices_checked": 4 + }, + { + "a": 4, + "b": 7, + "slices_checked": 4 + }, + { + "a": 4, + "b": 8, + "slices_checked": 4 + }, + { + "a": 5, + "b": 2, + "slices_checked": 5 + }, + { + "a": 5, + "b": 3, + "slices_checked": 5 + }, + { + "a": 5, + "b": 4, + "slices_checked": 5 + }, + { + "a": 5, + "b": 5, + "slices_checked": 5 + }, + { + "a": 5, + "b": 6, + "slices_checked": 5 + }, + { + "a": 5, + "b": 7, + "slices_checked": 5 + }, + { + "a": 5, + "b": 8, + "slices_checked": 5 + }, + { + "a": 6, + "b": 2, + "slices_checked": 6 + }, + { + "a": 6, + "b": 3, + "slices_checked": 6 + }, + { + "a": 6, + "b": 4, + "slices_checked": 6 + }, + { + "a": 6, + "b": 5, + "slices_checked": 6 + }, + { + "a": 6, + "b": 6, + "slices_checked": 6 + }, + { + "a": 6, + "b": 7, + "slices_checked": 6 + }, + { + "a": 6, + "b": 8, + "slices_checked": 6 + }, + { + "a": 7, + "b": 2, + "slices_checked": 7 + }, + { + "a": 7, + "b": 3, + "slices_checked": 7 + }, + { + "a": 7, + "b": 4, + "slices_checked": 7 + }, + { + "a": 7, + "b": 5, + "slices_checked": 7 + }, + { + "a": 7, + "b": 6, + "slices_checked": 7 + }, + { + "a": 7, + "b": 7, + "slices_checked": 7 + }, + { + "a": 7, + "b": 8, + "slices_checked": 7 + }, + { + "a": 8, + "b": 2, + "slices_checked": 8 + }, + { + "a": 8, + "b": 3, + "slices_checked": 8 + }, + { + "a": 8, + "b": 4, + "slices_checked": 8 + }, + { + "a": 8, + "b": 5, + "slices_checked": 8 + }, + { + "a": 8, + "b": 6, + "slices_checked": 8 + }, + { + "a": 8, + "b": 7, + "slices_checked": 8 + }, + { + "a": 8, + "b": 8, + "slices_checked": 8 + } + ], + "tripling": [ + { + "a": 1, + "h": 1, + "terms_in_each_branch": 1 + }, + { + "a": 1, + "h": 2, + "terms_in_each_branch": 2 + }, + { + "a": 1, + "h": 3, + "terms_in_each_branch": 3 + }, + { + "a": 1, + "h": 4, + "terms_in_each_branch": 4 + }, + { + "a": 1, + "h": 5, + "terms_in_each_branch": 5 + }, + { + "a": 1, + "h": 6, + "terms_in_each_branch": 6 + }, + { + "a": 1, + "h": 7, + "terms_in_each_branch": 7 + }, + { + "a": 1, + "h": 8, + "terms_in_each_branch": 8 + }, + { + "a": 1, + "h": 9, + "terms_in_each_branch": 9 + }, + { + "a": 1, + "h": 10, + "terms_in_each_branch": 10 + }, + { + "a": 1, + "h": 11, + "terms_in_each_branch": 11 + }, + { + "a": 1, + "h": 12, + "terms_in_each_branch": 12 + }, + { + "a": 1, + "h": 13, + "terms_in_each_branch": 13 + }, + { + "a": 1, + "h": 14, + "terms_in_each_branch": 14 + }, + { + "a": 2, + "h": 1, + "terms_in_each_branch": 2 + }, + { + "a": 2, + "h": 2, + "terms_in_each_branch": 4 + }, + { + "a": 2, + "h": 3, + "terms_in_each_branch": 6 + }, + { + "a": 2, + "h": 4, + "terms_in_each_branch": 8 + }, + { + "a": 2, + "h": 5, + "terms_in_each_branch": 10 + }, + { + "a": 2, + "h": 6, + "terms_in_each_branch": 12 + }, + { + "a": 2, + "h": 7, + "terms_in_each_branch": 14 + }, + { + "a": 2, + "h": 8, + "terms_in_each_branch": 16 + }, + { + "a": 2, + "h": 9, + "terms_in_each_branch": 18 + }, + { + "a": 2, + "h": 10, + "terms_in_each_branch": 20 + }, + { + "a": 2, + "h": 11, + "terms_in_each_branch": 22 + }, + { + "a": 2, + "h": 12, + "terms_in_each_branch": 24 + }, + { + "a": 2, + "h": 13, + "terms_in_each_branch": 26 + }, + { + "a": 2, + "h": 14, + "terms_in_each_branch": 28 + }, + { + "a": 3, + "h": 1, + "terms_in_each_branch": 3 + }, + { + "a": 3, + "h": 2, + "terms_in_each_branch": 6 + }, + { + "a": 3, + "h": 3, + "terms_in_each_branch": 9 + }, + { + "a": 3, + "h": 4, + "terms_in_each_branch": 12 + }, + { + "a": 3, + "h": 5, + "terms_in_each_branch": 15 + }, + { + "a": 3, + "h": 6, + "terms_in_each_branch": 18 + }, + { + "a": 3, + "h": 7, + "terms_in_each_branch": 21 + }, + { + "a": 3, + "h": 8, + "terms_in_each_branch": 24 + }, + { + "a": 3, + "h": 9, + "terms_in_each_branch": 27 + }, + { + "a": 3, + "h": 10, + "terms_in_each_branch": 30 + }, + { + "a": 3, + "h": 11, + "terms_in_each_branch": 33 + }, + { + "a": 3, + "h": 12, + "terms_in_each_branch": 36 + }, + { + "a": 3, + "h": 13, + "terms_in_each_branch": 39 + }, + { + "a": 3, + "h": 14, + "terms_in_each_branch": 42 + }, + { + "a": 4, + "h": 1, + "terms_in_each_branch": 4 + }, + { + "a": 4, + "h": 2, + "terms_in_each_branch": 8 + }, + { + "a": 4, + "h": 3, + "terms_in_each_branch": 12 + }, + { + "a": 4, + "h": 4, + "terms_in_each_branch": 16 + }, + { + "a": 4, + "h": 5, + "terms_in_each_branch": 20 + }, + { + "a": 4, + "h": 6, + "terms_in_each_branch": 24 + }, + { + "a": 4, + "h": 7, + "terms_in_each_branch": 28 + }, + { + "a": 4, + "h": 8, + "terms_in_each_branch": 32 + }, + { + "a": 4, + "h": 9, + "terms_in_each_branch": 36 + }, + { + "a": 4, + "h": 10, + "terms_in_each_branch": 40 + }, + { + "a": 4, + "h": 11, + "terms_in_each_branch": 44 + }, + { + "a": 4, + "h": 12, + "terms_in_each_branch": 48 + }, + { + "a": 4, + "h": 13, + "terms_in_each_branch": 52 + }, + { + "a": 4, + "h": 14, + "terms_in_each_branch": 56 + }, + { + "a": 5, + "h": 1, + "terms_in_each_branch": 5 + }, + { + "a": 5, + "h": 2, + "terms_in_each_branch": 10 + }, + { + "a": 5, + "h": 3, + "terms_in_each_branch": 15 + }, + { + "a": 5, + "h": 4, + "terms_in_each_branch": 20 + }, + { + "a": 5, + "h": 5, + "terms_in_each_branch": 25 + }, + { + "a": 5, + "h": 6, + "terms_in_each_branch": 30 + }, + { + "a": 5, + "h": 7, + "terms_in_each_branch": 35 + }, + { + "a": 5, + "h": 8, + "terms_in_each_branch": 40 + }, + { + "a": 5, + "h": 9, + "terms_in_each_branch": 45 + }, + { + "a": 5, + "h": 10, + "terms_in_each_branch": 50 + }, + { + "a": 5, + "h": 11, + "terms_in_each_branch": 55 + }, + { + "a": 5, + "h": 12, + "terms_in_each_branch": 60 + }, + { + "a": 5, + "h": 13, + "terms_in_each_branch": 65 + }, + { + "a": 5, + "h": 14, + "terms_in_each_branch": 70 + }, + { + "a": 6, + "h": 1, + "terms_in_each_branch": 6 + }, + { + "a": 6, + "h": 2, + "terms_in_each_branch": 12 + }, + { + "a": 6, + "h": 3, + "terms_in_each_branch": 18 + }, + { + "a": 6, + "h": 4, + "terms_in_each_branch": 24 + }, + { + "a": 6, + "h": 5, + "terms_in_each_branch": 30 + }, + { + "a": 6, + "h": 6, + "terms_in_each_branch": 36 + }, + { + "a": 6, + "h": 7, + "terms_in_each_branch": 42 + }, + { + "a": 6, + "h": 8, + "terms_in_each_branch": 48 + }, + { + "a": 6, + "h": 9, + "terms_in_each_branch": 54 + }, + { + "a": 6, + "h": 10, + "terms_in_each_branch": 60 + }, + { + "a": 6, + "h": 11, + "terms_in_each_branch": 66 + }, + { + "a": 6, + "h": 12, + "terms_in_each_branch": 72 + }, + { + "a": 6, + "h": 13, + "terms_in_each_branch": 78 + }, + { + "a": 6, + "h": 14, + "terms_in_each_branch": 84 + }, + { + "a": 7, + "h": 1, + "terms_in_each_branch": 7 + }, + { + "a": 7, + "h": 2, + "terms_in_each_branch": 14 + }, + { + "a": 7, + "h": 3, + "terms_in_each_branch": 21 + }, + { + "a": 7, + "h": 4, + "terms_in_each_branch": 28 + }, + { + "a": 7, + "h": 5, + "terms_in_each_branch": 35 + }, + { + "a": 7, + "h": 6, + "terms_in_each_branch": 42 + }, + { + "a": 7, + "h": 7, + "terms_in_each_branch": 49 + }, + { + "a": 7, + "h": 8, + "terms_in_each_branch": 56 + }, + { + "a": 7, + "h": 9, + "terms_in_each_branch": 63 + }, + { + "a": 7, + "h": 10, + "terms_in_each_branch": 70 + }, + { + "a": 7, + "h": 11, + "terms_in_each_branch": 77 + }, + { + "a": 7, + "h": 12, + "terms_in_each_branch": 84 + }, + { + "a": 7, + "h": 13, + "terms_in_each_branch": 91 + }, + { + "a": 7, + "h": 14, + "terms_in_each_branch": 98 + }, + { + "a": 8, + "h": 1, + "terms_in_each_branch": 8 + }, + { + "a": 8, + "h": 2, + "terms_in_each_branch": 16 + }, + { + "a": 8, + "h": 3, + "terms_in_each_branch": 24 + }, + { + "a": 8, + "h": 4, + "terms_in_each_branch": 32 + }, + { + "a": 8, + "h": 5, + "terms_in_each_branch": 40 + }, + { + "a": 8, + "h": 6, + "terms_in_each_branch": 48 + }, + { + "a": 8, + "h": 7, + "terms_in_each_branch": 56 + }, + { + "a": 8, + "h": 8, + "terms_in_each_branch": 64 + }, + { + "a": 8, + "h": 9, + "terms_in_each_branch": 72 + }, + { + "a": 8, + "h": 10, + "terms_in_each_branch": 80 + }, + { + "a": 8, + "h": 11, + "terms_in_each_branch": 88 + }, + { + "a": 8, + "h": 12, + "terms_in_each_branch": 96 + }, + { + "a": 8, + "h": 13, + "terms_in_each_branch": 104 + }, + { + "a": 8, + "h": 14, + "terms_in_each_branch": 112 + }, + { + "a": 9, + "h": 1, + "terms_in_each_branch": 9 + }, + { + "a": 9, + "h": 2, + "terms_in_each_branch": 18 + }, + { + "a": 9, + "h": 3, + "terms_in_each_branch": 27 + }, + { + "a": 9, + "h": 4, + "terms_in_each_branch": 36 + }, + { + "a": 9, + "h": 5, + "terms_in_each_branch": 45 + }, + { + "a": 9, + "h": 6, + "terms_in_each_branch": 54 + }, + { + "a": 9, + "h": 7, + "terms_in_each_branch": 63 + }, + { + "a": 9, + "h": 8, + "terms_in_each_branch": 72 + }, + { + "a": 9, + "h": 9, + "terms_in_each_branch": 81 + }, + { + "a": 9, + "h": 10, + "terms_in_each_branch": 90 + }, + { + "a": 9, + "h": 11, + "terms_in_each_branch": 99 + }, + { + "a": 9, + "h": 12, + "terms_in_each_branch": 108 + }, + { + "a": 9, + "h": 13, + "terms_in_each_branch": 117 + }, + { + "a": 9, + "h": 14, + "terms_in_each_branch": 126 + }, + { + "a": 10, + "h": 1, + "terms_in_each_branch": 10 + }, + { + "a": 10, + "h": 2, + "terms_in_each_branch": 20 + }, + { + "a": 10, + "h": 3, + "terms_in_each_branch": 30 + }, + { + "a": 10, + "h": 4, + "terms_in_each_branch": 40 + }, + { + "a": 10, + "h": 5, + "terms_in_each_branch": 50 + }, + { + "a": 10, + "h": 6, + "terms_in_each_branch": 60 + }, + { + "a": 10, + "h": 7, + "terms_in_each_branch": 70 + }, + { + "a": 10, + "h": 8, + "terms_in_each_branch": 80 + }, + { + "a": 10, + "h": 9, + "terms_in_each_branch": 90 + }, + { + "a": 10, + "h": 10, + "terms_in_each_branch": 100 + }, + { + "a": 10, + "h": 11, + "terms_in_each_branch": 110 + }, + { + "a": 10, + "h": 12, + "terms_in_each_branch": 120 + }, + { + "a": 10, + "h": 13, + "terms_in_each_branch": 130 + }, + { + "a": 10, + "h": 14, + "terms_in_each_branch": 140 + }, + { + "a": 11, + "h": 1, + "terms_in_each_branch": 11 + }, + { + "a": 11, + "h": 2, + "terms_in_each_branch": 22 + }, + { + "a": 11, + "h": 3, + "terms_in_each_branch": 33 + }, + { + "a": 11, + "h": 4, + "terms_in_each_branch": 44 + }, + { + "a": 11, + "h": 5, + "terms_in_each_branch": 55 + }, + { + "a": 11, + "h": 6, + "terms_in_each_branch": 66 + }, + { + "a": 11, + "h": 7, + "terms_in_each_branch": 77 + }, + { + "a": 11, + "h": 8, + "terms_in_each_branch": 88 + }, + { + "a": 11, + "h": 9, + "terms_in_each_branch": 99 + }, + { + "a": 11, + "h": 10, + "terms_in_each_branch": 110 + }, + { + "a": 11, + "h": 11, + "terms_in_each_branch": 121 + }, + { + "a": 11, + "h": 12, + "terms_in_each_branch": 132 + }, + { + "a": 11, + "h": 13, + "terms_in_each_branch": 143 + }, + { + "a": 11, + "h": 14, + "terms_in_each_branch": 154 + }, + { + "a": 12, + "h": 1, + "terms_in_each_branch": 12 + }, + { + "a": 12, + "h": 2, + "terms_in_each_branch": 24 + }, + { + "a": 12, + "h": 3, + "terms_in_each_branch": 36 + }, + { + "a": 12, + "h": 4, + "terms_in_each_branch": 48 + }, + { + "a": 12, + "h": 5, + "terms_in_each_branch": 60 + }, + { + "a": 12, + "h": 6, + "terms_in_each_branch": 72 + }, + { + "a": 12, + "h": 7, + "terms_in_each_branch": 84 + }, + { + "a": 12, + "h": 8, + "terms_in_each_branch": 96 + }, + { + "a": 12, + "h": 9, + "terms_in_each_branch": 108 + }, + { + "a": 12, + "h": 10, + "terms_in_each_branch": 120 + }, + { + "a": 12, + "h": 11, + "terms_in_each_branch": 132 + }, + { + "a": 12, + "h": 12, + "terms_in_each_branch": 144 + }, + { + "a": 12, + "h": 13, + "terms_in_each_branch": 156 + }, + { + "a": 12, + "h": 14, + "terms_in_each_branch": 168 + }, + { + "a": 13, + "h": 1, + "terms_in_each_branch": 13 + }, + { + "a": 13, + "h": 2, + "terms_in_each_branch": 26 + }, + { + "a": 13, + "h": 3, + "terms_in_each_branch": 39 + }, + { + "a": 13, + "h": 4, + "terms_in_each_branch": 52 + }, + { + "a": 13, + "h": 5, + "terms_in_each_branch": 65 + }, + { + "a": 13, + "h": 6, + "terms_in_each_branch": 78 + }, + { + "a": 13, + "h": 7, + "terms_in_each_branch": 91 + }, + { + "a": 13, + "h": 8, + "terms_in_each_branch": 104 + }, + { + "a": 13, + "h": 9, + "terms_in_each_branch": 117 + }, + { + "a": 13, + "h": 10, + "terms_in_each_branch": 130 + }, + { + "a": 13, + "h": 11, + "terms_in_each_branch": 143 + }, + { + "a": 13, + "h": 12, + "terms_in_each_branch": 156 + }, + { + "a": 13, + "h": 13, + "terms_in_each_branch": 169 + }, + { + "a": 13, + "h": 14, + "terms_in_each_branch": 182 + }, + { + "a": 14, + "h": 1, + "terms_in_each_branch": 14 + }, + { + "a": 14, + "h": 2, + "terms_in_each_branch": 28 + }, + { + "a": 14, + "h": 3, + "terms_in_each_branch": 42 + }, + { + "a": 14, + "h": 4, + "terms_in_each_branch": 56 + }, + { + "a": 14, + "h": 5, + "terms_in_each_branch": 70 + }, + { + "a": 14, + "h": 6, + "terms_in_each_branch": 84 + }, + { + "a": 14, + "h": 7, + "terms_in_each_branch": 98 + }, + { + "a": 14, + "h": 8, + "terms_in_each_branch": 112 + }, + { + "a": 14, + "h": 9, + "terms_in_each_branch": 126 + }, + { + "a": 14, + "h": 10, + "terms_in_each_branch": 140 + }, + { + "a": 14, + "h": 11, + "terms_in_each_branch": 154 + }, + { + "a": 14, + "h": 12, + "terms_in_each_branch": 168 + }, + { + "a": 14, + "h": 13, + "terms_in_each_branch": 182 + }, + { + "a": 14, + "h": 14, + "terms_in_each_branch": 196 + } + ], + "growth": { + "maximum_a": 300, + "exact_product_inequalities": "PASS" + }, + "negative_controls": { + "drop_fourier_phase": "reject: weights need not be nonnegative, e.g. M=2,h=2,g=1,u=1,v=2 has weight -5", + "keep_only_one_outer_branch": "reject: factor 3 requires both outer branches and the leg-swapped middle branch", + "arbitrary_arithmetic_circuit": "reject: stability proof requires recursive bilinear structure; unbounded sequential multiplication does not follow", + "endpoint_exponent_9/4": "reject: rank infimum only supplies fixed algorithms strictly above 9/4", + "arbitrary_complex_constants": "reject: computability requires algebraic-point replacement or explicit computable coefficients" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json new file mode 100644 index 0000000000..c6275bc1cb --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json @@ -0,0 +1,114 @@ +{ + "status": "FULL_SOURCE_READ_AND_AUDITED", + "source": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex", + "sha256": "c396f2580a711b8b9e51ecf1265cb0e691acd745943f81bfc14ec0df209e1028", + "line_count": 1022, + "coverage": [ + { + "first_line": 1, + "last_line": 36, + "topic": "preamble and abstract", + "read": true + }, + { + "first_line": 37, + "last_line": 141, + "topic": "introduction and theorem", + "read": true + }, + { + "first_line": 142, + "last_line": 203, + "topic": "tensor semiring and rank", + "read": true + }, + { + "first_line": 204, + "last_line": 235, + "topic": "dot exponents", + "read": true + }, + { + "first_line": 236, + "last_line": 269, + "topic": "interpolation", + "read": true + }, + { + "first_line": 270, + "last_line": 349, + "topic": "finite shared-leg separation", + "read": true + }, + { + "first_line": 350, + "last_line": 391, + "topic": "entropy", + "read": true + }, + { + "first_line": 392, + "last_line": 432, + "topic": "polynomial profile", + "read": true + }, + { + "first_line": 433, + "last_line": 523, + "topic": "determinant filtration", + "read": true + }, + { + "first_line": 524, + "last_line": 604, + "topic": "tripling", + "read": true + }, + { + "first_line": 605, + "last_line": 651, + "topic": "diagonal growth", + "read": true + }, + { + "first_line": 652, + "last_line": 689, + "topic": "rank and arithmetic conclusion", + "read": true + }, + { + "first_line": 690, + "last_line": 699, + "topic": "algebraic coefficients", + "read": true + }, + { + "first_line": 700, + "last_line": 769, + "topic": "multiplicativity appendix", + "read": true + }, + { + "first_line": 770, + "last_line": 905, + "topic": "detecting-state existence appendix", + "read": true + }, + { + "first_line": 906, + "last_line": 1022, + "topic": "bibliography and ending", + "read": true + } + ], + "readme": { + "path": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/README.md", + "sha256": "1857fc06d04a43588207ba2f726679c50a418299a5fd0313423a354680a783a7", + "read": true + }, + "companion_2_258_claimed_read": false, + "companion_required": false, + "proof_dependencies": "The required new interpolation, determinant, entropy, growth and spectral detection arguments are contained in this source. Standard background dependencies are listed in PROOF-AND-COVERAGE.md.", + "finite_rank_scheme_generated": false, + "outer_improvement_claimed_by_this_audit": false +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py new file mode 100644 index 0000000000..c8e362e90d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python3 +"""Exact finite controls for the constructions in the supplied 9/4 paper. + +These checks are controls for an end-to-end human proof audit, not substitutes +for the universal proofs or an executable fast matrix multiplication scheme. +""" +from fractions import Fraction as Q +from pathlib import Path +import hashlib +import json + +ROOT = Path(__file__).resolve().parent +SOURCE = Path('/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex') + +def inverse(a): + n = len(a) + t = [[Q(v) for v in row] + [Q(i == j) for j in range(n)] + for i, row in enumerate(a)] + for j in range(n): + p = next(i for i in range(j, n) if t[i][j]) + t[j], t[p] = t[p], t[j] + z = t[j][j] + t[j] = [v/z for v in t[j]] + for i in range(n): + if i != j: + z = t[i][j] + t[i] = [v-z*w for v,w in zip(t[i],t[j])] + return [row[n:] for row in t] + +def mm(a,b): + return [[sum(x*y for x,y in zip(row,col)) for col in zip(*b)] + for row in a] + +def basis(e): + # Ambient coordinates: u^(e-i)v^i s, then u^(e-i)v^i w. + n = 2*(e+1) + cols = [] + for i in range(e+1): + v = [Q(0)]*n + v[i] = 1 + cols.append(v) + v = [Q(0)]*n + v[-1] = 1 + cols.append(v) + for j in range(e): + v = [Q(0)]*n + v[j+1] = -1 + v[e+1+j] = 1 + cols.append(v) + return [list(row) for row in zip(*cols)] + +def check_determinant(): + cases = [] + for a in range(1,9): + for b in range(2,9): + ei, eo = b-1, a+b-2 + bi, bo = basis(ei), basis(eo) + inv = inverse(bo) + for k in range(a): + mult = [[Q(0)]*(2*b) for _ in range(2*(a+b-1))] + for side in range(2): + for i in range(b): + mult[side*(a+b-1)+i+k][side*b+i] = 1 + t = mm(inv,mm(mult,bi)) + qo, qi = a+b, b+1 + for i,row in enumerate(t): + for j,val in enumerate(row): + if i < qo and j < qi: + assert val == Q(i == j+k) + elif i < qo and j >= qi: + assert val == 0 + elif i >= qo and j >= qi: + assert val == Q(i-qo == j-qi+k) + # Only the lower-left block may remain, with weight +1. + cases.append({'a':a,'b':b,'slices_checked':a}) + return cases + +def check_fourier(): + cases = [] + for m in range(1,13): + terms = surviving = zeros = 0 + for h in range(1,m+1): + for g in range(1,m+1): + for u in range(1,m+1): + for v in range(1,m+1): + terms += 1 + phase = u-v+2*(g-h) + assert abs(phase) < 5*m + if phase % (5*m) == 0: + surviving += 1 + assert phase == 0 + weight = g*g+h*u-h*h-h*v + assert weight == (g-h)**2 >= 0 + if weight == 0: + zeros += 1 + assert g == h and u == v + assert zeros == m*m + cases.append({'M':m,'potential_terms':terms, + 'fourier_survivors':surviving,'weight_zero_terms':zeros}) + return cases + +def check_tripling(): + cases = [] + for a in range(1,15): + for h in range(1,15): + B=3*h+a-1 + sectors=[set(),set(),set()] + for x in range(a): + for y in range(B): + z=x+y + sy=0 if y= 0 + if weight==0: + assert sy==sz + if sy==0: + t=(x,y,z) + elif sy==2: + t=(x,y-(2*h+a-1),z-(2*h+a-1)) + else: + # Swap second/third legs; reverse first-leg basis. + t=(a-1-x,z-(h+a-1),y-h) + assert t[2]==t[0]+t[1] + sectors[sy].add(t) + expected={(x,y,x+y) for x in range(a) for y in range(h)} + assert all(s==expected for s in sectors) + cases.append({'a':a,'h':h,'terms_in_each_branch':a*h}) + return cases + +def check_growth(): + h=Q(1) + for a in range(1,301): + if a>1: h *= 1+Q(1,3*(a-1)) + assert h**3 >= a + assert Q(3*a-1,2) >= a + return {'maximum_a':300,'exact_product_inequalities':'PASS'} + +if __name__ == '__main__': + raw=SOURCE.read_bytes() + result={ + 'status':'PASS_EXACT_SOURCE_CONTROLS', + 'scope':'Finite controls accompany a full universal proof audit; no rank algorithm synthesized.', + 'source':str(SOURCE), + 'source_sha256':hashlib.sha256(raw).hexdigest(), + 'source_lines':len(raw.splitlines()), + 'fourier':check_fourier(), + 'determinant_filtration':check_determinant(), + 'tripling':check_tripling(), + 'growth':check_growth(), + 'negative_controls':{ + 'drop_fourier_phase': 'reject: weights need not be nonnegative, e.g. M=2,h=2,g=1,u=1,v=2 has weight -5', + 'keep_only_one_outer_branch':'reject: factor 3 requires both outer branches and the leg-swapped middle branch', + 'arbitrary_arithmetic_circuit':'reject: stability proof requires recursive bilinear structure; unbounded sequential multiplication does not follow', + 'endpoint_exponent_9/4':'reject: rank infimum only supplies fixed algorithms strictly above 9/4', + 'arbitrary_complex_constants':'reject: computability requires algebraic-point replacement or explicit computable coefficients', + }, + } + (ROOT/'SOURCE-CONSTRUCTIONS.json').write_text(json.dumps(result,indent=2)+'\n') + print(result['status']) + print('source lines',result['source_lines']) + print('fourier M cases',len(result['fourier'])) + print('determinant cases',len(result['determinant_filtration'])) + print('tripling cases',len(result['tripling'])) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md new file mode 100644 index 0000000000..62c3fa27b6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md @@ -0,0 +1,72 @@ +# Conditional refinement: cap interior length independently of d + +This is a separate follow-up to the uncapped proof audit. Its current status is **PASS_CONDITIONAL_PHASE_FUSION_REVIEW**, following the independent capped-gauge and capped-layout audits and an integrated root review. It preserves the weaker `OUTER-ARITHMETIC.json` as history. Under the retained supplier assumptions and the reviewed interfaces, the capped construction below gives `kappa=0.001672922349588871`. The only new analytic change is the anchored O(aB) local gauge; all altered operation counts are derived explicitly here. No upstream selected certificate is changed. + +Let the original phase-cell scale remain `d=p^epsilon`, and cap dyadic interior lengths at `B=2^floor(b log2 p)`, where `1/20. The supplier support proof needs each individual K-neighborhood to fit its original axis and total moved support o(p); it does **not** require all g controls to fit within one original axis. The sufficient auxiliary inequality `beta<1-epsilon` in the uncapped ledger must therefore be removed in this follow-up. + +The changed principal exponents, normalized by V, are + +| Component | exponent | +|---|---:| +| main transform | `1-epsilon*q` | +| fused Gaussian circuits | `epsilon-q*beta` | +| boundary algebra | `epsilon-b+(omega-1)/2` | +| sparse union movement | `epsilon+beta+1/2-b` | +| grouped scans | `epsilon-beta` | + +For the boundary row, one axis has O(V W/B) boundary records. A band solve or coupling product on W simultaneous right-hand sides costs O(W^(omega-2)) per boundary record, so all d axes cost `O(V (d/B) W^(omega-1) polylog p)`. The new factor d/B must not be omitted. For the sparse union, its fraction within a group is O(gW/B polylog p); g sequential axis operations and d/g groups give `O(V (dg/B) W polylog p)`. These are precisely the third and fourth changed rows. + +All other costs in `OUTER-AUDIT.md` remain paid. Global routing has saving a_eff; packed polynomial products have saving epsilon. Even a conservative full active-group key surcharge adds only `beta+1-epsilon` to the union exponent. Sparse core-face corrections have exponent at most `epsilon+beta-3`, using the former p² per-record allowance on their O(gA/L) copied volume. + +With the rational bound omega<45/16, put c=(3-omega_upper)/2=3/32 and take a positive boundary slack s_boundary=10^-5. Balancing the two dominant rows while leaving that boundary slack gives + +``` +epsilon=(1+q+q*(c-s_boundary-r-zeta))/(1+q)^2, +b=epsilon*(1+q)-c+s_boundary, +beta=1-b-r-zeta, +kappa_limit=epsilon*q. +``` + +Using the same q, r and zeta as the uncapped candidate yields approximately + +``` +epsilon = 0.9984838711085557536432677624420451614... +b = 0.9064167934681446247757331487619919695... +beta = 0.0935821965318553752242668512380080305... +kappa_limit = 0.0016729223595888711324653863199468081... +kappa = 0.001672922349588871 +``` + +The boundary saving equals `kappa_limit+10^-5`. The union movement exponent is below 0.686, and even its optional full-key surcharge leaves it below 0.781. The per-record phase metadata exponent `beta+2(1-epsilon)` is below 0.097, so calculating all g membership predicates remains cheaper than scanning one p-bit record. Core-face repair costs remain negligible at L=p^8. + +The common compiled H calls are still made globally across complete coarse-label ranges. Each selected bit needs only its own K=128G neighborhood to fit its original axis. Since `1-epsilon>0`, this holds eventually even though gK is larger than one axis width. The total support is O(g polylog p)=o(p), because beta<1. All support-router reservoirs, product row stock and exact endpoint restoration are those of the independently audited supplier. + +At the displayed parameters, `b>1/2`, `epsilon>b`, `beta>0`, `epsilon>beta`, `1-b-r-beta=zeta>0`, and `1-epsilon-r>0`. These respectively pay the wide-band separation, cap below original cell scale, growing group payload, number of groups, compiled local-gauge precision, and global gamma/rounding range. The raw global rounded weights may still have O(ad) logarithmic range during offline generation. The **data** only sees exact anchored ratios of range O(aB); approximating those ratios to the retained precision introduces `exp(o(p))` error amplification, already paid by the strict group guard. + +The assembled group endpoints are the same full normalized Haug inverse or Saug/4 operators as in the uncapped proof. Changing the interior partition changes only their factorization. It does not change their completed contraction bounds, intended zero-hole semantics, principal-core locality, or the final `2^D` scale compensation. Consequently the uncapped precision and error argument applies with the improved group gauge budget. + +`check_capped_outer.py` computes 44 exact positive slacks, every displayed cost margin, and five rejecting controls. The full-cell-gauge control is especially relevant: it fails, so the stronger result depends on the independently reviewed anchored-gauge proof. The local review retains the original supplier and all-size conditional assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..56c871f4f3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json @@ -0,0 +1,388 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "scope": "Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.", + "review": { + "integrated_review": "Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.", + "independent_cap_gauge": "CAPPED-GAUGE-AUDIT.md", + "independent_cap_layout": "CAPPED-SIGNOFF.md", + "supplier_support": "SUPPLIER-SUPPORT-AUDIT.md" + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_boundary": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "capped_block_power": { + "rational": "3631741843538363603786961767383/4006701850307232414091700000000", + "decimal": "0.90641679346814462477573314876199196952827856807257517068829472760" + }, + "beta_group": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "c_boundary": { + "rational": "3/32", + "decimal": "0.09375" + }, + "kappa": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "group_bit_router": { + "rational": "268565263693445502595657234197195111684434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223642679809590581550811601506812813875517947775721171084429" + }, + "group_scans": { + "rational": "152667615602647020756995267555861382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.095098325423299621580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra": { + "rational": "270170628914002673224188597080315522300507800685211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016829223595888711324653863199468081193809860282087059757458669773" + }, + "sparse_union_movement": { + "rational": "50464795843106818372778537326217184169040543916310211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.31435072582773349590819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key": { + "rational": "878478998384747396741111767383/4006701850307232414091700000000", + "decimal": "0.21925240040443387432719944628597590858483570421772551206488418280" + }, + "polynomial_products": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections": { + "rational": "4668298183036122054984246889917045528294403556/1605365971725539986393675267555861382073600889", + "decimal": "2.9079339323595888711324653863199468081193809860282087059757458670" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "epsilon_below_one": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "capped_block_above_band": { + "rational": "1628390918384747396741111767383/4006701850307232414091700000000", + "decimal": "0.40641679346814462477573314876199196952827856807257517068829472760" + }, + "capped_block_below_cell": { + "rational": "14780135356012934699216517036255884934639500533689789/160536597172553998639367526755586138207360088900000000", + "decimal": "0.092067077640411128867534613680053191880619013971791294024254133023" + }, + "group_positive": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "group_below_dimension": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "support_router_span": { + "rational": "36317458903072324140917/40067018503072324140917", + "decimal": "0.90641780346814462477573314876199196952827856807257517068829472760" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "decimal": "0.0015151288914442463567322375579548385911024179556335352874511393772" + }, + "actual_logarithmic_gamma_guard": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "membership_arithmetic_fits_record": { + "rational": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889", + "decimal": "0.90338554568525613206226867364608229234607373216130810011339244885" + }, + "microbox_halo_volume": { + "rational": "196585532915361620704585/40067018503072324140917", + "decimal": "4.9064178034681446247757331487619919695282785680725751706882947276" + }, + "boundary_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "short_record_fallback": { + "rational": "64009691972259592449574424556617076733497945671686139566638347524787/64214638869021599455747010702234455282944035560000000000000000000000", + "decimal": "0.99680840848174765012034276244204516140889758204436646471254886062" + }, + "improvement": { + "rational": "262152511953/1000000000000000000", + "decimal": "2.62152511953E-7" + }, + "main_transform_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "101611088769300917/40000000000000000000000", + "decimal": "0.000002540277219232522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "group_bit_router_above_kappa": { + "rational": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.4679109959058155081160150681281387551794777572117108442914158359E-11" + }, + "group_scans_above_kappa": { + "rational": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.093425403073710750580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.000010000010000000132465386319946808119380986028208705975745866977329" + }, + "sparse_union_movement_above_kappa": { + "rational": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.31267780347814462490819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key_above_kappa": { + "rational": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "decimal": "0.21757947805484500332719944628597590858483570421772551206488418280" + }, + "polynomial_products_above_kappa": { + "rational": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.99681094875896688264326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections_above_kappa": { + "rational": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "2.9062610100100000001324653863199468081193809860282087059757458670" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_boundary_slack": { + "boundary_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-251710882294553122358948322009002986896953538037431690106319/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "-0.00015679345814462464326776244204516140889758204436646471254886062281" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-147801337506469629736765306425806173787781184600889/1605365971725539986393675267555861382073600889000000", + "decimal": "-0.092067067640411128867534613680053191880619013971791294024254133023" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json new file mode 100644 index 0000000000..54ad0ed498 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json @@ -0,0 +1,414 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "scope": "Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.", + "review": { + "integrated": "Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.", + "matrix_source": "PROOF-AND-COVERAGE.md", + "effective_stability": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "independent_layout": "MATRIX-LAYOUT-SIGNOFF.md" + }, + "omitted_row": { + "name": "optional full-coordinate-key union surcharge", + "reason": "The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost." + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_union": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "capped_block_power": { + "rational": "6006737803538363603786961767383/8006701850307232414091700000000", + "decimal": "0.75021374791267813012557319136042532178866352100676648857598350268" + }, + "beta_group": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "matrix_exponent": { + "rational": "19/8", + "decimal": "2.375" + }, + "matrix_source_bound": { + "rational": "9/4", + "decimal": "2.25" + }, + "c_boundary": { + "rational": "5/16", + "decimal": "0.3125" + }, + "kappa": { + "rational": "836680052702889/500000000000000000", + "decimal": "0.001673360105405778" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "first_reviewed_transfer": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "group_bit_router": { + "rational": "536821745603195808901091315103570008424470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601278950405581831414454417167161806227872696731761529052912" + }, + "group_scans": { + "rational": "805348355725539986393675267555861382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.25104009637737138807709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix": { + "rational": "6840475465266695248410101923394927751720175749186737/106934890394947765067678508918528712735786696300000000", + "decimal": "0.063968602202727648328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement": { + "rational": "540029788308430619120633021537184169040543916310211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016833601154057784538170479517203762842018888767028492264912297200" + }, + "polynomial_products": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections": { + "rational": "2942281014059281127650388129972348509431467852/1069348903949477650676785089185287127357866963", + "decimal": "2.7514696122027276483282438565912950544955383678699363606505077270" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "epsilon_below_one": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "capped_block_above_band": { + "rational": "2003386878384747396741111767383/8006701850307232414091700000000", + "decimal": "0.25021374791267813012557319136042532178866352100676648857598350268" + }, + "capped_block_below_cell": { + "rational": "26576677783154481335239432113645294978213166844563263/106934890394947765067678508918528712735786696300000000", + "decimal": "0.24853139779727235167175614340870494550446163213006363934949227296" + }, + "group_positive": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "group_below_dimension": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "support_router_span": { + "rational": "60067458903072324140917/80067018503072324140917", + "decimal": "0.75021475791267813012557319136042532178866352100676648857598350268" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "4022423132330408193934897047393826212218815399111/3208046711848432952030355267555861382073600889000000", + "decimal": "0.0012538542900495182026706652308697327068748468631698720745242243534" + }, + "actual_logarithmic_gamma_guard": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "membership_arithmetic_fits_record": { + "rational": "799557574981283569669931024199112872642133037/1069348903949477650676785089185287127357866963", + "decimal": "0.74770504933257909372023186089868585637491382728042674442693505398" + }, + "sparse_union_fraction_decays": { + "rational": "3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "0.00042850582535626025114638272085064357732704201353297715196700536668" + }, + "microbox_halo_volume": { + "rational": "380335532915361620704585/80067018503072324140917", + "decimal": "4.7502147579126781301255731913604253217886635210067664885759835027" + }, + "union_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "matrix_exponent_above_source_bound": { + "rational": "1/8", + "decimal": "0.125" + }, + "matrix_exponent_below_five_halves": { + "rational": "1/8", + "decimal": "0.125" + }, + "short_record_fallback": { + "rational": "127945844731945360830644877923109261450553910111686139566638347524787/128321868473937318081214210702234455282944035560000000000000000000000", + "decimal": "0.99706968308314237827440433476913026729312515313683012792547577565" + }, + "improvement_over_selected": { + "rational": "34995416443/50000000000000000", + "decimal": "6.9990832886E-7" + }, + "improvement_over_first_reviewed_transfer": { + "rational": "437755816907/1000000000000000000", + "decimal": "4.37755816907E-7" + }, + "main_transform_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "84100856093020917/40000000000000000000000", + "decimal": "0.000002102521402325522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "group_bit_router_above_kappa": { + "rational": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "2.2489262558183141445441716716180622787269673176152905291235206499E-11" + }, + "group_scans_above_kappa": { + "rational": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.24936673627196561007709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "0.062295242097321870328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement_above_kappa": { + "rational": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.000010000010000000453817047951720376284201888876702849226491229720034" + }, + "polynomial_products_above_kappa": { + "rational": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.99707178560454470379732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections_above_kappa": { + "rational": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "2.7497962520973218703282438565912950544955383678699363606505077270" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_union_slack": { + "union_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-671293102421548330224240638726085360914759610620097483268321/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "-0.00041850581535625979732933476913026729312515313683012792547577564665" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-265766767138055773857617814368602057929260394866963/1069348903949477650676785089185287127357866963000000", + "decimal": "-0.24853138779727235167175614340870494550446163213006363934949227296" + } + }, + "full_key_sort_on_union": { + "unnecessary_union_full_key_sort_above_kappa": { + "rational": "-3349871895112392252395010152271923003071/13344503083845387356819500000000000000000", + "decimal": "-0.25103009636737138762328042591872403463400943697970053427204949195" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json new file mode 100644 index 0000000000..fea12fbe37 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json @@ -0,0 +1,164 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:11:15.272021+00:00", + "kappa": "836680052702889/500000000000000000", + "kappa_decimal": "0.001673360105405778", + "upstream_selected_unchanged": true, + "base_transfer_preserved": "CAPPED-OUTER-ARITHMETIC.json and REVIEW-RECEIPT.json", + "additional_hypothesis": "The supplied Matrix Multiplication in Nine Fourths theorem gives omega_C<=9/4; apply the independently audited effective algebraic transfer at tau=19/8.", + "limitations": [ + "All finite supplier, common-frame, whole-call, semantic precision, fixed-tape and prime-packing assumptions of the first transfer remain.", + "No generated competitive finite matrix formula or practical runtime claim is made; the fixed formula search is effective but may have enormous constant cost.", + "This is a local conditional corollary, not an upstream selected certificate or an unconditional integer-multiplication theorem." + ], + "reviews": [ + { + "reviewer": "root agent", + "result": "Read matrix corollary and independent layout signoff; reproduced exact parameters/ledger and matrix construction controls; approved integrated conditional corollary." + }, + { + "reviewer": "matrix_boundary agent", + "result": "Read all 1022 supplied source lines and audited effective algebraic coefficient, fixed-tape, precision and rank-exponent transfer." + }, + { + "reviewer": "global_macro agent", + "result": "Independent new-parameter no-sort union, metadata, q-ordering and microhalo layout signoff." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read both complete matrix transfer notes and independent layout signoff; constructed and replayed 47-slack ledger and six rejecting controls." + }, + { + "reviewer": "independent_fusion_review agent and independent children", + "result": "No blocking gap found under stated assumptions after full compiler, support, Gaussian, layout and tape-cost review. Generic SPD scale wording corrected without changing parameters. See independent FINAL-REVIEW.json." + } + ], + "arithmetic": { + "positive_slacks": 47, + "rejecting_controls": 6, + "minimum_saving": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "files": [ + { + "bundle_filename": "phase_fusion_note.tex", + "source_path": "work/phase_assembly_ultra/phase_fusion_note.tex", + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "bytes": 33757 + }, + { + "bundle_filename": "MATRIX-COROLLARY.md", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY.md", + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "bytes": 5787 + }, + { + "bundle_filename": "check_matrix_corollary.py", + "source_path": "work/phase_assembly_ultra/check_matrix_corollary.py", + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "bytes": 6692 + }, + { + "bundle_filename": "MATRIX-COROLLARY-ARITHMETIC.json", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json", + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "bytes": 16783 + }, + { + "bundle_filename": "PROOF-AND-COVERAGE.md", + "source_path": "work/matrix_boundary_ultra/PROOF-AND-COVERAGE.md", + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "bytes": 12130 + }, + { + "bundle_filename": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "source_path": "work/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md", + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "bytes": 11743 + }, + { + "bundle_filename": "MATRIX-SOURCE-COVERAGE.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-COVERAGE.json", + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "bytes": 2839 + }, + { + "bundle_filename": "MATRIX-SOURCE-CONSTRUCTIONS.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json", + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "bytes": 21018 + }, + { + "bundle_filename": "MATRIX-TRANSFER-MANIFEST.json", + "source_path": "work/matrix_boundary_ultra/MANIFEST.json", + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "bytes": 1159 + }, + { + "bundle_filename": "MATRIX-LAYOUT-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md", + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "bytes": 3081 + }, + { + "bundle_filename": "MATRIX-LAYOUT-CONTROLS.json", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json", + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "bytes": 1446 + }, + { + "bundle_filename": "PHASE-LAYOUT-AUDIT.md", + "source_path": "work/phase_layout_audit_ultra/AUDIT.md", + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "bytes": 11774 + }, + { + "bundle_filename": "CAPPED-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md", + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "bytes": 4414 + }, + { + "bundle_filename": "CAPPED-GAUGE-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md", + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "bytes": 9176 + }, + { + "bundle_filename": "LOG-A-PHASE-SCHUR-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md", + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "bytes": 10642 + }, + { + "bundle_filename": "FORWARD-SMALL-A-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md", + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "bytes": 6689 + }, + { + "bundle_filename": "SHALLOW-TOEPLITZ.md", + "source_path": "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md", + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "bytes": 15480 + }, + { + "bundle_filename": "TENSOR-COMPILER.md", + "source_path": "work/inplace_algebra_ultra/TENSOR-COMPILER.md", + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "bytes": 13430 + }, + { + "bundle_filename": "SUPPLIER-SUPPORT-AUDIT.md", + "source_path": "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md", + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "bytes": 16557 + }, + { + "bundle_filename": "SUPPORT-ROUTER.md", + "source_path": "work/halo_layout_ultra/SUPPORT-ROUTER.md", + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "bytes": 7755 + } + ], + "post_review_correction": "Generic SPD prefix bound records both M and 1/m, not condition number alone; actual Gaussian bounds already satisfy it." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md new file mode 100644 index 0000000000..f08bb57f9c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md @@ -0,0 +1,72 @@ +# Additional corollary using the supplied matrix-exponent theorem + +Status: **PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW**. The independent matrix-transfer and new-parameter layout audits passed, followed by the integrated root review and exact ledger replay. The first, Strassen-based result `kappa=0.001672922349588871` remains separately reviewed and unchanged. Neither result changes the upstream selected certificate. + +This corollary has an **additional hypothesis**: the supplied *Matrix Multiplication in Nine Fourths* theorem gives `omega_C<=9/4`. Its complete-source audit is `PROOF-AND-COVERAGE.md`; the effective approximate-bit transfer is `ALGEBRAIC-STABILITY-INDEPENDENT.md`. The result here retains every supplier and all-size assumption of the first phase-fusion theorem. + +## Effective matrix operation with the required error interface + +Fix `tau=19/8>9/4`. The matrix exponent theorem supplies a fixed block dimension m and rank r with `r0`. All local coefficient pages remain polynomial in p, while `L^g` remains superpolynomial. Microedge correction has exponent `epsilon+beta-3<-1.75`, including the generous old scalar arithmetic bound. Sparse microhalo key passes remain explicitly paid inside that negligible budget. + +All forward q-image group embeddings occur in native axis-major order before the one global low-bit gather. All compression q-image extractions occur after the inverse global gather. The entire Gaussian calculation keeps full dyadic target coordinate ranges, so every globally invoked H stage has complete coarse labels. This schedule needs no per-group gathering of the whole long-axis fields; the q-image scans have the already-paid Vd/g cost. + +The **optional full-group-key sort surcharge on the sparse union is omitted** because it is absent from the actual algorithm. The reviewed union routine extracts the complete rectangle `U_i=E_i x [L]^(g-1)`, transposes only its one polynomial-size field, computes its axis operator, and merges it into U in the original order. It does not radix-sort U. Reintroducing that sort is a rejecting control in the new ledger; it would destroy this parameter choice. This omission relies on the existing positive layout proof, not on the matrix theorem. + +`check_matrix_corollary.py` verifies 47 exact positive slacks and six rejecting controls and writes `MATRIX-COROLLARY-ARITHMETIC.json`. The rejected variants are endpoint equality, zero group guard, zero union slack, the old Vd row, the old full-cell data gauge, and adding a full-key sort to U. The first theorem's records are not overwritten. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..3ea510f010 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json @@ -0,0 +1,369 @@ +{ + "status": "PASS_EXACT_ARITHMETIC_PENDING_FULL_PROOF_REVIEW", + "scope": "Exact outer arithmetic; no automatic theorem promotion.", + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "b": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "t_stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "epsilon": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "beta_group": { + "rational": "2232601179454534595653922461/1337801233538154942727800000000", + "decimal": "0.0016688586641154860236595852075226892595352564485308467912706704140" + }, + "kappa": { + "rational": "1672664764353193/1000000000000000000", + "decimal": "0.001672664764353193" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "89507719937020873513319867914705021786833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647743531934852000135266363446297676282242654233956353352070" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "89507719937020873513319867914705021786833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647743531934852000135266363446297676282242654233956353352070" + }, + "group_bit_router": { + "rational": "89507719941486075872228937106012866708833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647744366364184057878278193238901437626872421862180618775466" + }, + "group_scans": { + "rational": "22332767690774713639/6689006167690774713639", + "decimal": "0.0033387273282309720473191704150453785190705128970616935825413408280" + }, + "boundary_batched_algebra": { + "rational": "3/32", + "decimal": "0.09375" + }, + "sparse_union_movement": { + "rational": "666668015589622936768246077539/1337801233538154942727800000000", + "decimal": "0.49833114133588451397634041479247731074046474355146915320872932959" + }, + "sparse_union_full_key": { + "rational": "220733820683822664680148692513/445933744512718314242600000000", + "decimal": "0.49499241400765354192902124437743193222139423065440745962618798876" + }, + "polynomial_products": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "microbox_face_corrections": { + "rational": "300000101/100000000", + "decimal": "3.00000101" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_prime_below_one": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "epsilon_positive": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "epsilon_below_one": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "group_positive": { + "rational": "2232601179454534595653922461/1337801233538154942727800000000", + "decimal": "0.0016688586641154860236595852075226892595352564485308467912706704140" + }, + "group_below_dimension": { + "rational": "6666673400000000000000/6689006167690774713639", + "decimal": "0.99666127267176902795268082958495462148092948710293830641745865917" + }, + "group_controls_below_one_axis_width": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "support_router_span": { + "rational": "1335568632358700408132146077539/1337801233538154942727800000000", + "decimal": "0.99833114133588451397634041479247731074046474355146915320872932959" + }, + "group_guard": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "local_gauge_sublinear": { + "rational": "2232614557466869977203349739/1337801233538154942727800000000", + "decimal": "0.0016688686641154860236595852075226892595352564485308467912706704140" + }, + "core_above_band": { + "rational": "666666664410377063231753922461/1337801233538154942727800000000", + "decimal": "0.49833013133588451397634041479247731074046474355146915320872932959" + }, + "record_suffix": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "prime_interval_packing": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "semantic_dimension_guard": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "microbox_larger_than_halo": { + "rational": "6686773566511320179043346077539/1337801233538154942727800000000", + "decimal": "4.9983311413358845139763404147924773107404647435514691532087293296" + }, + "short_record_fallback": { + "rational": "266665169042112715270864145879634872642133037/267560246707630988545560000000000000000000000", + "decimal": "0.99665466870907641045341541479247731074046474355146915320872932959" + }, + "improvement": { + "rational": "182691051/40000000000000000", + "decimal": "4.567276275E-9" + }, + "main_transform_above_kappa": { + "rational": "535120519379309041437662627170833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0000000485200013526636344629767628224265423395635335207002345453E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "111914498196420917/40000000000000000000000", + "decimal": "0.000002797862454910522925" + }, + "fused_gaussian_above_kappa": { + "rational": "535120519379309041437662627170833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0000000485200013526636344629767628224265423395635335207002345453E-11" + }, + "group_bit_router_above_kappa": { + "rational": "539585721738218110628970472092833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0083443418405787827819323890143762687242186218061877546565878974E-11" + }, + "group_scans_above_kappa": { + "rational": "11144302765537169372248646690369700673/6689006167690774713639000000000000000000", + "decimal": "0.0016660625638777790473191704150453785190705128970616935825413408280" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "92077335235646807/1000000000000000000", + "decimal": "0.092077335235646807" + }, + "sparse_union_movement_above_kappa": { + "rational": "3322151613022877139574479034385369700673/6689006167690774713639000000000000000000", + "decimal": "0.49665847657153132097634041479247731074046474355146915320872932959" + }, + "sparse_union_full_key_above_kappa": { + "rational": "1099939615110700808645159678128456566891/2229668722563591571213000000000000000000", + "decimal": "0.49331974924330034892902124437743193222139423065440745962618798876" + }, + "polynomial_products_above_kappa": { + "rational": "6666647940972035128711518258995369700673/6689006167690774713639000000000000000000", + "decimal": "0.99665746657153132097634041479247731074046474355146915320872932959" + }, + "microbox_face_corrections_above_kappa": { + "rational": "2998328345235646807/1000000000000000000", + "decimal": "2.998328345235646807" + } + }, + "controls": { + "complex_endpoint_equality": { + "rejected_slacks": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + } + }, + "zero_group_guard": { + "rejected_slacks": { + "group_guard": { + "rational": "0", + "decimal": "0" + } + } + }, + "old_per_axis_scan": { + "rejected_slacks": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-18703131735503606020965614630299327/6689006167690774713639000000000000000000", + "decimal": "-0.0000027961002377069763404147924773107404647435514691532087293295859953" + } + } + } + }, + "theorem_obligations": [ + "retained finite suppliers and exact common-frame/mutable-source compiler", + "deferred reservations and paid global synthetic layout", + "shallow Toeplitz plus SPD extension and tensor compiler", + "small-a forward conditioning and exact target-grid square completion", + "grouped sparse-union route and batched boundary arithmetic", + "dyadic core with sparse microbox-face repair and monotone q-image scans", + "scalar product-diagonal scan and retained all-size semantic/prime/error transfer" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md new file mode 100644 index 0000000000..974b8db67f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md @@ -0,0 +1,93 @@ +# Phase-cell fusion: outer assembly audit + +Status: assembly audit in progress. The exact arithmetic in this directory is a **conditional target**, not a replacement of the selected certificate. The remaining proof interfaces are recorded explicitly below. + +## Conditional transfer statement + +Assume the same finite bit/complex suppliers, common-label arithmetic compiler, semantic guard and all-size fixed-tape interfaces as the selected conditional PR1094 result. Also assume the new deferred-reservation, support-limited H supplier, shallow-circuit tensorization, and grouped sparse/core-halo lemmas below have their stated uniform implementations. Then the retained integer-multiplication reduction runs in + +`O(n (log n)^(1-kappa))`, `kappa=0.001672664764353193`. + +Here p=Theta(log n) and the live scalar bit volume V=Theta(n). Global one-axis preprocessing is polynomial in the original axis sizes and p, hence `n^o(1)`. Table construction or page loading repeated per coarse block is charged to its superpolynomial `L^g` payload by the tensor/scan lemmas; it is included in the displayed V costs, rather than called one global preprocessing operation. Every cost row below is `O(V p^e polylog p)` with `1-e>kappa`. The minimum excess is greater than `10^-11`. Consequently every fixed logarithmic factor and each use of the unconditional quasi-linear short arithmetic kernel can be absorbed in a single positive fraction of that excess. Floors, rounded alpha, and dyadic L alter constants or logarithmic factors. All claims are eventual in p; one fixed finite prefix of inputs can use the retained elementary fallback. This statement becomes an admitted theorem only when the named implementation hypotheses receive the intended full review. + +## Parameter convention + +Let `a_bit=0.001733427039589844234749` and `b=0.001675462676808103522925` be the retained lower bounds certified by the selected PR1094 replay. For applying the older compact recurrence, lower the usable bit saving to `a_eff=(b+q)/2`; this keeps its historical convention `a_eff0` with `(1-t_stop)b>a_eff` and `q<(1-t_stop)b`. + +For each visited coarse block and group, all required local coefficient pages can instead be regenerated in polynomial time in p: there are g local windows of size at most L=Theta(p^8), their rational origins have O(p/d) bits, and the published local coefficient/Schur/circuit constructors are polynomial in that size and requested precision. Recover local phases and anchor gauges from these origins; do not form a raw uncentered global q² exponential on the data. The page contains O(p)-bit online coefficients. Its polynomial setup and sequential loading are amortized by the complete `L^g` payload, which eventually dominates every fixed power of p. This gives an explicit access method even when the coarse labels are permuted; no random global coefficient-table lookup is assumed. + +Global chirps, twists, positive diagonal normalizations and exact scale factors are separable products. The prefix-product scan supplies their products in O(V polylog p), with completed scalar range `O(d alpha^2)=o(p)`. Packed polynomial products retain their saving epsilon. The finite supplier, exact common-label frame, whole-call hosting, semantic depth bound with C1=1, phase precision, prime packing and fixed-tape input/output assumptions are inherited unchanged. They are still conditional interfaces, as in the selected result. + +## Cost ledger, with conservative wide bandwidth + +Let `h_w=1/2` and `h_K=beta+1-epsilon`. Normalize all costs by V. Fixed logarithmic factors are absorbed by strict gaps. + +| Component | power of p | reason | +|---|---:|---| +| main transform | `1-epsilon*q` | deferred reservations | +| constant global coordinate routing | `1-a_eff` | paid support/full router | +| dense Gaussian groups | `epsilon-q*beta` | `(d/g) g^(1-q)` | +| grouped bit routing | `epsilon-a_eff*beta` | same grouping, bit supplier | +| one/fixed group scans | `epsilon-beta` | d/g groups | +| boundary algebra | `(omega-1)*h_w` | batched w-column Strassen | +| sparse union, basic movement | `beta+h_w` | V g w overall | +| sparse union, conservative key surcharge | `beta+h_w+h_K` | full active-group keys | +| polynomial products | `1-epsilon` | retained short polynomial products | +| core-face corrections | `epsilon+beta+3-8+2` | old local maps on sparse copies, with a loose p² allowance | + +Use the rational upper bound `omega<45/16`, checked by `7^16<2^45`. The target balances the first and third rows exactly before a fixed 10^-11 absorption backoff. + +This ledger is accepted only after its circuit tensorizer, grouped sparse route, target-grid core/halo adapter, forward small-a inverse bound, and deferred-reservation interfaces have written proofs. Exact positive inequalities alone do not discharge those interfaces. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md new file mode 100644 index 0000000000..c9bd9bfd6f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md @@ -0,0 +1,15 @@ +# Reviewed conditional phase-cell fusion + +With the explicit additional supplied matrix-exponent premise `omega_C<=9/4`, the reviewed local corollary gives **`kappa=0.001673360105405778`**, a gain of `6.9990832886e-7` over the selected conditional exponent. Its status is `PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW`. + +The separate Strassen-based transfer gives `kappa=0.001672922349588871` with status `PASS_CONDITIONAL_PHASE_FUSION_REVIEW`, without that additional matrix premise. Both retain the original supplier and all-size computational assumptions. The upstream selected certificate is unchanged. + +- `phase_fusion_note.tex` is the standalone proof note. +- `CAPPED-INTERIORS.md` records the local gauge and boundary-count change. +- `check_capped_outer.py` recomputes 44 positive rational slacks and five rejecting controls; `CAPPED-OUTER-ARITHMETIC.json` records the reviewed local status. +- `MATRIX-COROLLARY.md` and `check_matrix_corollary.py` give the additional corollary; `MATRIX-COROLLARY-ARITHMETIC.json` contains 47 positive slacks and six rejecting controls. `MATRIX-COROLLARY-REVIEW.json` records its separate review and source hashes. +- `OUTER-AUDIT.md`, `check_outer.py`, and `OUTER-ARITHMETIC.json` preserve the weaker uncapped arithmetic as history. + +Run `python3 -B work/phase_assembly_ultra/check_capped_outer.py` and `python3 -B work/phase_assembly_ultra/check_matrix_corollary.py` from the workspace root. + +The old `Vd` row and the unrecentered full-cell gauge both reject this result. The improvement uses the reviewed Gaussian circuits, support-limited compact supplier, anchored capped gauges, and grouped sparse/halo scans. Tightening the old arithmetic alone cannot produce it. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json new file mode 100644 index 0000000000..2521d02ada --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:06:22.293042+00:00", + "kappa": "1672922349588871/1000000000000000000", + "kappa_decimal": "0.001672922349588871", + "upstream_selected_unchanged": true, + "scope": "Local all-size conditional transfer, retaining the selected finite suppliers and common-frame, whole-call, precision, fixed-tape and prime-packing hypotheses.", + "reviews": [ + { + "reviewer": "root agent", + "result": "Read standalone TeX, integrated notes and exact ledger; cap, supplier and layout audits passed; authorized local conditional status." + }, + { + "reviewer": "gaussian_fast agent", + "result": "Independent capped-gauge and finite-block audit passed; exact inherited-weight reanchoring and broad derivatives checked." + }, + { + "reviewer": "global_macro agent", + "result": "Independent capped carving, sparse-union, q-image and microedge layout audit passed." + }, + { + "reviewer": "inplace_algebra agent", + "result": "Global selected-H support and capacity audit passed; all g controls need not fit one original axis." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read named proofs and relevant retained source contracts; reconstructed complete cost ledger and reviewed capped interfaces." + } + ], + "phase_assembly_replays": [ + "check_capped_outer.py: 44 positive exact slacks and 5 rejecting controls", + "check_forward_cell.py: 350 cases, 5184 factorization and 16496 completion entries", + "check_union.py: exact five-factor/tensor/complete-rectangle checks, with dense escape negative control", + "check_q_embedding.py: product order and augmented inverse checks" + ], + "files": { + "work/phase_assembly_ultra/phase_fusion_note.tex": "da2bf119be3ed1e44473c380e43643d16bdc93015c80380fc59da33d84e951de", + "work/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "work/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "work/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "work/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "work/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "work/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "work/halo_layout_ultra/SUPPORT-ROUTER.md": "d4d2f5bd0a8eb51d9ebd28e4d1a38d3c69bdbf97471a705b3aa199c184364c52", + "work/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py new file mode 100644 index 0000000000..83223e0a2b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Independent rational ledger for capped phase interiors; proof review separate.""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,sigma_boundary=None,old_vd=False,full_cell_gauge=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + sigma_boundary=Q(1,10**5) if sigma_boundary is None else sigma_boundary + c=Q(3,32) + stop=Q(1,10**9) + eps=(1+q+q*(c-sigma_boundary-r-zeta))/(1+q)**2 + b=eps*(1+q)-c+sigma_boundary + beta=1-b-r-zeta + kappa=Q('0.001672922349588871') + selected=Q('0.001672660197076918') + tau,s=1-a,1-complex_ + internal=tau+(1-stop)*max(s-tau,Q(0)) + leaf=s+stop*(1-s) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_batched_algebra=c+b-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+b, + sparse_union_full_key=1-eps-beta-Q(1,2)+b-key, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd: margins['unreplaced_per_axis_scan']=1-eps + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau, + lambda_above_sigma=lam-s, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=b-Q(1,2), + capped_block_below_cell=eps-b, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-b-r-beta, + actual_logarithmic_group_guard=1-b-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + microbox_halo_volume=8-3-beta, + boundary_positive_slack=sigma_boundary, + short_record_fallback=eps-a, + improvement=kappa-selected, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['boundary_batched_algebra']==margins['main_transform']+sigma_boundary + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_boundary=sigma_boundary,stop=stop, + epsilon=eps,capped_block_power=b,beta_group=beta, + omega_upper=Q(45,16),c_boundary=c,kappa=kappa,selected=selected, + lambda_=lam,lambda_prime=1-q,tau=tau,sigma=s, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert 7**16<2**45 + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_boundary_slack',dict(sigma_boundary=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_PHASE_FUSION_REVIEW', + scope='Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.', + review=dict(integrated_review='Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.', + independent_cap_gauge='CAPPED-GAUGE-AUDIT.md', + independent_cap_layout='CAPPED-SIGNOFF.md', + supplier_support='SUPPLIER-SUPPORT-AUDIT.md'), + **row,controls=controls) + (ROOT/'CAPPED-OUTER-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py new file mode 100644 index 0000000000..3f543803d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Exact corollary ledger, additionally assuming the supplied 9/4 theorem.""" +from fractions import Fraction as Q +from decimal import Decimal,localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,union_slack=None,old_vd=False, + full_cell_gauge=False,add_full_key_sort=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + union_slack=Q(1,10**5) if union_slack is None else union_slack + tau_matrix=Q(19,8) + c=(3-tau_matrix)/2 + stop=Q(1,10**9) + cap=(Q(3,2)+q-(1+q)*(r+zeta)+union_slack)/(2+q) + eps=(1+q*(1-cap-r-zeta))/(1+q) + beta=1-cap-r-zeta + kappa=Q('0.001673360105405778') + selected=Q('0.001672660197076918') + first=Q('0.001672922349588871') + tau_bit,sigma=1-a,1-complex_ + internal=tau_bit+(1-stop)*max(sigma-tau_bit,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_algebraic_matrix=c+cap-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+cap, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd:margins['unreplaced_per_axis_scan']=1-eps + if add_full_key_sort: + margins['unnecessary_union_full_key_sort']=margins['sparse_union_movement']-key + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau_bit, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=cap-Q(1,2), + capped_block_below_cell=eps-cap, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-cap-r-beta, + actual_logarithmic_group_guard=1-cap-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + sparse_union_fraction_decays=cap-beta-Q(1,2), + microbox_halo_volume=8-3-beta, + union_positive_slack=union_slack, + matrix_exponent_above_source_bound=tau_matrix-Q(9,4), + matrix_exponent_below_five_halves=Q(5,2)-tau_matrix, + short_record_fallback=eps-a, + improvement_over_selected=kappa-selected, + improvement_over_first_reviewed_transfer=kappa-first, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['sparse_union_movement']==margins['main_transform']+union_slack + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_union=union_slack,stop=stop, + epsilon=eps,capped_block_power=cap,beta_group=beta, + matrix_exponent=tau_matrix,matrix_source_bound=Q(9,4), + c_boundary=c,kappa=kappa,selected=selected,first_reviewed_transfer=first, + lambda_=lam,lambda_prime=1-q,tau=tau_bit,sigma=sigma, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_union_slack',dict(union_slack=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True)), + ('full_key_sort_on_union',dict(add_full_key_sort=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW', + scope='Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.', + review=dict(integrated='Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.', + matrix_source='PROOF-AND-COVERAGE.md', + effective_stability='ALGEBRAIC-STABILITY-INDEPENDENT.md', + independent_layout='MATRIX-LAYOUT-SIGNOFF.md'), + omitted_row=dict(name='optional full-coordinate-key union surcharge', + reason='The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost.'), + **row,controls=controls) + (ROOT/'MATRIX-COROLLARY-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement_over_selected'])) + print('gain over first transfer',decimal(row['slacks']['improvement_over_first_reviewed_transfer'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py new file mode 100644 index 0000000000..2bd3f6eb68 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Exact arithmetic only. This does not automatically certify proof obligations.""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +import json + +ROOT = Path(__file__).resolve().parent + +def dec(x): + with localcontext() as ctx: + ctx.prec = 65 + return str(Decimal(x.numerator) / Decimal(x.denominator)) + +def compute(q=None, zeta=None, old_vd=False): + b = Q('0.001675462676808103522925') + a_bit = Q('0.001733427039589844234749') + q = b-Q(1,10**10) if q is None else q + r = Q(1,10**6) + zeta = Q(1,10**8) if zeta is None else zeta + a_eff = (q+b)/2 + t_stop = Q(1,10**9) + tau, sigma = 1-a_eff, 1-b + lam_prime = 1-q + lam = 1-(q+a_eff)/2 + internal = tau + (1-t_stop)*max(sigma-tau,Q(0)) + leaf = sigma+t_stop*(1-sigma) + eps = (1+q-q*(r+zeta))/(1+2*q) + beta = 1-eps-r-zeta + kappa = Q('0.001672664764353193') + selected = Q('0.001672660197076918') + omega_upper = Q(45,16) + # alpha^2=O(log p), so w=O(sqrt(p) polylog(p)). + wide = Q(1,2) + key = beta+1-eps + margins = dict( + main_transform=eps*q, + global_coordinate_router=a_eff, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a_eff*beta, + group_scans=1-eps+beta, + boundary_batched_algebra=1-(omega_upper-1)*wide, + sparse_union_movement=1-beta-wide, + sparse_union_full_key=1-beta-wide-key, + polynomial_products=eps, + # gA/L copies, g sequential passes, each p^2 conservatively. + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd: + margins['unreplaced_per_axis_scan'] = 1-eps + slacks = dict( + actual_bit_above_effective=a_bit-a_eff, + complex_above_effective=b-a_eff, + complex_below_one_over_32=Q(1,32)-b, + q_positive=q, + complex_endpoint=b-q, + q_below_effective_bit=a_eff-q, + stop_positive=t_stop, + stop_below_one=1-t_stop, + leaf_saving_above_effective_bit=(1-t_stop)*b-a_eff, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=lam_prime-lam, + lambda_prime_above_leaf=lam_prime-leaf, + lambda_prime_below_one=q, + epsilon_positive=eps, + epsilon_below_one=1-eps, + group_positive=beta, + group_below_dimension=eps-beta, + group_controls_below_one_axis_width=1-eps-beta, + support_router_span=1-beta, + group_guard=1-eps-r-beta, + alpha_logarithm_absorption=r, + local_gauge_sublinear=1-eps-r, + core_above_band=eps-wide, + record_suffix=1-eps, + prime_interval_packing=1-eps, + semantic_dimension_guard=1-eps, + microbox_larger_than_halo=Q(8-3)-beta, + short_record_fallback=eps-a_eff, + improvement=kappa-selected, + ) + slacks.update({name+'_above_kappa':val-kappa for name,val in margins.items()}) + assert eps*q == 1-eps+q*beta + return dict(parameters=dict(a_bit=a_bit,a_eff=a_eff,b=b,q=q,r=r,zeta=zeta, + t_stop=t_stop,tau=tau,sigma=sigma,lambda_=lam,lambda_prime=lam_prime, + epsilon=eps,beta_group=beta,kappa=kappa,selected=selected, + omega_upper=omega_upper,microbox_power=Q(8),halo_power=Q(3)), + margins=margins,slacks=slacks) + +def convert(o): + if isinstance(o,Q): return {'rational':str(o),'decimal':dec(o)} + if isinstance(o,dict): return {k:convert(v) for k,v in o.items()} + return o + +if __name__ == '__main__': + row=compute() + assert 7**16 < 2**45 + assert all(x>0 for x in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + for name,kw in [('complex_endpoint_equality',{'q':Q('0.001675462676808103522925')}), + ('zero_group_guard',{'zeta':Q(0)}), + ('old_per_axis_scan',{'old_vd':True})]: + bad=compute(**kw) + failed={n:v for n,v in bad['slacks'].items() if v<=0} + assert failed, name + controls[name]={'rejected_slacks':failed} + result=dict(status='PASS_EXACT_ARITHMETIC_PENDING_FULL_PROOF_REVIEW', + scope='Exact outer arithmetic; no automatic theorem promotion.', + **row, controls=controls, + theorem_obligations=[ + 'retained finite suppliers and exact common-frame/mutable-source compiler', + 'deferred reservations and paid global synthetic layout', + 'shallow Toeplitz plus SPD extension and tensor compiler', + 'small-a forward conditioning and exact target-grid square completion', + 'grouped sparse-union route and batched boundary arithmetic', + 'dyadic core with sparse microbox-face repair and monotone q-image scans', + 'scalar product-diagonal scan and retained all-size semantic/prime/error transfer', + ]) + path=ROOT/'OUTER-ARITHMETIC.json' + path.write_text(json.dumps(convert(result),indent=2)+'\n') + print(result['status']) + print('kappa',dec(row['parameters']['kappa'])) + print('minimum margin',dec(min(row['margins'].values()))) + print('gain',dec(row['slacks']['improvement'])) + print('positive exact slacks',len(row['slacks'])) + print('negative controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md new file mode 100644 index 0000000000..bbeeee7431 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md @@ -0,0 +1,242 @@ +# Grouped phase-cell layout audit + +The sparse-union layout in `REFINED-PHASE-FUSION.md` has a constructive +implementation with its stated `V g^2 W polylog(p)/d` per-group movement +budget. It does not require sorting the full tensor or retaining d full +payload scans. The conclusion is conditional on the separately supplied +dense local tensor compiler, rounded phase-cell factorization, and precision +bounds. This audit does not prove those algebraic/analytic inputs. + +The maximum physical bandwidth **W**, including the broad forward map, must +be used in the dyadic carving and support sets below. The narrower inverse +bandwidth alone is insufficient for the broad map. The phase-assembly +branch confirms this convention. + +## Exact operator order and the union that is actually invariant + +Write H in interior/boundary order as `[A B; C D]` and let +`S=D-C A^-1 B`. The displayed identity in the parent note is correct. In +execution order its inverse can be scheduled as + +``` +diag(A^-1,I) +[I 0; -C I] +diag(I,S^-1) +diag(A,I) +[I -B; 0 I] +diag(A^-1,I). +``` + +The middle two diagonal factors commute. Thus there are three dense +interior stages and two sparse windows: the C and S^-1 stages share one +window; B uses the second window. For H itself, reverse and invert this +sequence: the same original B,C and S occur, with signs reversed and dense +A/A^-1 interchanged. No dense A^-1 B or C A^-1 shear is smuggled into the +sparse boundary cost. + +For each active axis i, let J_i be its designated boundary coordinates. +Let E_i contain J_i and every interior coordinate incident to an original +nonzero entry of B_i or C_i. Original physical bandwidth W implies that E_i +lies within O(W) of the carved endpoints. Include physical-period cuts, +artificial phase cuts and clipped microbox endpoints. Dyadic carving gives + +``` +|E_i| <= C (L/d+1) W log d, +mu := max_i |E_i|/L = O(W log d/d + W log d/L) +``` + +inside a length-L microbox. All sparse factors have the block form +`T_i = I_(E_i^c) direct_sum T_i|E_i`. In particular S_i^-1 can be dense on +J_i: J_i is already included in E_i. Let + +``` +U = {x in [L]^g : some x_i belongs to E_i}. +``` + +Then `|U|/L^g <= g mu`. Every sparse tensor-axis operation preserves U and +its complement. If x_i is changed by a nonzero off-diagonal entry, both +its old and new coordinates belong to E_i; otherwise it is unchanged. +This proves closure for an arbitrarily long sequence of these sparse +operations, not just one application. + +Dense A or A^-1 is **not** covered. It can move a near-boundary interior +coordinate into the deep interior. Scatter U before a dense stage and +regather afterwards. `check_union.py` includes an exact example in which +dense A^-1 sends union-supported data outside U. The actual schedule above +therefore uses two union gathers, not one retained union for all six stages. + +## Complete rectangles inside the union: no missing-zero assumption + +For one sparse axis i define + +``` +U_i = {x : x_i in E_i} = E_i x [L]^(g-1). +``` + +This is a **complete rectangle**, and it is wholly present in U regardless +of which other coordinates are near a boundary. All nonidentity data needed +by T_i is in U_i. A line with every other coordinate outside its own E_j +still has every E_i coordinate present. A line with another boundary +coordinate may contain more data, but those extra E_i^c entries are identity +coordinates and need no boundary computation. + +Keep a copy of U in its original microbox lexicographic order, with a short +coordinate/membership header. For each axis i: + +1. Scan U once and copy records with x_i in E_i to an auxiliary stream. + The copied stream is lexicographic E_i x [L]^(g-1). +2. Rename the increasing E_i coordinates by their ordinal 0,...,|E_i|-1. + This is a stream counter; no rank/select query is needed. +3. Expose that one field at the line suffix using the retained small-field + transpose. Its length is at most L=poly(p), so only O(log p) binary + block moves are needed. Pad only this field to its next power of two + temporarily, at a factor below two, and remove that padding before the + next axis. The other fields may be arbitrary spectators. +4. Apply the original B/C or boundary S/S^-1 factor on its complete E_i + line, retaining identity coordinates E_i\J_i when appropriate. +5. Undo the transpose at the actual field length. Merge the ordered E_i + stream back into a fresh copy of U, replacing exactly those entries. + +No array is completed by invented zero coordinates. The finite checker +verifies the extracted rectangle cardinality and the full tensor result. + +The extraction/merge costs O(|U|) per axis. Transposition costs +O(|U_i| polylog p). Consequently one sparse window costs + +``` +O(V [g^2 mu + g mu polylog p]) + = O(V g^2 W polylog p/d) + O(V g^2 W polylog p/L). +``` + +There is no factor `K=g log s` from a computed-key sort in this part of the +algorithm. A more general radix implementation would still fit with extra +small powers of g, but the complete-rectangle construction avoids it. + +## Union extraction and piece catalogues + +Only one full microbox scan is needed to form U, and one to scatter it. +For every complete p-bit coefficient record, compute its g membership flags +from its coordinate tuple and OR them. The flags and coordinate header have +O(g log L) bits. A nonzero number of flags sends the whole record once to U; +it is not duplicated for each active axis. + +This is a charged descriptor calculation. For actual source periods of +bitlength h=Theta(p/d), q_j inversion and phase-cell endpoint calculations +use O(h^2 polylog p) elementary bit operations per axis. Within a phase +cell, the greedy dyadic carve is found by at most O(log d) halvings and +integer comparisons. Thus a conservative membership cost is +`O(g h^2 polylog p)` per record, which is o(p) for +`g=p^(1-epsilon-r-zeta)` and epsilon>2/3. At the proposed epsilon this has +power about 0.005. It is absorbed by reading the p-bit record once. +Alternatively the original remainder phase generator and an odometer give +the same membership flags in sequential coordinate order. + +Factor pages may be regenerated once per complete microbox/group from its +actual coarse origins, using the supplied polynomial-time coefficient +generation. The complete inner microbox and untouched spectator payload +are superpolynomial in p and amortize this polynomial setup. This avoids +random access to a global catalogue in the scrambled coarse order created +by a support-limited gather. Online row/factor pages are then visited in +the ordered extracted E_i line. All page rewinds are within that line or +RHS batch and are included in the corresponding boundary arithmetic. + +## Batched right-hand sides do not add a large transpose + +All other inner coordinates and following tensor axes are independent +right-hand sides for an axis operation. Their count R is superpolynomial. +Batch them in a dyadic width between W and 2W; the final incomplete batch +can be padded once at constant cost. To put the batch index outside the +boundary-row field, move only that polynomial-width row field. This costs +O(log p) times the boundary volume, not a transpose of the long spectator +field. Each W-by-W factor page is scanned once per RHS batch and reused in +the block product. Reverse the small-field layout after the solve. + +Thus the assumed Strassen `W^omega` per W RHS gives the quoted total +`O(V W^(omega-1) polylog p)` boundary arithmetic. This audit checks the +layout and factor reuse; stability and the no-pivot factor theorem remain +the phase-assembly branch's responsibility. + +## q_j embeddings, selections and source order need one group scan + +For a group, each coordinate map `j -> q_j=floor(tj/s+1/2)` is increasing +and injective. Its tensor product preserves lexicographic order on its +image. Enumerate the target-group rectangle once. At target coordinate k, +set + +``` +j=max(0,ceil(s(2k-1)/(2t))). +``` + +The coordinate belongs to the image iff `j infinity`. Individual guarded neighborhoods +fit the original long axis; the collection of all g controls does not have +to fit in a single axis. This is the same support proof already audited. + +Microedge correction is unchanged. The underlying rounded operator and its +physical bandwidth do not change when a factorization receives more cuts. +Only the principal restriction and Schur decomposition are repartitioned. +The retained Neumann/principal-window comparison still applies to that +same operator. With L=p^8 and halo A=p^3, the additional output fraction is +O(g p^-5), now about p^-4.9064. Its sparse gather, true-period correction and +old sequential local solvers are still negligible. Capping does not turn +this into a dense non-dyadic tensor halo. + +The pinned independent arithmetic checks give approximately + +``` +epsilon = .9984838711085558 +b = .9064167934681446 +beta = .0935821965318554 + +per-group union movement power = -.2192524004044339 +total union movement power = .6856492741722665 +total group scan power = .9049016745767004 +membership descriptor power = .0966144543147439. +``` + +`check_capped_layout.py` independently checks finite capped partitions, +dyadic block sizes, separator distances, worst-pattern elimination fill, +and these exact rational layout inequalities against the pinned candidate +JSON. No layout blocker was found. + +This signoff is specifically for carving, sparse support, actual stream +movement, descriptors, and inherited microedge placement. It does not +independently prove the newly anchored broad/narrow Gaussian formulas or +their final precision bound. Those remain the algebraic/analytic cap audit. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json new file mode 100644 index 0000000000..1fd05118b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json @@ -0,0 +1,16 @@ +{ + "AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "CAPPED-LAYOUT-CONTROLS.json": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "q-embedding.log": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "union.log": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json new file mode 100644 index 0000000000..aee3270196 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json @@ -0,0 +1,30 @@ +{ + "status": "PASS_MATRIX_COROLLARY_NO_SORT_LAYOUT", + "source_sha256": "b0d4648e16df74fc0a3644baa8a82cbb82842c0aa21abe915a28c0c4c949182a", + "exponents": { + "union_fraction": { + "rational": "-3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "-0.000428505825356260251146382720850643577327042013532977151967005" + }, + "membership": { + "rational": "269791328968194081006854064986174254715733926/1069348903949477650676785089185287127357866963", + "decimal": "0.252294950667420906279768139101314143625086172719573255573065" + }, + "total_union": { + "rational": "320264641396534864583914893734048954038319544983689789/320804671184843295203035526755586138207360088900000000", + "decimal": "0.998316639884594221546182952048279623715798111123297150773509" + }, + "group_scans": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.748959903622628611922902526129555589081788674143596616501459" + }, + "microhalo_fraction": { + "rational": "-380335532915361620704585/80067018503072324140917", + "decimal": "-4.75021475791267813012557319136042532178866352100676648857598" + }, + "rejected_union_full_key": { + "rational": "3334408963974161672450196077539/2668900616769077471363900000000", + "decimal": "1.24935673626196560962328042591872403463400943697970053427205" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md new file mode 100644 index 0000000000..d683e4d495 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md @@ -0,0 +1,64 @@ +# Matrix-corollary layout: positive signoff + +The no-sort union layout in `AUDIT.md` applies unchanged to +`work/phase_assembly_ultra/MATRIX-COROLLARY.md`. Its algebraic conditions are +closed axis supports E_i and a complete microbox; neither its proof nor its +implementation requires g2*W and B&(B-1)==0 and n>=2*W + J=set(range(W))|set(range(n-W,n));blocks=[];c=W;stop=n-W + while stop-c>=B+W: + blocks.append(list(range(c,c+B)));J.update(range(c+B,c+B+W));c+=B+W + while stop-c>4*W: + rem=stop-c;k=1<<((rem-2*W).bit_length()-1) + assert k<=B + J.update(range(c,c+W));blocks.append(list(range(c+W,c+W+k))) + J.update(range(c+W+k,c+2*W+k));c+=2*W+k + J.update(range(c,stop)) + assert sorted(J|{j for b in blocks for j in b})==list(range(n)) + assert sum(map(len,blocks))+len(J)==n + assert all(len(b)<=B and len(b)&(len(b)-1)==0 for b in blocks) + assert all(b[0]-a[-1]>W for a,b in zip(blocks,blocks[1:])) + assert len(J)<=10*W*((n+B-1)//B+B.bit_length()+1) + return blocks,J + +def fill_bound(n,blocks,J,W): + adj=[set(j for j in range(n) if j!=i and abs(i-j)<=W) for i in range(n)] + for block in blocks: + for v in block: + nbr=list(adj[v]) + for x in nbr: + adj[x].update(y for y in nbr if y!=x);adj[x].discard(v) + adj[v].clear() + order={v:i for i,v in enumerate(sorted(J))} + bandwidth=max((abs(order[i]-order[j]) for i in J for j in adj[i]),default=0) + assert bandwidth<=2*W + return bandwidth + +def main(): + total=0;examples=[] + for W in (1,2,3,4): + for B in (8,16,32,64): + if B<=2*W:continue + for n in range(2*W,4*B+1): + blocks,J=carve(n,B,W);total+=1 + n=4*B+7;blocks,J=carve(n,B,W);bw=fill_bound(n,blocks,J,W) + examples.append(dict(W=W,B=B,n=n,blocks=len(blocks),boundary=len(J),schur_boundary_bandwidth=bw)) + raw=SOURCE.read_bytes();source=json.loads(raw);p={k:Q(v['rational']) for k,v in source['parameters'].items()} + e,b,g=p['epsilon'],p['capped_block_power'],p['beta_group'];w=Q(1,2);h=1-e + exponents=dict(per_group_union_movement=2*g+w-b,total_union_movement=e+g+w-b, + total_group_scans=e-g,metadata_membership=g+2*h,microbox_key=g, + global_sparse_key=g+h,guarded_support_span=g, + sparse_microhalo_volume=g+3-8, + hypothetical_fullkey_union=e+2*g+h+w-b) + assert Q(1,2)1, theta=rho-1, q_i=floor(rho i+1/2), beta_i=rho i-q_i for all integer i. Define + +``` +x_i=exp(2a rho q_i), e_i=exp(-a rho^2 i^2+a beta_i^2), +G_ij=exp(-a q_i^2) x_i^j e_j, +r=exp(2a rho), c=product_(m>=1)(1-r^-m)>0. +``` + +The sequence x_i increases at least by a factor r at every step and tends geometrically to zero toward minus infinity. + +## Finite-origin identities + +For an integer origin l, Newton interpolation of columns j>=l gives, on every finite principal interval starting at l, + +``` +C_i(l)=product_(l<=k=j, +U_ij(l)=(e_j/e_i) h_(j-i)(x_l,...,x_i), j>=i, +G=L(l) diag(C_i(l)) U(l). +``` + +Here h denotes complete homogeneous symmetric polynomials, and both triangular factors have diagonal one. The powers arising from moving the monomial origin from zero to l cancel exactly: the pivot is C_i(l), not a residual power of x_i. + +Since C_i(l)>=c and the normalized complete-homogeneous coefficient is at most c^-1, + +``` +|L_ij(l)| <= c^-1 G_ij, +|U_ij(l)| <= c^-1 G_ij. +``` + +All limits as l tends to minus infinity exist, including fixed-degree h over the infinite summable past. The displayed Gaussian domination permits passing the factorization to the bilateral limit. + +## Inverse factors + +For i>=j and h=i-j, + +``` +(L(l)^-1)_ij=(-1)^h C_i(l)/C_j(l) + * exp(a[-beta_i^2+beta_j^2-rho^2 h+2rho sum_(j=i and h=j-i, + +``` +(U(l)^-1)_ij=(-1)^h (e_j/e_i) e_h(x_l,...,x_(j-1)). +``` + +The latter e_h is elementary symmetric, distinct from the scalar normalization e_j. Its dominant product consists of x_i,...,x_(j-1), so its normalized value is at most c^-1. + +Using |beta_i|<=1/2 in the two exact exponents gives uniform estimates + +``` +|(L(l)^-1)_ij| <= c^-2 exp(a/4-a rho theta h), +|(U(l)^-1)_ij| <= c^-1 exp(a/4-a rho theta h). +``` + +These pass to the bilateral limits. Products of triangular factors and their inverse factors have only finitely many terms for each supported matrix entry, so both inverse identities survive directly. All four factors define bounded absolutely row-summable operators. + +## Periodization + +Every limiting factor is simultaneously s-periodic in its row and column indices. For a bounded absolutely row-summable periodic array A, define + +``` +Pi(A)_ij=sum_(n in Z) A_(i,j+ns), 0<=i,j=1**, this is O(theta^-2), with a constant depending only on a. Thus a fixed admissible integer Gaussian width alpha suffices for the norm and perturbation estimates. No logarithmic growth of alpha is needed for conditioning. + +The theorem changes an analytic parameter constraint. Applying these factors quickly on the tape remains a separate constructive obligation. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md new file mode 100644 index 0000000000..59d9128d75 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md @@ -0,0 +1,211 @@ +# Independent checks of Gaussian interpolation and holes completion + +Status: exact algebraic identities and analytic bounds below; no complete new inverse implementation, and no final kappa claim. This continues the parent investigation after the first outer-reduction package. + +## 1. Local scaled Vandermonde identity + +Write `a=pi*alpha^2`, `rho=t/s`, `q_i=floor(rho*i+1/2)`, and `beta_j=rho*j-q_j`. On any nonwrapping index interval, + +``` +N_ij = exp[-a*(rho*j-q_i)^2 + a*beta_j^2] + = exp[-a*q_i^2] * (exp[2a*rho*q_i])^j + * exp[-a*rho^2*j^2+a*beta_j^2]. +``` + +Translations of both index origins preserve a diagonally scaled Vandermonde representation. If the local span is L, centered nodes have logarithms O(aL), and the product-tree polynomials, Lagrange denominators, and outer diagonals have logarithmic height O(aL^2+L). Thus L=O(sqrt(p/a)) is compatible with Cp-bit working precision. Distinct nodes are explicitly separated, so the inverse of a *single supplied principal block* can be computed by multipoint interpolation with that precision and O(L p polylog p) bit cost. + +This does not justify independent short blocks. The current inverse has strong directed coupling near the end of a phase cell. Its exact q-LDU below shows why a halo of width merely sqrt(p/a) can lose much more than 2^-p. + +## 2. Exact Gaussian Toeplitz LDU in a no-gap phase cell + +Within a cell `q_i=i+c`, put `theta=rho-1`, + +``` +q=exp(-a*rho), Q=q^2, +P_j=product_(k=1..j) (1-Q^k), P_0=1, +D_i=exp(a*theta*i^2-2a*c*i), +G_ij=q^((i-j)^2). +``` + +Then `N=diag(D_i)*G*diag(D_i)^-1`. With the Gaussian binomial + +``` +{i choose j}_Q = P_i/(P_j*P_(i-j)), +``` + +the exact lower factor and its inverse are + +``` +L_ij = q^((i-j)^2) * {i choose j}_Q, i>=j, +Linv_ij = (-q)^(i-j) * {i choose j}_Q, i>=j, +G = L * diag(P_j) * L^T. +``` + +These follow from the ordinary Newton factorization of the Vandermonde matrix at nodes Q^-i; eliminating its successive monic Newton polynomials gives the displayed Gaussian binomial factors and pivot P_j. The inverse follows from the finite q-binomial theorem, or multiplying the two triangular factors and grouping equal powers of Q. `check_q_ldu.py` verifies both identities exactly at 30 rational q/size choices (1,155 matrix entries), including diagonal conjugations. + +Each triangular application is a diagonally scaled Toeplitz convolution: + +``` +L = diag(P_i) T_(q^(h^2)/P_h) diag(P_i)^-1, +Linv = diag(P_i) T_((-q)^h/P_h) diag(P_i)^-1. +``` + +The N factors add only the D_i conjugations. Their inverse lower entries have exponent + +``` +a*((2*beta_i-rho)*h - theta*h^2), h=i-j. +``` + +Since beta_i<=1/2, + +``` +abs((D Linv D^-1)_ij) + <= C exp[-a*theta*h*(h+1)], +C = product_(k>=1)(1-Q^k)^-1. +``` + +The upper inverse obeys the same bound using beta_i>=-1/2. For a>=pi and rho>1, C<2 by a geometric bound on the logarithm of the infinite product. Hence both inverse triangular factors have row norm O(1+(a theta)^-1/2). The P_j diagonal is bounded between 1/C and 1. This avoids using cancellation of exponentially large factors to bound the *completed* inverse. Over one cell, the explicit D_i range costs O(a/theta) guard bits, so the retained condition alpha^2/theta=O(p) still suffices for a straightforward implementation. + +This supplies a clean alternative to the retained Gohberg–Semencul interior solve. The latter already has linear convolution cost; a new exponent requires treating the gaps between cells or their boundary system. + +## 3. Exact complementary hole positions + +Let 11, x_k=r^k, and V_t=(x_k^j)_(0<=k,j=k, and 0 otherwise, +(V_holes^T)_(j,h) = x_h^j. +``` + +The coefficient of X^(t-1-j) in P(X)/(X-x_h) equals +`sum_(k=0..j) p_(t-k) x_h^(j-k)`, by synthetic division from the leading end. Lagrange interpolation gives the identity. + +Given values only on selected nodes, set the H missing values initially to zero and do one full interpolation. Solve A for the missing values that cancel the H degree-tail coefficients, then interpolate with the completed values. The resulting polynomial has degree=1, + +``` +abs(B_ij) <= exp[-a*rho*(rho'*k^2-k)]. +``` + +Indeed the relevant distance is at least rho'k-1/2, and the subtractive delta_j^2 is at most 1/4. Thus off-diagonal row sums are bounded by a convergent geometric Gaussian tail, with first exponent a rho(rho'-1). For small theta, rho' is Theta(1/theta), so this exponent is Theta(a/theta). To obtain error 2^-p a direct truncated solve only needs complementary width + +``` +O(1+sqrt(p/(a*rho*rho'))) = O(1+sqrt(p theta/a)). +``` + +This rigorously confirms the conditioning and narrow-band part of the parent's holes-completion proposal. It is not a cost proof for the complete original inverse: the Toeplitz T and full geometric interpolation must first be implemented with their enormous diagonal scalings canceled symbolically. + +## 6. A useful normalized erasure-coefficient bound + +Let hole exponents h_0<...=g, let R=r^g>1, and e_k be the kth elementary symmetric polynomial in r^h. Let M_k be the product of the k largest nodes. Then + +``` +1 <= e_k/M_k <= product_(j>=1)(1-R^-j)^-1. +``` + +For any selected k-index subset, compare its indices with the k largest indices. Its nonnegative deficits form a partition, and its product divided by M_k is at most R to the negative partition size. Summing over partitions proves the bound. The contribution from deficit >=m is at most + +``` +R^(-m/2) * product_(j>=1)(1-R^(-j/2))^-1. +``` + +For R>=4 the latter product is below 4, so retaining deficit less than `m >= (2p+4)/log2 R` suffices for relative error below 2^-p. Thus normalized coefficients have bounded height even when unnormalized coefficients contain Theta(a theta t^2) exponent bits. Only O(p theta/a) partition energy near the subset boundary is relevant. + +Likewise, for a nonhole i, pull `product_h max(r^i,r^h)` out of |E(r^i)|. The residual is `product_h(1-r^-|i-h|)`, which lies between `product_(k>=1)(1-r^-k)^2` and 1. It is uniformly bounded away from zero for fixed r>1. These are positive products and sums; the bounds do not depend on fortuitous numerical cancellation. + +The unresolved algorithmic question is performing the needed polynomial multiplication/division while storing these *degree-dependent* scales, rather than one common scale. Feeding the raw coefficients to an ordinary FFT requires Theta(a theta t^2) bits; declaring that cost absent is invalid. The positive partition estimates give a concrete starting point for a banded or locally normalized implementation. + +## 7. Correct boundary of the result + +- Exact q-LDU, exact hole indexing, exact completion, complementary conditioning, and the normalized erasure bounds above are established algebraically. +- `Q-LDU-CONTROLS.json` and `HOLES-CONTROLS.json` contain finite independent checks. +- No stable all-size global holes solver is implemented here. Its fully paid precision/tape cost remains open. +- No final multiplication exponent follows from these identities alone. + +## 8. Weighted full-geometric interpolation: a stable local implementation + +This is a further positive lemma for one component of holes completion. It does **not** complete the Toeplitz/complement adapters. + +Let beta=H/t=theta/rho, let h_l be the actual holes above, and let h*_l=(l+1/2)/beta be the ideal equally spaced holes. For x in [0,t], define + +``` +R(x) = 2a*rho * sum_l (x-h_l)_+ - a*theta*x^2. +``` + +This is the logarithm of the dominant erasure evaluation after canceling the full-geometric Gaussian input diagonal, up to a constant independent of x. That constant can be kept symbolically and canceled at the final adapter. + +For ideal holes, put m=floor(beta*x+1/2). Then + +``` +sum_l (x-h*_l)_+ = m*x - m^2/(2beta), +R*(x) = -(a*rho/beta)*(m-beta*x)^2, +-a*rho/(4beta) <= R*(x) <= 0. +``` + +Since |h_l-h*_l|<=1/2, compare increments on [x,x+v]. Holes below both endpoints give the same increment v under both locations, and holes above both give zero. Only O(beta*v+1) holes whose ideal or actual locations meet the interval can contribute; each contributes an error at most 1/2. Consequently, for 0<=x<=x+v<=t, + +``` +|[R-R*](x+v)-[R-R*](x)| <= a*theta*v + O(a*rho), +|R(x+v)-R(x)| <= a*theta*v + K, +K <= 4a/theta (01. It is a norm lemma, not a complete fast inverse algorithm. + +Let s>=5, s=1. The exact periodic normalized Gaussian matrix is + +``` +N_(i,j mod s) = sum_(k congruent j-i mod s) + exp[-a*((beta_i+rho*k)^2-beta_(i+k)^2)]. +``` + +Its principal k=0 term is one. Let L be its k=-1 weighted cyclic shift and U its k=+1 shift. Thus + +``` +L_i = exp[-a*((beta_i-rho)^2-beta_(i-1)^2)], +U_i = exp[-a*((beta_i+rho)^2-beta_(i+1)^2)]. +``` + +All other k terms form R. The aliases k=±s and beyond remain in R; they are not discarded. + +For h consecutive lower factors the exponent telescopes to + +``` +beta_i^2-beta_(i-h)^2 - 2rho sum_(j=0..h-1) beta_(i-j) + h rho^2 + >= h rho theta - 1/4. +``` + +The upper factors obey the same bound. Therefore both alternating Neumann inverses exist, including over arbitrarily many cyclic wraps, and + +``` +||(I+L)^-1||, ||(I+U)^-1|| + <= B = exp(a/4)/(1-exp(-a rho theta)) + <= 2 exp(a/4)/theta. +``` + +The final inequality uses a>=1 and 0=2, + +``` +(beta_i+rho*k)^2-beta_(i+k)^2 + >= (rho*|k|-1/2)^2-1/4 + >= k^2-|k|. +``` + +Consequently + +``` +||R|| <= 2 exp(-2a)/(1-exp(-4a)) < 4 exp(-2a). +``` + +Write `A=(I+L)(I+U)`. Then N=A+(R-LU), and + +``` +||A^-1(R-LU)|| <= 5 B^2 exp(-2a) + <= 20 theta^-2 exp(-3a/2). +``` + +If `a>=4 ln(16/theta)`, this is bounded above by +`20 theta^4/16^6 < 1/2`. Hence + +``` +||N^-1|| <= 2 B^2 <= 8 exp(a/2)/theta^2. +``` + +Choose the integer `alpha=ceil(sqrt(4 ln(16/theta)/pi))`. With +`a0=4 ln(16/theta)`, the elementary ceiling inequality gives +`a<=2a0+2pi`; therefore + +``` +||N^-1|| <= 8 exp(pi) 16^4 theta^-6. +``` + +This is an explicit polynomial bound. For theta=Theta(1/d), alpha^2=O(log d) and the total original tensor scale has logarithm O(d log d)=o(p) for every fixed d=p^epsilon, epsilon<1. The period and aliases introduce no exception. + +## Exact controls + +`check_nearest_neighbor.py` checks 69 admissible finite (s,t) pairs and 93,976 product identities/bounds, including all skip gaps and two complete cyclic wraps. It uses exact rational exponents and no floating point. The exponential conclusions follow from monotonicity and the displayed convergent geometric sums. The output is `NEAREST-NEIGHBOR-CONTROLS.json`. + +## Remaining algorithmic obligation + +This lemma establishes that logarithmic alpha squared is analytically permitted. The old inverse implementation still incurs too much work at that alpha. A fast stable inverse, such as a fully normalized holes-completion algorithm, must still supply its actual movement, rounding and operation count. Erasing the inverse cost from the outer ledger would not follow from this norm proof alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md new file mode 100644 index 0000000000..876f44a23e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md @@ -0,0 +1,60 @@ +# Partial tensor fusion: a strictly better prospective outer balance + +This is a prospective cost theorem, not an implemented resampler. It changes the full-fusion target to a smaller interface whose precision is payable. + +Suppose the normalized holes construction is completed so that a g-axis Gaussian group is a fixed number of tensor geometric/Toeplitz convolutions, diagonal factors, and corrections supported on the hole rows, and suppose its halo gather/scatter has the same asymptotic cost. Let d=p^epsilon and a=Theta(log d), theta=Theta(1/d). + +The exact normalizations developed in HOLES-AND-Q-LDU.md have local logarithmic range O(a/theta)=O(a d) per axis. Therefore g axes can be fused with O(p) guard bits if + +``` +g*a*d = O(p). +``` + +Taking `g=p^(1-epsilon-zeta)` for fixed zeta>0 pays the logarithm and leaves strict slack. There are d/g groups. A group convolution using the retained supplier with saving q costs, after division by full volume, + +``` +g^(1-q) polylog p. +``` + +Thus all Gaussian groups cost + +``` +(d/g)*g^(1-q) = d/g^q + = p^[epsilon-q*(1-epsilon-zeta)]. +``` + +Its saving is `(1+q)*(1-epsilon)-q*zeta`. The main synthetic transform, using deferred reservations, retains saving epsilon*q. Ignoring the arbitrarily small fixed zeta and strict absorption gaps, balancing yields + +``` +epsilon=(1+q)/(1+2q), +kappa=q*(1+q)/(1+2q). +``` + +This exceeds the old `q/(1+q)` by exactly + +``` +q^3 / ((1+q)*(1+2q)). +``` + +That is a new outer balance, rather than tighter rational margins in the old family. At the selected complex endpoint the difference is about 4.7e-9. For example take q equal to the selected complex saving minus 10^-10, zeta=10^-8, the displayed epsilon, and kappa ten^-11 below the smaller main/Gaussian margin. The resulting exact arithmetic target is approximately + +``` +0.00167266475042434534254271472, +``` + +about 4.55335e-9 above the selected 0.001672660197076918. This is only a prospective target until both missing interfaces below are established. + +## Other paid terms + +The bit routing saving is larger than q at the selected pair. Moving a group of O(g log p) small coordinate bits across spectator fields costs O(V g^(1-a_bit) polylog p) per group, hence O(V d/g^a_bit polylog p), below the convolution cost since a_bit>q. A superpolynomial untouched spectator suffix remains available while processing a group, so the compact supplier's descriptor work can still be paid; pointwise small-polynomial products require a separately paid small-field transpose but only logarithmic-width fields. + +The g-axis scalar normalization costs O(g a), and the stronger local weights cost O(g a d); both fit O(p) by construction. For local convolution window L=O(p/a+d), take a dyadic microtile N≫gL. The total halo volume is bounded by `(1+O(L/N))^g=O(1)`. The gauge increment bound implies total logarithmic variation O(g[a theta N+a/theta]); with N=Theta(gL), the extra condition is g^2<=O(d). It holds at the proposed epsilon near one, since 2(1-epsilon)q`, and requires `dK=o(p)`. Thus even if all Gaussian work disappeared, retaining that reservation argument would still force `epsilon<1/(1+q)`. It is insufficient to erase just the Gaussian row from a ledger. + +The selected outer logic was read in `research/complex-pr615-ceiling/vendor/multicold/engines/outer.py`; its seven margins and 47 slacks match the current 1094 assembly. The underlying detailed interfaces are in upstream sections 02, 04, 05, 06, 07, 08, 09, 10 and the cited `references/semantic-bulk/rad20/reports/` transfer notes. In particular, the current bulk Gaussian proof already uses local principal windows and short fields; proposing that same improvement again would not change the selected result. + +## 2. Deferred reservations: removing the power-width reservation condition + +This is an all-size **conditional transfer argument**, assuming the retained complete rectangular compact gadget, exact common-frame circuit, arbitrary coordinate router, and linear semantic guard. It does not require a new finite supplier identity. + +Let `G=4 ceil(log2 p)+6`, and choose `K=128G`. At a layer on `h` still-unprocessed selected bits, reserve enough complete K-bit chunks to provide the two front H-bit fields, one back H-bit field, and row bits, where `H=hG`. The number of reserved chunks is + +``` +R(h) = ceil(3hG/K) + O(log h). +``` + +For `h` above a fixed polynomial in `log p`, `R(h) <= h/16`. Select those chunks from the still-unprocessed axes. Apply the retained compact circuit to the other `h-R(h)` bits, borrowing all three dirty fields from the reserved subset. At the completed-call boundary it is exactly `C` on the active bits and identity on every reserved or spectator bit, for arbitrary initial coefficients and arbitrary dirty addresses. Therefore all reserved bits retain their original complete ranges and can be processed next. + +Repeat on the reserved subset. The processed subsets are disjoint. Stop once `h=polylog(p)` and apply those remaining kernels individually. This is **not** a recursive call on a truncated record or a clean-scratch claim: the entire original stream is still present, with the same full polynomial suffix, and every previously processed coordinate is an untouched spectator. Completed kernels on disjoint selected bits commute. All row padding is removed before moving to the next phase, so temporary factor-two padding never multiplies across phases. + +To establish the time bound, retain the original `m,W,s` recurrence and stop its internal recursion at `d^beta`. With `sigma=1-b`, any `lambda>max(1-a,sigma)` gives, with logarithmic factors suppressed, + +``` +F(h) <= O(h^lambda + h^sigma d^(beta*(1-sigma)) + 1). +``` + +This follows because a packed local basis change has width `O(hG)` and hence cost `O(V h^(1-a) polylog p)`. The term formerly written `(h d^c)^(1-a)` is now `h^(1-a) polylog p`. All compact-gadget exceptional fractions remain polynomially small with K=128G; the retained repair proof uses the current call's O(p)-bit address and is not replaced by a global exception count. + +Since `h_j <= d/16^j` above the polylogarithmic tail, + +``` +sum_j F(h_j) + = O((d^lambda + d^(sigma+beta*(1-sigma))) polylog p). +``` + +The extra physical rearrangements of complete existing fields cost +`O(V p^(1-a) polylog p)` by the retained arbitrary coordinate router, over O(log d) phases. Its polynomial descriptor work is paid by the unchanged superpolynomial polynomial-record suffix, at every internal call. This is additive, not free routing. + +Consequently, for every fixed `q < min(a,(1-beta)*b)`, the whole layer has + +``` +O(V [d^(1-q) + p^(1-a)] polylog p). +``` + +The common guard remains O(d): each completed phase changes semantic numerator/denominator bounds by O(h_j), and `sum h_j=O(d)`. Only the currently active phase contributes its internal excess. There is still exactly one truncation after the entire normalized layer. No power K=d^c and no condition c>q remains. K=o(ell) now follows from `ell=p^(1-epsilon)` for every fixed epsilon<1. + +The extra top round on the long axes can use the same layer after a paid coordinate rearrangement collecting its selected bits and K-bit complete neighborhoods. The common rounds use a single paid global layout router, rather than `p/K` separate K-swaps. Thus the transformed version of the synthetic cost is + +``` +O(V [p^(1-a) + ell*d^(1-q)] polylog p). +``` + +This is the strongest positive transfer established by the present note. It removes the geometric source of `q/(1+q)` in the compact compiler. It does not remove the independent O(Vd) Gaussian and scalar costs. + +### Checks + +`check_constructions.py` checks 1,000 exact reservation schedules and 5,460 entries of actual Gaussian-rational `C` tensor matrices. Every axis is processed once; the phasewise output equals the independently calculated closed tensor matrix. Omitting the deferred subset is a retained failing control. These checks support the written argument; they are not an all-size compiler implementation. + +## 3. Batched right-hand sides for the Gaussian boundary inverse + +This refinement applies to the precomputed noncyclic banded L/U factors in the retained principal-window solver. It uses the many spectator lines carrying the same axis matrix. + +For a triangular matrix with scalar bandwidth w, group consecutive rows into blocks of a power-of-two width `B in [w,2w)`. There is only one preceding block in a lower solve (one following block for an upper solve). Precompute each diagonal-block inverse. For B simultaneous right-hand sides, the update is + +``` +X_j = L_jj^-1 * (Y_j - L_j,j-1 * X_j-1). +``` + +Two B-by-B products implement each update. The seven-product identity gives `O(B^omega)` scalar operations, `omega=log_2(7)`. For z boundary rows and R>=B right-hand sides, splitting the columns into B-column batches gives + +``` +O(z R B^(omega-2)) +``` + +scalar work. Incomplete edge blocks and the last RHS batch are zero-padded only for the current product; this is a constant temporary volume increase, not a tensor-axis padding factor. The matrices may vary from row block to row block. No Toeplitz assumption is made. + +The original boundary has `z=O(M w/d + w)` rows in a length-M local window. Summed over axes and lines, the old regular contribution `V w^2` becomes + +``` +O(V w^(omega-1) polylog p). +``` + +The artificial-end contribution is handled by a polynomial-size microbox L; it is +`O(V d w^(omega-1)/L polylog p)`. The O(Vd polylog p) local field motion and interior-convolution cost is still paid and is still present. + +### Tape layout + +Expose the same axis and factor page used by the retained solver. Gather B adjacent RHS indices with a B-valued local field, moving that O(log p)-bit field across the current row field by the retained small-field transposition. It costs O(V log p) per axis. This charge belongs to the existing d-pass term. Read factor pages and RHS row blocks sequentially. Keep the immediately preceding solved B-by-B block on a fixed work tape. Products use a depth-first seven-product recursion, parking/restoring the other finitely many matrices at each node; scanning and quadrant rearrangement is O(B^2) per level and is dominated by B^omega. There is no random factor lookup and no separate tape for every RHS. + +### Precision + +Keep the retained O(p)-bit rounded factor entries and compute each B-by-B product exactly as a dyadic matrix product before one component rounding. An individual seven-product recursion has depth log B. Additions grow integers by only O(log B) bits at every product boundary, so exact products and their sums have O(p+log B)=O(p) bits. A block inverse is precomputed at the retained high precision, with its row-norm perturbation charged explicitly. + +Round after a completed block update, not between scalar products. The residual of the completed triangular system is bounded rowwise by `poly(p)*2^-P*(1+||X||)`, with P the retained large constant multiple of p. The retained inverse-norm bounds then give a uniform global solution error after absorption, independent of the number of row blocks. This is the same residual closure used by the original banded solver; it must be instantiated with new block-factor rounding constants in any adoption. An unproved claim of numerical stability of fast floating-point multiplication is unnecessary. + +For `u=p^r`, `w^2=O(p^(1-r))`. The revised regular boundary exponent is + +``` +((omega-1)/2)*(1-r), +``` + +whose saving at r=0 is `(3-log_2 7)/2 > 0.096`. Thus an implemented version could remove the old requirement r>kappa while keeping `epsilon+r<1`. It cannot remove the separate O(Vd) scan term by itself. + +### Exact checks and remaining check + +The script independently compares seven-product multiplication against classical multiplication, then compares 60 varied-size blocked triangular solves against exact Gaussian-elimination inverses (1,976 output entries). A dropped-predecessor-block control fails. This establishes finite algebraic orientation, padding and dependencies. A complete adaptation of the original numerical residual constants is still required before adopting the changed analytic interface. + +## 4. A concrete route toward tensor Gaussian fusion + +This section is **conjectural construction work**, not an established algorithm. The missing step is stated so it can be attacked. + +A possible way to avoid d separate Gaussian passes is to compute the tensor Gaussian on a microbox through one tensor convolution. For `rho=s/t`, a real Gaussian row has the exact scalar identity + +``` +exp[-a(j-rho*k)^2] + = exp[-a(1-rho)j^2] + exp[+a*rho(1-rho)k^2] + exp[-a*rho(j-k)^2]. +``` + +Integer translations of j and k add only linear factors, so each local rectangle is a diagonal, Toeplitz convolution, diagonal. Across axes, the diagonal factors fuse into one per-record multiplication. The central convolution is a tensor cyclic convolution after sufficient halos. + +With the current theta≈1/d, a local Gaussian halo has radius +`A=O(alpha*sqrt(p))`. To keep product halo volume constant, the core needs length `L=Omega(dA)`. But the fused diagonal logarithmic range is then +`O(d*theta*L^2/alpha^2)=O(d^2 p)`, not O(p). Thus the most obvious tensor-chirp fusion fails its precision ledger. This explicit failure should prevent a false positive. + +One changed hypothesis makes that favorable: choose source primes much closer to t, with `theta=Theta(d^-3)`. Then at `L=Theta(dA)`, that logarithmic range is O(p), and the product halo overhead is still constant. Such prime lengths are available eventually for every fixed epsilon<1: the explicit prime-counting error from Fiori–Kadiri–Swidinsky, Corollary 22, is `O(x sqrt(log x) exp(-c sqrt(log x)))`; on an interval of width `x/d^3`, with `log x=Theta(p^(1-epsilon))`, its error is o(x/(d^3 log x)). The interval contains far more than d primes, so distinct choices and `S/T=1-o(1)` follow. Trial division setup remains `n^o(1)`. This is an asymptotic existence argument with an enormous cutoff, not a practical prime-search claim. + +However two serious costs remain unproved: + +1. A power-of-two convolution window N has a useful core N-2A. Reinterpreting an axis by these variable non-dyadic cores is not the known binary-coordinate router. Padding every N-2A field to the next power of two costs 2^d. Performing the known small-field reshape one axis at a time costs Vd. A new simultaneous variable-core gather/scatter is needed, with full payload movement charged. +2. The inverse Gaussian correction is not itself one convolution. With theta=d^-3, the current phase-cell similarity weights range like `exp(O(u/theta))`, too large for its old O(p)-bit proof. The generic banded solve can avoid those enormous weights, but the present batched bound still has a d factor outside its favorable structured regime. The tensor inverse needs a different stable factorization or a sparse-boundary construction with a fully paid ledger. + +Therefore “choose closer primes” plus “use a multidimensional FFT” is not a proved bypass. It is an explicit construction program with two specified lemmas. + +## 5. Exact optimistic target and fully paid comparison + +Assume a new tensor-resampling interface gives + +``` +O(V [p^(1-a) + d^(1-q) + w^(omega-1)] polylog p) +``` + +for the complete expansion and inverse, including variable-core layout, coefficient factors, stable inverse, all restoration and only O(p)-bit records. Combine it with Section 2. The complete normalized saving is at least + +``` +min(a, epsilon*q, 1-epsilon*(1-q), + 1-((omega-1)/2)*(1-r), epsilon), +``` + +with strict `epsilon+r<1`, `q 0`, the complex endpoint exceeds q by `0.000000462676808103522925`, and the gamma gap is `0.000005`. The target exceeds the selected kappa by `0.000002319802923082` (about 0.1386894%). Letting epsilon approach one and q approach b would recover the complex saving itself, up to arbitrary strict slack. + +**Fully paid ledger today:** without the unproved tensor-resampling interface, the unchanged Vd term remains. It imposes `kappa<1-epsilon`, so maximizing the proven/reused terms still gives at most `b/(1+b)`. Sections 2 and 3 alone do not improve final kappa. Under the displayed sample, the paid Gaussian margin is only `0.00001`, so that sample FAILS the current interface. It is deliberately not emitted as a passing outer certificate. + +## 6. Reproduction and evidence + +Run from the parent workspace: + +``` +python3 work/radical_reduction_ultra/check_constructions.py +python3 work/radical_reduction_ultra/check_ledger.py +``` + +`CONTROLS.json` contains exact finite controls. `LEDGER.json` contains the optimistic row and the correctly rejected fully paid row. Neither imports a producer or mutates the source checkout. + +## Open next questions + +- Instantiate Section 2 against the exact current compact field-layout code and reject malformed reservoir choices. This is a bounded integration task; it could remove a real interface restriction even before a new final exponent is obtained. +- Carry the block residual argument in Section 3 through the retained P=32768p constants and factor-page format. The algebraic and layout reductions are explicit; numerical certification is the remaining bounded task. +- For the fusion program, first prove or disprove a simultaneous variable-core gather/scatter with O(V p^(1-a) polylog p) cost and no 2^d padding. This isolates the data-layout bottleneck before more analytic effort. +- Seek a stable tensor inverse for near-identity Gaussian resampling with theta≈d^-3 that avoids both enormous diagonal similarities and d sequential full scans. A finite small-d result is not enough; require the exact operator, record width and mass recurrence. + +## Primary sources and attribution + +- CrocSwap/integer-mult-bounds pinned upstream and transfer reports, in particular 02-streams, 04-swap, 05-layers, 06-transforms, 07-resampling, 08-assembly, 09-exact-arithmetic, 10-transposition; reviewed contributions by Douglas Colkitt and the cited independent contributors are retained unchanged. +- Harvey and van der Hoeven's original Gaussian resampling and multiplication interfaces are inherited through those source proofs. +- V. Strassen, *Gaussian Elimination is Not Optimal*, Numerische Mathematik 13 (1969), 354–356, DOI `10.1007/BF02165411`. The seven-product identity is reproduced and independently checked here; no modern matrix multiplication exponent is needed. +- A. Fiori, H. Kadiri, J. Swidinsky, *Sharper bounds for the error term in the prime number theorem*, arXiv:2206.12557v2, Corollary 22: https://arxiv.org/pdf/2206.12557 . Used only for the clearly marked close-prime construction program. + +## Later constructive developments + +The positive interpolation-tree and global two-tail results are in `STABLE-POSITIVE-TREE.md`, with exact controls in `POSITIVE-TREE-CONTROLS.json`. They provide bounded gauges for every signed-data intermediate and show that all high-level rank-one contributions collapse to two global running sums. Its Section 6 gives a normalized Sylvester factorization into a dirty Toeplitz shear, one well-conditioned full Toeplitz map, and one triangular Toeplitz map; `SYLVESTER-CONTROLS.json` checks that identity. + +The stronger fixed-width Gaussian norm theorem is independently audited in `FIXED-A-PERIODIC-NORM-AUDIT.md`, with `FIXED-A-LDU-CONTROLS.json`. It replaces the earlier sufficient logarithmic-width condition: for any fixed admissible a>=1, the periodic inverse has norm O(theta^-2). This is an analytic parameter improvement, not a completed fast inverse. + +The outer partial-fusion candidate in `PARTIAL-FUSION.md` remains prospective. Neither the stable, shallow in-place algebra for plain Toeplitz matrices nor bounded final Gaussian conditioning alone proves that the curved Gaussian coefficient gauges can be processed with only O(p) total guard bits when many axes are fused. That interface, and the actual halo movement cost, must be resolved before claiming a new kappa. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md new file mode 100644 index 0000000000..51920b3b76 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md @@ -0,0 +1,125 @@ +# A narrower positive route: fuse retained phase-cell interiors + +Status: a complete parameter ledger for a concrete conditional transfer. It avoids the unresolved normalized-erasure adapter. It still requires the new shallow in-place structured-matrix circuit to be integrated with the retained fast tensor supplier and a grouped sparse boundary gather. No new selected certificate is asserted. + +## Construction + +Keep the already reviewed phase-cell Schur decomposition, with + +``` +d=p^epsilon, u=alpha^2=Theta(p^r), w=Theta(p^((1-r)/2)), +0(1-r)/2. +``` + +The positive r may be arbitrarily small; it eventually dominates the old logarithmic lower bound on u. Thus this route can retain the established diagonal-dominance, rounded H, local inverse, and Schur residual proofs. The stronger fixed-a theorem is not needed here. + +Within each no-gap phase cell, the interior matrix is exactly + +``` +A=diag(a_j) G diag(a_j)^-1, +G_ij=G_(i-j), log(max a_j/min a_j)=O(u d). +``` + +The retained G is a symmetric truncated Gaussian Toeplitz matrix with `||G-I||<1/8`; hence G and G^-1 are uniformly conditioned. Apply its inverse by the new shallow in-place low-displacement circuit, rather than summing the two Gohberg-Semencul branches. The circuit's Toeplitz coefficients and Schur generators are precomputed. This is the algebraic connection to the new in-place work; the old source proof did not provide such a tensor-fusible circuit. + +Fuse + +``` +g=p^beta, beta=1-epsilon-r-zeta, +``` + +axes at a time, with fixed zeta>0. The total diagonal similarity guard is +`O(g u d)=O(p^(1-zeta))=o(p)`. Polylogarithmic circuit depth and bounded polynomial factor growth add only `O(g polylog p)=o(p)` bits. Every completed group has polynomial norm; error is allocated at the completed-group boundaries, preserving the retained O(p)-bit record model. + +### Dyadic interiors without exponential padding + +Inside a phase cell, repeatedly choose the largest power of two K such that `K+2w` fits the remaining interval, while its remaining length exceeds 4w. Make a piece of length K+2w, designate w endpoints on each side as boundary, and use its K remaining indices as the interior. The leftover interval of length at most 4w is all boundary. + +The remaining length at least halves on each step. Thus there are O(log d) pieces per original cell, every interior has dyadic length, and the total boundary size grows by only O(log d). No padding by a factor two per tensor axis is used. Schur fill still joins only the two w-sized endpoint groups of a piece, so its scalar bandwidth remains O(w). Distinct dyadic size classes require only O(log p) circuit schedules; inactive axes use identity stages. + +### Boundary arithmetic + +Let R denote the number of spectator right-hand sides, which eventually exceeds every polynomial in p. Batch them in groups of w. Every dense w-by-w block multiplication in the banded forward/backward solve, the border correction, and the boundary/interior couplings then costs O(w^omega) scalar products for w right-hand sides, omega=log_2(7)<2.8081. The retained no-pivot factors are precomputed; Strassen creates only polynomial intermediate growth in w, hence O(log p) extra guard bits. Use the existing global residual argument to bound the completed solve error. + +There are O(s*w*log(d)/d) boundary rows per axis. Consequently the total boundary arithmetic over all d axes is + +``` +O(V * w^(omega-1) * polylog(p)), +``` + +where V counts p-bit data volume. This includes H_BI and H_IB couplings; doing those couplings scalarly would incorrectly reintroduce V*w^2. + +### Five stages separate fused interiors from sparse corrections + +For the interior/boundary order write H=[A B; C D] and S=D-C A^-1 B. The exact identity + +``` +H^-1 = diag(A^-1,I) [I -B;0 I] diag(A,S^-1) + [I 0;-C I] diag(A^-1,I) +``` + +is verified by multiplication. Thus the only full-interior stages are A and A^-1. The two shears use original banded B and C, whose support is within O(w) of each artificial cell boundary. The middle factor splits into the commuting interior A and boundary S^-1. + +For a g-axis group, collect the union U of the O(w log d)-wide endpoint slabs. Its volume is O(V*g*w*log(d)/d). All sparse shear and boundary stages preserve this union; outside it they are identity. Process the g axis operators sequentially on U, without g scans of the full V data. Even a deliberately loose movement cost is + +``` +O(V*g^2*w*polylog(p)/d) per group, +O(V*g*w*polylog(p)) over all d/g groups. +``` + +Add one full scan per group to gather/scatter U, for O(V*d/g). This is below the proposed fused interior cost at the displayed parameters. Dense boundary arithmetic is still batched as above and costs O(V*w^(omega-1)*polylog p); scanning inactive entries in U is included in the movement bound. + +The union-slab gather/scatter and the evaluation of its piece catalogues must be implemented in the retained macro-routing model. The address fields have polynomial length and g*polylog(p)=o(p), but that observation alone is not a tape routing proof. Importantly, the cost budget now tolerates a sequential factor g on the **sparse union**, so the required route is weaker than a fully fused boundary solver. + +## Paid exponents + +Let q be strictly below the supplied complex saving and below the bit saving. The proposed dominant costs, normalized by V, are + +| Component | Power of p | Saving | +|---|---:|---:| +| Main transform with deferred reservations | 1-epsilon*q | epsilon*q | +| Fused Gaussian interior / convolution groups | epsilon-q*beta | 1-epsilon+q*beta | +| Group bit routing | epsilon-a_bit*beta | 1-epsilon+a_bit*beta | +| Sparse group scans | epsilon-beta | 1-epsilon+beta | +| Boundary algebra | (omega-1)*(1-r)/2 | 1-(omega-1)*(1-r)/2 | +| Sequential operations on sparse union | beta+(1-r)/2 | (1+r)/2-beta | + +Every entry has an explicit cost source above. The similarity/normalization condition is `epsilon+r+beta<1`. The old full-axis scan Vd is not part of the claimed implementation; until its replacement is proved, this remains conditional. + +Ignoring arbitrarily small zeta and strict absorption margins, balancing the first two rows gives + +``` +epsilon=(1+q-q*r)/(1+2q), +beta=(q-(1+q)*r)/(1+2q), +kappa=q*(1+q-q*r)/(1+2q). +``` + +This is feasible for `0 0. +``` + +Thus positive r is compatible with a strictly larger exponent, while retaining the old phase-cell analytic hypotheses. + +One explicit arithmetic target uses + +``` +q=0.001675462576808103522925, +r=0.000001, +zeta=0.00000001, +epsilon=(1+q-q*(r+zeta))/(1+2q), +beta=1-epsilon-r-zeta, +kappa=epsilon*q-0.00000000001. +``` + +It yields + +``` +epsilon = 0.9983301313358845139763404147924773... +beta = 0.0016688586641154860236595852075227... +kappa = 0.0016726647643531934852000135266363... +``` + +The proposed kappa exceeds the selected 0.001672660197076918 by about 4.5672763e-9. Its boundary saving is greater than 0.09595, its sparse-scan saving is greater than 0.0033387, its sparse-union saving exceeds 0.49833, and the bit saving is strictly larger than q. This target is deliberately **not** promoted: the new circuit/supplier integration and grouped sparse tape route must first be proved. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md new file mode 100644 index 0000000000..687c668a9d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md @@ -0,0 +1,187 @@ +# Positive interpolation trees and two global inverse tails + +Status: exact algebra and an error bound for a compressed inverse representation. This note does not yet claim that the local tree operators admit the pure convolution factorization required for tensor fusion. + +## 1. Setup and signs + +Let `x_i=r^{q_i}`, `r=exp(2 a rho)>1`, and `q_i=floor(rho i+1/2)` for `0<=iu) x_j, +W_I(k)=d_(u-k)/M_I, 0<=k<|I|. +``` + +The equality `u-k=s-1-(k+c_I)` is the connection to the final reversed degree. + +Suppose `||y||_infinity<=1` and `||N0^-1||_infinity<=B`. Replace all leaves by their absolute values and call the resulting polynomial `R_I^+`. Completing the interval by the single outside monomial that chooses every node above I and no node below I gives + +``` +M_I * [z^k] R_I^+ <= [z^(k+c_I)] R_all^+ <= B d_(u-k). +``` + +Consequently + +``` +|[z^k] R_I| <= [z^k] R_I^+ <= B W_I(k). +``` + +This holds for every node of any contiguous binary interpolation tree, for arbitrary signed inputs. It does not require roots to remain correlated after rounding. In particular, it avoids the independently-rounded-erasure-quotient failure in ERASURE-ROUNDING-CONTROL.json. + +The merge identity is + +``` +R_(A union B)=F_B R_A + F_A R_B, +``` + +where A is the lower child and B the upper child. All fixed polynomial coefficients in this identity are positive. Each intermediate contribution, after multiplication by the chosen outside monomial, is a sub-sum of the final absolute Lagrange sum. Therefore bounded intermediate amplitude follows from the completed inverse bound, including in the presence of cancellation between input leaves. + +This is a height bound, not by itself a fast multiplication theorem. The gauges are degree dependent. Ordinary convolution of their unscaled coefficients can still require excessive precision. + +## 3. Partition bound for arbitrary selected nodes + +For any increasing nodes satisfying `x_(i+1)/x_i>=r`, let `e_k` be the kth elementary symmetric polynomial, and `M_k` the product of the k largest nodes. Comparing a selected k-subset to the k largest indices gives a partition of nonnegative index deficits. Hence + +``` +1 <= e_k/M_k <= C_r, +C_r=product_(h>=1)(1-r^-h)^-1. +``` + +For `r>=4`, `C_r<2`. This applies to every interval and to intervals with a node deleted. It controls the normalized fixed polynomial factors used by the tree. + +## 4. Two globally compatible far fields + +Write `E_k=e_k(x_0,...,x_(s-1))`, with E_0=1. Let `k=s-1-j`. + +If `i<=j-m`, then + +``` +0 <= 1-e_k(X without x_i)/E_k + = x_i e_(k-1)(X without x_i)/E_k + <= C_r x_i/x_(j+1) + <= C_r r^(-m-1). +``` + +The endpoint k=0 is exact and is read separately. If `i>=j+m`, then + +``` +e_k(X without x_i) + = E_(k+1)/x_i - e_(k+1)(X without x_i)/x_i, +``` + +and the second term relative to `E_(k+1)/x_i` is at most + +``` +C_r x_(j-1)/x_i <= C_r r^(-m-1). +``` + +The endpoint j=0 is again exact. Thus, after allowing a harmless factor `1/(1-C_r r^(-m-1))` to convert the relative approximation to a bound by the true positive entry, the two far fields are + +``` +(N0^-1 y)_j ~= (-1)^k [ + E_k/d_j * sum_(i<=j-m) w_i + +E_(k+1)/d_j * sum_(i>=j+m) w_i/x_i + + exact local strip |i-j|= (p log 2 + log(4 C_r B))/(log r) +``` + +makes the far-field approximation error at most `2^(-p-1)`. In the retained regime, `log B=O(log d)` and `log r=Theta(a)`, so `m=O(p/a+1)`. + +## 5. What must still be paid + +The construction reduces the data application problem to two globally compatible weighted running sums and a width-O(p/a) local strip. All coefficients, barycentric weights, and normalized tree factors may be precomputed: the source axis length is exp(O(p/d)), and any fixed polynomial power of it remains negligible compared with the full tensor volume. + +For a single axis, bounded positive interpolation trees are a plausible route to the local strip in `O(s p polylog p)` bit operations. To turn this into an exponent improvement, however, one must give a fixed sequence of convolution, diagonal, and permitted data-movement operations that can be fused over many axes. A merge written as a *sum* of two convolutions is not sufficient: tensoring it naively generates exponentially many branches. Neither the positive height bound nor the two-tail representation silently resolves that issue. + +## 6. A branch-free reduction of a normalized Sylvester merge + +This is an exact algebraic reduction, with a bounded-symbol condition. It reduces the remaining in-place question to one full Toeplitz map rather than a sum of two polynomial products. + +Take two children of size b. Choose an anchor zeta strictly between their node sets and rescale the variable. After swapping/scaling the child registers the merge has the form + +``` +S(B,A)=f(z) B(z)+z^b g(z^-1) A(z), +f(z)=product_(lower nodes x)(1+(x/zeta) z), +g(z^-1)=product_(upper nodes x)(1+(zeta/x) z^-1). +``` + +If zeta is the geometric mean of the largest lower node and smallest upper node, every displayed root parameter is at most `r^-1/2`. The sum of all parameters on either side is at most + +``` +eta = r^-1/2/(1-r^-1). +``` + +Thus the l1 norms of f and g are at most exp(eta), and the l1 norms of their reciprocal series are at most exp(eta/(1-r^-1/2)). All are constant and approach one as a increases. + +Let T_f be the 2b-by-2b lower triangular Toeplitz multiplication matrix for f. Put + +``` +h(z)=g(z^-1)/f(z), +K_ij=h_(i-b-j), +H_ij=h_(i-j), 0<=i,j>axis&1): + j=i|(1<4: + h=len(pending); r=(3*h*g+row_bits+k-1)//k + if r>=h or h-r<1:break + reserved=pending[:r];active=pending[r:] + assert r*k >= 3*h*g+row_bits + stages.append(dict(active=active,reserved=reserved)) + pending=reserved + stages.append(dict(active=pending,reserved=[])) + flat=[x for s in stages for x in s['active']] + assert sorted(flat)==list(range(d)) and len(set(flat))==d + return stages + +def run(): + global OPS + rng=random.Random(128731);mm=0;solve=0;rhs_entries=0 + for size in (1,2,4,8): + for _ in range(5): + A=[[F(rng.randint(-3,3),4) for _ in range(size)] for _ in range(size)] + B=[[F(rng.randint(-3,3),4) for _ in range(size)] for _ in range(size)] + before=OPS + assert mul(A,B)==classical(A,B) + assert OPS-before==7**(size.bit_length()-1) + mm+=1 + for width in (1,2,4,8): + for n in (1,3,7,10,17): + for k in (1,3,9): + A=[[F(0) for _ in range(n)] for _ in range(n)] + for i in range(n): + A[i][i]=F(1) + for j in range(max(0,i-width),i):A[i][j]=F(rng.randint(-2,2),8*width) + B=[[F(rng.randint(-4,4),8) for _ in range(k)] for _ in range(n)] + X=block_solve(A,B,width) + assert classical(A,X)==B + assert X==classical(inverse(A),B) + solve+=1;rhs_entries+=n*k + schedule_cases=0;exact_entries=0 + for d in range(1,1001): + s=reserve_schedule(d,128,1,8) + assert sum(len(t['active']) for t in s)==d + assert len(s)<=d + schedule_cases+=1 + for d in range(1,7): + s=reserve_schedule(d,8,1) + for col in range(1<>bit&1 else a) + assert v[row]==z;exact_entries+=1 + # Meaningful failure controls: the unresolved reserved coordinates matter. + s=reserve_schedule(6,8,1) + v=[ga(int(i==0)) for i in range(64)] + full=c_axes(v,range(6),6) + omitted=c_axes(v,s[0]['active'],6) + assert omitted!=full + # A wrong block dependency (drop the preceding solved block) fails. + A=[[F(1),F(0)],[F(1,4),F(1)]]; B=[[F(1)],[F(1)]] + assert B!=block_solve(A,B,1) + result=dict(status='PASS_EXACT_SCOPED_CONTROLS',strassen_cases=mm, + blocked_lower_solve_cases=solve,rhs_entries=rhs_entries, + reserve_schedules=schedule_cases,complex_tensor_matrix_entries=exact_entries, + negative_controls=['omit_reserved_axes','drop_preceding_solve_block'], + scalar_products_executed=OPS, + scope='Finite exact identities only; not a tape simulator or all-size compiler proof.') + print(json.dumps(result,indent=2)) + Path(__file__).with_name('CONTROLS.json').write_text(json.dumps(result,indent=2)+'\n') +if __name__=='__main__':run() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py new file mode 100644 index 0000000000..1f5f8e821a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +"""Exact failure control for independent coefficient rounding before erasure division.""" +from fractions import Fraction as F +from pathlib import Path +import json + +def pmul(a,b): + c=[0]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b):c[i+j]+=x*y + return c +s,t=29,32;H=t-s;rho=F(t,s) +q=[(2*t*i+s)//(2*s) for i in range(s)] +holes=[i for i in range(t) if i not in q] +assert holes==[5,16,27] +# exp(2*a*rho)=2^(2s); then natural source coefficient scale is 2^(-t*j*j). +base=2**(2*s);E=[1] +for h in holes:E=pmul(E,[-base**h,1]) +E0=abs(E[0]);P=1000;j=20 +# Relative 2^-P perturbation of Q_0. Exactly compute the formal quotient error. +delta=F(E0,2**P) +c=[F(0)]*(j+1) +for k in range(j+1): + rhs=delta if k==0 else F(0) + c[k]=(rhs-sum(E[h]*c[k-h] for h in range(1,min(H,k)+1)))/E[0] +error=abs(c[j])*(2**(t*j*j)) +min_error=F(2)**(t*j*j-2*s*holes[0]*j-P) +assert error>=min_error and min_error==2**6000 +assert delta/E0==F(1,2**P) +res=dict(status='PASS_ERASURE_ROUNDING_FAILURE_CONTROL',s=s,t=t,holes=holes, + relative_input_error='2^-1000',coefficient_index=j, + normalized_output_error_lower='2^6000', + exact_error_numerator_bits=error.numerator.bit_length(), + scope='Independent coefficient perturbation destroys divisibility by E. Not an impossibility result for correlated or exact-root-preserving algorithms.') +Path(__file__).with_name('ERASURE-ROUNDING-CONTROL.json').write_text(json.dumps(res,indent=2)+'\n') +print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py new file mode 100644 index 0000000000..ac7f96cd00 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from math import prod,ceil +from pathlib import Path +import json + +def p2(k):return F(2)**k +def mm(a,b):return [[sum(a[i][k]*b[k][j] for k in range(len(b))) for j in range(len(b))] for i in range(len(a))] +def symmetric(xs,n,complete): + p=[F(1)]+[F(0)]*n + for x in xs: + if complete: + for j in range(1,n+1):p[j]+=x*p[j-1] + else: + for j in range(n,0,-1):p[j]+=x*p[j-1] + return p[n] +def test(s,t,l,n): + ids=list(range(l,l+n));q={i:(2*t*i+s)//(2*s) for i in ids} + x={i:p2(2*s*t*q[i]) for i in ids} + e={i:p2(-t*t*i*i+(t*i-s*q[i])**2) for i in ids} + g=lambda i,j:p2(-(t*j-s*q[i])**2+(t*j-s*q[j])**2) + c={i:prod(1-x[k]/x[i] for k in ids if k=j else F(0)) + ur.append(e[j]/e[i]*symmetric([x[k] for k in ids if k<=i],j-i,True) if j>=i else F(0)) + if i>=j: + h=i-j + exponent=-(t*i-s*q[i])**2+(t*j-s*q[j])**2-t*t*h+2*t*sum(t*k-s*q[k] for k in ids if j=i: + h=j-i;z=(-1)**h*e[j]/e[i]*symmetric([x[k] for k in ids if k=j else F(0) for j in range(H)] for i in range(H)] + Ht=[[x[h]**j for h in holes] for j in range(H)] + D=[[1/peval(derivative,x[holes[i]]) if i==j else F(0) for j in range(H)] for i in range(H)] + A=[[Vi[t-1-j][h] for h in holes] for j in range(H)] + assert mm(mm(T,Ht),D)==A + # Complete a partial values vector to a degree0 for v in slacks.values()) +paid=dict(margins,unfused_gaussian=1-eps) +assert min(paid.values()) < k +assert 1-eps < selected +assert k>selected +# Require the missing map to be declared; calculations do not discharge it. +result=dict(status='PASS_OPTIMISTIC_LEDGER_AND_PAID_REJECTION', + selected_kappa=str(selected), target_kappa=str(k), + absolute_gain=str(k-selected), + proposed_parameters={name:str(v) for name,v in + dict(a=a,q=q,epsilon=eps,r=r,beta=beta).items()}, + omega_upper=str(omega_upper),omega_control='7^16 < 2^45', + optimistic_margins={name:str(v) for name,v in margins.items()}, + optimistic_slacks={name:str(v) for name,v in slacks.items()}, + fully_paid_margins={name:str(v) for name,v in paid.items()}, + fully_paid_accepts_target=False, + missing_lemma='Stable complete tensor Gaussian resampling including variable-core movement in stated cost and O(p) record width.', + scope='Arithmetic conditional target and explicit rejected existing-interface row; not a new multiplication certificate.') +Path(__file__).with_name('LEDGER.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(result,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py new file mode 100644 index 0000000000..d56f21f6b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +"""Exact exponent checks for the polynomial-condition nearest-neighbor lemma.""" +from fractions import Fraction as F +from pathlib import Path +import json +cases=products=0 +for t in range(6,29): + for s in range(max(5,(4*t+4)//5),t): + rho=F(t,s);theta=rho-1 + if theta>F(1,4):continue + q=[(2*t*j+s)//(2*s) for j in range(s)] + beta=[rho*j-q[j] for j in range(s)] + assert all(-F(1,2)<=v=h*rho*theta-F(1,4) + assert usum>=h*rho*theta-F(1,4) + products+=2 + cases+=1 +# With a >=4 log(16/theta), the proposed perturbation ratio is <=20 theta^4/16^6. +assert F(20,16**6)*F(1,4)**4 < F(1,2) +res=dict(status='PASS_EXACT_NEAREST_NEIGHBOR_EXPONENTS',parameter_pairs=cases, + cyclic_product_bounds=products,cycle_lengths_up_to=28, + controls=['all skip gaps checked','two full cyclic wraps checked'], + scope='Exact exponent identities and inequalities; real exponential conclusions follow from monotonicity and geometric sums.') +Path(__file__).with_name('NEAREST-NEIGHBOR-CONTROLS.json').write_text(json.dumps(res,indent=2)+'\n') +print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py new file mode 100644 index 0000000000..ebce2a90cf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +"""Exact controls for the positive interpolation tree and two global tails.""" +from fractions import Fraction as F +from math import prod +from pathlib import Path +import json + +def mul(a,b): + c=[F(0)]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b): c[i+j]+=x*y + return c + +def add(a,b): + c=[F(0)]*max(len(a),len(b)) + for i,x in enumerate(a): c[i]+=x + for i,x in enumerate(b): c[i]+=x + return c + +def factor(xs): + p=[F(1)] + for x in xs: p=mul(p,[F(1),x]) + return p + +def test(s,H,r): + t=s+H + qi=[(2*t*i+s)//(2*s) for i in range(s)] + xs=[F(r)**q for q in qi] + es=factor(xs) + ws=[] + for i in range(s): + den=prod(xs[i]-xs[j] for j in range(s) if j!=i) + ws.append(F((i*7+3)%11-5,den)) + whole=[F(0)]*s + abswhole=[F(0)]*s + for i in range(s): + e=factor(xs[:i]+xs[i+1:]) + whole=add(whole,[ws[i]*v for v in e]) + abswhole=add(abswhole,[abs(ws[i])*v for v in e]) + # Arbitrary positive target coefficient weights suffice for the exact + # completion inequality; these reproduce a Gaussian-shaped gauge. + ds=[F(1,r**(j*j)) for j in range(s)] + B=max(abswhole[s-1-j]/ds[j] for j in range(s)) + checked=0 + def tree(l,u): + nonlocal checked + if u-l==1: + fi=[F(1),xs[l]]; ri=[ws[l]]; ai=[abs(ws[l])] + else: + m=(l+u)//2 + fl,rl,al=tree(l,m); fr,rr,ar=tree(m,u) + fi=mul(fl,fr) + ri=add(mul(fr,rl),mul(fl,rr)) + ai=add(mul(fr,al),mul(fl,ar)) + Mh=prod(xs[u:]) + for k in range(u-l): + target=s-u+k + assert abs(ri[k])<=ai[k] + assert Mh*ai[k]<=abswhole[target] + assert ai[k]<=B*ds[u-1-k]/Mh + checked+=1 + return fi,ri,ai + ff,rr,aa=tree(0,s) + assert ff==es and rr==whole and aa==abswhole + left=factor(xs[:s//2]) + broken=[F(0)]*s + for i in range(s//2): + wrong=factor(xs[:i]+xs[i+1:s//2]) + broken=add(broken,[ws[i]*v for v in wrong]) + for i in range(s//2,s): + right=factor(xs[s//2:i]+xs[i+1:]) + broken=add(broken,[ws[i]*v for v in mul(left,right)]) + assert broken != whole + tails=0 + for j in range(s): + k=s-1-j + for i in range(s): + e=factor(xs[:i]+xs[i+1:])[k] + if i=e + assert (app-e)*r**(m+1)<=4*app + tails+=1 + if i>j: + m=i-j + app=es[k+1]/xs[i] + assert app>=e + assert (app-e)*r**(m+1)<=4*app + tails+=1 + return checked,tails + +n=nodes=tails=0 +for s in range(3,15): + for H in range(1,min(s,5)): + for r in (4,8): + c,d=test(s,H,r) + n+=1; nodes+=c; tails+=d +out={"status":"pass", "arithmetic":"exact rational", "instances":n, + "tree_coefficient_completion_inequalities":nodes, + "far_field_relative_error_inequalities":tails, + "negative_controls":["Omitting the upper-child factor changes the root polynomial.", + "The omitted upper-child factor is detected in every instance."], + "claims_excluded":["Fast normalized convolution implementation", "Tensor fusion", "New final exponent"]} +Path(__file__).with_name('POSITIVE-TREE-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n') +print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py new file mode 100644 index 0000000000..63f7d6eab0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Exact rational controls for Gaussian Toeplitz q-LDU and shifted exponents.""" +from fractions import Fraction as F +from pathlib import Path +import json + +def mm(a,b):return [[sum(x*y for x,y in zip(r,c)) for c in zip(*b)] for r in a] +def tr(a):return list(map(list,zip(*a))) +def ident(n):return [[F(i==j) for j in range(n)] for i in range(n)] +def powq(q,n):return q**n + +def factors(q,n): + Q=q*q;P=[F(1)] + for j in range(1,n):P.append(P[-1]*(1-Q**j)) + bc=lambda i,j:P[i]/(P[j]*P[i-j]) + L=[[q**((i-j)**2)*bc(i,j) if i>=j else F(0) for j in range(n)] for i in range(n)] + Li=[[(-q)**(i-j)*bc(i,j) if i>=j else F(0) for j in range(n)] for i in range(n)] + D=[[P[i] if i==j else F(0) for j in range(n)] for i in range(n)] + return L,Li,D + +cases=0;entries=0 +for q in (F(1,2),F(1,3),F(2,3)): + for n in range(1,11): + L,Li,D=factors(q,n) + G=[[q**((i-j)**2) for j in range(n)] for i in range(n)] + assert mm(mm(L,D),tr(L))==G + assert mm(L,Li)==ident(n) and mm(Li,L)==ident(n) + # Integer-power diagonal conjugation is an exact finite surrogate. + diagonal=[q**(i*i-3*i) for i in range(n)] + Lt=[[L[i][j]*diagonal[i]/diagonal[j] for j in range(n)] for i in range(n)] + Lit=[[Li[i][j]*diagonal[i]/diagonal[j] for j in range(n)] for i in range(n)] + assert mm(Lt,Lit)==ident(n) + cases+=1;entries+=n*n + +exponent_cases=0 +for rho in (F(1001,1000),F(17,16),F(3,2)): + theta=rho-1 + for c in (-2,0,3): + for i in range(15): + for j in range(i+1): + h=i-j;beta=theta*i-c + # D_i/D_j times q^h for the inverse L factor. + raw=theta*(i*i-j*j)-2*c*(i-j)-rho*h + condensed=(2*beta-rho)*h-theta*h*h + assert raw==condensed + exponent_cases+=1 + +# Rational validation of the perturbation bound in the worked 24x24 witness. +rbound=F(24,2**23);linv_bound=F(24) +error=linv_bound**2*rbound/(1-linv_bound*rbound) +assert linv_bound*rbound<1 and errora. These are the actual strict rate relations used by the +support-local compiler and its stopped recursion, not an assumption that +all bit operations have the complex supplier's exact endpoint. + +## Functional interface + +The reviewed outer proof consumes a globally complete dyadic tensor call +which applies normalized H0 simultaneously on the selected active bits, +acts as identity on arbitrary dirty helper/coarse/spectator coordinates at +completed-call boundaries, accepts O(p)-bit coefficient encodings, and costs +O(V g^(1-q) polylog p). The supply is used as a completed operator, with its +own scalar phases and working storage included. Outer Gaussian blocks do +not directly inspect the local donor edits, per-rank multiplicities, owner +replica count, or a particular parent-word ordering. + +The T74 source retains the same local normalized target, common-label and +mutable-source contract, whole-call hosting, exact wrappers/phases, and +restoration interface. Its new parent uses m=73 as before, with maximum +residual rank48 and fixed finite W=66304. Replacing the old finite stock W +by this fixed W changes constants and the O(log g) product-row reservation, +not any exponent in the support-local argument. The local word has480 +helpers, also unchanged in its interface. All donor reads are intended to +preserve the exact full local endpoint; our separate rational rebuild check +confirmed that algebra. The complete unmodified native/frame/phase replay has +now passed and certifies the recorded normalized implementation of those endpoints. +The source pin and hashes of the native, strict, control, and physical-invoice +receipts are bound in `NATIVE-ADMISSION-BINDING.json`. + +The larger fixed prefix allowance (2048 bits in the T74 global invoice) +also changes a constant in the linear semantic guard. The capped proof allows +a fixed supplier-dependent constant in O(g), and later O(g*a*B), with an O(p) +record constant chosen accordingly. It does not require the former numeric +prefix constant to remain512 or1024. The strict power guards B+X+r<1 and +E+r<1 remain in force and were checked independently. + +The neighborhood exposure still involves O(g log p) actual selected bits; +the T74 finite word neither requests ambient-p address permutations nor +changes the complete-field requirement. The retained bit supplier supplies +the same arbitrary-width equal-chunk interchange interface with more rate +than the chosen a. Source and sink scalings converting H0 to the raw H used +by the tensor compiler remain O(g) guard terms. There is no new finite-field +bridge or a new assumption that per-microbox coarse labels are complete. + +Thus the substitution does not require a new analytic lemma, removal of a +charged row, or a new kind of workspace. The updated finite supplier is now +verified by `work/target002_upstream/full-1661-verification/RESULT.json`, whose +status is `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`. The binding includes +the complete source manifest and actual fresh native, strict-assembly, physical +invoice, and control receipt hashes. The two rates above are completed conditional +substitutions: their remaining conditions are exactly the inherited all-size, +hosting, precision/tape, exact-recovery, and analytic hypotheses described above; +the matrix branch additionally requires omega_C<=9/4. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json new file mode 100644 index 0000000000..72d30de3fd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json @@ -0,0 +1,155 @@ +{ + "status": "PASS_FRESH_NATIVE_ADMISSION_BOUND_TO_CONDITIONAL_SUBSTITUTION", + "scope": "Unmodified PR1661 complete fresh finite/native/global verifier passed; the independently reviewed phase-fusion recomposition retains all inherited all-size, hosting, precision/tape, exact-recovery and analytic hypotheses. The matrix corollary additionally assumes omega_C<=9/4.", + "source_pr": 1661, + "source_head": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "source_manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "complex_lower_pinned": "8398566873921928847865107582977140808726533185752606814031551243089531888024439117235381227291914058448586599984374667388474246199941131401151316949826049729135138281487406840315861844950703424400143642674520874037535671888706933756382975087837881090275422517866488734818622618194142006954783211221019204801330544148296601796623021915319705773977790291402669246008667290619418570040011860763793419/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_lower_used": "0.00167971337478", + "native_profile": { + "1": 1559766, + "2": 337668, + "3": 278058, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "full_status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "control_counts": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "new_native_provider_checks": [ + { + "provider": "base", + "word_sha256": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "native_steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 0.8915401669219136 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 0.6126613330561668 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 4.12045537494123 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 1.6204181250650436 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 105.53502279194072 + } + ] + }, + { + "provider": "extra", + "word_sha256": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "native_steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 0.8948857497889549 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 0.6080808339174837 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 4.124318625079468 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 1.615505084162578 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 104.45134279201739 + } + ] + } + ], + "claimed_upstream_kappa": "2096120836276624134688388746584953339514362520423949513323080069393667100216231635208104119737345042388668831200716016971801652042353643495728574611972682561506611546576106026399087419654954846560528338423252093335760585442384781219905020477867156522858637805447097010230458679015075893421495530515714751141439077307948959746873853766585216530792933519877595664647309255912786892895226283571949929/1250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "recomposed_final_kappa": { + "strassen": "0.001677160151714381", + "matrix_9_4": "0.001677600129305161" + }, + "receipt_sha256": { + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/full-1661-verification/audit-local-566-base.log": "4767093ae54ad03845870bcfd0402f7ee6e4bc4c1dd7801146b7aa2217f0f39d", + "target002_upstream/full-1661-verification/audit-local-566-extra.log": "b03c4d51b4309fd2b49fdae8f26d4bb68f84d1149f310d21237a95f995b57d19", + "target002_upstream/full-1661-verification/fine-engine-oracle.log": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3", + "target002_upstream/full-1661-verification/geometry-controls.log": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9", + "target002_upstream/full-1661-verification/lift-parent.log": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "target002_upstream/full-1661-verification/native-new-base/local/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "target002_upstream/full-1661-verification/native-new-base/local/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "target002_upstream/full-1661-verification/native-new-base/local/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "target002_upstream/full-1661-verification/native-new-base/local/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "target002_upstream/full-1661-verification/native-new-base/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "target002_upstream/full-1661-verification/native-new-base.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "target002_upstream/full-1661-verification/native-new-extra/local/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "target002_upstream/full-1661-verification/native-new-extra/local/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "target002_upstream/full-1661-verification/native-new-extra/local/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "target002_upstream/full-1661-verification/native-new-extra/local/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "target002_upstream/full-1661-verification/native-new-extra/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "target002_upstream/full-1661-verification/native-new-extra.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "target002_upstream/full-1661-verification/parent/RESULT.json": "13037d41939ede1de9c80be7a75a051006a457ff2d871cadde2351a39bb254ee", + "target002_upstream/full-1661-verification/rebind-566.log": "c90f7d555ea88339e4999736f38e9fcf1e63b88637e05ddcb76782f0900134a3", + "target002_upstream/full-1661-verification/rebuild-words-566.log": "e9825c70278880f4a9566012d700b0d7944f84fbf02b95408896b3a07d29e849", + "target002_upstream/full-1661-verification/reconstruct-owners.log": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5", + "target002_upstream/full-1661-verification/retained-provider-and-parent-admission.log": "a84cbfcd6ad1a9a2f8279939fcbcec5457b8b55d3dc9971e3407491a82c1c57e", + "target002_upstream/full-1661-verification/strict/ADMISSION-CONTROLS.json": "528fa1aec9db41e748774df5b9cbcd86f702c76286423fd0762cbac5510564c3", + "target002_upstream/full-1661-verification/strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60", + "target002_upstream/full-1661-verification/strict/BIT-CONTROLS.json": "7c27d56e68b924ac0fefc6353e9e38d2e3f593295cf1a39aade27fba39922e54", + "target002_upstream/full-1661-verification/strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "target002_upstream/full-1661-verification/strict/STAGES.json": "abbc3fa255097304f0862c3c390c3bd681485a64c5cf906b7796e6f978faf049", + "target002_upstream/full-1661-verification/strict/global/audit/ASYNC-AUDIT.json": "37b1b8d81353c99db83edbf3d9d1510906e0ae0a3301165894190d416f1c6d60", + "target002_upstream/full-1661-verification/strict/global/audit/PREFIX-AND-INVOICE.json": "321d98f8342fb61418aacee7a99a7e54ae284b32a5f142fa692ebe6825d05ea0", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "target002_upstream/full-1661-verification/strict-t74.log": "d6a6c941d4107f47f3f8ced6a4f85b48d562bb30aeb9ae7927c3a3a15331af1b", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/PROFILE.json": "f66dd80aff69525144eac18144c13d7d8be3d3c39028b3afa1b59a8edf53e8a3", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt new file mode 100644 index 0000000000..42c6bb3033 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt @@ -0,0 +1,22 @@ +ARITHMETIC REPLAY (Python 3.11 or newer; standard library only) +From this phase_fusion_review directory: + python3 frontier_fusion/check_frontier_fusion.py + python3 frontier_fusion/independent_substitution_check.py + +These replay the rational native moment and both outer ledgers, including +negative controls. They do not rerun the entire native supplier. + +COMPLETE NATIVE REPLAY +Obtain CrocSwap/integer-mult-bounds at exact commit +f852af5e178ce035cd46181a29d9330bcbcaa206. Follow the requirements in +research/gmx-t74-p566-ep400/ and run its unmodified verify.py with a fresh +--work directory and --audit-shards 4. The retained RESULT.json and +NATIVE-ADMISSION-BINDING.json identify the completed fresh run and bind +its native, owner, phase, invoice, arithmetic and control receipts. +The full 121 MB long-precision assembly and its vendor tree are not duplicated +in this review bundle. Their hashes are retained; obtain/replay the pinned +source to reproduce those larger files. + +The two final exponents retain the inherited all-size hypotheses. The larger +value additionally assumes the supplied omega_C <= 9/4 theorem. Numerical and +finite native verification alone do not prove those external hypotheses. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex new file mode 100644 index 0000000000..78278aea07 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex @@ -0,0 +1,53 @@ +\section{Updated T74 supplier and final exponents}\label{sec:t74} + +The preceding proofs are parameterized by the effective supplier rate. We now substitute the independently replayed T74 complex supplier from \href{https://github.com/CrocSwap/integer-mult-bounds/pull/1661}{PR1661}, pinned at commit \texttt{f852af5e178ce035cd46181a29d9330bcbcaa206}. This is a new input to the same outer proof, with contributor attribution retained in the source package. The original numerical statements above remain valid special cases. + +Use the exact finite decimals +\[ + b_T=0.00167971337478,\qquad q_T=b_T-10^{-10}, + \qquad a_T=(q_T+b_T)/2. +\] +The independently retained bit rate $a_*=0.001733427039589844234749$ satisfies $q_T0 for x in assembly['outer'].values()) +checks=[] +for key,word in [('base','gauge44-word-566.json.gz'),('extra','extra-word-566.json.gz')]: + d=RUN/('native-new-'+key) + st=read(d/'STEPS.json') + assert [z['step'] for z in st]==['native','ledgers','local-replay','wrappers','phases'] + assert all(z['exit_code']==0 for z in st) + assert gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((SRC/'new'/word).read_bytes()) + checks.append({'provider':key,'word_sha256':sha(SRC/'new'/word),'native_steps':st}) +paths={RUN/'RESULT.json',RUN/'STAGES.json',RUN/'parent/RESULT.json',RUN/'strict/RESULT.json',RUN/'strict/STAGES.json',RUN/'strict/ASSEMBLY.json',SRC/'MANIFEST.json',SRC/'CLAIM.json',SRC/'new/SPEC.json',SRC/'new/PROFILE.json'} +for base in [RUN/'native-new-base',RUN/'native-new-extra',RUN/'strict']: + for f in base.rglob('*.json'): + if any(tag in f.name.upper() for tag in ['CONTROL','CHECK','REVIEW','AUDIT','REPLAY','INVOICE','STAGES']):paths.add(f) +for z in steps:paths.add(RUN/(z['name']+'.log')) +report={'status':'PASS_FRESH_NATIVE_ADMISSION_BOUND_TO_CONDITIONAL_SUBSTITUTION', + 'scope':'Unmodified PR1661 complete fresh finite/native/global verifier passed; the independently reviewed phase-fusion recomposition retains all inherited all-size, hosting, precision/tape, exact-recovery and analytic hypotheses. The matrix corollary additionally assumes omega_C<=9/4.', + 'source_pr':1661,'source_head':'f852af5e178ce035cd46181a29d9330bcbcaa206','source_manifest_sha256':r['manifest_sha256'], + 'complex_lower_pinned':assembly['complex_lower'],'complex_lower_used':'0.00167971337478','native_profile':assembly['complex_profile'], + 'full_status':r['status'],'control_counts':r['controls'],'new_native_provider_checks':checks, + 'claimed_upstream_kappa':r['kappa'],'recomposed_final_kappa':{'strassen':'0.001677160151714381','matrix_9_4':'0.001677600129305161'}, + 'receipt_sha256':{str(f.relative_to(W)):sha(f) for f in sorted(paths)}} +(P/'NATIVE-ADMISSION-BINDING.json').write_text(json.dumps(report,indent=2)+'\n') +print(report['status'],len(paths),'bound receipt files') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py new file mode 100644 index 0000000000..a8112e3cef --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Recombine the pinned T74 supplier with the reviewed phase-fusion proof. + +This checks arithmetic and provenance, not the independent native replay. +The latter's completion is recorded separately; no all-size premise is waived. +""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +from math import factorial +import hashlib, json + +HERE=Path(__file__).resolve().parent +WORK=HERE.parent +SPEC=WORK/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json' +CLAIM=WORK/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json' +spec=json.loads(SPEC.read_text()) +certified_complex=Q(spec['expected']['complex_lower']) +bit=Q('0.001733427039589844234749') +# Keep short independently checkable decimals strictly inside both endpoints. +b=Q('0.00167971337478') +q=b-Q(1,10**10) +a=(q+b)/2 +online=Q(spec['expected']['kappa']) +old=Q('0.001673360105405778') +assert b=2:x/=2;k+=1 + lo,hi=unit_log(x) + return down(lo+k*ln2[0]),up(hi+k*ln2[1]) +def exp(x): + assert 0<=x<1 + N=12 + lo=sum((x**j/factorial(j) for j in range(N)),Q(0)) + hi=lo+x**N/factorial(N)/(1-x/(N+1)) + return down(lo),up(hi) +def moment(endpoint): + lo=hi=Q(0) + for r,n in profile.items(): + l,h=log(Q(m,r)); weight=Q(n*r,m*W) + lo+=weight*exp(endpoint*l)[0] + hi+=weight*exp(endpoint*h)[1] + return down(lo),up(hi) + +native=moment(b) +assert native[1]<1 +assert moment(Q('0.001679713374785'))[0]>1 + +def ledger(kind, *, q_=q, zeta=Q(1,10**8), slack=Q(1,10**5), + old_scan=False, full_gauge=False, full_key=False): + r=Q(1,10**6); stop=Q(1,10**9) + if kind=='strassen': + c=Q(3,32) + eps=(1+q_+q_*(c-slack-r-zeta))/(1+q_)**2 + xi=eps*(1+q_)-c+slack + else: + c=Q(5,16) + xi=(Q(3,2)+q_-(1+q_)*(r+zeta)+slack)/(2+q_) + eps=(1+q_*(1-xi-r-zeta))/(1+q_) + beta=1-xi-r-zeta + saving=eps*q_ + # Deliberate strict 1e-11 gap after decimal truncation. + kappa=Q((saving*10**18).__floor__(),10**18)-Q(1,10**11) + # kappa is derived, not silently asserted to equal an expected decimal. + tau=1-a; sigma=1-b + internal=tau+(1-stop)*max(sigma-tau,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q_+a)/2 + key=beta+1-eps + margins={ + 'main_transform':saving, + 'global_coordinate_router':a, + 'fused_gaussian':1-eps+q_*beta, + 'group_bit_router':1-eps+a*beta, + 'group_scans':1-eps+beta, + 'boundary_algebraic_matrix':c+xi-eps, + 'sparse_union_movement':1-eps-beta-Q(1,2)+xi, + 'polynomial_products':eps, + 'microbox_face_corrections':1-(eps+beta+3-8+2), + } + if kind=='strassen':margins['sparse_union_full_key']=margins['sparse_union_movement']-key + if old_scan:margins['old_per_axis_scan']=1-eps + if full_key and kind!='strassen':margins['unnecessary_full_key_sort']=margins['sparse_union_movement']-key + checks={ + 'actual_bit_above_effective':bit-a, + 'complex_above_effective':b-a, + 'q_positive':q_, 'complex_endpoint':b-q_, + 'q_below_effective':a-q_, 'stop_positive':stop, + 'stop_below_one':1-stop, + 'leaf_saving_above_effective':(1-stop)*b-a, + 'q_below_internal':1-internal-q_, 'q_below_leaf':1-leaf-q_, + 'lambda_above_tau':lam-tau, 'lambda_above_sigma':lam-sigma, + 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':1-q_-lam, + 'lambda_prime_above_leaf':1-q_-leaf, + 'epsilon_positive':eps,'epsilon_below_one':1-eps, + 'cap_above_band':xi-Q(1,2),'cap_below_cell':eps-xi, + 'group_positive':beta,'group_below_dimension':eps-beta, + 'support_router_span':1-beta, + 'group_gauge_power_slack':1-xi-r-beta, + 'actual_logarithmic_group_guard':1-xi-beta, + 'global_gamma_power_slack':1-eps-r, + 'actual_logarithmic_gamma_guard':1-eps, + 'alpha_logarithm_absorption':r, + 'group_key_fits_record':1-key, + 'membership_arithmetic_fits_record':1-beta-2*(1-eps), + 'microbox_halo_volume':8-3-beta, + 'positive_layout_slack':slack, + 'short_record_fallback':eps-a, + 'improvement_over_online_final':kappa-online, + 'improvement_over_previous_local_final':kappa-old, + 'complex_below_one_over_32':Q(1,32)-b, + } + if kind!='strassen': + checks['sparse_union_fraction_decays']=xi-beta-Q(1,2) + checks['matrix_exponent_above_supplied_bound']=Q(19,8)-Q(9,4) + checks['matrix_exponent_below_five_halves']=Q(5,2)-Q(19,8) + if full_gauge:checks['unrecentered_group_gauge']=1-eps-r-beta + checks.update({n+'_above_kappa':v-kappa for n,v in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + if kind=='strassen':assert margins['boundary_algebraic_matrix']==saving+slack + else:assert margins['sparse_union_movement']==saving+slack + return {'kind':kind,'kappa':kappa,'epsilon':eps,'xi':xi,'beta':beta, + 'q':q_,'a':a,'r0':r,'zeta':zeta,'slack':slack, + 'margins':margins,'strict_checks':checks} + +def encode(x): + if isinstance(x,Q): + with localcontext() as c: + c.prec=60 + return {'rational':str(x),'decimal':str(Decimal(x.numerator)/Decimal(x.denominator))} + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +rows={};controls={} +for kind in ['strassen','matrix_9_4']: + row=ledger(kind) + assert all(v>0 for v in row['strict_checks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + rows[kind]=row + variants=[('endpoint_equality',{'q_':b}),('zero_group_guard',{'zeta':Q(0)}), + ('zero_layout_slack',{'slack':Q(0)}),('old_per_axis_scan',{'old_scan':True}), + ('full_cell_gauge',{'full_gauge':True})] + if kind!='strassen':variants.append(('full_key_sort',{'full_key':True})) + controls[kind]={} + for name,kwargs in variants: + bad=ledger(kind,**kwargs) + failed={n:v for n,v in bad['strict_checks'].items() if v<=0} + assert failed,(kind,name) + controls[kind][name]=failed +out={'status':'PASS_EXACT_T74_PHASE_FUSION_ARITHMETIC', + 'scope':'Conditional recomposition of pinned supplier and already-reviewed outer proofs. Full fresh native replay is a separately tracked requirement; inherited all-size assumptions remain.', + 'complex_lower_short':b,'complex_lower_pinned':certified_complex, + 'native_moment':native,'profile':profile,'m':m,'W':W, + 'online_final_kappa':online,'rows':rows,'rejecting_controls':controls, + 'source_sha256':{str(p.relative_to(WORK)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [SPEC,CLAIM]}} +(HERE/'FRONTIER-FUSION-ARITHMETIC.json').write_text(json.dumps(encode(out),indent=2)+'\n') +print(out['status']) +for name,row in rows.items(): + print(name,'FINAL KAPPA',encode(row['kappa'])['decimal'], + 'positive checks',len(row['strict_checks']), + 'gain over online',encode(row['kappa']-online)['decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py new file mode 100644 index 0000000000..04ec764940 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py @@ -0,0 +1,45 @@ +"""Independent balance-equation check, not an execution of the proposed ledger.""" +from fractions import Fraction as F +from pathlib import Path +from decimal import Decimal,localcontext +import json,hashlib +D=Path(__file__).resolve().parent;W=D.parent +src=W/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json' +spec=json.loads(src.read_text());pinned=F(spec['expected']['complex_lower']) +b=F('0.00167971337478');q=b-F(1,10**10);eff=(q+b)/2;actual_bit=F('0.001733427039589844234749') +r=F(1,10**6);z=F(1,10**8);s=F(1,10**5) +assert 0eff +assert 7**16<2**45 +rows={} +for name,c,expected in [('strassen',F(3,32),F('0.001677160151714381')),('matrix_9_4',F(5,16),F('0.001677600129305161'))]: + if name=='strassen': + # Solve E(1+q)+q X=1+q(1-r-z), X-E(1+q)=s-c. + E=(1+q*(1-r-z+c-s))/(1+q)**2;X=E*(1+q)+s-c + else: + # Solve E(1+q)+q X=1+q(1-r-z), 2X-E(1+q)=1/2+s-r-z. + X=(F(3,2)+q+s-(1+q)*(r+z))/(2+q);E=(1+q*(1-r-z-X))/(1+q) + B=1-r-z-X + assert E*q==1-E+q*B + assert (c+X-E==E*q+s) if name=='strassen' else (1-E-B-F(1,2)+X==E*q+s) + assert F(1,2)0 and 1-E-r>0 + assert 1-B>0 and 1-B-2*(1-E)>0 + margins={'transform':E*q,'global_router':eff,'gaussian':1-E+q*B,'group_router':1-E+eff*B,'group_scans':1-E+B,'boundary':c+X-E,'sparse_union':1-E-B-F(1,2)+X,'polynomials':E,'microfaces':4-E-B} + if name=='strassen':margins['union_key_sort']=margins['sparse_union']-(B+1-E) + else:assert X-B-F(1,2)>0 + K=F((E*q*10**18).__floor__(),10**18)-F(1,10**11) + assert K==expected and min(margins.values())==E*q and all(v>K for v in margins.values()) + with localcontext()as cc:cc.prec=55 + rows[name]={'epsilon':str(E),'cap':str(X),'beta':str(B),'kappa':str(K),'margin_above_kappa':str(E*q-K),'checked_margin_count':len(margins)} +native_path=W/'target002_upstream/full-1661-verification/RESULT.json' +native_ok=False +if native_path.exists(): + native=json.loads(native_path.read_text()) + assert native['status']=='PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION' + assert F(native['kappa'])==F(spec['expected']['kappa']) + native_ok=True +report={'status':('PASS_INDEPENDENT_CONDITIONAL_SUBSTITUTION_REVIEW' if native_ok else 'PASS_INDEPENDENT_CONDITIONAL_SUBSTITUTION_REVIEW_PENDING_NATIVE'),'source_sha256':hashlib.sha256(src.read_bytes()).hexdigest(),'scope':('Independent balance derivation, margin comparisons, and functional-interface review; completed fresh finite/native admission is bound separately, with inherited all-size assumptions retained.' if native_ok else 'Independent balance derivation, margin comparisons, and functional-interface review; full fresh native admission remains pending.'),'rows':rows,'native_required_output':'target002_upstream/full-1661-verification/RESULT.json'} +(D/'INDEPENDENT-SUBSTITUTION-RECEIPT.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps(report,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex new file mode 100644 index 0000000000..e7a2c00d4e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex @@ -0,0 +1,212 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{lmodern,microtype,amsmath,amssymb,amsthm} +\usepackage[margin=1in]{geometry} +\usepackage[colorlinks=true,allcolors=blue]{hyperref} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\newcommand{\norm}[1]{\left\lVert#1\right\rVert_\infty} +\newcommand{\Z}{\mathbb Z} +\title{Fixed-Width Gaussian Resampling Is Polynomially Conditioned} +\author{Research note prepared with OpenAI Codex} +\date{October 13, 2026} +\begin{document} +\maketitle +\begin{abstract} +An exact bilateral Newton factorization proves that the Gaussian +resampling inverse has norm $O(\theta^{-2})$ at a fixed Gaussian width, +where $\theta>0$ is the oversampling gap. This removes the width-growth +requirement from the conditioning argument. The proof uses convergent +infinite triangular factors and then periodizes them; it does not assert +operator-norm convergence of finite sections. A fast implementation and +its tensor cost remain separate obligations. No improved final +integer-multiplication exponent is claimed in this note. +\end{abstract} + +Let $1\le s5/6$. +At $a=1$, concavity gives +$1-e^{-\rho\theta}\ge1-e^{-\theta}\ge(1-e^{-1})\theta>3\theta/5$, +and $e^{1/2}<2$; substitution gives the stated constant $16$. +\end{proof} + +\begin{corollary}[The width may be fixed] +For the resampling convention $a=\pi\alpha^2$, one may take the fixed +integer $\alpha=2$ in the inverse-conditioning and normalization +argument. If all $d$ gaps satisfy $\theta_i\ge d^{-C}$ for a fixed $C$, +the total logarithmic normalization loss is $O(d\log d)$. +\end{corollary} +\begin{proof} +The theorem bounds each inverse by a fixed constant times $d^{2C}$. +The separate diagonal has norm at most $e^{a/4}$, a fixed constant. +Taking powers of two large enough to normalize these factors costs +$O(\log d)$ bits per axis; logarithms add under tensor products. +\end{proof} + +\paragraph{Scope and provenance.} +This strengthens the conditioning-only result in the earlier note +\emph{A Polynomial Condition Bound for Gaussian Resampling}. The +matrix is the one in Section~7 of the +\href{https://github.com/CrocSwap/integer-mult-bounds/tree/e6f9716621f4e01fc190617934cdfaf072bd976f}{inspected repository snapshot}. +Classical Newton interpolation and symmetric-polynomial identities are +used explicitly above; no generic-rank assumption is used. Two independent +agents checked the limiting and periodization arguments. Exact rational +controls cover negative and zero origins, finite $LDU$, inverse entries, +origin shifts and simultaneous periodicity. + +This theorem does not supply the new numerical implementation at these +parameters. Stable factor application, in-place tensor composition, +coefficient generation and all tape movement must still be priced. +The repository's inspected conditional exponent remains +$\kappa=0.001672660197076918$; no larger final exponent is certified here. +\end{document} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py new file mode 100644 index 0000000000..45a5aeb417 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py @@ -0,0 +1,32 @@ +"""One-time capsule creation from the independently completed source-bound run.""" +from pathlib import Path +import argparse,json,hashlib,sys +sys.set_int_max_str_digits(500000) +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--native-source',type=Path,required=True) +ap.add_argument('--native-work',type=Path,required=True) +ap.add_argument('--output',type=Path,required=True) +a=ap.parse_args() +source=a.native_source.resolve();run=a.native_work.resolve() +b=json.loads((P/'frontier_fusion/NATIVE-ADMISSION-BINDING.json').read_text()) +def normalized(x): + if isinstance(x,dict):return {k:normalized(v)for k,v in x.items()if k not in {'seconds','log_sha256'}} + if isinstance(x,list): + y=[normalized(v)for v in x] + return sorted(y,key=lambda v:v['name']) if y and all(isinstance(v,dict)and'name'in v and'exit_code'in v for v in y) else y + if isinstance(x,str):return x.replace(str(run),'{native-work}').replace(str(source),'{native-source}') + return x +out={'schema':'phase-fusion-native-receipt-capsule/1','scope':'Canonical semantic hashes of the completed native JSON receipts. Elapsed seconds, stage-log digests, and the two root directory prefixes are normalized; concurrent named stage records are sorted. Actual current stage-log hashes are checked separately. Log byte hashes identify the historical run but are not compared across fresh runs.','source_commit':b['source_head'],'source_manifest_sha256':b['source_manifest_sha256'],'receipts':[]} +for rel,raw in b['receipt_sha256'].items(): + if rel.startswith('target002_upstream/full-1661-verification/'): + kind='native_work';r=rel.removeprefix('target002_upstream/full-1661-verification/');f=run/r + else: + prefix='target002_upstream/pr1661/research/gmx-t74-p566-ep400/' + assert rel.startswith(prefix);kind='native_source';r=rel.removeprefix(prefix);f=source/r + blob=f.read_bytes();assert hashlib.sha256(blob).hexdigest()==raw + row={'root':kind,'path':r,'historical_sha256':raw} + if f.suffix=='.json':row['semantic_sha256']=hashlib.sha256(json.dumps(normalized(json.loads(blob)),sort_keys=True,separators=(',',':')).encode()).hexdigest() + out['receipts'].append(row) +a.output.write_text(json.dumps(out,indent=2)+'\n') +print(len(out['receipts']),'receipts',sum('semantic_sha256'in r for r in out['receipts']),'canonical JSON hashes') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex new file mode 100644 index 0000000000..4351a73450 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex @@ -0,0 +1,460 @@ +\documentclass[11pt]{article} +\usepackage[margin=1in]{geometry} +\usepackage{amsmath,amssymb,amsthm,booktabs,longtable,array} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{proposition}[theorem]{Proposition} +\newtheorem{corollary}[theorem]{Corollary} +\newcommand{\norm}[1]{\left\lVert #1\right\rVert} +\newcommand{\diag}{\operatorname{diag}} +\newcommand{\poly}{\operatorname{poly}} +\newcommand{\plog}{\operatorname{polylog}} +\newcommand{\file}[1]{\href{#1}{\texttt{\detokenize{#1}}}} +\title{Capped phase-cell fusion in the conditional multiplication reduction} +\author{Research note prepared with OpenAI Codex assistance} +\date{13 October 2026} +\begin{document} +\maketitle + +\noindent\textbf{Review status: PASS\_CONDITIONAL\_PHASE\_FUSION\_REVIEW.} The capped local-gauge and layout changes have independent audits, followed by an integrated review of this note and its 44 exact strict slacks. The result below is conditional on the same finite suppliers and all-size computational interfaces as the retained selected result; it is not an unconditional integer-multiplication theorem and does not change the upstream selected certificate. + +\noindent\textbf{Updated final bounds.} The completely replayed T74 substitution in Section~\ref{sec:t74} gives $\kappa_T=0.001677160151714381$, or $\kappa_{T,M}=0.001677600129305161$ with the additional supplied matrix-exponent premise. Neither reaches the continuing target $0.002$. + +\section{Statement, inputs, and parameters} + +The retained selected saving is +\[ + \kappa_{\rm old}=0.001672660197076918. +\] +The retained independently replayed supplier lower bounds are +\[ + a_*=0.001733427039589844234749,\qquad + b_*=0.001675462676808103522925. +\] +Here $a_*$ is the bit saving and $b_*$ is the complex saving. They are supplied inputs, not recomputed finite constructions in this note. Put +\[ + q=b_*-10^{-10},\qquad a_{\rm eff}=(b_*+q)/2, + \qquad r_0=10^{-6},\quad \zeta=10^{-8},\quad s_0=10^{-5}, + \qquad c_0=3/32. +\] +The effective bit saving is deliberately weakened so that +$q2|t|+1$. Both nonzero parameters have controlled inverses, so zero shears cause no singular diagonal. Two- and three-$H$ identity words pad all permitted gate types to the same six-$H$ shape. Thus one original matching layer uses at most $(8m+2)$ simultaneous $H$ stages. + +For $g$ different axis circuits, Kronecker multiplication tensors the corresponding $H$ stages and multiplies the diagonal factors. There is no expansion into $2^g$ branches and no data padding. Coarse labels may select different switch and coefficient tables, while the stage schedule stays common. A tensor diagonal has coefficient $\prod_i d_i(x_i)$. In lexicographic order, cached prefix products are recomputed only on odometer carries; the total number of extra products is bounded by $L^g\sum_{k\geq1}k/L^k=O(L^g)$. Scanning the one-axis tables on a fixed number of tapes has the same amortized bound. Consequently each diagonal costs $O(V\plog p)$ rather than $O(Vg)$. + +Crucially, an $H$ stage is invoked \emph{globally across all complete coarse-label ranges}. A fixed coarse-label microbox does not contain complete high-coordinate bits to borrow. Each chosen local bit is placed in a complete $K$-bit neighborhood of its original axis, with +\[ + G=4\lceil\log_2p\rceil+6,\qquad K=128G. +\] +An individual neighborhood fits because $K+O(\log p)=o(\log s_i)$. The $gK$ selected positions can be exposed by a permutation supported on at most $2gK$ positions; the complement need not be stably compacted. Coarse labels are restored before the next diagonal is evaluated. + +The retained compact supplier's residual basis acts on its selected bits, not on the entire ambient address. Its control shuttles have width $O(hG)$ at a node with $h$ active bits. Reserve whole neighborhoods for the two front fields, one back field, and the full product row stock required by nested bit and complex calls. The completed active call is the desired kernel on active bits and identity on arbitrary dirty reserved coordinates. Thus these reserved selected bits can be deferred, rather than processed individually first. Their count is at most $h/16$ above a polylogarithmic tail. Padding adds whole rows only for the current phase and is deleted before the next one. + +The original sufficient wording $K/\log p\to\infty$ is replaced by the finite inequality actually used in its proof, $K\geq G+4\lceil\log_2p\rceil+10$. The present $K$ satisfies it. The support router implements all needed placements with support $O(h\plog p)$, and its short-record construction borrows only $\lceil\log_2p\rceil^2$ suffix bits. It does not move an entire long axis. + +Using supplier stopping exponent $10^{-9}$ gives a strict leaf saving above $a_{\rm eff}$ and $q$. The retained stopped recurrence and the geometric sum of deferred widths yield +\[ + O\bigl(Vg^{1-q}\plog p\bigr) +\] +for a complete global selected-bit call, including all exposure/restoration. The retained supplier implements $H_0=H/2$; multiplying by $2^g$ costs one shift scan and $O(g)$ guard bits. The full circuit therefore costs the same bound up to polylogarithms. The derivations and restrictions are in \file{TENSOR-COMPILER.md}, \file{SUPPLIER-SUPPORT-AUDIT.md}, and \file{SUPPORT-ROUTER.md}. + +\section{The two actual Gaussian operators} + +\subsection{Narrow compression and target-grid completion} +For one axis put $q_j=\lfloor\rho j+1/2\rfloor$ and $\beta_j=\rho j-q_j$. The retained narrow normalized Gaussian is $N=CTD$, where $C$ selects the $q_j$ target rows. Its off-diagonal row sum satisfies +\[ + \norm{N-I}_\infty\leq e^{-2a\theta}+5e^{-2a}. +\] +The two nearest directions must be bounded together; charging each by $e^{-2a\theta}$ would not give this result. With the chosen $a\geq4\log(16p)$ and $\theta\geq1/(4p)$, the row gap is at least $1/(8p)$ eventually. The globally fixed, truncated, structure-preserving rounded matrix $H$ can be chosen with $\norm{H-N}<1/(16p)$, diagonal exactly one, gap at least $1/(16p)$, row norm below two, and $\norm{H^{-1}}_\infty\leq16p$. Every local inverse uses a principal restriction of this same $H$. + +Let $E$ inject source coordinate $j$ at target coordinate $q_j$. On the full dyadic target grid define +\[ + H_{\rm aug}=EHC+(I-EC). +\] +It is permutation-similar to $H\oplus I$, so it inherits row dominance and inverse bounds. Its physical target bandwidth is at most $2w+2$, since $q$ increments by one or two. Its inverse on selected rows is $EH^{-1}C$. A diagonal normalization on selected rows, zero on holes, followed by the increasing $q$-image extraction gives exactly the retained compression approximation. + +\subsection{Broad expansion} +The broad forward matrix is distinct: +\[ + S_{kj}=\alpha^{-1}e^{-b_0(j-\lambda k)^2},\qquad + b_0=\pi/\alpha^2,\quad\lambda=1/\rho. +\] +Embed source values at the $q_j$ coordinates, zero elsewhere. Give every hole input column an identity column. The resulting square matrix $M$ agrees with $S$ on the intended zero-hole input. In selected/hole order, +\[ + M=\begin{bmatrix}\alpha^{-1}N_bD_b^{-1}&0\\ R&I\end{bmatrix}, + \quad b=\pi/(\alpha^2\rho^2),\quad + D_b=\diag(e^{b\beta_j^2}). +\] +The Gaussian row sum of $R$ is bounded. In particular $\norm{M}<3$ eventually; use $M/4$ as the completed forward map, making it contractive also on numerical errors in hole coordinates. Relative to the former $S/2$ normalization this contributes an extra $2^{-D}$ over $D$ axes. A single exact $2^D$ shift compensates it, increasing the retained scalar exponent $\Gamma$ by $D=o(p)$. + +On a phase cell $q_j=j+c$, a selected target block has entries +\[ + K_{ki}=\alpha^{-1}e^{-b_0(i-c-\lambda k)^2}. +\] +Its inverse is polynomially bounded even though an uncentered diagonal split can have a large range. The finite Gaussian LDU proof only uses gaps at least one and $|\beta|\leq1/2$. For +\[ + c_b=\prod_{m\geq1}(1-e^{-2b\rho m}) +\] +it gives +\[ + \norm{K^{-1}}_\infty + \leq\frac{\alpha e^{3b/4}c_b^{-4}} + {(1-e^{-b\rho\theta})^2}. +\] +Indeed $q'_k=k+\rho c$ has unit gaps and $\beta'_{q_j}=\beta_j$. Also +\[ + \log c_b^{-1} + =\sum_{h\geq1}\frac1{h(e^{2b\rho h}-1)} + \leq\frac{\pi^2}{12b\rho}, + \qquad c_b^{-4}\leq e^{\pi\alpha^2\rho/3}. +\] +Since $\alpha^2=O(\log p)$ and $\theta^{-1}=\poly(p)$, the bound is polynomial in $p$, uniformly over all contiguous cell subblocks. + +For a block anchor $m$, set $x=i-m$, $y=k-m$, and $\delta=(1-\lambda)m-c$, with $|\delta|\leq1/2$. The exact Toeplitz split is +\begin{align*} + K_{ki}&=D_{\rm row}(y)G(y,x)D_{\rm col}(x),\\ + G(y,x)&=e^{-b_0\lambda(x-y)^2},\\ + D_{\rm col}(x)&=e^{-b_0((1-\lambda)x^2+2\delta x)},\\ + D_{\rm row}(y)&=\alpha^{-1}e^{b_0\lambda(1-\lambda)y^2+ + 2b_0\delta\lambda y-b_0\delta^2}. +\end{align*} +The Gaussian Poisson formula bounds the symbol of $G$, with $\gamma=b_0\lambda$, between +\[ + \sqrt{\pi/\gamma}\,e^{-\pi^2/(4\gamma)} + \quad\hbox{and}\quad1+\sqrt{\pi/\gamma}. +\] +Thus every finite principal $G$ is SPD with polynomial condition number. Truncating at width $W$ and rounding symmetrically to sufficiently many $Cp$ bits preserve these bounds. The SPD shallow circuit applies. See \file{LOG-A-PHASE-SCHUR-AUDIT.md}, \file{BILATERAL-LDU.md}, and \file{FORWARD-SMALL-A-AUDIT.md} for the analytic details and exact local-identity controls. + +\section{Capping and recentering the phase interiors} + +All target holes and original physical period cuts are boundary coordinates. Selected target coordinates are consecutive inside an original phase cell, so no interior circuit is applied to a masked Toeplitz matrix. Use the maximum physical bandwidth $W$ for both directions. + +In each original $O(d)$-length cell, retain $W$ endpoints and repeatedly choose the largest dyadic interior of size at most $B$ that fits with a following $W$ separator. Once no full $B$ block remains, the dyadic-tail procedure halves the remaining length at every step until its size is $O(W)$, which is all boundary. There are $O(d/B+\log B)$ interiors and +\[ + O\bigl(W(d/B+\log B)\bigr) +\] +boundary coordinates per cell. Since $B=o(d)$, the boundary density is $O((W/B)\plog p)$. Each eliminated interior touches only its two neighboring $O(W)$ boundary groups. Schur fill therefore has half-bandwidth $O(W)$, regardless of the number of capped blocks. + +For the narrow exact cell weights +\[ + \omega_j=e^{-a(1/4-\beta_j^2)/\theta}, +\] +one step changes their logarithm by $2a\beta_j+a\theta=O(a)$. On a capped block use the exact rounded-weight ratio $\widehat\omega_j/\widehat\omega_m$ around one anchor. The common scalar cancels from the similarity, and its logarithmic range is $O(aB)$. The retained global rounding changes this by $O(1)$, because its $Cp$ precision dominates the original $O(ad)=o(p)$ range. This is symbolic recentering of the same matrix, not a new local rerounding. For the broad split, $|x|,|y|\leq B$ and $B\leq d$ give diagonal ranges +\[ + O\bigl((B+B^2/d)/\alpha^2\bigr)=O(B/\alpha^2)\subset O(aB). +\] +The number of blocks does not multiply circuit depth: they run as a direct sum on the $L$ existing coordinates. + +\section{Five factors, sparse windows, and batched boundaries} + +For either square operator write $Q=\left[\begin{smallmatrix}A&B_1\\C_1&D_1\end{smallmatrix}\right]$ in interior/boundary order, and $F=D_1-C_1A^{-1}B_1$. Exact multiplication gives +\begin{align} + Q^{-1}&=\diag(A^{-1},I)E_{-B_1}\diag(A,F^{-1}) + E_{-C_1}\diag(A^{-1},I),\\ + Q&=\diag(A,I)E_{C_1}\diag(A^{-1},F)E_{B_1}\diag(A,I). +\end{align} +The off-diagonal factors use the original banded $B_1,C_1$. The forward formula uses $F$ only as a matrix application; it does not require a forward Schur inverse or a forward LU-prefix assertion. For the narrow inverse, row diagonal dominance survives elimination. Its Schur row gap stays at least $1/\poly(p)$ and its row norm is bounded, so the retained no-pivot boundary solver applies. + +Batch independent right-hand sides in a dyadic width between $W$ and $2W$. A banded triangular solve becomes block updates +\[ + X_j=L_{jj}^{-1}(Y_j-L_{j,j-1}X_{j-1}). +\] +Precomputed diagonal inverses and two square block products implement each update. The seven-product recursion gives exponent $\omega=\log_2 7<45/16$, the latter inequality checked exactly by $7^{16}<2^{45}$. The same batching handles boundary/interior coupling products. Intermediate Strassen additions grow only polynomially in $W$. Round after a completed block update and bound its residual. Each local window has polynomial length $L$, the no-pivot factors and exact partial right-hand sides have polynomial bounds, and the completed system inverse has polynomial norm. Thus the uniform local residual is $\poly(p)2^{-P}$; there is no factor equal to the global number of windows. The total boundary cost is +\[ + O\bigl(V(d/B)W^{\omega-1}\plog p\bigr). +\] + +For a group let $J_i$ be its boundary set, and let $E_i$ also include every interior coordinate incident to $B_1$ or $C_1$. Then $|E_i|/L=O((W/B)\plog p)$ and each sparse factor fixes $E_i^c$. The union +\[ + U=\{x\in[L]^g:\exists i,\ x_i\in E_i\} +\] +has fraction $O(gW/B\plog p)$. It is closed under the sparse factors, including a possibly dense inverse on $J_i$. It is \emph{not} closed under a dense $A$ stage. Use two sparse windows, with scatter/regather around the intervening dense stage. + +For one sparse axis, $U_i=E_i\times[L]^{g-1}$ is a complete rectangle wholly present in $U$. Scan $U$, extract $U_i$, number $E_i$ in increasing order by a stream counter, transpose only this polynomial-size field, perform its boundary operation, and merge back. Only this one field is temporarily padded, and the padding is deleted before the next axis. Each sparse window costs $O(Vg^2W/B\plog p)$ per group. Across $d/g$ groups this is +\[ + O\bigl(V(dg/B)W\plog p\bigr). +\] +Every group also has a fixed number of full scans costing $O(V)$. Membership calculations use $O(g(\log s)^2\plog p)=o(p)$ bit operations per $p$-bit record. Detailed fixed-tape extraction and batching are in \file{PHASE-LAYOUT-AUDIT.md}. + +\section{Core faces, ordered embedding, and precision} + +The increasing map $j\mapsto q_j$ permits one product scan for a whole group. Enumerate the dyadic target rectangle. For target $k$, put +\[ + j=\max\{0,\lceil s(2k-1)/(2t)\rceil\}. +\] +It lies in the image exactly when $j0.000428$. The old core-face cost has exponent $\epsilon_M+\beta_M-3<-1.75$. + +The main and grouped Gaussian savings are equal, while the sparse-union saving has an exact $s_U$ surplus: +\begin{align*} + \epsilon_Mq&=1-\epsilon_M+q\beta_M,\\ + 1-\epsilon_M-\beta_M-1/2+\xi_M&=\epsilon_Mq+s_U. +\end{align*} +Their minimum equals +\[ + 0.001673360115405778453817047951720376\ldots>\kappa_M+10^{-11}. +\] +The new boundary saving is $5/16+\xi_M-\epsilon_M>0.0639$, so it is not binding. Global routing, group scans, packed products and core-face repairs have strictly larger savings. + +The optional full-key surcharge in the earlier conservative table is absent here: the actual sparse-union algorithm extracts complete rectangles $U_i$, transposes one field, and performs an ordered merge. It does not sort union records. In contrast, all sparse \emph{microhalo} radix keys remain paid in their negligible correction volume. Adding a full-key sort on the union is an explicit rejecting control; omitting it follows from the layout proof, not from the matrix exponent. The new parameter range and q-image ordering are independently checked in \file{MATRIX-LAYOUT-SIGNOFF.md}. + +The exact ledger \file{check_matrix_corollary.py} verifies 47 positive strict slacks and six rejecting controls, recorded in \file{MATRIX-COROLLARY-ARITHMETIC.json}. The gain over the upstream selected saving is $6.9990832886\times10^{-7}$. The gain over the separate Strassen result is $4.37755816907\times10^{-7}$. The strict minimum gap absorbs all remaining fixed logarithms as before. +\end{proof} + +\noindent\textbf{Corollary review status: PASS\_CONDITIONAL\_MATRIX\_PHASE\_FUSION\_REVIEW.} The additional matrix transfer, new-parameter layout and exact arithmetic passed their independent audits and integrated root review. Corollary~\ref{cor:matrix} retains its explicit additional matrix-exponent premise. The first theorem and its separate reviewed arithmetic receipt remain unchanged. + +\section{Updated T74 supplier and final exponents}\label{sec:t74} + +The preceding proofs are parameterized by the effective supplier rate. We now substitute the independently replayed T74 complex supplier from \href{https://github.com/CrocSwap/integer-mult-bounds/pull/1661}{PR1661}, pinned at commit \texttt{f852af5e178ce035cd46181a29d9330bcbcaa206}. This is a new input to the same outer proof, with contributor attribution retained in the source package. The original numerical statements above remain valid special cases. + +Use the exact finite decimals +\[ + b_T=0.00167971337478,\qquad q_T=b_T-10^{-10}, + \qquad a_T=(q_T+b_T)/2. +\] +The independently retained bit rate $a_*=0.001733427039589844234749$ satisfies $q_T0 for x in assembly['outer'].values()),'native strict inequalities failed') + words={} + for key,word in [('base','gauge44-word-566.json.gz'),('extra','extra-word-566.json.gz')]: + d=run/('native-new-'+key);st=read(d/'STEPS.json') + need([s['step'] for s in st]==['native','ledgers','local-replay','wrappers','phases'] and all(s['exit_code']==0 for s in st),'native word coverage failed: '+key) + need(gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((source/'new'/word).read_bytes()),'native word payload differs: '+key) + words[key]=sha(source/'new'/word) + caps=read(package/'frontier_fusion/NATIVE-ADMISSION-BINDING.json') + need(result['controls']==caps['control_counts'],'cold control coverage differs') + capsule=read(package/'NATIVE-RECEIPT-CAPSULE.json') + def native_normalized(x): + if isinstance(x,dict):return {k:native_normalized(v)for k,v in x.items()if k not in {'seconds','log_sha256'}} + if isinstance(x,list): + y=[native_normalized(v)for v in x] + return sorted(y,key=lambda v:v['name']) if y and all(isinstance(v,dict)and'name'in v and'exit_code'in v for v in y) else y + if isinstance(x,str):return x.replace(str(run),'{native-work}').replace(str(source),'{native-source}') + return x + bound={} + for z in capsule['receipts']: + root=run if z['root']=='native_work' else source + f=root/z['path'];need(f.is_file(),'missing native receipt: '+z['path']) + bound[z['root']+'/'+z['path']]=sha(f) + if 'semantic_sha256' in z: + digest=hashlib.sha256(json.dumps(native_normalized(read(f)),sort_keys=True,separators=(',',':')).encode()).hexdigest() + need(digest==z['semantic_sha256'],'native semantic receipt differs: '+z['path']) + files=[run/'RESULT.json',run/'STAGES.json',run/'strict/RESULT.json',run/'strict/ASSEMBLY.json'] + return {'status':'PASS_FRESH_NATIVE_RUN_BOUND_TO_PINNED_PHASE_FUSION','scope':'Existing complete cold native run checked against the pinned source and the independently replayed outer inputs; all-size assumptions remain.','source_commit':PIN,'source_manifest_sha256':sha(source/'MANIFEST.json'),'native_words':words,'complex_lower':assembly['complex_lower'],'profile':assembly['complex_profile'],'controls':result['controls'],'canonical_native_receipts_checked':46,'all_native_receipt_sha256':bound,'run_receipt_sha256':{str(f.relative_to(run)):sha(f) for f in files}} + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--package',type=Path,default=Path(__file__).resolve().parent);ap.add_argument('--native-source',type=Path);ap.add_argument('--native-work',type=Path);ap.add_argument('--output',type=Path);a=ap.parse_args() + need((a.native_source is None)==(a.native_work is None),'provide both --native-source and --native-work') + package=a.package.resolve() + if a.output:need(not a.output.resolve().is_relative_to(package),'--output must be outside the immutable package') + out=fast(package) + if a.native_source:out['cold_native_binding']=cold_binding(package,a.native_source,a.native_work) + if a.output:a.output.write_text(json.dumps(out,indent=2)+'\n') + print(out['status'],len(out['checks']),'exact control replays') + if 'cold_native_binding' in out:print(out['cold_native_binding']['status']) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md new file mode 100644 index 0000000000..bf9899ee21 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md @@ -0,0 +1,355 @@ +# Fine prime padding with separate setup and online precision + +This extends the capped phase-cell construction of PR1673 and the +fractional-shift interiors and radix-union schedule of PR1758. The finite +supplier is the unchanged signed-554 T74 supplier admitted in PR1699. +The new mechanism is a finer choice of source primes. Its smaller phase +increment changes the chirp budget, provided coefficient setup is allowed +more precision than the online records. The boundary uses the retained +explicit Strassen format; no structured-solver stability claim is needed. + +The exact ledger gives conditional +`kappa=0.001679754788150048`, rounded strictly below the derived saving. +The conclusion retains the all-size hypotheses listed in section 8 below. +Finite checks do not prove those hypotheses, the cited prime theorem or the +complete multiplication theorem. No practical cutoff is claimed. + +## 1. A source-prime interval finer than 1/d + +Retain the dyadic target box of the assembly construction. Its dimension is +`d=Theta(p^epsilon)`, `0=229 that + + |pi(x)-li(x)| <= 0.2795 x (log x)^(-3/4) + exp(-sqrt(log x/6.455)). + +[Primary source, theorem 2](https://arxiv.org/html/1401.2689v2#S2). +This theorem is a cited mathematical input, not re-proved by the verifier. + +Apply it at the two endpoints of the requested interval about x=t_i. +The logarithmic-integral difference is at least `eta_p x/log x`. The sum +of the two errors divided by this main term is bounded, for a fixed C, by + + C p^2 (log x)^(1/4) exp(-c sqrt(log x)) -> 0. + +Indeed `log x=Theta(p^(1-epsilon))` and epsilon<1 is fixed, so its positive +power dominates log p. Consequently the interval contains eventually at +least `x/(8p^2 log x)` primes. This exceeds d, since x is exponential in +`p^(1-epsilon)` and the denominator and d are polynomial in p. Both target +sizes satisfy the estimate. Their intervals are disjoint, so all d source +primes can be made distinct, odd and coprime to their dyadic targets. + +The deterministic search used by the assembly still works: scan the +intervals and test candidates by trial division. Even scanning all O(r) +candidates with O(sqrt r) divisors and polynomial bit overhead costs +`O(d r^(3/2) poly(p))`. Its logarithm is `O(log p+p/d)=o(p)`, hence setup +is `n^o(1)=o(n)`. No unknown threshold is used as a claim of practicality. +The algorithm can fall back on the retained multiplier for smaller inputs. + +Let `rho_i=t_i/s_i=1+theta_i`. The interval gives + + 1/(4p^2) < theta_i <= 1/(2p^2-1) <= 1/p^2. + +Also `S/T > (1-1/(2p^2))^d >= 1-d/(2p^2) > 1/2` eventually, since +d<=p. Thus the same capacity bound `T/2=1/(4d)`. + +## 2. Polynomial conditioning survives the smaller increment + +Keep `alpha=ceil(sqrt((4/pi) log(16p)))` and `a=pi alpha^2`. Eventually +`4 log(16p)<=a<=5 log(16p)` and alpha^2=Theta(log p). The sharp row estimate +of PR1673, LOG-A-PHASE-SCHUR-AUDIT section 1, is valid for every theta>0: + + ||N-I||_infinity <= exp(-2 a theta)+5 exp(-2a). + +For theta>=1/(4p^2), its row gap is at least `1/(8p^2)` eventually; for +example `1-exp(-2a theta)>=1/(4p^2)` while the second term is O(p^-8). +Omitting the exponentially small nonzero diagonal aliases and setting the +diagonal exactly to one preserves a polynomial gap. Exponentially accurate +band truncation and coefficient rounding preserve half of it. Every principal +narrow block has the same row gap, and its Schur complements retain that gap. + +The broad bound in FORWARD-SMALL-A-AUDIT sections 1-3 already states its +dependence on theta explicitly: + + ||K^-1|| <= O(alpha^5 rho^2 theta^-2 exp(a rho/3)). + +This is polynomial for the new theta. Since rho=1+O(p^-2), the exponential +factor is at most p^2 eventually, theta^-2<=16p^4, and alpha^5 is +polylogarithmic. The finite and bilateral LDU entry bounds are geometric +in index distance and bound both row and column sums. The same estimates +apply to the finite contiguous sections used by elimination. The augmented +forward matrix adds identity hole columns and a Gaussian coupling of bounded +row and column sums. Thus a conservative common eventual bound p^10 covers +the relevant matrices and their inverse norms, in both induced row/column +norms and spectral norm. Polynomially small perturbations preserve it with +slightly larger constants. This bound is independent of the number of cells. + +Physical-prefix elimination still consists of one contiguous prefix and +disjoint future interiors separated by at least the bandwidth. The eliminated +matrix is a direct sum of such sections. A Schur inverse is a principal block +of the corresponding full inverse; its norm is therefore polynomial too. +Schur norms follow from `D-C A^-1 B`. These are the same prefix geometries +used in the retained dense no-pivot boundary argument, with new polynomial +constants. No general stability assertion for structured generators is used. + +## 3. Setup precision must increase; online precision need not + +The old absolute weight precision cannot be retained. For the narrow weights + + w_i=exp(-a(1/4-beta_i^2)/theta), + +the negative logarithm can now be as large as `a/(4 theta)=O(p^2 log p)`. +Rounding these weights absolutely to Cp bits can produce zero. The finite +checker includes a concrete underflow witness; this is a required change. + +Let `L_p=ceil(log2 p)` and let C be a sufficiently large fixed constant. +Use setup precision + + P_setup = C p + 64 p^2 L_p. + +Eventually `a<=16 L_p`, so `a/(4 theta)<=16 p^2 L_p`. Since log 2>1/2, +rounding a weight downward with absolute error at most `2^-P_setup` gives + + |w_hat_i-w_i|/w_i + <= 2^-P_setup exp(a/(4 theta)) + < 2^(-C p). + +The weights remain positive. Increasing C by a fixed amount supplies any +additional polynomial slack needed below. Computing these polynomially many +bits, exponentials, exact anchored ratios and local inverse/factor pages takes +polynomial time in p. Schoolbook arithmetic and ordinary convergent series +already suffice; no use of the improved multiplier at a larger precision is +required for this setup bound. + +Define one globally fixed rounded reference matrix H as in the retained +audit: within each original phase cell use positive rounded weights and a +single rounded, truncated Toeplitz kernel, and across cells use rounded +Gaussian entries, with diagonal exactly one. The weights use P_setup, while +the kernel and the actual online pages need only a sufficiently large +constant times p bits. For distances at most W, weight ratios have logarithmic +range O(aW)=o(p). The truncation tail is bounded directly in the Gaussian +entries, independently of the full-cell weight range. Hence H differs from +the exact Gaussian matrix by `poly(p) 2^(-(C-o(1))p)` in row and column norm. +This preserves the polynomial conditioning in section 2. All actual Schur +and inverse tables are computed for this H, with the same perturbation budget. + +The data circuit never multiplies by the full-cell weights. Use PR1758's +exact fractional-shift identities, whose algebra holds for every theta>0. +On a capped block of length at most B, the narrow remaining chirp has +logarithmic range O(a theta B^2); the broad chirp and its leftover linear +term have range O(b0 theta B^2+b0 theta B), where b0=pi/alpha^2. Each is at +most O(a B^2/p^2). The shifted Toeplitz kernels remain accretive: their shift +gap is at least theta/2, and the explicit symbol bound of PR1758 gives +polynomial inverse norms when theta^-1=O(p^2). Its accretive shallow-circuit +theorem therefore has polylog(p) guard bits per axis, as before. + +The ideal shifted representation and H need not have identical stored +coefficients. Their difference has the bound just established: replace the +old raw `Cp` weight precision by P_setup in the comparison in PR1758 section +2. Local shifted kernels and anchored chirps are generated directly, then +rounded at online precision. Across g axes the uncompleted amplification is + + exp(O(g a B^2/p^2 + g polylog p)). + +Thus O(p)-bit records suffice whenever + + beta + 2 xi - 2 < 1, beta < 1. + +The inverse comparison also stays within the error budget. If an ideal +interior A and the rounded reference H_II differ by Delta, then +`H_II^-1-A^-1=-H_II^-1 Delta A^-1`. Both inverse norms are polynomial; +the error changes only by a polynomial factor. Telescoping through the +constant number of completed factor stages, and through g tensor axes, +uses the stated chirp/prefix guard. Exact identity of their rounded +coefficient lists is neither assumed nor needed. + +Setup arithmetic at P_setup is separate from these records. It is not placed +inside an online motif call or multiplied into the per-record data cost. +PHASE-LAYOUT-AUDIT already permits polynomial coefficient/page generation +per complete microbox and axis, amortized by the superpolynomial inner and +spectator payload. Replacing its polynomial by another fixed polynomial +preserves that argument: `L^g` and every full unused source-axis range exceed +every fixed polynomial in p. The number of pages, capped pieces, axes and +required bits is polynomial. This is an asymptotic amortization, not a claim +that P_setup or the eventual cutoff is practical. + +## 4. Normalize completed maps with powers of two + +The exact Gaussian resampling identity and the coprime source/target +permutations do not require theta to be of order 1/d. They require the +positive separation and invertibility established above. The completed +forward, inverse and diagonal factors can have larger polynomial norms +than in the old parameter family. Divide each such completed map by an +additional dyadic factor of at most `2^ceil(100 log2 p)`. The conservative +p^10 bounds above are then below one. Restore the product of these exact +normalizers at the final scalar shift, together with the retained Gaussian +normalization. This preserves the exact transform identity. + +There are O(d) factors; the added shift has O(d log p)=o(p) bits because +epsilon<1. This also bounds the extra accuracy needed before exact recovery. +At a sufficiently large fixed C, data precision is `C p+o(p)=O(p)`. +Completed groups can be treated as contractions, while their uncompleted +prefixes/suffixes use the chirp and circuit guards of section 3. None of +these changes increases the semantic online dimension exponent C1=1. +Offline arithmetic is paid through the setup amortization, not that interface. +The normalizer is scalar: combine its powers into the group coefficients or +apply one scalar per completed group, rather than introducing a full scan per +axis. A constant number of these operations per group is absorbed by the +retained group-scan row. Global restoration is one already-paid exact shift. + +## 5. A larger but still polynomial locality window + +The old literal row-gap and locality constants must not be reused. A +conservative generic locality argument suffices. For a banded reference +matrix with `||H||_2,||H^-1||_2<=p^10`, put + + Q=I-p^-20 H* H. + +Its eigenvalues lie in `[0,1-p^-40]`. With `J=ceil(p^42)`, the polynomial +inverse `p^-20 sum_(j0`. +The locality polynomial is used in the proof and coefficient setup. The +online algorithm still uses the capped factorization and compiled circuits; +it does not perform J Neumann iterations on each data record. + +An original phase cell now has length Theta(p^2). Capped dyadic carving still +has boundary density `O((W/B) polylog p)`: the additional end-cell contribution +is `O(W log B/p^2)`, dominated when B<=p^2. Clipped physical period cuts and +holes remain boundary. Scalar Schur bandwidth stays O(W), since an eliminated +interior joins only its two neighboring O(W)-size separators. Larger cores +and halos change only fixed powers in offline setup and O(log p) address +fields. Their source axes are still superpolynomial in p. + +## 6. Retained Strassen boundary, circuit and union costs + +Use the explicit Strassen circuit, with `7^16<2^45`, so choose fixed matrix +target exponent `tau=45/16` and `c=(3-tau)/2=3/32`. PR1673's dense boundary +proof and fixed-format absolute-precision argument apply to the new polynomially +conditioned pages. Block scans, permutations, rewinds and linear combinations +remain charged. Boundary density is still W/B, so its cost power remains +`epsilon-xi+(tau-1)/2` and its saving is `c+xi-epsilon`. This applies to general +rounded blocks and needs no structured inverse algorithm. + +The interiors use PR1758's shifted Toeplitz representation and accretive +shallow-circuit theorem, with the smaller theta substituted in the explicit +symbol bound and with section 3's setup precision. Circuit algebra and depth +are unchanged; the condition guard remains polylog(p) per axis because all +inverse norms and theta^-1 are polynomial. + +Retain PR1758's radix-distributed union schedule. Complete lines stay in one +flag class and axis operators commute on distinct tensor factors. Its incidence +identity is `sum_r |S_r|=sum_x |F(x)|=sum_i |U_i|<=g mu V`. Each visit already +moves an O(p)-bit record; flag extraction and O(g log L)-bit headers are absorbed +when beta<1. We use PR1758's per-visit argument, not the obsolete 2 beta<1. +Union cost power remains `epsilon+1/2-xi`. No per-axis scan of the whole union +is added, and no vanishing-union fraction is assumed. Support routing, +whole-neighborhood reservation and interchange retain their stated interfaces. + +## 7. Explicit parameters and every paid row + +Use PR1699's certified endpoint +`b_cert=335950991225108904267/200000000000000000000000`. +Set `b=b_cert-10^-64`, `q=b-10^-64`, `a_eff=(q+b)/2`, +`r0=10^-64`, `zeta=10^-66`, layout slack `s=10^-64`, and stopped-recursion +parameter `stop=10^-70`. The bit endpoint is 0.001733427039589844234749. +Choose + + epsilon=9999999/10000000, + beta=9999997/10000000, + xi=epsilon(1+q)-3/32+s. + +Thus xi=0.90792965478815... . This is an explicit interior point; it does not +assert an attained limiting rate. Since beta0`. The global router also +exceeds the main saving. Every other row has larger slack. The minimum is +`epsilon q`, strictly above the rounded headline. + +Key side conditions are + + 1-beta=3 delta>0, + 1-beta-2(1-epsilon)=delta>0, + epsilon-beta=2 delta>0, + 1-epsilon-r0>0, + 1-(2xi-2)-r0-beta=0.184140990423...>0, + 1/20, 48>43. + +The ledger regenerates the remaining stopped-supplier, endpoint, logarithm +and layout conditions. A separate implementation reconstructs the point and +all nine powers. Fourteen rejected variants include the old theta guard, +old union scan, group=dimension, epsilon=1, an unsupported Strassen exponent +and halo/core choices outside the stated locality witness. These failures +are scoped to this proof and point, not universal lower bounds. + +## 8. Scope, sources and open obligations + +Newly supplied here: the effective fine-prime interval and capacity/search +argument; the polynomial setup-precision replacement; the theta-dependent +conditioning substitution; conservative locality/core choices; scalar +normalization accounting; and the exact parameter composition. + +Retained or cited mathematical inputs are Trudgian's prime theorem; PR1673's +Gaussian identities, bilateral/finite LDU, capped factorization, dense boundary +and layout arguments; PR1758's fractional-shift identities, accretive circuit +theorem and per-visit union schedule; and the admitted finite supplier. +Arithmetic and finite simulations do not prove these general statements. + +The multiplication conclusion remains conditional on the all-size compiler, +common labels, mutable sources, whole-call hosting, semantic online precision +C1=1, fixed tapes, prime-packing implementation, arbitrary-width equal-chunk +interchange, exact recovery and analytic transfer. The changed prime interval, +setup precision and locality scales are proved above rather than silently +substituted into old numeric hypotheses. No independent human review, +proof-assistant verification, practical cutoff or physical multiplication +implementation is claimed. + +Credit Vlado Vojdanovski for PR1673; IdeaOuter, as credited by PR1758, for +fractional-shift interiors and per-visit tag accounting; Jeremy Kothe and +contributors for the package series; and LeverRank for the second schedule +simulation. PR1699's notices retain the complete supplier lineage. PR1672 +published the signed-554 kernel first. New material here was prepared by +Chafik Boukhalfa with substantial OpenAI Codex assistance, under Apache-2.0. + +Open next questions: independently review setup versus online precision, +uniform prefix conditioning and the enlarged halo; formalize the fine-prime +transfer lemma; improve the finite supplier endpoint. Every new endpoint +still requires a complete paid native word and admission. The extreme +eventual threshold is intentionally not presented as a practical algorithm. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md new file mode 100644 index 0000000000..e491b2e587 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md @@ -0,0 +1,3 @@ +# PR1786 (chafreaky / Chafik Boukhalfa), fine source-prime padding + +`FINE-PRIME-PADDING.md` and `outer/check_fine_padding.py` (copied; only the first docstring line of the script is relabelled) are from CrocSwap/integer-mult-bounds PR1786, branch chafreaky/integer-mult-bounds `research/fine-prime-padding`, head `c52345caa318fc6b1b6e2659c57d746317a72823` (Apache-2.0, as stated in the PR). The mechanism (source primes at relative gap Theta(p^-2) from dyadic targets via Tim Trudgian's effective prime number theorem, arXiv:1401.2689v2 theorem 2; setup precision Cp + 64 p^2 ceil(log2 p); theta-dependent conditioning; polynomial halo p^48 and core p^128; dyadic normalizers; explicit Strassen boundary) is entirely theirs. This package changes only the explicit parameter point (epsilon, beta) and the surrounding stack, see `outer/FINE-PADDING-COMPOSITION.md`. diff --git a/research/gmx-t74-borrow43-handoff/verify.py b/research/gmx-t74-borrow43-handoff/verify.py new file mode 100644 index 0000000000..c9c6ca06c9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify.py @@ -0,0 +1,139 @@ +"""Portable finite admission. Fresh native suppliers by default; explicit bound reuse supported.""" +import argparse,gzip,hashlib,json,os,shutil,subprocess,sys,tarfile,threading,time +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--work',type=Path,required=True);ap.add_argument('--base-native-from',type=Path);ap.add_argument('--extra-native-from',type=Path);ap.add_argument('--parent-receipt-cache',type=Path);ap.add_argument('--new-base-native-from',type=Path);ap.add_argument('--new-extra-native-from',type=Path);ap.add_argument('--native-cache',type=Path);ap.add_argument('--audit-shards',type=int,default=4);ap.add_argument('--reference-native',action='store_true');a=ap.parse_args();work=a.work.resolve();assert __debug__ and not work.exists() and not work.is_relative_to(P) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +pins=rd(P/'MANIFEST.json');actual={p.relative_to(P).as_posix() for p in P.rglob('*') if p.is_file() and p!=P/'MANIFEST.json'};assert actual==set(pins) +for rel,h in pins.items():assert sha(P/rel)==h,rel +work.mkdir();(work/'tmp').mkdir();env=dict(os.environ,TMPDIR=str(work/'tmp'),PYTHONDONTWRITEBYTECODE='1',PYTHONPYCACHEPREFIX=str(work/'pycache-prefix'),PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',OPENBLAS_NUM_THREADS='1',OMP_NUM_THREADS='1') +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +env['AUDIT_FAST_SHARDS']=str(max(1,a.audit_shards)) +stages=[];lock=threading.Lock() +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=work,env=env,stdout=f,stderr=subprocess.STDOUT) + with lock:stages.append(dict(name=name,exit_code=r.returncode,seconds=time.monotonic()-t,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2)) + assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +old=P/'vendor/pr1297' +# The pinned input witness must be the exact retained predecessor, not merely a similar profile. +for n in ['PLAN.json','OWNERS.json.gz','GLOBAL-TEMPLATE.json.gz','DISPATCH.json','SPEC.json']:assert rd(P/'inputs'/n)==rd(old/n),n +env['FINE_ENGINE_CACHE']=str(work/'fine-cache') +env['BORROW_RECEIPTS']=str(work/'borrow-receipts') # receipts carry timings: written to the work directory, never into the package +run('fine-engine-oracle',P/'code/oracle_check.py') +opts=[] +for key,path in [('base',a.base_native_from),('extra',a.extra_native_from)]: + if path:opts.extend(['--'+key+'-native-from',path.resolve()]) +PARENT_STATUS='PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' +def retained_files_ok(): + # the retained package must be byte-for-byte the one every receipt below is bound to (same check as its own verify.py) + vm=rd(old/'MANIFEST.json');have={p.relative_to(old).as_posix() for p in old.rglob('*') if p.is_file() and '__pycache__' not in p.parts and p!=old/'MANIFEST.json'} + assert have==set(vm),'retained package file set differs from its manifest' + for rel,h in vm.items():assert sha(old/rel)==h,rel +def natives_bound(path,word): + assert gzip.decompress((path/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((old/word).read_bytes()),word + st=rd(path/'STEPS.json');assert [x['step'] for x in st]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in st) +rc=None;receipt=None +if a.parent_receipt_cache and a.base_native_from and a.extra_native_from: + retained_files_ok();rc=a.parent_receipt_cache.resolve()/sha(old/'MANIFEST.json') + if (rc/'RECEIPT.json').is_file(): + receipt=rd(rc/'RECEIPT.json') + try: + assert receipt['schema']=='parent-receipt/1' and receipt['vendor_manifest_sha256']==sha(old/'MANIFEST.json') + assert receipt['claim_sha256']==sha(old/'CLAIM.json') and receipt['words']=={'base':sha(old/'gauge44-word.json.gz'),'extra':sha(old/'extra-word.json.gz')} + for name,h in receipt['files'].items():assert sha(rc/name)==h,name + pr=rd(rc/'RESULT.json');assert pr['status']==PARENT_STATUS and pr['kappa']==rd(old/'CLAIM.json')['kappa'] and pr['base_native_reuse'] is True and pr['extra_native_reuse'] is True + natives_bound(a.base_native_from.resolve(),'gauge44-word.json.gz');natives_bound(a.extra_native_from.resolve(),'extra-word.json.gz') + except (AssertionError,KeyError,OSError,ValueError) as exc: + print('parent receipt rejected (%r); running the full retained admission'%(exc,),flush=True);receipt=None +if receipt: + t0=time.monotonic();pl=work/'parent';pl.mkdir();lay=pl/'layout';lay.mkdir() + with tarfile.open(old/'upstream-layout.tar.gz') as t: + for m in t.getmembers():assert m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + t.extractall(lay,filter='data') + (lay/'globalmix51').mkdir();shutil.copytree(a.extra_native_from.resolve(),lay/'globalmix51/native-extra') + with lock:stages.append(dict(name='retained-provider-and-parent-admission',reused_receipt=str(rc.name),exit_code=0,seconds=time.monotonic()-t0));(work/'STAGES.json').write_text(json.dumps(stages,indent=2)) + print('PASS retained-provider-and-parent-admission (hash-checked receipt)',flush=True) +else: + run('retained-provider-and-parent-admission',old/'verify.py','--work',work/'parent',*opts) + pr=rd(work/'parent/RESULT.json');assert pr['status']==PARENT_STATUS and pr['kappa']==rd(old/'CLAIM.json')['kappa'] + if rc is not None and a.base_native_from and a.extra_native_from: + natives_bound(a.base_native_from.resolve(),'gauge44-word.json.gz');natives_bound(a.extra_native_from.resolve(),'extra-word.json.gz') + rc.mkdir(parents=True,exist_ok=True);shutil.copy2(work/'parent/RESULT.json',rc/'RESULT.json');shutil.copy2(work/'parent/STAGES.json',rc/'STAGES.json') + (rc/'RECEIPT.json').write_text(json.dumps(dict(schema='parent-receipt/1',vendor_manifest_sha256=sha(old/'MANIFEST.json'),claim_sha256=sha(old/'CLAIM.json'),words={'base':sha(old/'gauge44-word.json.gz'),'extra':sha(old/'extra-word.json.gz')},files={'RESULT.json':sha(rc/'RESULT.json'),'STAGES.json':sha(rc/'STAGES.json')}),indent=1)+'\n') +pre_words={'base':P/'new/gauge44-word-566.json.gz','extra':P/'new/extra-word-566.json.gz'} +new_words={'base':P/'new/borrow/words/BORROW-WORD-43base.json.gz','extra':P/'new/borrow/words/BORROW-WORD-43extra.json.gz'} +nat={};nat_err=[] +def new_native(key): + try: + w=new_words[key];reuse=getattr(a,'new_%s_native_from'%key);d=None;ws=sha(w) + def tree(e):return {x.relative_to(e).as_posix():sha(x) for x in sorted(e.rglob('*')) if x.is_file() and x.name!='CACHE.json'} + if reuse:d=reuse.resolve() + elif a.native_cache: + e=a.native_cache.resolve()/ws + if (e/'CACHE.json').is_file(): + cj=rd(e/'CACHE.json') + if cj.get('word_sha256')==ws and cj.get('files')==tree(e):d=e + if d is None: + if a.reference_native: + d=work/('native-new-'+key);run('native-new-'+key,P/'new/run_native_borrow.py',w,d) + else: # PR2768 (tekuuu): the same five-stage native replay with the exact sparse Clifford evaluator (unchanged independent warp checks and controls); same output layout + fw=work/('native-new-'+key+'-fast');run('native-new-'+key,P/'new/fastnative/run_native.py',w,fw);d=fw/'native' + for x_ in d.rglob('*'): # text artifacts are LF on every OS (the pinned PLAN binds their hashes); the vendored scripts write CRLF on Windows + if x_.is_file() and x_.suffix in ('.json','.log','.txt'): + b_=x_.read_bytes() + if b'\r\n' in b_:x_.write_bytes(b_.replace(b'\r\n',b'\n')) + if a.native_cache: + root=a.native_cache.resolve();root.mkdir(parents=True,exist_ok=True);dst=root/ws + if not dst.exists(): + tmp=root/('.tmp-%s-%d'%(ws,os.getpid()));shutil.copytree(d,tmp);(tmp/'CACHE.json').write_text(json.dumps(dict(word_sha256=ws,files=tree(tmp)),indent=1)) + try:tmp.rename(dst) + except OSError:shutil.rmtree(tmp,ignore_errors=True) + assert gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress(w.read_bytes()),(key,'native directory is not bound to the shipped word') + st_=rd(d/'STEPS.json');assert [x['step'] for x in st_]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in st_) + nat[key]=d + except BaseException as exc:nat_err.append(exc) +nthreads=[threading.Thread(target=new_native,args=(k,)) for k in new_words] +for t_ in nthreads:t_.start() +def rebuild_chain(): + run('reconstruct-owners',P/'reconstruct.py','--out',work/'rebuilt-owners') + for n in ['OWNERS.json.gz','ORDER.json','DISPATCH.json','PROFILE.json']:assert rd(work/'rebuilt-owners'/n)==rd(P/n),n + run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent') + for n in ['GLOBAL-TEMPLATE.json.gz','PLAN.json','CONSTRUCTION.json']:assert rd(work/'rebuilt-parent'/n)==rd(P/n),n + assert rd(work/'rebuilt-parent/SPEC.json')['geometry']==rd(P/'SPEC.json')['geometry'] +chain_err=[] +def chain_thread(): + try:rebuild_chain() + except BaseException as exc:chain_err.append(exc) +chain=threading.Thread(target=chain_thread);chain.start() +for t_ in nthreads:t_.join() +if nat_err:raise nat_err[0] +SRCL=work/'parent/layout/joint1148-round45/source' +run('rebuild-words-566',P/'new/rebuild_chain.py') +run('rebuild-borrow-words',P/'new/rebuild_borrow.py') +for key_,w_ in pre_words.items():run('audit-local-566-'+key_,SRCL/'research/gauge44-slots/independent/audit_local.py','--word',w_,'--main',SRCL,'--output',work/('AUDIT-LOCAL-566-'+key_+'.json')) +run('rebind-566',P/'new/rebind.py',P,nat['base']/'local',nat['extra']/'local',work/'data-rebound') +run('lemmag-labels',P/'code/lemmag_stage.py',work/'LEMMAG-LABELS.json',nat['base'],nat['extra'],*[p_ for p_ in (a.base_native_from,a.extra_native_from) if p_]) +STABLE=('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +def bind_view(plan): + plan=json.loads(json.dumps(plan)) + for desc in plan['provider_registry'].values():desc['artifact_sha256']={n:h for n,h in desc['artifact_sha256'].items() if n in STABLE} + return plan +assert bind_view(rd(work/'data-rebound/PLAN.json'))==bind_view(rd(P/'new/PLAN.json')),'regenerated PLAN differs from new/PLAN.json beyond bind-rebound receipt hashes' +assert rd(work/'data-rebound/PROFILE.json')==rd(P/'new/PROFILE.json') +layout=work/'parent/layout';runtime=layout/'packing74';runtime.mkdir();data=runtime/'candidate';data.mkdir() +for n in ['replay.py','freeze_spec.py','audit_mixed.py','independent_core.py','geometry_controls.py','audit_fast.py']:shutil.copy2(P/n,runtime/n) +for n in ['code','construction']:shutil.copytree(P/n,runtime/n) +(runtime/'inputs').mkdir();shutil.copy2(P/'inputs/PR589-EXPECTED.json',runtime/'inputs/PR589-EXPECTED.json') +for n in ['PLAN.json','SPEC.json','PROFILE.json','OWNERS.json.gz','DISPATCH.json','CONSTRUCTION.json','GLOBAL-TEMPLATE.json.gz']:shutil.copy2((P/'new' if n in ('PLAN.json','SPEC.json','PROFILE.json') else P)/n,data/n) +shutil.copytree(nat['extra'],runtime/'native-extra') +base=nat['base'] +run('strict-t74',runtime/'replay.py','--data',data,'--work',work/'strict','--local',base/'local') +run('geometry-controls',runtime/'geometry_controls.py','--source',layout/'joint1148-round45/source/research/complex-k492-owner-repair/vendor/multicold','--strict',work/'strict','--out',work/'GEOMETRY-CONTROLS.json') +chain.join() +if chain_err:raise chain_err[0] +r=rd(work/'strict/RESULT.json');assert r['status']=='PASS_STRICT_MIXED_T74_EXACT_FILL' and r['kappa']==rd(P/'CLAIM.json')['kappa'];assert len(rd(work/'GEOMETRY-CONTROLS.json')['rejected'])==6 +result=dict(status='PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION',kappa=r['kappa'],kappa_decimal=r['kappa_decimal'],manifest_sha256=sha(P/'MANIFEST.json'),native_reuse=dict(base=bool(a.base_native_from),extra=bool(a.extra_native_from)),provider_verification=pr['status'],roles=r['independent']['roles'],prefix_bits=r['independent']['prefix_bits'],charged_prefix_bits=r['independent']['charged_prefix_bits'],physical_row_coefficient=r['independent']['physical_row_coefficient'],row_limit=r['independent']['row_limit'],controls=dict(admission=114,bit=12,controller=15,independent_owner=8,geometry=6),stages=stages,scope=rd(P/'CLAIM.json')['scope']) +(work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n');print(result['status'],result['kappa_decimal'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/verify_manifest.py b/research/gmx-t74-borrow43-handoff/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files') diff --git a/research/gmx-t74-borrow43-handoff/verify_release.py b/research/gmx-t74-borrow43-handoff/verify_release.py new file mode 100644 index 0000000000..dccd128db0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify_release.py @@ -0,0 +1,203 @@ +"""Release proof: PR1673 capped phase-cell fusion outer on this package's T74 supplier (PR1661 stack + pivot-554 kernel). + +Runs (1) the supplier's own unchanged verify.py (native replays reused from --native-cache when present), concurrently with +(2) outer/check_ledger.py + outer/independent_check.py (the 45-inequality ledger, 5 rejecting controls, endpoint rejection and the +independent balance derivation, regenerated in a temporary copy and compared byte-for-byte with the committed LEDGER.json / +INDEPENDENT.json) and outer/replay_evidence.py (PR1673's 19 supplier-independent exact evidence replays); +then binds the supplier's strict ASSEMBLY (complex endpoint, bit endpoint, profile) to the ledger inputs. +The receipt kappa is the ledger's kappa with the radix-distributed sparse-union schedule (new in pkg4, outer/UNION-SCHEDULE.md) and structured boundary solves (new in this package, outer/STRUCTURED-BOUNDARY.md: displacement-rank generator representations of the boundary blocks, O(r W log W) per right-hand-side column, tau_eff = 2 + 1e-64 in that earlier package; not used here); the unproven omega_C <= 9/4 premise is not used. +""" +import argparse, hashlib, json, os, shutil, subprocess, sys, tempfile, time +from fractions import Fraction +from pathlib import Path + +PACKAGE = Path(__file__).resolve().parent +os.environ['PYTHONINTMAXSTRDIGITS'] = '0' # the pinned endpoints, kappas and ledger values are decimal/rational strings of thousands of digits +sys.set_int_max_str_digits(0) + + +def digest(p): + return hashlib.sha256(p.read_bytes()).hexdigest() + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--native-cache', type=Path) + ap.add_argument('--jobs', type=int, default=4) + a = ap.parse_args() + if sys.flags.optimize: + raise SystemExit('Full proof requires assertions enabled') + work = a.work.resolve() + work.mkdir(parents=True, exist_ok=False) + msha = digest(PACKAGE / 'MANIFEST.json') + t = time.monotonic() + opts = ['--audit-shards', str(max(1, a.jobs))] + (['--native-cache', str(a.native_cache.resolve())] if a.native_cache else []) + reused = {} + if a.native_cache: + for key, name in (('base', 'gauge44-word'), ('extra', 'extra-word')): + entry = a.native_cache.resolve() / digest(PACKAGE / 'vendor/pr1297' / (name + '.json.gz')) + if (entry / 'CACHE.json').is_file() and (entry / 'local/FULL-WORD.json.gz').is_file() and (entry / 'STEPS.json').is_file(): + opts += ['--%s-native-from' % key, str(entry)] + reused[key] = entry.name + if len(reused) == 2: + opts += ['--parent-receipt-cache', str(a.native_cache.resolve() / '_receipts')] + # Stale-bytecode isolation (PR2788, jeremydiviney): no .pyc/__pycache__ may exist in the package, and every child interpreter uses a fresh pycache prefix. + sys.path.insert(0, str(PACKAGE / 'code')) + import pyc_guard + pyc_guard.guard(PACKAGE) + pyc_guard.selftest() + os.environ['PYTHONPYCACHEPREFIX'] = str(work / 'pycache-prefix') + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1') + outer_log = (work / 'outer.log').open('w', encoding='utf-8') + outer_proc = subprocess.Popen([sys.executable, '-B', str(PACKAGE / 'outer/run_outer.py'), str(work / 'outer-tmp')], + stdin=subprocess.DEVNULL, stdout=outer_log, stderr=subprocess.STDOUT, env=env) + with (work / 'verify.log').open('w', encoding='utf-8') as out: + r = subprocess.run([sys.executable, '-B', str(PACKAGE / 'verify.py'), '--work', str(work / 'verify')] + opts, + stdin=subprocess.DEVNULL, stdout=out, stderr=subprocess.STDOUT) + if outer_proc.wait(): + raise SystemExit('outer checks failed: ' + (work / 'outer.log').read_text(encoding='utf-8', errors='replace')[-1500:]) + if r.returncode: + lines = (work / 'verify.log').read_text(encoding='utf-8', errors='replace').strip().splitlines() + raise SystemExit(f'verify failed rc={r.returncode}: {lines[-1] if lines else ""}') + res = json.loads((work / 'verify/RESULT.json').read_text(encoding='utf-8')) + claim = json.loads((PACKAGE / 'CLAIM.json').read_text(encoding='utf-8')) + if not res['status'].startswith('PASS_'): + raise SystemExit('package verify status ' + res['status']) + if Fraction(res['kappa_decimal']) != Fraction(claim['kappa_decimal']): + raise SystemExit(f"verified kappa {res['kappa_decimal']} != CLAIM {claim['kappa_decimal']}") + # ---- bind the supplier admission to the outer ledger inputs + asm = json.loads((work / 'verify/strict/ASSEMBLY.json').read_text(encoding='utf-8')) + spec = json.loads((PACKAGE / 'new/SPEC.json').read_text(encoding='utf-8')) + ledger = json.loads((PACKAGE / 'outer/LEDGER.json').read_text(encoding='utf-8')) + bj = json.loads((PACKAGE / 'outer/B.json').read_text(encoding='utf-8')) + if asm['status'] != 'PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY' or len(asm['outer']) != 47: + raise SystemExit('supplier strict assembly did not pass') + if Fraction(asm['complex_lower']) != Fraction(spec['expected']['complex_lower']) or not Fraction(bj['b']) < Fraction(asm['complex_lower']) < Fraction(bj['b_above_endpoint']): + raise SystemExit('ledger endpoint b is not bracketed by the admitted supplier complex endpoint') + if {int(k): v for k, v in asm['complex_profile'].items()} != {int(k): v for k, v in bj['profile'].items()} or Fraction(asm['bit_lower']) != Fraction('0.001733427039589844234749'): + raise SystemExit('ledger profile / bit endpoint differ from the admitted supplier assembly') + kappa_decimal = ledger['rows']['struct_boundary_radix_union']['kappa']['decimal'] + if Fraction(kappa_decimal) != Fraction(ledger['rows']['struct_boundary_radix_union']['kappa']['rational']) or Fraction(kappa_decimal) != Fraction(json.loads((PACKAGE / 'outer/OUTER-CLAIM.json').read_text(encoding='utf-8'))['kappa']): + raise SystemExit('ledger kappa != OUTER-CLAIM') + if Fraction(kappa_decimal) <= Fraction('0.001677160151714381'): + raise SystemExit('ledger kappa does not exceed PR1673') + if Fraction(kappa_decimal) <= Fraction('0.001677641731343354564251058287063644749065568493'): + raise SystemExit('ledger kappa does not exceed PR1699') + if Fraction(kappa_decimal) <= Fraction('0.0016783441717365385237811729563143950958709031230206606381509868512618172844657807114390339553440364'): + raise SystemExit('ledger kappa does not exceed the previous package (structured boundary, linear guard)') + if Fraction(kappa_decimal) <= Fraction('0.0016797547881500489087805478664999999999999999999999999999999998000000199999'): + raise SystemExit('ledger kappa does not exceed PR1786') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585'): + raise SystemExit('ledger kappa does not exceed PR1828') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594'): + raise SystemExit('ledger kappa does not exceed PR1839') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594'): + raise SystemExit('ledger kappa does not exceed PR1875') + if Fraction(kappa_decimal) <= Fraction('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846'): + raise SystemExit('ledger kappa does not exceed PR1876') + if Fraction(kappa_decimal) <= Fraction('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533'): + raise SystemExit('ledger kappa does not exceed PR1897') + if Fraction(kappa_decimal) <= Fraction('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983'): + raise SystemExit('ledger kappa does not exceed the previous package (gauge-free interiors, PR1758)') + if Fraction(kappa_decimal) <= Fraction('0.0016781238306335473083421558390362687182218966358657650331660405387910568682486186577879457360762643'): + raise SystemExit('ledger kappa does not exceed the previous package (rectangular k=5)') + if Fraction(kappa_decimal) <= Fraction('0.001677992607205282520732088774830808372222877897034109604209719298829805473412451530867883424937597'): + raise SystemExit('ledger kappa does not exceed the previous package (rectangular k=2)') + if Fraction(kappa_decimal) <= Fraction('0.0016778199023144364336310551358776001013829401215770658599799349282716974076737897457922714197448847'): + raise SystemExit('ledger kappa does not exceed the previous package (square boundary tau=2.372864)') + if Fraction(kappa_decimal) <= Fraction('0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702'): + raise SystemExit('ledger kappa does not exceed the previous package (old union row)') + # PR2269 (this package's own 90-digit-endpoint predecessor): exact outer kappa + if Fraction(kappa_decimal) <= Fraction('0.0016962471390584742207696225394800943861284603706821716607210815258272261945561178592716719999999997996607505720883051558460754921039811'): + raise SystemExit('ledger kappa does not exceed PR2269') + # PR2265: its published 43-digit kappa + if Fraction(kappa_decimal) <= Fraction('0.0016834125885426074623303197403999369605037'): + raise SystemExit('ledger kappa does not exceed PR2265') + # the previous 1e-3000 fixed-grid-maximum package without the frame refit + if Fraction(kappa_decimal) <= Fraction('0.0016962471390584742207696225394800943861284603706821716607210815258272261945561178592716725376787146850319387830720495673160906619586385985253004200974538949035715460651846040948044242351804037917972203668759131442974306926788095523055348682603080830926543046109524019284266202449358819248039824128659652256009597225750921338791772522346327260842638280758491285261012177101751247814588199922615754428296427117543521452060897258700168878706575252152477061988688277049228862038051831802155042557172623266376692067754074066018861739445031053058532975745010650260626662153102779311231323276136828410015626012654950781671416272174286060026260461657234237896123847927833525865765270919579650629143257756554312491072906153370276441896408260328764564124330642285119147808930086141569295621851854218252564733837316294676373092948766021104018820867623171046683661092297248291577095250274060655173297958878033621645679452722665435213096247941313869533587196421382302143322934628990123191000788388609573672644835019755994246318060035281060223322645388928947169626138581457300875151159820924963147410503862327253442337658663568159699004958107894981576832335403664692406006933059590031689949815905089106171767594599700984735621368930563780702038882727505392721719386114334646038558353670081177427424360521812807826505397161210251724237709062744724805616548559632816270489581394531990712494078787486793971491473790864233960278289765655920963414849196322659136809511659945219008433168014265025447420166561704034530316921458618874915620099025502502618035097461895895223764605753492664274479247941026938492542179778796317704962018292021909919861292918602366755911657954379368017800183443534262330089328250652960096418423703035464940084343778512813829329581029347226356616738501436617600538369671094908540693286250261760877248005905559065855049093770979808303937056962048941085753495270703319891930887209058318724823718437728926974429367073432624131997567987115993164528269149849858078521203142762866174513268973487116932558183863464998283664642818679918224691979365372184748788493010550047368581279373073912036778334443492857927577286206252250817438195734298252518895370754124356495069959100552751704357607410115438146261739773032451457910141843649185347442684032256783823682283095281962476486777479624246578178585460914644633119591516245821764820377869654594359836428035991519960602392276985209925181526794428648224235182876264483709972370910406024724235806573365230168960701547640481777654852632561016384940077669718531691663918817962517445077811778410121692781099290921788135421040816814884933097268321380716162541362023853790195929790454122099814729604396862433157569138302781321102658775072569805525878616035680869031990224830742282562628026822259745461025473632267405693042132745262647696903701549047243949928334048586480294363233950866830966312211937319379776455575978516623582930772197819418024026409253019530180915180162077226543806380451730024060862435857727097812643685954248405246979875007274554000293999879999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package without the frame refit') + # the frame-refit package (PR2288) without the pivot-518 and 506 kernel(s) + if Fraction(kappa_decimal) <= Fraction('0.0016963109504150503355459722948928372280921721968724561762220421147644145761482885984967571578775454795315558417113412813231694622783490900348662681729592231903560853351255426786420763663178655003281505857286229869637466044243361588921779343716397967014438707898921127328975611256954437224641356898964339750713275612215896309041743033060768412139515368921536567057807207970466805003234862027817806690888390640784312394449662495210379111189000631731969913840405376781346897986214021741117422083725271871234401300183440304871341727820180574990353647279025142496867177789206624424997571530449519473352459498702658190828360923979498460128294798369917738404595397076263670723799359146613908833280073309651683729500428984791690934381229160893705326133037686127780198339018446754315723841737409963499522556148454109950498516960459062732145158464860520078222748772968666075308688060102095614219976567632142437588956251046223730866088862642016182480104196556736296484779283894121049643477734969019861544809837984636249407062760727016150066849286523322382074826026591803191556133160894153871744448522032246500691186272893727169459533826781329045410280180988227028953413948959627749435199294031602259974218679241756389094310293571776392665275440060128416069298336060934137683594749721875539100961984531705428740926745070478347051156564464735857576131568055392439349070688880983269683785203701743772494006377580873498989793098269416860245163673122355107078009192943296623200063923837978979726391155585227314506166287746919098802987376988749553428565117960680127117162859295585227836619358244831230559141562987941014958985682702824249440221289383909203561727045338247733043391763320670727494268068194378574627275095092953256732444212010516159194168180734821980726368427670070083408548719514533875518211958369469443610189017971552955689302325989684135168369391344574216178885288117746332765863840834323243319512183818941784295388396142410597918436552038064272557102280593496223131576927738593912346466653541945307822699814228743982825778594943895299684477718445989153104502257728995186791911138506213294032637402557360080474323425209358316182406158317687799224345569293433266156429509667100484719547899661170517984309861756776927699226774589333862417619615368800621280904731717007166601114931265538945746290456987826198646807505442125838746726438952084536942026710073899593382686159240597649780928138606355205051150505411617909421597379489564148134928926452171026914761461651993691541524538533834516264821822447885276530775319313163077520187620131998416989866100917322207904174653603539624514404731819512306251114049648504295075390277206769978284985627399920781440314570024036501328001706131508141398741768215146098232034243920786833682457710615638883903735636031855214906341242985023985190321962818946356673366984195534290058577773793515114601500926048296812708989110472867763853176364841468154926700424141264878832861923854082418142072303154196136904410704478768982906491915123250789901966397050583475894251697949999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2288') + # PR2309 (Dugongue), the leader when this package was produced: exact outer kappa from its OUTER-CLAIM.json + if Fraction(kappa_decimal) <= Fraction('0.00169651512427273361603599999999979966069697504545327679280000000004'): + raise SystemExit('ledger kappa does not exceed PR2309') + # the previous package of this series (PR2302: same borrowed words without the width exchange) + if Fraction(kappa_decimal) <= Fraction('0.0016963957667360813401512017553615279117657068999363362106179646359054125313327703641011221779442459539871339461089219553691969977981401822760624794359560302229082314375995113942636590530620500782018194470671677119219839790494868307385847339452290887998700500411938799170674858093003286928048347274196039389000026290158196870872057257166500256835682013163283959997146169413950711966027087759767643419344712853576886783980615153279853404871016920071981553436279223622600525528471894700346011238233160868742145859860232058840791090764650133979481731323862930667518610044720573929298900532647950009058229587419786329958635690641780883137293844634272967192129687625408058060979531066936687993586039456039983556398478876965232482500625906736777109730724363281837955848614134083855809276505907144514733003845909331244045116980160376226985173142007628755093785143804942105479013303454321654201006831063585897430195472621578837899364607899809076894338902922137189579253839575904800502610823779130735405603222473104747840629391300795787215163295589140558844477425029302996689344654557359518706574870692938432544394742080506599997481540301232455817253619818598089752894860335888890891880609355298270585656725967316985275280947993338075572101492385630908482865327189235020782479107222108858033635848484476216327745019864086458153496328944574382125376897016725855331581938687114469271253756940030142844034371034587111817349355531104318277478257775334736701581945229498694136616722992028634631701247483684781250376596144385321278165606853375118819053849117338897262268427648262083455985839725633062313154695107759038550706454041941335604443412998733314092411840156288419954892739877843363834586046209819538672727213101410080383088045149018402130819728297511733105868594243532422336753902918788806466274681744246646231919140342567931214862038137091588934018251621114223684759626831339521740017781252613474170420781940878405217534505039416191481935402640036986540158535291068418753431261769460339726043941330310230377899497156447379116998376192778609260328368073641708331187025338628941230659019886492604497357183156893789943392609707575190186729444486788239744694366996859954082129202977358652316001835628949595287583151561304797052473367226958069794800493678276862560358912337464359182323531306401167100839378883760333513912116046596297577086537173884239225402145910324209403865332661419916572372514397914176245034825502665354589686225181030312038801291955465396008078308395064856427920952835111772605746736316974495455631547761742048841271657420320301289128193817983624681549963224888472167699611833879336569131555833595853052201499353493629265799166715221065545501398338697081697219199223693278872441290995511120223269123632695643837629348428447025464796370314880913595117416482942440311412104992815244674930680260974933325676734432766624185506445208555388434881647973303483680217436986110622497014745484207497834185076498923378325028164419862694022665993974610131397860814963409376069481211236799567291945371869999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package without the width exchange') + # PR2530 (zxv): exact kappa from its CLAIM.json kappa_decimal + if Fraction(kappa_decimal) <= Fraction('0.0017137379215475043467519999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2530') + # our previous package (PR2530 words with the evacuated fill, no swap): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0017138793200090178277393159658224882741850018276313377388777989344499779848036755735428839404883345081602076596915372935445163549257843677134573070543785050332601116981993891257639919589050864224223081575002103470378121326336831573484387001971572673042430972264354343382445827018882480440150722134038654543514447040832086957753875948539795365986241603529249689022001469858539534077287984416852359032562142401296793489217750140041453361184825029008761489635682924036629010469046401692181463930065388198942359871821152988851590217230520445064090958372121169090974065699524460063735965152873157133691147904439546166602128335035227799311591048209869927896976392833606241651343837175036609754247898480938989923023026340729844763056096052891175627877787262609452046399579466119092866313036535335682776806467648155922323786896091802483647985050566213804836809233317388799083677377866787383160162429778257908983024618109489694227409456421456553821912409696075009897306969145639343554354294862224440345868807439480436522182454940263568552784110654861453895664733986933358400123432858311482018590531702871810773114656503043158537780455279474868026048789004691174934486731419756746078311076528526320047247891238854597833295812499048350762168712006615674155474538738266039000865183914404795542264510066849653250910062386485914981385408502826475933413003183371865127611213925081091620176820895595774203463534988723189732383296420699228344003259363802319950945737703013570881767452324590219600387226386787048764627579542456462764844609489763920522188359153280015992268875949796304927401654770271220367238478108613075320623080494495855320771028930323871101017186861279132677049043646070329989481696629395030949354561093038394667780737914876393297052666585239534669737633956610661828075015769008377319021277895520032135021829427065947060170567563924839546050173598426499186711026203297983373628996988586527888359978799700950685830527637466469741991953945143829950743519568663923237325147079615749220203441333884492689989831739159556848913207186854641193990869836716532585341620797475557979337046510007188184034485707803071651275961652448954489297978320254470661983316896742078889495926093977121191215505667552123475407376054942432134130965183580749237595795249612033007995019964320077937956267567317383001969322296889609589300659039114771172708530832143967950515442779669349644619739545138073128324507431264059303279325718069826798637589643803270292223723298849691999630063205858147500767567267152827749768037494607466986996767341068595192611238975735415563540363309761253620740101360043545213109647086260932301614471027335524945466703881224630958399194747296073610167994149180303313893618957485405280582230721498163633952081089076890135405434297265673746101998657294284004782174978381087995631064709016813402351965928946324429653664710622253413105177832288302918850616410129494149251215937071973528625923760868330603512797460185151283124933050024548482871563020543139117414365613534429413233278250150299395695308669999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package (no swap)') + # PR2571 (rohanarun): exact kappa_decimal from its research/source-partner-repack/CLAIM.json + if Fraction(kappa_decimal) <= Fraction('0.0017137844912361143131449999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2571') + # PR2436 (tekuuu): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.001699160892139825160028'): + raise SystemExit('ledger kappa does not exceed PR2436') + # PR2435 (our previous package): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0016985113436976293290517338141877446308055110967045933112789142962230829468162898341951791806612097103089373234971683843352747786930041151727362819565230218349121075974166971824969591011217978263772357971645637990906671947907264145608572312831884027994294129916401260085150019209771313354764916248453595083165495324143523894449450691307086112491644144865158608055855884464187565801019555715970196050475190435909515154211111746650599567224499059795061082684332558375704345494867609328212726505329205932635761431749934820741127389044354860113766948092316247723704125119645275990197876854879992017397555143192287544724913630217464784503656948990786068598407873145289054550742625443908707733418270092545559085087575922813686919128943056715534713410017028659255187727620917187403119881890253391323975990386407713427526885644658486243444047073202627454384564726751561652433479720829616046376359016291378111084223539218953623912571977915965711868344311448096041639498896249066806011480337926979336386922535296303752711889978569232419801794934322834391758343224495751526935421536033765421920712479882326684183343175192506299338548272335365486251925033343467210567293885905433780822999898604806238618868381030618734960564543625151176983437948634467084422228827374831795369936288472513373544493094900054747070753455699633326414320913460348479500983823174310013199097862135411812726539849723398231855832967776337718672217880238071981788235029509052279747189188681017572483164064571080246530954181586740864619167589362678617045511756037366397896287535580824234872210152899236988326941025506999808922548377766309470729712387648163405540888355093150391393147762868679282467450248868441271263534493578828020033697285447763448133926166569487422405222986476700516751666801177807240657564339291923875269516741832922888995392021815208206000349549288250522070993210698907902608614026748746226358646184865889780191165888384651919903384475762221811266201306458084323514041511509641989786115752760407119009860442439632421403230395972475348378156789079511896489813648834249547691849265251849667444226323872984574855719511144598417008957627888727054559888291831917098918028329850588422718093434809471730512569958638862082155535047678827813738782160371366678147328051204025977598523823201157893310362964269992621082595013887883317116160638083051854550265075133554450400672096216801889893843542349827136660836690734577713840538485494706157608832285361332402523141110775007848457158586364555932568759681602669482751949814440768908964969207479429539605772323917098643373158579016561519795798882730005614360958024497845667634552553552983588304002856198810822137614346744361151657633282342263919735927514970826742259413534781096542529517187951831272379701715213763298528196318890985268220654521387901862300533678359917037097369847001136323652610917811136723698294245291973870628779153244079459318485933533570876673919779617623307381536963771175021281784418966086504076951993546379032710653964402197313385999437909265508362772441799999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2435') + # PR2374 (our previous package): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0016971949509017704265940818773095411997829254474375229705809997635438062942204765954562383974077821671831369565342135210662806080984189437744311691170166878200706637656120224415299737717701337307539464110268836203281111987753159498203954701705205852698182995035958027658044607115822574508666985181699711923175134847560718669920281030992600965545441954035328408493723703194682661214225479411060097662633754661550995525106462258180812881394912204830656550720788554855150041136725936752258040654282493873524814048951275613529361946942930756606941674074477881485086387253593916040344556969145236818327248309098647296974311830069674219033678569504586581135358848081070141238752991674150396577553602390245098256623610206219873018910702970683481898704791312128544927797796263798965928185946464208453538038074130191248384897942236565804073051820886237792115045300205866675310844866731650898744658240052151403474629612369248407339925817250755774230849162429893816537967019801563891871154347775301101452039034203590012030571830828102063480584807251100111533885801953898940545829732671930912393072557857172603412452229175719796953206694288737814097206799032728139418329449617047277996553941167768501692770450270903073953001977679531560526318261641545560089674289210949739800895987320710205405144779108114410801410863004777930712359085672774857562943038447218083992439662882844810916772482599422378373397511127617771820574570321893388248531869294501515231655597646378900151261952601403678797872447106754637862547429677096069631147251860052756420659326128494026586838106695013238864030608401406156607559989211808454412638637175211030555454020488650023294167520672980980396370514923547443975614840890626840642981934129785156305249800680496635934963165026962087272991982852425076410102938295280642112519009725151518793502417899440161288959425552435156339988887994241563680501591034798080807680420907177078719219475936443453591733013776785983706296335551856437598080747432920929336409488151175919768679340727810125057537659035408133643666970582481765189938136267947101008867469846414911701653627941553461882443557617407944704412052768481182211920226323727462445103056307935153715081554046115943894672966439801441223675986168815297036589266986545180924888304377614106150893981516595103244696808698485755403663575692962132048959618919396672463657258697165154476184606747977244468238112487890243300215295911516769877096033023277755679579119616362363771146906851312883551325577910752948791145027867851031285296278290624616792326245346316955108929449453650392187829083153563766593182662271262370655984316122305681275693367071550045835867673591141005622801963302635483892372821569656326071183032535073704098039743172546777387752768217496897183134894138727088377616522650102507208838965437331059647644187138589104298496147389776807118532428525203523839384398259710922706840602678791436521874179119410390463568320091540786380546514858693482059552649347514416855482639636114585292794893763151788378014165475136659461413021709999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2374') + # PR2363 (mason-hale): exact claimed kappa + if Fraction(kappa_decimal) <= Fraction('0.001697147064845350'): + raise SystemExit('ledger kappa does not exceed PR2363') + # PR2322 (Vlado Vojdanovski): stated kappa 0.001697060296258836 (1697060296258836/10^18) and the upper bracket of its native endpoint + if Fraction(kappa_decimal) <= Fraction('0.0016970602962588368950279736213908681183'): + raise SystemExit('ledger kappa does not exceed PR2322') + # PR2588: exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2588') + # PR2575: exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0017138793200090178277393159658224882741850018276313377388777989344499779848036755735428839404883345081602076596915372935445163549257843677134573070543785050332601116981993891257639919589050864224223081575002103470378121326336831573484387001971572673042430972264354343382445827018882480440150722134038654543514447040832086957753875948539795365986241603529249689022001469858539534077287984416852359032562142401296793489217750140041453361184825029008761489635682924036629010469046401692181463930065388198942359871821152988851590217230520445064090958372121169090974065699524460063735965152873157133691147904439546166602128335035227799311591048209869927896976392833606241651343837175036609754247898480938989923023026340729844763056096052891175627877787262609452046399579466119092866313036535335682776806467648155922323786896091802483647985050566213804836809233317388799083677377866787383160162429778257908983024618109489694227409456421456553821912409696075009897306969145639343554354294862224440345868807439480436522182454940263568552784110654861453895664733986933358400123432858311482018590531702871810773114656503043158537780455279474868026048789004691174934486731419756746078311076528526320047247891238854597833295812499048350762168712006615674155474538738266039000865183914404795542264510066849653250910062386485914981385408502826475933413003183371865127611213925081091620176820895595774203463534988723189732383296420699228344003259363802319950945737703013570881767452324590219600387226386787048764627579542456462764844609489763920522188359153280015992268875949796304927401654770271220367238478108613075320623080494495855320771028930323871101017186861279132677049043646070329989481696629395030949354561093038394667780737914876393297052666585239534669737633956610661828075015769008377319021277895520032135021829427065947060170567563924839546050173598426499186711026203297983373628996988586527888359978799700950685830527637466469741991953945143829950743519568663923237325147079615749220203441333884492689989831739159556848913207186854641193990869836716532585341620797475557979337046510007188184034485707803071651275961652448954489297978320254470661983316896742078889495926093977121191215505667552123475407376054942432134130965183580749237595795249612033007995019964320077937956267567317383001969322296889609589300659039114771172708530832143967950515442779669349644619739545138073128324507431264059303279325718069826798637589643803270292223723298849691999630063205858147500767567267152827749768037494607466986996767341068595192611238975735415563540363309761253620740101360043545213109647086260932301614471027335524945466703881224630958399194747296073610167994149180303313893618957485405280582230721498163633952081089076890135405434297265673746101998657294284004782174978381087995631064709016813402351965928946324429653664710622253413105177832288302918850616410129494149251215937071973528625923760868330603512797460185151283124933050024548482871563020543139117414365613534429413233278250150299395695308669999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2575') + # PR2751: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017171415863484263381089999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2751') + # PR2766: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017172569734670023082699999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2766') + # PR2767: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2767') + # PR2802: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017177949841186346638269999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2802') + # PR2818: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017177949841186346638272299184281789040885843854623122009009272567619811451693128959233927619586069928722704582863584186086707310535394138626926710629820889033848049602292064935012319711733257433358230465812920895415475031660711346220961679911613825710704958000867504103971494992119087046562042876559213675515203237127088112088427885595141419686934510191208342840674573423182801330783403919437936058720919920108906265959816656455048496316720030774333519468932548694829399230373287537901102420346759524477101633385635510471780962236695200107186884715759473934852366750305844187213730888432237688884656783638517088815127041335422566053263046139117681735490283197323428036941873466898492867640174140203754253880380259133474587978567954061014535280911008076768807932789614315183546684808185874225108148730976091221047166772451654879788745793565162071625194022849877585436190136375921694139193740542335276060128357375558021449083900197016043788433227393073509549863324724556568148945510979578864605531361362729378133297430330915121749734288536944575539972520172159321070805847754311668480251773562441089008186316121880554425502110019758570839986239397554065839346381095524688851679911464103650074950984202579105230295548942225016711755740249390145623141818375010326796806534460989476041815626555830186783586397114318234459795840553998725845598598978382204059158067583964913964319658478679381552684575892831928104465845573357348966658397831187818481438394060569135266969917549451866054730281756994407408227206605351959243923844123308865651371682863192475317598176868811945604104660414533095486319889696688286612291332068492568471207782946972113284118690391186110032262967227248040037701209405392407896239329317407783117646126175897625603072767796314981489983368571140491137098030268691445121838711653887757337262240831742275738818465378080971065296829519361544581075154111402963174974941320886809257462198157026865873404637363591400136805811943866860507723438884239219572763817004492760951420675536206600179461818149841610014254585066042148880756169807599598879187009536438634900647877351551166768977025347563607013874015470790684615655514936424824255857694225231305352973328782500843387842037123324908784232857216083686795953816640969656805552868895140417028319084583621515426004154642617336021199242329428213161651612282007325789961367126884210336939174936137086973193085518026673436544345546381318884153511592449392486335079136623514220762610196754287420133726755777914823957170518604805139157563099172723331320942628842675870487772293883797094764987398989876042310158848431983084786115690815673186904154155972472570165803789288603236223277216867991331902648275745106999611914327707526655658766726312099222797771523435376183565614807764068904026405037419957025998847632186742539714637437306587086296371308889655921863155787187634483878254934950732428117907330107260791871692212963442401733062211167387870358203867505050996702552158757356247175280572779093767235204928189098610970605273560236102506430609999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2818') + # PR2824: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017177951600320121074069999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2824') + # PR2696: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.001715599770234969498857'): + raise SystemExit('ledger kappa does not exceed PR2696') + # PR2733: exact kappa_decimal from its claim + if Fraction(kappa_decimal) <= Fraction('0.0017161404259974415161889999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2733') + _c = Fraction(spec['expected']['complex_lower']) + if Fraction(kappa_decimal) != _c - Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022): + raise SystemExit('ledger kappa is not the fixed-grid maximum C - 1/F - B') + if digest(PACKAGE / 'MANIFEST.json') != msha: + raise SystemExit('Package manifest changed during verification') + proof = ("Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, " + "parent lift, strict T74 admission, geometry controls): " + f"`{res['status']}`, native reuse {reused or 'none (fresh replays)'}; its complex endpoint " + f"{asm['complex_lower'][:30]}... brackets the ledger's b = {bj['b']}. Outer (PR1673 capped phase-cell fusion): " + "regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), " + "independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. " + f"Conditional kappa {kappa_decimal} (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-3080, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 3000-digit rejection call).") + (work / 'RELEASE-RECEIPT.json').write_text(json.dumps(dict( + status='PASS_RELEASE', kappa_decimal=kappa_decimal, manifest_sha256=msha, proof=proof, + seconds=round(time.monotonic() - t, 2)), indent=2) + '\n', encoding='utf-8') + print('PASS_RELEASE', kappa_decimal, flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-integer-prefix/.gitattributes b/research/replica-integer-prefix/.gitattributes new file mode 100644 index 0000000000..fa1385d99a --- /dev/null +++ b/research/replica-integer-prefix/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/research/replica-integer-prefix/CLAIM.json b/research/replica-integer-prefix/CLAIM.json new file mode 100644 index 0000000000..3271af773e --- /dev/null +++ b/research/replica-integer-prefix/CLAIM.json @@ -0,0 +1,38 @@ +{ + "status": "PASS_CONDITIONAL_INTEGER_PREFIX_COMPOSITION", + "kappa": "17186582778417198986259999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017186582778417198986259999999999999999999998999999999999999999999999", + "replicas": 124, + "complex_lower": "859329138920859949313/500000000000000000000000", + "complex_upper": "1718658277841719898627/1000000000000000000000000", + "comparison_pr": 2833, + "comparison_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "comparison_claim_sha256": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "gain_over_full_comparison": "8406748639429325423856757195900350252070615942552339569381198621816428972772248564325264355733497563461639022945048661467973922135435282029910683701737151998569380741420235732612320842746410769907702294753650075170522561727961465541871846420660766627448501419711065551608713351866614749998438116428442431518329321427244635007819480133873575487984491753173620399828654128350726108475389653124518297676358519158180505128400029647351586480824617972329621190160660442564129656724537922890317607534005068577171103993676506278250775913566593260877173443493339708076225041088751620291511132863780982030312216360205576254153568001645999370395286990325119468580149409448466318732751558851070285126943328292631689857354798278774154434246739232835099023693365867743414145303853108257359740897835654939447311901079766100427899774726947804781593804761718755088014540458694794717869968019133046625751022734304072474971425562219227707924448168903662745971100995164261877929332394607404465606927286881179860835166740623852737325839112873434851291425970350440587368046504981055651333403648657412441749226574071128810316884034294732563561612903177481215511214394990022125823190517167684398389779277264979957613717579279841486618714679460913330847668290508721999949197823005574582041527563054070315639566313703002369315373630757075244391430735597331155902438835350094532302515659546915156414532238837453200938494594553419641739038268276945665841931363305917334380394664286032374975509862217786041590200248985102761200964881251986847692223075504426472924784149701711873296220713169229941833325262404001948877730223039396787285779259984088764614005983428042479412209459619744425357548712584001561360329955278249003089320103881557927010362039978153820225070467365189020218473174797908935856552449598962043831570582571197125489434239274854206302221692036031409309163570241116713416964057879130119047678927161876788341977723684250010569199747571202175271263929216135993845205266281113603178815420647502985262447603351005921742662056757229246340311877062270263317770534490738072726807064337057310435478461786355137636147465039402096320635405239478281125825373391748634303082110656773089755113845449249288667528428839456951702630197893178792371462501616554612346439824663055453099896496003813115127456079221138592443285141482622996847457851936150356757615733962604929820246415388283846018442033583411119999864631999065441806602580929941755905638326144763003451993158483696237237260931587806588546682114618293414962558183283082419915242301459182454414258265078535408302687722793968637782305062633133273491960053179311919878386235714203823396641393260444836860037753114878234582280920041688078192190015720132639612982166257589411527433365564987516944578374579248204104449153803933635226271595129857638427958634714756708085341122899209645234318062044412873074218792258537073764231157682674294511075717128277869742362211932999914879769146740688991396584366607005674066531824189757292706114003364809875678846614583301893660000000000000000000001000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gain_decimal": "8.40674863942932542385675719590035025207061594255233956938119862181642897277224856432526436E-10", + "relative_percent_gain": "0.0000489146263684026740161130445534476901561392229584737949664685596837934109702483210642207034", + "profile": { + "1": 2687328, + "2": 725400, + "3": 307793, + "4": 142848, + "48": 44615, + "5": 45012, + "8": 8928, + "9": 1 + }, + "actual_local_prefix_bits": 70, + "actual_global_prefix_bits": 2343, + "integer_payload": 2344, + "physical_row": 20139, + "retained_row_ceiling": 20161, + "primary_result_sha256": "943d83256c6a9f7f3590c3b59a62178ed3788272b82a299993fb54fd55e6fa31", + "primary_release_receipt_sha256": "0923a3ca39fb13f443319b0e3f84da8fc924e55f23920e23635c088bfbeb3336", + "source_manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "scope": "Conditional finite supplier and complete modern outer release. Inherited all-size compiler, source-access, hosting, precision, tape, recovery, BIT and analytic hypotheses remain; no selected-record change and no unconditional multiplication theorem claimed.", + "supplier_legacy_bootstrap_kappa": "428927389851269/250000000000000000", + "supplier_complex_endpoint": "859329138920859949313/500000000000000000000000", + "headline_layer": "Regenerated modern outer ledger; kappa = supplier_complex_endpoint - 10^-46 - 10^-70.", + "git_free_default_cold_result_sha256": "f23757d7fd42edbe34f29c94c3edcda1a57a8d25db9f0b5004d60a3c9b3b5433", + "git_free_default_cold_release_receipt_sha256": "16667a9412e605cd661c5fbd503be54308b1551bfad62edb791bd6d996130c30" +} diff --git a/research/replica-integer-prefix/DERIVATION.json b/research/replica-integer-prefix/DERIVATION.json new file mode 100644 index 0000000000..d819b45a5a --- /dev/null +++ b/research/replica-integer-prefix/DERIVATION.json @@ -0,0 +1,159 @@ +{ + "schema": "source-bound-integer-prefix-derivation/1", + "source_pr": 2824, + "source_head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "scientific_source_pr": 2833, + "scientific_source_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "scientific_source_manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "scientific_source_file_count": 541, + "comparison_pr": 2833, + "comparison_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "comparison_claim_sha256": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "builder_sha256": "53fa8a2d96944599c888fd3e3e6ffff10efd63a47735a85c45ed9c28a65854cd", + "changes": [ + { + "source": "research/replica-tail-gain/lift_parent.py", + "target": "lift_parent.py", + "source_sha256": "4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d", + "target_sha256": "c822bd0ddca6f83a7faa91fa3e2b93009394f855395c2181083bfd13be730e47", + "replacements": [ + [ + "source_names=['inputs/PLAN.json'", + "source_names=['LOCAL-PREFIX-BOUND.json','inputs/PLAN.json'" + ], + [ + " order=P.read(owners/'ORDER.json');", + " prefix_binding=P.read(base/'LOCAL-PREFIX-BOUND.json')\n P.require(prefix_binding['schema']=='authenticated-actual-local-prefix/1','prefix binding schema')\n P.require(set(prefix_binding['providers'])=={'base','extra'},'two prefix providers')\n for tag,rec in prefix_binding['providers'].items():\n P.require(rec['word_sha256']==P.sha(base/('new/borrow/words/BORROW-WORD-43'+tag+'.json.gz')),'prefix complete word binding')\n P.require(set(rec['orientations'])=={'forward','backward'},'both prefix orientations')\n prefix_bound=max(v['prefix_bits_upper'] for p in prefix_binding['providers'].values() for v in p['orientations'].values())\n P.require(type(prefix_bound)is int and 00\\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'\")])\n patch('independent_core.py', [(\"payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()\", \"require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5\")])\n patch('code/invoice_allcold.py', [(\" localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\", \" localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'\")])\n patch('code/assemble.py', [(\" assert 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'" + ] + ] + ], + [ + "independent_core.py", + [ + [ + "payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5" + ] + ] + ], + [ + "code/invoice_allcold.py", + [ + [ + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'" + ] + ] + ], + [ + "code/assemble.py", + [ + [ + " assert 0= 1` with +`C < 2**ell`. It requires the two inequalities + +``` +L*delta**2 >= 36 +L*delta >= 2*(4+ell). +``` + +The inherited assembly initializes `ell=PAYLOAD`, chooses a dyadic `L=1<=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved') + _wr_time.sleep(.005) + try: + with _wr_path.open('a',encoding='utf-8',newline='\n')as _wr_out: + _wr_out.write(json.dumps([key,got],default=str)+chr(10)) + _wr_out.flush() + finally: + os.close(_wr_fd) + _wr_lock.unlink()''' + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + # All output targets belong to this fresh work tree; never unlink an open lock. + lock = path.with_name(path.name + '.lock') + descriptor = os.open(lock, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + try: + os.write(descriptor, str(os.getpid()).encode()) + os.close(descriptor) + descriptor = None + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', encoding='utf-8', newline='\n') + finally: + if descriptor is not None: + os.close(descriptor) + lock.unlink() + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'dispatch', 'native-cache', 'native-receipt', 'work', 'replica-helper-dir', 'reconstructor', 'comparison-claim'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + ap.add_argument('--source-profile', choices=sorted(SOURCE_PROFILES), default='pr2833') + ap.add_argument('--comparison-profile', choices=sorted(COMPARISONS), default='pr2833') + a = ap.parse_args() + global SOURCE_COMMIT, SOURCE_MANIFEST, COMPARISON_SHA, COMPARISON_HEAD + source_profile = SOURCE_PROFILES[a.source_profile] + comparison = COMPARISONS[a.comparison_profile] + SOURCE_COMMIT, SOURCE_MANIFEST = source_profile['commit'], source_profile['manifest'] + COMPARISON_SHA, COMPARISON_HEAD = comparison['sha256'], comparison['head'] + expected_helpers, comparison_pr = source_profile['helpers'], comparison['pr'] + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == source_profile['source_file_count'] and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + helper_dir = a.replica_helper_dir.resolve() + helper_paths = [helper_dir / n for n in ('lift_parent.py', 'replica_parent.py')] + [a.reconstructor.resolve()] + external_hashes = {str(p): sha(p) for p in helper_paths + [a.fill.resolve(), a.order.resolve(), a.dispatch.resolve(), a.comparison_claim.resolve()]} + need(sha(a.comparison_claim) == COMPARISON_SHA, 'exact pinned frontier headline comparison') + comparison_claim = read(a.comparison_claim) + need('headline_kappa_source' not in comparison_claim and comparison['field'] in comparison_claim, + 'comparison must be full headline outer claim, not supplier-only CLAIM') + previous = Q(comparison_claim[comparison['field']]) + need(previous == Q(comparison_claim['kappa']), 'comparison rational/decimal equality') + need(previous == Q(comparison_claim.get('kappa_rational', comparison_claim['kappa'])), 'exact headline rational/decimal equality without truncation') + order_input = read(a.order) + need(order_input and all(isinstance(x,list) and len(x)==2 and all(type(v)is int for v in x) for x in order_input), 'literal integer call order') + T = 1 + max(r for st,r in order_input) + need(T > 0 and len(order_input)==9*T and set(map(tuple,order_input))=={(st,r) for st in range(9) for r in range(T)}, 'complete new replica coverage') + need(all([st for st,r in order_input if r==rep]==list(range(9)) for rep in range(T)), 'source stage projection') + dispatch_input = read(a.dispatch) + need(len(dispatch_input)==9*T and {(st,r) for st,r,pid in dispatch_input}==set(map(tuple,order_input)), 'complete explicit dispatch') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + # Only the fresh external clone changes. Immutable source/cache inventories remain pinned. + for hp in helper_paths[:2]: + shutil.copy2(hp, package / hp.name) + need(sha(package / hp.name)==external_hashes[str(hp)], 'helper copy hash') + shutil.copy2(a.reconstructor, package / 'reconstruct.py') + need(sha(package / 'reconstruct.py')==external_hashes[str(a.reconstructor.resolve())], 'reconstructor copy hash') + # The original subprocesses also write generated hash-bound source. Windows + # callers use a process-scoped LF adapter; no system configuration is changed. + lf_probe = work / '.lf-preflight.txt' + lf_probe.write_text('LF\n', encoding='utf-8') + need(lf_probe.read_bytes()==b'LF\n', 'process-scoped LF output required on Windows') + lf_probe.unlink() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + # Keep the native dimension and paid moment ledger fixed; bind replica + # width to both the checked source geometry and the independent B invoice. + patch('outer/check_ledger.py', [ + ('assert (m,W)==(73,66304)', + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']")]) + patch('code/witness.py', [(DISCOVERY_APPEND_OLD, DISCOVERY_APPEND_NEW)]) + patch('verify.py', [ + ("run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')")]) + patch('audit_fast.py', [("_part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)", "_tmp=_part.with_name(_part.name+'.%d.%d.tmp'%(_AF_SHARD,os.getpid()));_tmp.write_text(_j.dumps([_idx[0],_own]));_tmp.replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)")]) + patch('code/witness.py', [("assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", "assert type(GEO['local_prefix_bits_bound']) is int and 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'")]) + patch('independent_core.py', [("payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5")]) + patch('code/invoice_allcold.py', [(" localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'")]) + patch('code/assemble.py', [(" assert 0 previous, + 'candidate must strictly improve full exact pinned frontier headline before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=COMPARISON_HEAD, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + (package / 'provenance').mkdir(exist_ok=True) + shutil.copy2(a.comparison_claim, package / ('provenance/PR' + str(comparison_pr) + '-HEADLINE-CLAIM.json')) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed during admission') + result.update(status='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-integer-prefix/build_adapter.py b/research/replica-integer-prefix/build_adapter.py new file mode 100644 index 0000000000..91c5f761cd --- /dev/null +++ b/research/replica-integer-prefix/build_adapter.py @@ -0,0 +1,196 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Derive a source-bound minimal integer prefix reserve from pinned PR2824. + +Preserves the credited PR2824/PR2827 replica construction and pins PR2833's +complete changed native source chain. Original source profiles remain available. +Prepared with substantial OpenAI Codex assistance. No input is modified. +""" +import argparse +import hashlib +import json +from pathlib import Path + +PINS = { + 'lift_parent.py': '4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d', + 'replica_parent.py': '48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4', + 'admit_frontier_replica.py': 'd3274dd18f2ef27efbd9b53155654164019d95cd96640de87470c7e9d92d00e5', +} + +PREFIX_LOAD = ''' prefix_binding=P.read(base/'LOCAL-PREFIX-BOUND.json') + P.require(prefix_binding['schema']=='authenticated-actual-local-prefix/1','prefix binding schema') + P.require(set(prefix_binding['providers'])=={'base','extra'},'two prefix providers') + for tag,rec in prefix_binding['providers'].items(): + P.require(rec['word_sha256']==P.sha(base/('new/borrow/words/BORROW-WORD-43'+tag+'.json.gz')),'prefix complete word binding') + P.require(set(rec['orientations'])=={'forward','backward'},'both prefix orientations') + prefix_bound=max(v['prefix_bits_upper'] for p in prefix_binding['providers'].values() for v in p['orientations'].values()) + P.require(type(prefix_bound)is int and 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'")]), + ('independent_core.py', [ + ("payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5")]), + ('code/invoice_allcold.py', [ + (" localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'")]), + ('code/assemble.py', [ + (" assert 0=74};oldtimes=[t for t,(_,r)in enumerate(order)if r<74];selected=newtimes|set(oldtimes[-a.late:]if a.late else[]) +WID=[4,5,7,8,9] +tight=read(CONSTRUCTION/'T-EXACT-BOUND.json')['tight_patterns'];pats=collections.defaultdict(list) +for cap,p in tight:pats[cap].append(tuple(p.count(w)for w in WID)) +pats[16].append((0,0,1,0,0)) +fixed=collections.defaultdict(list);oldbybin=collections.defaultdict(list);need=collections.defaultdict(collections.Counter) +for row in rows: + t,h,o,c,p,k=row;oldbybin[o,c,p].append(row) + if t in selected:need[t][widths[h]]+=1 + else:fixed[o,c,p].append(row) +for t in newtimes:need[t]=collections.Counter(widths) +groups=collections.defaultdict(list);oldpattern={};target=collections.Counter() +for(o,c),(cap,lo,hi)in win.items(): + ts=tuple(t for t in sorted(selected)if lo=fi for qi,fi in zip(q,fp))for q in pats[cap]):raise ValueError('fixed pattern outside admissible face') + groups[cap,ts,fp].append(b) + if o<74: + q=tuple(sum(widths[r[1]]==w for r in oldbybin[b])for w in WID);assert q in pats[cap];oldpattern[b]=q;target[cap,q]+=1 +for cap,p,n in [(8,[8],672),(16,[7,9],448),(32,[9,9,9],129),(32,[4,9,9,9],234),(32,[5,9,9,9],18),(32,[7,7,9,9],43),(32,[7,8,8,9],24),(48,[],Q(1799,5)),(48,[9]*5,Q(441,5))]: + v=Q(n)*(a.T-74);assert v.denominator==1;target[cap,tuple(p.count(w)for w in WID)]+=int(v) +G=sorted(groups);groupof={b:gi for gi,g in enumerate(G)for b in groups[g]} +# Every Z variable names an actual pattern, time and width. A pattern/time can +# use at most one item per assigned bin. Each pattern-width supply is exact. +edge=[];lb=[];ub=[];rl=[];ru=[];X={};Z={};hints={} +def cr(l,u=None):j=len(rl);rl.append(l);ru.append(l if u is None else u);return j +def cv(u,hint=0):j=len(lb);lb.append(0);ub.append(u);hints[j]=hint;return j +def put(r,v,n): + if n:edge.append((r,v,n)) +callrow={(t,w):cr(n)for t,c in need.items()for w,n in c.items()};globalrow={key:cr(n)for key,n in target.items()} +oldx=collections.Counter();oldz=collections.Counter() +for b,q in oldpattern.items():oldx[groupof[b],q]+=1 +for t,h,o,c,p,k in rows: + if t in selected:oldz[groupof[o,c,p],oldpattern[o,c,p],t,widths[h]]+=1 +for gi,(cap,ts,fp)in enumerate(G): + nb=len(groups[G[gi]]);br=cr(nb) + for q in pats[cap]: + if not all(qi>=fi for qi,fi in zip(q,fp))or(not ts and q!=fp):continue + if(cap,q)not in globalrow:continue + xv=cv(nb,oldx[gi,q]);X[gi,q]=xv;put(br,xv,1);put(globalrow[cap,q],xv,1) + residual={w:q[j]-fp[j]for j,w in enumerate(WID)if q[j]>fp[j]} + wr={w:cr(0)for w in residual} + for w,n in residual.items():put(wr[w],xv,-n) + for t in ts: + tr=cr(-nb,0);put(tr,xv,-1) + for w in residual: + if(t,w)not in callrow:continue + zv=cv(min(nb,need[t][w]),oldz[gi,q,t,w]);Z[gi,q,t,w]=zv;put(tr,zv,1);put(wr[w],zv,1);put(callrow[t,w],zv,1) +modelinfo=dict(T=a.T,late=a.late,selected_calls=len(selected),groups=len(G),variables=len(lb),pattern_variables=len(X),flow_variables=len(Z),constraints=len(rl),nonzeros=len(edge),workers=a.workers,same_family_windows_disjoint=True) +save(out/'MODEL.json',modelinfo);print('MODEL',modelinfo,flush=True) +rr=np.fromiter((e[0]for e in edge),np.int32);cc=np.fromiter((e[1]for e in edge),np.int32);vv=np.fromiter((e[2]for e in edge),np.float64);mat=coo_matrix((vv,(rr,cc)),shape=(len(rl),len(lb))).tocsr();del edge +if a.reuse: + stored_model=read(CONSTRUCTION/'MODEL.json') + for key in modelinfo: + if key!='workers' and modelinfo[key]!=stored_model[key]:raise ValueError('stored flow model mismatch: '+key) + saved=read(CONSTRUCTION/'FLOW.json.gz');value=np.zeros(len(lb),dtype=np.int64) + for gi,q,n in saved['x']:value[X[gi,tuple(q)]]=n + for gi,q,t,w,n in saved['z']:value[Z[gi,tuple(q),t,w]]=n + status='REPLAY_EXACT_FLOW' +elif a.solver=='highs': + r=milp(np.zeros(len(lb)),integrality=np.ones(len(lb)),bounds=Bounds(lb,ub),constraints=LinearConstraint(mat,rl,ru),options={'threads':a.workers,'time_limit':a.seconds,'mip_rel_gap':0,'disp':True}) + status=r.message;value=None if r.x is None else np.rint(r.x).astype(np.int64) + if value is not None and np.max(abs(value-r.x))>1e-5:raise ValueError('fractional solver output') +else: + if a.cp_deps:sys.path.insert(0,str(a.cp_deps.resolve())) + from ortools.sat.python import cp_model + model=cp_model.CpModel();vs=[model.NewIntVar(l,u,'')for l,u in zip(lb,ub)] + for j,(l,u)in enumerate(zip(rl,ru)): + b,e=mat.indptr[j:j+2];ind=mat.indices[b:e];co=mat.data[b:e];expr=cp_model.LinearExpr.WeightedSum([vs[int(k)]for k in ind],[int(k)for k in co]);model.AddLinearConstraint(expr,l,u) + for j,v in hints.items():model.AddHint(vs[j],v) + solver=cp_model.CpSolver();solver.parameters.num_search_workers=a.workers;solver.parameters.max_time_in_seconds=a.seconds;solver.parameters.random_seed=124;solver.parameters.log_search_progress=True + result=solver.Solve(model);status=solver.StatusName(result);value=np.array([solver.Value(v)for v in vs],dtype=np.int64)if result in(cp_model.OPTIMAL,cp_model.FEASIBLE)else None + print(solver.ResponseStats(),flush=True) +print('SOLVER',status,flush=True) +if value is None:save(out/'SOLVER.json',{'status':status,'candidate':False});raise SystemExit(2) +if np.any(valueub)or np.any(mat@valueru):raise ValueError('exact integer constraint failure') +xc=collections.defaultdict(collections.Counter);zc=collections.defaultdict(collections.Counter) +for(gi,q),v in X.items(): + if value[v]:xc[gi][q]=int(value[v]) +for(gi,q,t,w),v in Z.items(): + if value[v]:zc[gi,q][t,w]=int(value[v]) +save(out/'FLOW.json.gz',{'x':[[gi,list(q),n]for gi,c in xc.items()for q,n in c.items()],'z':[[gi,list(q),t,w,n]for(gi,q),c in zc.items()for(t,w),n in c.items()]}) +# For one pattern, split each width into q_w identical slots. Balance each slot +# to degree n, complete the bipartite multigraph to n-regular with dummy slots, +# then peel n perfect matchings. Each color is a literal bin, never twice/time. +def color_pattern(n,residual,counts): + slots=[w for j,w in enumerate(WID)for _ in range(residual[j])] + if not slots: + assert not counts;return [[]for _ in range(n)] + times=sorted({t for t,w in counts});K=len(times);assert K>=len(slots);ti={t:j for j,t in enumerate(times)};A=np.zeros((K,K),dtype=np.int64);slot_by_w=collections.defaultdict(list) + for j,w in enumerate(slots):slot_by_w[w].append(j) + for w,js in slot_by_w.items(): + atslot=0;remaining=n + for t in times: + needed=counts.get((t,w),0) + while needed: + take=min(needed,remaining);A[ti[t],js[atslot]]+=take;needed-=take;remaining-=take + if remaining==0:atslot+=1;remaining=n + assert atslot==len(js) + assert all(v<=n for v in A.sum(axis=1));j=len(slots);remaining=n + for r in range(K): + needed=n-int(A[r].sum()) + while needed: + assert j0),perm_type='column');assert len(matching)==K and min(matching)>=0 and len(set(map(int,matching)))==K + output.append([(times[r],slots[int(c)])for r,c in enumerate(matching)if c=74};oldtimes=[t for t,(_,r)in enumerate(order)if r<74];selected=newtimes|set(oldtimes[-a.late:]if a.late else[]) +WID=[4,5,7,8,9] +tight=read(OLD/'pricing/T-EXACT-BOUND.json')['tight_patterns'];pats=collections.defaultdict(list) +for cap,p in tight:pats[cap].append(tuple(p.count(w)for w in WID)) +pats[16].append((0,0,1,0,0)) +fixed=collections.defaultdict(list);oldbybin=collections.defaultdict(list);need=collections.defaultdict(collections.Counter) +for row in rows: + t,h,o,c,p,k=row;oldbybin[o,c,p].append(row) + if t in selected:need[t][widths[h]]+=1 + else:fixed[o,c,p].append(row) +for t in newtimes:need[t]=collections.Counter(widths) +groups=collections.defaultdict(list);oldpattern={};target=collections.Counter() +for(o,c),(cap,lo,hi)in win.items(): + ts=tuple(t for t in sorted(selected)if lo=fi for qi,fi in zip(q,fp))for q in pats[cap]):raise ValueError('fixed pattern outside admissible face') + groups[cap,ts,fp].append(b) + if o<74: + q=tuple(sum(widths[r[1]]==w for r in oldbybin[b])for w in WID);assert q in pats[cap];oldpattern[b]=q;target[cap,q]+=1 +for cap,p,n in [(8,[8],672),(16,[7,9],448),(32,[9,9,9],129),(32,[4,9,9,9],234),(32,[5,9,9,9],18),(32,[7,7,9,9],43),(32,[7,8,8,9],24),(48,[],Q(1799,5)),(48,[9]*5,Q(441,5))]: + v=Q(n)*(a.T-74);assert v.denominator==1;target[cap,tuple(p.count(w)for w in WID)]+=int(v) +G=sorted(groups);groupof={b:gi for gi,g in enumerate(G)for b in groups[g]} +# Every Z variable names an actual pattern, time and width. A pattern/time can +# use at most one item per assigned bin. Each pattern-width supply is exact. +edge=[];lb=[];ub=[];rl=[];ru=[];X={};Z={};hints={} +def cr(l,u=None):j=len(rl);rl.append(l);ru.append(l if u is None else u);return j +def cv(u,hint=0):j=len(lb);lb.append(0);ub.append(u);hints[j]=hint;return j +def put(r,v,n): + if n:edge.append((r,v,n)) +callrow={(t,w):cr(n)for t,c in need.items()for w,n in c.items()};globalrow={key:cr(n)for key,n in target.items()} +oldx=collections.Counter();oldz=collections.Counter() +for b,q in oldpattern.items():oldx[groupof[b],q]+=1 +for t,h,o,c,p,k in rows: + if t in selected:oldz[groupof[o,c,p],oldpattern[o,c,p],t,widths[h]]+=1 +for gi,(cap,ts,fp)in enumerate(G): + nb=len(groups[G[gi]]);br=cr(nb) + for q in pats[cap]: + if not all(qi>=fi for qi,fi in zip(q,fp))or(not ts and q!=fp):continue + if(cap,q)not in globalrow:continue + xv=cv(nb,oldx[gi,q]);X[gi,q]=xv;put(br,xv,1);put(globalrow[cap,q],xv,1) + residual={w:q[j]-fp[j]for j,w in enumerate(WID)if q[j]>fp[j]} + wr={w:cr(0)for w in residual} + for w,n in residual.items():put(wr[w],xv,-n) + for t in ts: + tr=cr(-nb,0);put(tr,xv,-1) + for w in residual: + if(t,w)not in callrow:continue + zv=cv(min(nb,need[t][w]),oldz[gi,q,t,w]);Z[gi,q,t,w]=zv;put(tr,zv,1);put(wr[w],zv,1);put(callrow[t,w],zv,1) +modelinfo=dict(T=a.T,late=a.late,selected_calls=len(selected),groups=len(G),variables=len(lb),pattern_variables=len(X),flow_variables=len(Z),constraints=len(rl),nonzeros=len(edge),workers=a.workers,same_family_windows_disjoint=True) +save(out/'MODEL.json',modelinfo);print('MODEL',modelinfo,flush=True) +rr=np.fromiter((e[0]for e in edge),np.int32);cc=np.fromiter((e[1]for e in edge),np.int32);vv=np.fromiter((e[2]for e in edge),np.float64);mat=coo_matrix((vv,(rr,cc)),shape=(len(rl),len(lb))).tocsr();del edge +if a.reuse: + saved=read(out/'FLOW.json.gz');value=np.zeros(len(lb),dtype=np.int64) + for gi,q,n in saved['x']:value[X[gi,tuple(q)]]=n + for gi,q,t,w,n in saved['z']:value[Z[gi,tuple(q),t,w]]=n + status='REPLAY_EXACT_FLOW' +elif a.solver=='highs': + r=milp(np.zeros(len(lb)),integrality=np.ones(len(lb)),bounds=Bounds(lb,ub),constraints=LinearConstraint(mat,rl,ru),options={'threads':a.workers,'time_limit':a.seconds,'mip_rel_gap':0,'disp':True}) + status=r.message;value=None if r.x is None else np.rint(r.x).astype(np.int64) + if value is not None and np.max(abs(value-r.x))>1e-5:raise ValueError('fractional solver output') +else: + sys.path.insert(0,str(OLD/'pricing/cp-deps'));from ortools.sat.python import cp_model + model=cp_model.CpModel();vs=[model.NewIntVar(l,u,'')for l,u in zip(lb,ub)] + for j,(l,u)in enumerate(zip(rl,ru)): + b,e=mat.indptr[j:j+2];ind=mat.indices[b:e];co=mat.data[b:e];expr=cp_model.LinearExpr.WeightedSum([vs[int(k)]for k in ind],[int(k)for k in co]);model.AddLinearConstraint(expr,l,u) + for j,v in hints.items():model.AddHint(vs[j],v) + solver=cp_model.CpSolver();solver.parameters.num_search_workers=a.workers;solver.parameters.max_time_in_seconds=a.seconds;solver.parameters.random_seed=124;solver.parameters.log_search_progress=True + result=solver.Solve(model);status=solver.StatusName(result);value=np.array([solver.Value(v)for v in vs],dtype=np.int64)if result in(cp_model.OPTIMAL,cp_model.FEASIBLE)else None + print(solver.ResponseStats(),flush=True) +print('SOLVER',status,flush=True) +if value is None:save(out/'SOLVER.json',{'status':status,'candidate':False});raise SystemExit(2) +if np.any(valueub)or np.any(mat@valueru):raise ValueError('exact integer constraint failure') +xc=collections.defaultdict(collections.Counter);zc=collections.defaultdict(collections.Counter) +for(gi,q),v in X.items(): + if value[v]:xc[gi][q]=int(value[v]) +for(gi,q,t,w),v in Z.items(): + if value[v]:zc[gi,q][t,w]=int(value[v]) +save(out/'FLOW.json.gz',{'x':[[gi,list(q),n]for gi,c in xc.items()for q,n in c.items()],'z':[[gi,list(q),t,w,n]for(gi,q),c in zc.items()for(t,w),n in c.items()]}) +# For one pattern, split each width into q_w identical slots. Balance each slot +# to degree n, complete the bipartite multigraph to n-regular with dummy slots, +# then peel n perfect matchings. Each color is a literal bin, never twice/time. +def color_pattern(n,residual,counts): + slots=[w for j,w in enumerate(WID)for _ in range(residual[j])] + if not slots: + assert not counts;return [[]for _ in range(n)] + times=sorted({t for t,w in counts});K=len(times);assert K>=len(slots);ti={t:j for j,t in enumerate(times)};A=np.zeros((K,K),dtype=np.int64);slot_by_w=collections.defaultdict(list) + for j,w in enumerate(slots):slot_by_w[w].append(j) + for w,js in slot_by_w.items(): + atslot=0;remaining=n + for t in times: + needed=counts.get((t,w),0) + while needed: + take=min(needed,remaining);A[ti[t],js[atslot]]+=take;needed-=take;remaining-=take + if remaining==0:atslot+=1;remaining=n + assert atslot==len(js) + assert all(v<=n for v in A.sum(axis=1));j=len(slots);remaining=n + for r in range(K): + needed=n-int(A[r].sum()) + while needed: + assert j0),perm_type='column');assert len(matching)==K and min(matching)>=0 and len(set(map(int,matching)))==K + output.append([(times[r],slots[int(c)])for r,c in enumerate(matching)if c incumbent.", + "changed_inputs": "Full source/cache inventories and package/external hashes rechecked after admission." + }, + "findings": [ + { + "id": "F1", + "severity": "medium_portability", + "file": "reproduce.py", + "function": "main child environment", + "issue": "Whole-chain LF adapter missing. prepare_native.py installs sitecustomize only in its own subprocess env; reproduce.py starts complete-admission from its original env. On Windows admission LF preflight deterministically rejects after native preparation.", + "evidence": "admit_integer_prefix.py creates .lf-preflight.txt using Path.write_text without newline and requires exact LF bytes; predecessor portable_frontier_cold.py installs LF_ADAPTER and PYTHONPATH for the whole subprocess chain.", + "fix": "Install an authenticated process-scoped LF adapter in reproduce work and pass it to all child stages, including prepared-native reuse.", + "resolution": "FIXED", + "validation": "PACKAGING-FIX-VALIDATION.json" + }, + { + "id": "F2", + "severity": "medium_reuse_binding", + "file": "reproduce.py", + "function": "authenticate_native", + "issue": "No semantic recheck of retained parent STAGES or the retained native pair on the prepared-native entry path. Current bytes are bound, but the comment that the admission driver validates all16 stages is false: it reads parent RESULT and receipt hashes, not the stage list. A rebound receipt can omit/fail a parent stage while retaining its PASS RESULT.", + "evidence": "reuse_retained() explicitly requires receipt.files exactly RESULT.json/STAGES.json, 16 successful stages, expected word hashes, and both five-stage retained native bindings. authenticate_native() checks current providers only; admit_integer_prefix.py checks parent RESULT and per-file digests but not stage coverage.", + "fix": "Repeat the retained native/word/parent receipt and all16 semantic stage predicates in authenticate_native(), using the unchanged utility policy.", + "resolution": "FIXED", + "validation": "PACKAGING-FIX-VALIDATION.json" + } + ], + "not_run": [ + "full export replay", + "native chains", + "complete admission", + "new allocation search" + ], + "fix_validation": { + "status": "PASS_FOCUSED_PACKAGING_FIXES", + "reproduce_sha256": "f1f51b19943cc0c1718e380e59313cb78f5904d1c788c61cfcda22c6dacc4058", + "original_native_result_sha256": "71cca6ebb95eb9a980548ed19a822830acafb1bfee7e5c9fcdca9daf02a222cc", + "original_native_receipt_sha256": "b954360457bd573929b4be4dfe26ad8ca0f94ac72527d424f297a79f2d6722da", + "positive_checks": [ + "complete_original_native_authentication", + "rebased_path_with_spaces_authentication", + "LF_adapter_loaded_and_explicit_newline_propagated_to_child_and_grandchild_with_spaced_paths", + "all_original_native_preparation_bytes_unchanged" + ], + "rejected": [ + { + "name": "missing_retained_parent_stage", + "reason": "sixteen successful retained parent stages" + }, + { + "name": "failed_retained_parent_stage", + "reason": "sixteen successful retained parent stages" + }, + { + "name": "duplicate_retained_parent_stage", + "reason": "sixteen successful retained parent stages" + }, + { + "name": "omitted_parent_receipt_file", + "reason": "complete retained parent receipt files" + }, + { + "name": "wrong_retained_word_binding", + "reason": "retained parent source/claim/word binding" + }, + { + "name": "missing_retained_native_stage", + "reason": "five successful native stages" + } + ], + "scope": "No complete native, supplier, or release replay; actual complete prepared-native authentication plus hash-rebound corruption controls on a temporary copy, and two trivial LF subprocesses." + } +} diff --git a/research/replica-integer-prefix/evidence/PACKING-PORTABLE-REVIEW.json b/research/replica-integer-prefix/evidence/PACKING-PORTABLE-REVIEW.json new file mode 100644 index 0000000000..741197f4b8 --- /dev/null +++ b/research/replica-integer-prefix/evidence/PACKING-PORTABLE-REVIEW.json @@ -0,0 +1,9 @@ +{ + "status": "PASS_PORTABLE_PACKING_RELOCATION_AND_EXTERNAL_OUTPUT_CONTROL", + "verify_sha256": "01d81b289bd2e2fd851e746d93e04f9f972b8bb92a7928385065097841b5a627", + "byte_identical_cap_receipt_sha256": "f6eeeb514fcc7c0622fd9e1f3a284bcff3ccd73d78e3df907e71dee9c20bc96a", + "inside_package_output_rejected": true, + "no_machine_absolute_paths": true, + "no_pycache_files": true, + "scope": "Relocated exact proof replay reproduces the audited cap byte for byte; intended publication package remains read-only." +} diff --git a/research/replica-integer-prefix/evidence/PORTABLE-ALLOCATION-VALIDATION.json b/research/replica-integer-prefix/evidence/PORTABLE-ALLOCATION-VALIDATION.json new file mode 100644 index 0000000000..b923955679 --- /dev/null +++ b/research/replica-integer-prefix/evidence/PORTABLE-ALLOCATION-VALIDATION.json @@ -0,0 +1,34 @@ +{ + "status": "PASS_455328_LITERAL_ROLES_AND_EXACT_MATHEMATICAL_JSON_REPRODUCTION", + "workers": 4, + "solver_rerun": false, + "path_contained_spaces": true, + "compared_to": "data/", + "files": [ + { + "file": "ORDER.json", + "mathematical_json_equal": true, + "generated_sha256": "5fc45c6e6a50db17c1eb2577d36e0dab3057005bc269ea6be1241c79f61aeced", + "packaged_sha256": "5fc45c6e6a50db17c1eb2577d36e0dab3057005bc269ea6be1241c79f61aeced" + }, + { + "file": "FILL.json.gz", + "mathematical_json_equal": true, + "generated_sha256": "053181464d47c25452927bd53686c45b54f2c44a860bca1519d0333fc9ae55c9", + "packaged_sha256": "053181464d47c25452927bd53686c45b54f2c44a860bca1519d0333fc9ae55c9" + }, + { + "file": "DISPATCH.json", + "mathematical_json_equal": true, + "generated_sha256": "e06a95c589425f92e4cce90b0d71664b96d5955bb34d9ffefdae4b432fa8746b", + "packaged_sha256": "e06a95c589425f92e4cce90b0d71664b96d5955bb34d9ffefdae4b432fa8746b" + }, + { + "file": "PROFILE.json", + "mathematical_json_equal": true, + "generated_sha256": "643f774edfc4eca81751fafc36b907ce9582638730ad511a7eda2ca4952a091b", + "packaged_sha256": "643f774edfc4eca81751fafc36b907ce9582638730ad511a7eda2ca4952a091b" + } + ], + "producer_receipt_sha256": "bf054ac6f763117a75b36097d7d79667389ac82324df423ac598d78c8ea39068" +} diff --git a/research/replica-integer-prefix/evidence/PORTABLE-COLD-BINDING.json b/research/replica-integer-prefix/evidence/PORTABLE-COLD-BINDING.json new file mode 100644 index 0000000000..6aecc5c0fe --- /dev/null +++ b/research/replica-integer-prefix/evidence/PORTABLE-COLD-BINDING.json @@ -0,0 +1,80 @@ +{ + "status": "PASS_GIT_FREE_DEFAULT_COLD_REPLAY_AND_FINAL_EXECUTABLE_BINDING", + "tested_export_manifest_sha256": "ad0ac1394cc62cf2784b27646342ff35fe7e82d1217e61188183ab64aa39427a", + "cold_result_sha256": "f23757d7fd42edbe34f29c94c3edcda1a57a8d25db9f0b5004d60a3c9b3b5433", + "native_result_sha256": "e964db9e70760cf648b4c98889e1c2d3d971dfbf8eb13c6443d21d8251660d79", + "headline": "17186582778417198986259999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "all_executables_and_scientific_inputs_unchanged": { + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "DERIVATION.json": "fcbf9d6714c3bc1de20270d78e63f91f0bae40eda447b206d17f806ac9ce700d", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "SOURCES.json": "55df0392a746e0926fc04717c6d14ff54a53f124c68a4e5b53ebcd9748105e6c", + "VERIFY.json": "6113ffe391c92d0b223eff6e186704dc89ed692c29a840c4a193ce48bd42169b", + "admit_integer_prefix.py": "7d156c8577e1be2aeb3f42acfe608f1e0ad2002356c426e57ecfc704ea76b5b9", + "build_adapter.py": "53fa8a2d96944599c888fd3e3e6ffff10efd63a47735a85c45ed9c28a65854cd", + "build_allocation.py": "c8281fef278ff84bc6ff698699cb662f63e150e8f797dba07137103e9d81af71", + "check_candidate.py": "43b8b13cdb140773402f5e15d7d5f119c57a16e63e9d4119f534c2e13d131e0c", + "check_shard_transport.py": "9e9913aa6dba12755ae4559ade48dec3e7d146204669ba03f98afe0a2cc4dcee", + "construction/DERIVATION.json": "4070fc900960a0e78f29b691df7e1bd59dc84a16d289132ec38e48277d1c32e8", + "construction/FLOW.json.gz": "0c8e60379cc2db33942ead798bcfcb77e666f6a13d899b61ede7d4edd9b2815f", + "construction/MODEL.json": "c2c4459c0860a767f331719cd3bce6b2ca34dc2e36f590f22ad2459d7b0552a7", + "construction/README.md": "1951c45c1941c65cada5b3835d4e62d3de12ad719b4755d25f102b8ccef3a67e", + "construction/T-EXACT-BOUND.json": "6dc65010c19d41a4b0e6617ad374a794a9a10e4bd15e0ba612b996bae29f023c", + "construction/original_build_p33.py": "aa1d7bfee082a283ee5dd42071f76144b67d19c15b13b2160c0e8a42c976eedd", + "data/DISPATCH.json": "e06a95c589425f92e4cce90b0d71664b96d5955bb34d9ffefdae4b432fa8746b", + "data/FILL.json.gz": "053181464d47c25452927bd53686c45b54f2c44a860bca1519d0333fc9ae55c9", + "data/ORDER.json": "5fc45c6e6a50db17c1eb2577d36e0dab3057005bc269ea6be1241c79f61aeced", + "data/PROFILE.json": "643f774edfc4eca81751fafc36b907ce9582638730ad511a7eda2ca4952a091b", + "independent/DERIVATION.json": "6f6ff54889eebe2457704c0aeff7045735bed448e314f5cd0d8df97c6601e64e", + "independent/NOTICE": "b1a13e97bf3503b4a52033518dd528d010f57be7b591245bf48910c20320d186", + "independent/moment.py": "1d22dbc04e4ca55f19845aaaa92fb9d7173188230b8899b07e20312ce1f0e959", + "independent/owners.py": "cf49a3ed2483176e95fc4077e2030c46b47d3666470343c56e2e9c7edf82c705", + "independent/provider/GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "independent/provider/OUTER-CLAIM.json": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "independent/provider/PLAN.json": "5345bbb91255a3229000ef154daab7d6dcb31c98aadeac9d5dac748a58cc5c44", + "independent/provider/PROFILE.json": "dafbfc76552e3b0c5d6f29bbf5bbafe5602149d3a3f8e35d5c316741e7eff64a", + "independent/provider/PROVIDERS.json": "3666edf67d61b01336e58166ec9edebd72902cc37a2da693b05691ab2a387cda", + "independent/provider/WORD-base.json.gz": "dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7", + "independent/provider/WORD-extra.json.gz": "bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac", + "independent/provider/independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "independent/source/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "independent/source/PR2827-FRONTIER-NOTICE": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "independent/source/PR2827-MANIFEST.json": "5b132a46d5fb8e8bd3f0a3a39f63c7e26287f40ca7baf84c82ddae94c62e1bb0", + "independent/source/PR2827-SOURCE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "independent/source/PR2833-MANIFEST.json": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "independent/source/PR2833-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "independent/source/independent_candidate_moment_retired7.py": "f6f38ef8e8fc1e634a2f89a45f3bf721f166a05313cec86c7a5cef9075e86be3", + "independent/source/independent_candidate_owners_retired7.py": "77a848729159e271ba64f403dfd59dddb13044b17b2950fa56700f442e2fe461", + "inputs/PR2833-OUTER-CLAIM.json": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "lift_parent.py": "c822bd0ddca6f83a7faa91fa3e2b93009394f855395c2181083bfd13be730e47", + "packing/DERIVATION.json": "37abb010d37054a707f51745a13e54467148a1903774ddf8c9c9217ad93faf5f", + "packing/README.md": "4639a591bdd283358ef1807775ca182c5679f4a1682be3170ea8c7b03752fcc7", + "packing/inputs/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "packing/inputs/PR2827-FRONTIER-NOTICE": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "packing/inputs/PR2827-SOURCE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "packing/inputs/T-NORMALIZED-RELAXATION.json": "846e24ff966402091534a766334bc737cb24b71b225ef978a8932111493a02c3", + "packing/inputs/moment.py": "f6f38ef8e8fc1e634a2f89a45f3bf721f166a05313cec86c7a5cef9075e86be3", + "packing/inputs/t_bound.py": "05bbea18531e4bb7ab3328a7def93db60e6cf5b0321aafedb0a8a7f5f971726b", + "packing/verify.py": "01d81b289bd2e2fd851e746d93e04f9f972b8bb92a7928385065097841b5a627", + "prepare_native.py": "f1dbb9de45ad171c9f3255f1c38bc0ec8edb5200caea27a5773a9369c0cdddf8", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "reproduce.py": "f1f51b19943cc0c1718e380e59313cb78f5904d1c788c61cfcda22c6dacc4058", + "requirements.txt": "78bbc827065a4722da1c94582c93034fba40eabe63dfe64318c03ce83c7b901e", + "verify_sources.py": "ead3ba094d6f95254a4a04fb240fde5572011f0d735010c37ba799e9ce9e95f9" + }, + "changed_only_documentation_claim_metadata_and_evidence": [ + "CLAIM.json", + "PREFIX-PROOF.md", + "README.md", + "TASK.json" + ], + "claim_fields_used_by_reproduce_unchanged": [ + "replicas", + "kappa" + ], + "source_export_has_git": false, + "source_export_path_has_spaces": true, + "all_four_native_chains_and_retained_parent_fresh": true, + "seconds": 848.0964844943956, + "scope": "Complete default manual entrypoint executed from a frozen source export outside Git; final publication adds verified claim status and evidence, with identical executable/scientific bytes and exact headline." +} diff --git a/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-REVIEW.json b/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-REVIEW.json new file mode 100644 index 0000000000..cedc7dd564 --- /dev/null +++ b/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-REVIEW.json @@ -0,0 +1,92 @@ +{ + "status": "PASS_INDEPENDENT_INTEGER_ADAPTER_SOURCE_CONTRACT_REVIEW", + "adapter_sha256": { + "admit_integer_prefix.py": "974bb0f0c89601c70688a19a302127e8139cb3d50437a066cad139a7b6f379a0", + "lift_parent.py": "c822bd0ddca6f83a7faa91fa3e2b93009394f855395c2181083bfd13be730e47", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "DERIVATION.json": "775020dea5eb41f18a3c30a3b2a938ae4be4eea28fefe6b0d6dece042d9e8c21" + }, + "builder_sha256": "d1ac4bf5e2ac1c76430ea9e2ba0143b19f5e29ee1db1985386680c420713c7cf", + "source_manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "source_file_count": 541, + "comparison_sha256": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "full_exact_rational_equal": true, + "generated_derivations": 3, + "runtime_patch_groups": 11, + "runtime_patches": [ + { + "path": "new/rebind.py", + "replacements": 1 + }, + { + "path": "verify_release.py", + "replacements": 3 + }, + { + "path": "outer/check_ledger.py", + "replacements": 1 + }, + { + "path": "code/witness.py", + "replacements": 1 + }, + { + "path": "verify.py", + "replacements": 1 + }, + { + "path": "code/witness.py", + "replacements": 1 + }, + { + "path": "independent_core.py", + "replacements": 1 + }, + { + "path": "code/invoice_allcold.py", + "replacements": 1 + }, + { + "path": "code/assemble.py", + "replacements": 3 + }, + { + "path": "geometry_controls.py", + "replacements": 1 + }, + { + "path": "verify.py", + "replacements": 2 + } + ], + "selector_checks": [ + { + "T": 104, + "required_prefix": 1983, + "payload": 1984 + }, + { + "T": 114, + "required_prefix": 2163, + "payload": 2164 + }, + { + "T": 124, + "required_prefix": 2343, + "payload": 2344 + } + ], + "cache_controls": { + "actual_function_extracted": true, + "changed_payload_changes_key": true, + "changed_assembler_source_changes_key": true, + "changed_outer_source_changes_key": true + }, + "required_geometry_controls": 10, + "source_bound_local_maximum": true, + "unchanged_native_cap": 192, + "unchanged_row_ceiling": 20161, + "cutoff_still_dyadic": true, + "carried_constant_rule_unchanged": true, + "scope": "Read-only source, exact derivation/preimage, syntax, selector and actual cache-key audit. Does not execute full admission or the mutated full-assembly controls; reserve lane owns those controls and root owns final release." +} diff --git a/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-V2-REVIEW.json b/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-V2-REVIEW.json new file mode 100644 index 0000000000..70d878e7fc --- /dev/null +++ b/research/replica-integer-prefix/evidence/PR2833-INTEGER-ADAPTER-V2-REVIEW.json @@ -0,0 +1,96 @@ +{ + "status": "PASS_INDEPENDENT_INTEGER_ADAPTER_SOURCE_CONTRACT_REVIEW", + "adapter_sha256": { + "admit_integer_prefix.py": "7d156c8577e1be2aeb3f42acfe608f1e0ad2002356c426e57ecfc704ea76b5b9", + "lift_parent.py": "c822bd0ddca6f83a7faa91fa3e2b93009394f855395c2181083bfd13be730e47", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "DERIVATION.json": "fcbf9d6714c3bc1de20270d78e63f91f0bae40eda447b206d17f806ac9ce700d" + }, + "builder_sha256": "53fa8a2d96944599c888fd3e3e6ffff10efd63a47735a85c45ed9c28a65854cd", + "source_manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "source_file_count": 541, + "comparison_sha256": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "full_exact_rational_equal": true, + "generated_derivations": 3, + "runtime_patch_groups": 12, + "runtime_patches": [ + { + "path": "new/rebind.py", + "replacements": 1 + }, + { + "path": "verify_release.py", + "replacements": 3 + }, + { + "path": "outer/check_ledger.py", + "replacements": 1 + }, + { + "path": "code/witness.py", + "replacements": 1 + }, + { + "path": "verify.py", + "replacements": 1 + }, + { + "path": "audit_fast.py", + "replacements": 1 + }, + { + "path": "code/witness.py", + "replacements": 1 + }, + { + "path": "independent_core.py", + "replacements": 1 + }, + { + "path": "code/invoice_allcold.py", + "replacements": 1 + }, + { + "path": "code/assemble.py", + "replacements": 3 + }, + { + "path": "geometry_controls.py", + "replacements": 1 + }, + { + "path": "verify.py", + "replacements": 2 + } + ], + "selector_checks": [ + { + "T": 104, + "required_prefix": 1983, + "payload": 1984 + }, + { + "T": 114, + "required_prefix": 2163, + "payload": 2164 + }, + { + "T": 124, + "required_prefix": 2343, + "payload": 2344 + } + ], + "cache_controls": { + "actual_function_extracted": true, + "changed_payload_changes_key": true, + "changed_assembler_source_changes_key": true, + "changed_outer_source_changes_key": true + }, + "required_geometry_controls": 10, + "source_bound_local_maximum": true, + "unchanged_native_cap": 192, + "unchanged_row_ceiling": 20161, + "cutoff_still_dyadic": true, + "carried_constant_rule_unchanged": true, + "scope": "Read-only source, exact derivation/preimage, syntax, selector and actual cache-key audit. Does not execute full admission or the mutated full-assembly controls; reserve lane owns those controls and root owns final release." +} diff --git a/research/replica-integer-prefix/evidence/PR2833-NATIVE-PREFIX-INVOICE-REVIEW.json b/research/replica-integer-prefix/evidence/PR2833-NATIVE-PREFIX-INVOICE-REVIEW.json new file mode 100644 index 0000000000..81f34d0fdb --- /dev/null +++ b/research/replica-integer-prefix/evidence/PR2833-NATIVE-PREFIX-INVOICE-REVIEW.json @@ -0,0 +1,1055 @@ +{ + "status": "PASS_INDEPENDENT_AUTHENTICATED_PR2833_SCALAR_PREFIX_AND_FULL_LOCAL_INVOICE", + "source_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "source_manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "source_sha256": { + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708" + }, + "native_receipt_sha256": "36d90f891e379cdc3e2fbf1cae51d80af0f0d4276fe20d3ccf0585dfa9e8fd4b", + "native_bindings": { + "base": { + "word_sha256": "dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7", + "canonical_word_sha256": "d4676887a1468dd5a0ae8501644ec0ca4bd3d6e1c66da4d02e3270d33b3de717", + "local_programs_sha256": "32dfb9ad7fdd2267b7d7c96c563d336853aaba15e1972d07059e6a8fbebff6b7", + "replay_sha256": "96fcd097d9e928e8e864be8b28f103e5196c3e6469956225c975b1dcbb590228" + }, + "extra": { + "word_sha256": "bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac", + "canonical_word_sha256": "9263c57a2e1d7fa0ae9b79e15e7a26ac7f81dc00c0d52724bbf1689c2b4ffba4", + "local_programs_sha256": "32dfb9ad7fdd2267b7d7c96c563d336853aaba15e1972d07059e6a8fbebff6b7", + "replay_sha256": "edd3f9d2bae2ccd3383a98233b2f97efa53a4b5e8136a7c2376ef6dd62bcc40d" + } + }, + "providers": { + "base": { + "local": { + "backward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162948, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162660, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "2297090429416239623701/2", + "prefix_bits": 70, + "coefficient_work_primitive_count": 79864, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162900, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162612, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "66888793886831064259/8", + "prefix_bits": 63, + "coefficient_work_primitive_count": 79832, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 408, + "centres": 8, + "v": 112, + "h": 9, + "n": 632, + "zero_buffers": 72, + "entering_helpers": 128, + "entrance_rank": 158, + "terminal_codimension": 184, + "hyperplane_ended_helpers": 72, + "cold_hyperplane_ended_helpers": 42, + "width_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 80, + "9": 238 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ], + "local_adapters": 357328, + "local_primitive_bound": 9267064577156, + "compiler": 25934336, + "children": 3460, + "artifacts": { + "FULL-WORD.json.gz": "29b4b4a4c14ab8d33467caacc87aefb79041dd4dd11bc5c7a700e0dc62d6a9c6", + "CLIFFORD-REVIEW.json": "2f211c91ae0c8d2e788ab721697b5feccf04839b20bdedb0ca80ce8da0caca1b", + "INDEPENDENT-LOCAL-REPLAY.json": "96fcd097d9e928e8e864be8b28f103e5196c3e6469956225c975b1dcbb590228", + "RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "SCALAR-FRAME-AUDIT.json": "d8d5cde194a4ef82495d822376f190e8b8830907835a86f344ffdef8fb4c6fe5", + "CANONICAL-WORD.json.gz": "d4676887a1468dd5a0ae8501644ec0ca4bd3d6e1c66da4d02e3270d33b3de717", + "WARP-RECIPE-CHECKS.json": "7f37d3d12ae3ce677df22c7f11d01d789b23c186a2930da55c786c1043bc14ea", + "LOCAL-PROGRAMS.json.gz": "32dfb9ad7fdd2267b7d7c96c563d336853aaba15e1972d07059e6a8fbebff6b7", + "WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "LOCAL-CHECKS.json": "77a424b5ddebfb877ad89a66f659b3d101e2d90a650d5ea3ca4017ecf785794a", + "CLIFFORD-RECIPES.json": "b50d092a779f0202eed697391211d0e54ff8dd596ffa373cbfae504175e99b9e" + }, + "paid_profile": { + "1": 2382, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "program_hashes": { + "backward": "17856088b1dcf6821661a5f36f6447ec1b245a90cdd121ce9b73b1c353245c3f", + "forward": "94525fa9fffe404e3bc8e83aa89ab3ee932623cee652cf6aa0f8f48a00bab498" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "4ad08e5f36297706c12d070d406a92495a8d456d2d28c22f5a9497dbae8f907d", + "LOCAL-PROGRAMS.json.gz": "603960e39d93851f2355cd8b3e0d8d3198cd3074ae4a25b014b6a05e6a0c7b92", + "LOCAL-CHECKS.json": "5882551d43d14f23b86fbaec689c2762c808679482e51a8efa54bdb04fb93aba", + "INDEPENDENT-LOCAL-REPLAY.json": "e528c0281891775e84a82d765ce4d012636afc272a9ae3d9d1c5e12b1bc736ed", + "CLIFFORD-RECIPES.json": "b50d092a779f0202eed697391211d0e54ff8dd596ffa373cbfae504175e99b9e", + "CLIFFORD-REVIEW.json": "9e3c112a4382e696708c7bb7daf975ce517175c1070f4dae8d0d8b547d3a7ab5", + "RESIDUAL-ADAPTERS.json": "b5698f97e6dede7a382187795ce1f864877f8397c0f0ed215a342d62b2fe249d" + } + }, + "extra": { + "local": { + "backward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162948, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162660, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "2297090429416239623701/2", + "prefix_bits": 70, + "coefficient_work_primitive_count": 79864, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162900, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162612, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "66888793886831064259/8", + "prefix_bits": 63, + "coefficient_work_primitive_count": 79832, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 408, + "centres": 8, + "v": 112, + "h": 9, + "n": 632, + "zero_buffers": 72, + "entering_helpers": 128, + "entrance_rank": 158, + "terminal_codimension": 184, + "hyperplane_ended_helpers": 72, + "cold_hyperplane_ended_helpers": 42, + "width_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 80, + "9": 238 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 5, + 5, + 8, + 8, + 8, + 8 + ], + "local_adapters": 357328, + "local_primitive_bound": 9267064577156, + "compiler": 25934336, + "children": 3460, + "artifacts": { + "FULL-WORD.json.gz": "154f26232eef111a898de281982a39dec2588740cfde43269d273b6dbf44a75e", + "CLIFFORD-REVIEW.json": "e645c5809880e183448d3958f9dd8cc4e75d0adaf318653bf50ad96a031215ca", + "INDEPENDENT-LOCAL-REPLAY.json": "edd3f9d2bae2ccd3383a98233b2f97efa53a4b5e8136a7c2376ef6dd62bcc40d", + "RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "SCALAR-FRAME-AUDIT.json": "c7d083a7543699f76fd5fc0cf886738ef8590db8c64b78f62625af1836742d0e", + "CANONICAL-WORD.json.gz": "9263c57a2e1d7fa0ae9b79e15e7a26ac7f81dc00c0d52724bbf1689c2b4ffba4", + "WARP-RECIPE-CHECKS.json": "ed3328f41888a8ff2655be6c62fc8e57d00140da33a369501dce3e7f53ac78b7", + "LOCAL-PROGRAMS.json.gz": "32dfb9ad7fdd2267b7d7c96c563d336853aaba15e1972d07059e6a8fbebff6b7", + "WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "LOCAL-CHECKS.json": "77a424b5ddebfb877ad89a66f659b3d101e2d90a650d5ea3ca4017ecf785794a", + "CLIFFORD-RECIPES.json": "8cecbc37fa1b75526beb20cd7fd0e7099b8799f66d6968e755ba26de7ee6514b" + }, + "paid_profile": { + "1": 2382, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "program_hashes": { + "backward": "17856088b1dcf6821661a5f36f6447ec1b245a90cdd121ce9b73b1c353245c3f", + "forward": "94525fa9fffe404e3bc8e83aa89ab3ee932623cee652cf6aa0f8f48a00bab498" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "b4f683e907bb8eb9f77d229613b1dc6b4a90fc597ad513582658fb3d05938d84", + "LOCAL-PROGRAMS.json.gz": "603960e39d93851f2355cd8b3e0d8d3198cd3074ae4a25b014b6a05e6a0c7b92", + "LOCAL-CHECKS.json": "5882551d43d14f23b86fbaec689c2762c808679482e51a8efa54bdb04fb93aba", + "INDEPENDENT-LOCAL-REPLAY.json": "56134df234b51eaa0513fc2af566df9c6574361a2b3b3f5b5caea7b90c88825c", + "CLIFFORD-RECIPES.json": "8cecbc37fa1b75526beb20cd7fd0e7099b8799f66d6968e755ba26de7ee6514b", + "CLIFFORD-REVIEW.json": "4cbee7b7d88f7bf6ea545c82eb20837af8b0b0ffe62e88d19e818a3c9534b455", + "RESIDUAL-ADAPTERS.json": "e324d0c3b644c251a6f599da5224abc63c48d9729133066c352842e41e385d33" + } + } + }, + "actual_local_maximum_bits": 70, + "T124": { + "calls": 1116, + "global_prefix_bits": 2343, + "integer_payload": 2344, + "live": 111104, + "physical": 111594 + }, + "scope": "Exact source-bound invoice recount of all scalar/Horner, warp reserve, wrapper and private-buffer costs on fresh native programs. Full native endpoint/frame/phase evidence is authenticated by its actual receipt, not rerun. Full changed global/outer admission remains separate." +} diff --git a/research/replica-integer-prefix/evidence/PR2833-OWNER-SOURCE-GIT-BINDING.json b/research/replica-integer-prefix/evidence/PR2833-OWNER-SOURCE-GIT-BINDING.json new file mode 100644 index 0000000000..12b6b96fa2 --- /dev/null +++ b/research/replica-integer-prefix/evidence/PR2833-OWNER-SOURCE-GIT-BINDING.json @@ -0,0 +1,76 @@ +{ + "status": "PASS_ALL_COPIED_BYTES_MATCH_EXACT_GIT_HEADS", + "files": 14, + "records": [ + { + "target": "provider/PLAN.json", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "3ccc3686f7349f7520c2926e8bcccd55dec09b16" + }, + { + "target": "provider/GLOBAL-TEMPLATE.json.gz", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "5327fc2f4e8ea82ed356c94ff040d23fc73c731f" + }, + { + "target": "provider/PROVIDERS.json", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "bf7c87b4d1b0fc72b8048751782f9ea6d6657096" + }, + { + "target": "provider/WORD-base.json.gz", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "d3878e3be59c50ef60ef1d758215547554134c39" + }, + { + "target": "provider/WORD-extra.json.gz", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "0638b6ad9d29eec2be61bdb46140c0c5b7b0d21b" + }, + { + "target": "provider/PROFILE.json", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "df003b0d5df6026174fba830844a21569734dfd6" + }, + { + "target": "provider/OUTER-CLAIM.json", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "88477d495e2a95c5442444d1bf09b01c407bd070" + }, + { + "target": "source/PR2833-NOTICE", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "git_blob": "46411b80b277d7dcd653a6d1999eaf12975b1103" + }, + { + "target": "provider/independent_local.py", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "e0b556adc3d05c8f97e94992e0f872916154202d" + }, + { + "target": "source/LICENSE", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "target": "source/PR2827-FRONTIER-NOTICE", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "4f946d97736bcc10e56fd3648f0035de3eda63f0" + }, + { + "target": "source/PR2827-SOURCE-NOTICE", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740" + }, + { + "target": "source/independent_candidate_owners_retired7.py", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "16013201b19054f7e45398ecf10af74c9c6a9114" + }, + { + "target": "source/independent_candidate_moment_retired7.py", + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "git_blob": "517b766da6685fa399528e2546c5a6ce60971064" + } + ] +} diff --git a/research/replica-integer-prefix/evidence/PR2833-WORD-REVIEW.json b/research/replica-integer-prefix/evidence/PR2833-WORD-REVIEW.json new file mode 100644 index 0000000000..70eea2b6a3 --- /dev/null +++ b/research/replica-integer-prefix/evidence/PR2833-WORD-REVIEW.json @@ -0,0 +1,510 @@ +{ + "status": "PASS_PR2833_EXACT_SOURCE_WORD_DELTA_AND_FREE_ALGEBRA_AUDIT", + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "manifest_sha256": "c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f", + "manifest_files": 541, + "source_diff_from_PR2802": { + "changed": [ + "audit_mixed.py", + "CLAIM.json", + "CONSTRUCTION.json", + "DISPATCH.json", + "independent_core.py", + "new/borrow/inputs/alias1_43base.json", + "new/borrow/inputs/alias1_43extra.json", + "new/borrow/inputs/alias8_43base.json", + "new/borrow/inputs/alias8_43extra.json", + "new/borrow/inputs/lowfour_43base.json", + "new/borrow/inputs/lowfour_43extra.json", + "new/borrow/inputs/prelife_43base.json", + "new/borrow/inputs/prelife_43extra.json", + "new/borrow/inputs/refit563_43base.json", + "new/borrow/inputs/refit563_43extra.json", + "new/borrow/lowfour_controls.py", + "new/borrow/words/BORROW-WORD-43base.json.gz", + "new/borrow/words/BORROW-WORD-43extra.json.gz", + "new/borrow-fill/FILL.json.gz", + "new/borrow-fill/ORDER.json", + "new/BORROW-PROVIDERS.json", + "new/code/borrow/bw_audit_local.py", + "new/PLAN.json", + "new/PROFILE.json", + "new/rebuild_borrow.py", + "new/SPEC.json", + "ORDER.json", + "outer/B.json", + "outer/check_gaugefree.py", + "outer/GAUGEFREE-INTERIORS.md", + "outer/INDEPENDENT.json", + "outer/LEDGER.json", + "outer/OUTER-CLAIM.json", + "OWNERS.json.gz", + "PARENT-LIFT-RECEIPT.json", + "PLAN.json", + "PROFILE.json", + "README.md", + "RELEASE.json", + "verify.py", + "verify_release.py" + ], + "added": [ + "code/pyc_guard.py", + "new/borrow/inputs/dirtentry_43base.json", + "new/borrow/inputs/dirtentry_43extra.json", + "new/borrow/inputs/retired7_43base.json", + "new/borrow/inputs/retired7_43extra.json", + "new/borrow/inputs/twelve_43base.json", + "new/borrow/inputs/twelve_43extra.json", + "new/fastnative/.gitattributes", + "new/fastnative/benchmark.py", + "new/fastnative/common.py", + "new/fastnative/compare.py", + "new/fastnative/controls.py", + "new/fastnative/evidence/BENCHMARK.json", + "new/fastnative/evidence/COVERAGE.json", + "new/fastnative/evidence/REGISTERED.log", + "new/fastnative/evidence/VALIDATION.json", + "new/fastnative/EXPECTED.json", + "new/fastnative/fixtures/WORD-base.json.gz", + "new/fastnative/fixtures/WORD-extra.json.gz", + "new/fastnative/FRESHNESS.json", + "new/fastnative/LICENSE", + "new/fastnative/NATIVE-LINEAGE-NOTICE", + "new/fastnative/PINS.json", + "new/fastnative/README.md", + "new/fastnative/requirements.txt", + "new/fastnative/run_native.py", + "new/fastnative/SOURCE-PROVENANCE.json", + "new/fastnative/SOURCES.json", + "new/fastnative/stage.py", + "new/fastnative/TASK.json", + "new/fastnative/vendor/accelerators/SPARSE-NOTICE.md", + "new/fastnative/vendor/accelerators/SPARSE-PROOF.md", + "new/fastnative/vendor/accelerators/sparse_state.py", + "new/fastnative/vendor/accelerators/tables.py", + "new/fastnative/vendor/native/new/code/borrow/bw_adapters.py", + "new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py", + "new/fastnative/vendor/native/new/code/borrow/bw_check_recipes.py", + "new/fastnative/vendor/native/new/code/borrow/bw_emit.py", + "new/fastnative/vendor/native/new/code/borrow/bw_gauss.py", + "new/fastnative/vendor/native/new/code/borrow/bw_phases.py", + "new/fastnative/vendor/native/new/code/borrow/bw_tamper.py", + "new/fastnative/vendor/native/new/code/borrow/bw_transport.py", + "new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md", + "new/fastnative/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_operators.py", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_replay.py", + "new/fastnative/vendor/native/new/run_native_borrow.py", + "new/fastnative/VERIFY.json", + "new/fastnative/verify.py" + ], + "removed": [ + "new/borrow/inputs/alias5_43base.json", + "new/borrow/inputs/alias5_43extra.json", + "new/borrow/inputs/alias7_43base.json", + "new/borrow/inputs/alias7_43extra.json", + "new/borrow/inputs/hostmove2_43base.json", + "new/borrow/inputs/hostmove2_43extra.json", + "new/borrow/inputs/refit5_43base.json", + "new/borrow/inputs/refit5_43extra.json", + "new/borrow/inputs/refit5c_43base.json", + "new/borrow/inputs/refit5c_43extra.json", + "new/borrow/inputs/refit7_43base.json", + "new/borrow/inputs/refit7_43extra.json", + "new/borrow/inputs/refit7c_43base.json", + "new/borrow/inputs/refit7c_43extra.json", + "new/borrow/retired7_controls.py" + ] + }, + "words": [ + { + "tag": "base", + "word_sha256": "dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7", + "old_word_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "patch_sha256": "a067f7138f23eed6434286e7bd53548c86a7eef58c654374b778b4f424e9ffef", + "inserted_gates": [ + [ + "insert", + 0, + [ + "add", + 136, + 530, + 1, + 1 + ] + ], + [ + "insert", + 1, + [ + "add", + 221, + 542, + 1, + 1 + ] + ], + [ + "insert", + 302, + [ + "add", + 75, + 530, + -1, + 1 + ] + ], + [ + "insert", + 403, + [ + "add", + 84, + 542, + -1, + 1 + ] + ] + ], + "compensation_removed": 26, + "changed_widths": [ + [ + 530, + 9, + 8 + ], + [ + 542, + 9, + 8 + ] + ], + "stable_sections": [ + "A", + "precondition", + "cut", + "restore", + "initial_corrections", + "target_levels", + "ports", + "centers", + "center_frames", + "removed", + "prelude_events" + ], + "helpers": 408, + "private_buffers": 72, + "centres": 8, + "physical_over_live": 490 + }, + { + "tag": "extra", + "word_sha256": "bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac", + "old_word_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "patch_sha256": "8280fafb4642389ae91989e870ece7c9f2bffa38c9b52f2424b8abf489ba71f8", + "inserted_gates": [ + [ + "insert", + 0, + [ + "add", + 136, + 530, + 1, + 1 + ] + ], + [ + "insert", + 1, + [ + "add", + 221, + 542, + 1, + 1 + ] + ], + [ + "insert", + 302, + [ + "add", + 75, + 530, + -1, + 1 + ] + ], + [ + "insert", + 403, + [ + "add", + 84, + 542, + -1, + 1 + ] + ] + ], + "compensation_removed": 26, + "changed_widths": [ + [ + 530, + 9, + 8 + ], + [ + 542, + 9, + 8 + ] + ], + "stable_sections": [ + "A", + "precondition", + "cut", + "restore", + "initial_corrections", + "target_levels", + "ports", + "centers", + "center_frames", + "removed", + "prelude_events" + ], + "helpers": 408, + "private_buffers": 72, + "centres": 8, + "physical_over_live": 490 + } + ], + "independent_word_audits": [ + { + "tag": "base", + "receipt_sha256": "475744a33fa7581d863abe5c2b46a6f399f28b5de0c4dd89cd3f63e9e0eba45a", + "command": [ + "/home/marius/kappa/kappa-round-20261015-1632/.venv/bin/python", + "-I", + "-S", + "-B", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/coordination/pr2833/research/gmx-t74-borrow43-handoff/new/borrow/audit_local.py", + "--word", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/coordination/pr2833/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz", + "--output", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/audit/pr2833-word-checks/base.json" + ], + "summary": { + "local_profile": { + "1": 2382, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "width_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 80, + "9": 238 + }, + "local_mass": 5186, + "warps": 72, + "zero_buffers": 72, + "entering": 128, + "checked_columns": 632, + "orientations": { + "forward": "PASS", + "dual": "PASS" + } + } + }, + { + "tag": "extra", + "receipt_sha256": "b399491b9390fe5235cbe1aa503269372da35726d07fd13c7e5bc3dec47f1346", + "command": [ + "/home/marius/kappa/kappa-round-20261015-1632/.venv/bin/python", + "-I", + "-S", + "-B", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/coordination/pr2833/research/gmx-t74-borrow43-handoff/new/borrow/audit_local.py", + "--word", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/coordination/pr2833/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz", + "--output", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/audit/pr2833-word-checks/extra.json" + ], + "summary": { + "local_profile": { + "1": 2382, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "width_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 80, + "9": 238 + }, + "local_mass": 5186, + "warps": 72, + "zero_buffers": 72, + "entering": 128, + "checked_columns": 632, + "orientations": { + "forward": "PASS", + "dual": "PASS" + } + } + } + ], + "claimed_native_contracts": [ + { + "provider": "extra", + "maximum_bits": 70, + "local": { + "backward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162948, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162660, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "2297090429416239623701/2", + "prefix_bits": 70, + "coefficient_work_primitive_count": 79864, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162900, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162612, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "66888793886831064259/8", + "prefix_bits": 63, + "coefficient_work_primitive_count": 79832, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "entering": 128, + "entrance_rank": 158, + "terminal_codimension": 184, + "local_adapters": 357328, + "local_primitive_bound": 9267064577156 + }, + { + "provider": "gauge44", + "maximum_bits": 70, + "local": { + "backward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162948, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162660, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "2297090429416239623701/2", + "prefix_bits": 70, + "coefficient_work_primitive_count": 79864, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22699, + "macros": 17627, + "real_component_primitives": 162900, + "warp_events": 240, + "literal_scalar_macros": 17483, + "literal_real_component_primitives": 162612, + "private_zero_buffer_clears": 144, + "private_zero_buffer_peak": 72, + "prefix_l1": "66888793886831064259/8", + "prefix_bits": 63, + "coefficient_work_primitive_count": 79832, + "all_exact_columns": 632, + "dirty_helper_columns": 408, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 170, + "post_wrappers": 170, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "entering": 128, + "entrance_rank": 158, + "terminal_codimension": 184, + "local_adapters": 357328, + "local_primitive_bound": 9267064577156 + } + ], + "actual_profile": { + "1": 2382, + "2": 650, + "3": 266, + "4": 128, + "5": 26, + "8": 8 + }, + "actual_inventory": { + "4": 26, + "5": 2, + "7": 62, + "8": 80, + "9": 238 + }, + "physical_stock_over_live": 490, + "T124": { + "calls": 1116, + "live": 111104, + "physical": 111594, + "conditional_if_fresh_native_maximum70": { + "global_prefix": 2343, + "payload": 2344, + "row": 20139, + "row_limit": 20161 + } + }, + "binding_requirements": [ + "New source profile must pin PR2833 head,541-file manifest and both changed word hashes.", + "New native chains are required for both changed words; cached PR2802 native programs cannot certify them.", + "LOCAL-PREFIX-BOUND must be regenerated from those fresh native receipts, not copied despite equal bit maximum.", + "Literal T124 fill must use new ordered widths and local paid profile; old-width T124 fill is not reusable unchanged.", + "Rebind all program, canonical word, provider contract, wrapper, primitive, phase and stock expectations from the fresh native outputs.", + "Keep native192 cap, integer reserve source equality, strict row ceiling and all10 geometry controls." + ], + "scope": "Complete source authentication; exact dirt-entry reconstruction from frozen PR2802 words; independent literal frame/profile and both-orientation arbitrary dirty-state free-operator audit. Native prefix values are source claims checked arithmetically here, pending root fresh native receipt and independent invoice recount. No native/phase/full outer replay duplicated." +} diff --git a/research/replica-integer-prefix/evidence/RUNTIME-PATCHES.json b/research/replica-integer-prefix/evidence/RUNTIME-PATCHES.json new file mode 100644 index 0000000000..df4a5eba53 --- /dev/null +++ b/research/replica-integer-prefix/evidence/RUNTIME-PATCHES.json @@ -0,0 +1,154 @@ +[ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "6cfefe80c02a6c0f243f50ca9e146e1ab1440b84a033d8a71d42be5a5fa27f6b", + "before_sha256": "c43680a2da390f79925547a5ee1919d8a76637cccf98e2c8164b6f667fbc3183", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + }, + { + "after_sha256": "1dd56009986eb14dd6603c9193c7ad71dd45c7d005bf71c9cd3f916e66f54d98", + "before_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "path": "outer/check_ledger.py", + "replacements": [ + [ + "assert (m,W)==(73,66304)", + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']" + ] + ] + }, + { + "after_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "before_sha256": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "path": "code/witness.py", + "replacements": [ + [ + " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))", + " import time as _wr_time\n _wr_path=Path(os.environ['WITNESS_RECORD'])\n _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock')\n _wr_deadline=_wr_time.monotonic()+60\n _wr_fd=None\n while _wr_fd is None:\n try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)\n except FileExistsError:\n if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved')\n _wr_time.sleep(.005)\n try:\n with _wr_path.open('a',encoding='utf-8',newline='\\n')as _wr_out:\n _wr_out.write(json.dumps([key,got],default=str)+chr(10))\n _wr_out.flush()\n finally:\n os.close(_wr_fd)\n _wr_lock.unlink()" + ] + ] + }, + { + "after_sha256": "9a4f74df6a92e537152f91a4f0f758d8889b8bd4c7366f0a6356f518ff28f4c8", + "before_sha256": "c52149ed10c0cae4950c92cef0edc38f382c5cc74cf66c5eeeebb7191b4bc0a0", + "path": "verify.py", + "replacements": [ + [ + "run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')" + ] + ] + }, + { + "after_sha256": "e1c6659f86163b2b54f7af0a540ba489f0a1d16088ab7a41745280acd74d6b84", + "before_sha256": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "path": "audit_fast.py", + "replacements": [ + [ + "_part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)", + "_tmp=_part.with_name(_part.name+'.%d.%d.tmp'%(_AF_SHARD,os.getpid()));_tmp.write_text(_j.dumps([_idx[0],_own]));_tmp.replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)" + ] + ] + }, + { + "after_sha256": "98b693592c89c3f2dde93243fb5fd61c002e216f700b9b582e984e522142d781", + "before_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "path": "code/witness.py", + "replacements": [ + [ + "assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "assert type(GEO['local_prefix_bits_bound']) is int and 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'" + ] + ] + }, + { + "after_sha256": "3a9a30f98b7be3f20afbf6140e8d7e8bd6b27b6adafc63d11dd259f1f2539f14", + "before_sha256": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "path": "independent_core.py", + "replacements": [ + [ + "payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5" + ] + ] + }, + { + "after_sha256": "21174889e7e9c2b8d9a179b9233a35d2f5d5dc8b23af280ac16f1225134a99d5", + "before_sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'" + ] + ] + }, + { + "after_sha256": "6217cbb1885f5a1bfcc49252708df703ee6a843b33a0c9d2c01830709967a7d0", + "before_sha256": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "path": "code/assemble.py", + "replacements": [ + [ + " assert 0 '/home/marius/kappa/kappa-integer-reserve-20261016-0056/reserve/shard-temp-race-control/inherited_shared_temp/.audit-fast-partial.3'" + }, + { + "shard": 4, + "status": "renamed" + } + ], + "final_payloads": { + "4": [ + 25, + [ + [ + 4, + "control-4" + ] + ] + ] + } + }, + "unique_shard_pid_temp": { + "workers": [ + { + "shard": 3, + "status": "renamed" + }, + { + "shard": 4, + "status": "renamed" + } + ], + "final_payloads": { + "3": [ + 25, + [ + [ + 3, + "control-3" + ] + ] + ], + "4": [ + 25, + [ + [ + 4, + "control-4" + ] + ] + ] + } + } + }, + "scope": "A reproducible legal two-worker interleaving proves the inherited race and repaired transport. The original failing run discarded child stderr, so this does not identify its lost exception. All audit predicates and exact-once merge checks are unchanged." +} diff --git a/research/replica-integer-prefix/evidence/SHARD-TRANSPORT-REPAIR.json b/research/replica-integer-prefix/evidence/SHARD-TRANSPORT-REPAIR.json new file mode 100644 index 0000000000..5604dbfcc6 --- /dev/null +++ b/research/replica-integer-prefix/evidence/SHARD-TRANSPORT-REPAIR.json @@ -0,0 +1,25 @@ +{ + "schema": "mutation-shard-transport-repair/1", + "status": "PASS_REVIEWED_UNIQUE_TEMP_REPAIR_WITH_SCOPED_FAILURE_HISTORY", + "source_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "source_audit_fast_sha256": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "original_failure": "Parent reported a mutation-control shard failed; worker stderr was discarded by inherited runner, so its specific exception is unknown.", + "diagnostic_unchanged_shard_3": "PASS two assigned controls rejected", + "diagnostic_unchanged_parallel": "PASS all25 control predicates on16 workers with stderr captured separately", + "deterministic_race_witness": "A legal two-worker preemption schedule raises FileNotFoundError with the exact shared-temp writer and preserves both correct final payloads with per-shard/PID temporaries.", + "repair_scope": "Temporary pathname only; audit_allcold predicates, mutation names, per-shard final path, atomic replacement, total count and exact-once merge checks unchanged.", + "fixed_adapter_sha256": "7d156c8577e1be2aeb3f42acfe608f1e0ad2002356c426e57ecfc704ea76b5b9", + "fixed_derivation_sha256": "fcbf9d6714c3bc1de20270d78e63f91f0bae40eda447b206d17f806ac9ce700d", + "evidence": { + "t124-composition-admission/STAGES.json": "f026c2ef94b7a921630d9dbf943a7b0ac2e1cfd2f0e9c47791bd274ac2da94a5", + "t124-composition-admission/discovery.log": "93541d3a5faee27f6a022dad1c9fec6b8cb7bf785b00e837fea3b43d06488bb6", + "t124-composition-admission/discovery/audit.log": "a2839cce2b93470a7e81c15d2b40d51c6d0ebab3cfe4cc886b4065744c590b53", + "reserve/diagnostic-p33-parallel/COMMAND.json": "00fafdf6ef412dfecae5d9a935e73c3406f48b333d381c10ea0bbb5e241ab9c0", + "reserve/diagnostic-p33-parallel/ASYNC-AUDIT.json": "5dd5a3c01604c41023967ab1787ffb955032679de50d269ef0a9636062e060ef", + "reserve/diagnostic-p33-shard3/COMMAND.json": "b86ce0a2d36ff2a520209185e1168b2013dbc220ef20973f1f42a5449443fd37", + "reserve/diagnostic-p33-shard3/.audit-fast-partial.3": "4b4d3df9c2a482c606964fca1d751bee6f71c8369362179dcfc76c742d28ccc8", + "reserve/shard-temp-race-control/RESULT.json": "f74bd459fb6d0ab1283405ad582b6d122a87223037171f150825c3a84da870f0", + "audit/PR2833-INTEGER-ADAPTER-V2-REVIEW.json": "f12ae9a4c2aede799bb0b26248970f0eaaa91986a57e244e2492f3fa63d2aba6" + }, + "full_candidate_replay": "t124-composition-admission-v2 is separate; consult its RESULT.json and RELEASE-RECEIPT.json after completion." +} diff --git a/research/replica-integer-prefix/evidence/SUBMISSION-OVERLAP.json b/research/replica-integer-prefix/evidence/SUBMISSION-OVERLAP.json new file mode 100644 index 0000000000..d18a8f96fd --- /dev/null +++ b/research/replica-integer-prefix/evidence/SUBMISSION-OVERLAP.json @@ -0,0 +1,90 @@ +{ + "status": "POSSIBLE_OVERLAP_NOT_A_NOVELTY_CERTIFICATE", + "searched_at": "2026-10-16T01:27:11.314144+00:00", + "terms": [ + "T124", + "integer prefix", + "integer payload", + "prefix reserve", + "retired7" + ], + "coverage": { + "open_prs": { + "fetched_at": "2026-10-16T01:24:21.720903+00:00", + "complete_pagination": true, + "records": 640 + }, + "discussions": { + "fetched_at": "2026-10-16T01:27:11.167147+00:00", + "complete_pagination": true, + "records": 1481 + } + }, + "local_records": 2173, + "warnings": [], + "limits": "Remote PR scope is open PRs including drafts. Closed work is searched through local READMEs, TASK metadata and ledger only. No code diffs or arbitrary package files are searched. Recheck relevant heads before submission.", + "matches_total": 23, + "relevant_heads": [ + { + "number": 2827, + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "title": "T104 paid allocation and exact prefix reserve: conditional \u03ba \u2248 0.001717795222616587743198", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2827" + }, + { + "number": 415, + "head": "4ad1ef5c67e9943d21ee8c13325ca5705546ae28", + "title": "Candidate conditional kappa 0.001017786140030308: enlarged entrances and target prefixes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/415" + }, + { + "number": 962, + "head": "50c6ae8151493af21d284afe34fb35f68f6d4934", + "title": "Conditional \u03ba = 0.001661960547713947: T37 owner map on PR890's U8 word (independent cross-check of #942)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/962" + }, + { + "number": 1131, + "head": "fcdc42737b703323d8ed550a528141a482e68e96", + "title": "Conditional \u03ba = 0.001674097969905390: seven-slot k8 with T37 whole-owner packing", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1131" + }, + { + "number": 1152, + "head": "d376209304f05551f975b0ddf6eaa84edc4ae31a", + "title": "Conditional \u03ba = 0.001674340686401949: rank-seven helper ends with T37 owner packing", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1152" + }, + { + "number": 2818, + "head": "175822aee7a1858ec653f7f92d7a750aec2c2795", + "title": "Conditional \u03ba = 0.0017177949841186346638272: #2802's construction with a 1e-3000 certified endpoint", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2818" + }, + { + "number": 2833, + "head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "title": "Conditional \u03ba = 0.001718657437166855: dirt-entry rewrite of helpers 530 and 542 on #2802's construction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2833" + }, + { + "number": 2530, + "head": "b4012098048e12500b2d33d2e84be281915a27ac", + "title": "Conditional \u03ba \u2248 0.0017137379215475043 from source-partner lifetimes and physical rehosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2530" + }, + { + "number": 2802, + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "title": "Conditional \u03ba \u2248 0.001717794984118634663827: two hostee moves and seven retired-lender aliases on #2751's joint twelve-source words", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2802" + }, + { + "number": 2824, + "head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "title": "T94 retained-tail allocation on PR2802: conditional kappa 0.001717795160032012107407", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2824" + } + ], + "interpretation": "Complete open-PR and Discussion pagination. Latest scalar headline remains PR2833; original head independently re-fetched at submission checkpoint. Keyword search is not a novelty proof." +} diff --git a/research/replica-integer-prefix/evidence/T104-POSITIVE-CONTROL-SUMMARY.json b/research/replica-integer-prefix/evidence/T104-POSITIVE-CONTROL-SUMMARY.json new file mode 100644 index 0000000000..71989e7970 --- /dev/null +++ b/research/replica-integer-prefix/evidence/T104-POSITIVE-CONTROL-SUMMARY.json @@ -0,0 +1,85 @@ +{ + "status": "PASS_T104_INTEGER_RESERVE_COMPLETE_POSITIVE_CONTROL", + "exact_kappa": "17177952226165877431979999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177952226165877431979999999999999999999998999999999999999999999999", + "exact_difference_from_PR2827": "0", + "gain_over_PR2824": "62584575635791/1000000000000000000000000", + "source_profile": "pr2802", + "source_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "replicas": 104, + "roles": 381888, + "actual_local_prefix_bits": 70, + "actual_global_prefix_bits": 1983, + "integer_payload": 1984, + "physical_row": 19417, + "strict_row_limit": 20161, + "paid_profile": { + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 + }, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 10 + }, + "geometry_rejections": [ + { + "name": "old_prefix", + "reason": "strict global prefix reserve" + }, + { + "name": "old_call_count", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_parent_idle", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_stock", + "reason": "strict arithmetic invariant" + }, + { + "name": "missing_call", + "reason": "strict arithmetic invariant" + }, + { + "name": "low_row", + "reason": "strict arithmetic invariant" + }, + { + "name": "changed_actual_prefix_-1", + "reason": "source-bound local prefix equality" + }, + { + "name": "changed_actual_prefix_1", + "reason": "source-bound local prefix equality" + }, + { + "name": "insufficient_global_payload", + "reason": "strict global prefix reserve" + }, + { + "name": "row_at_retained_ceiling", + "reason": "strict retained row ceiling" + } + ], + "release_seconds": 402.05, + "all_stage_seconds": 516.7442497359589, + "source_inventory_complete": true, + "native_cache_inventory_complete": true, + "native_policy": "Reuse authenticated prior fresh native chains and retained parent; this invocation freshly rebuilds both full words and complete global release, not native chains.", + "result_sha256": "bbb6a8ea67acd1b5a1908fed83df65a0adf04cf3a0c6882b5729454f4785b84b", + "release_receipt_sha256": "8b146b72aa529e1b0f53d68e8a77ca3ea8900de6a1311aaff90422a06a83046f", + "package_manifest_sha256": "0442d4de2e69e214228a969f76947bcbfeca73f381fa0d2f863b89bf2b58ad49", + "invocation_sha256": "78467f67da4da98ed1e94e11c730024fc0a2538cfb3cf8ac28d60c371e871dff", + "scope": "Changed integer reserve implementation on unchanged exact PR2827 allocation and PR2802 words. No \u03ba novelty; PR2833 composition is a separate running admission." +} diff --git a/research/replica-integer-prefix/evidence/cold/ADMISSION-RESULT.json b/research/replica-integer-prefix/evidence/cold/ADMISSION-RESULT.json new file mode 100644 index 0000000000..8bf191cd47 --- /dev/null +++ b/research/replica-integer-prefix/evidence/cold/ADMISSION-RESULT.json @@ -0,0 +1,311 @@ +{ + "actual_expected_helpers": 408, + "comparison_claim_sha256": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "comparison_head": "e9307b48d7d1b690939935ecef0f8e524e6d92f4", + "comparison_kappa": "17186574371668559556934576143242804099649746929384057447660430618800378183571027227751435674735644266502436538360977054951338532026077864564717970089316298262848001430619258579764267387679157253589230092297705246349924829477438272038534458128153579339233372551498580288934448391286648133385250001561883571557568481670678572755364992180519866126424512015508246826379600171345871649273891524610346875481702323641480841819494871599970352648413519175382027670378809839339557435870343275462077109682392465994931422828896006323493721749224086433406739122826556506660291923774958911248379708488867136219017969687783639794423745846431998354000629604713009674880531419850590551533681267248441148929714873056671707368310142645201721225845565753260767164900976306634132256585854696146891742640259102164345060552688098920233899572100225273052195218406195238281244911985459541305205282130031980866953374248977265695927525028574437780772292075551831096337254028899004835738122070667605392595534393072713118820139164833259376147262674160887126565148708574029649559412631953495018944348666596351342587558250773425928871189683115965705267436438387096822518784488785605009977874176809482832315601610220722735020042386282420720158513381285320539086669152331709491278000050802176994425417958472436945929684360433686296997630684626369242924755608569264402668844097561164649905467697484340453084843585467761162546799061505405446580358260961731723054334158068636694082665619605335713967625024490137782213958409799751014897238799035118748013152307776924495573527075215850298288126703779286830770058166674737595998051122269776960603212714220740015911235385994016571957520587790540380255574642451287415998438639670044721750996910679896118442072989637960021846179774929532634810979781526825202091064143447550401037956168429417428802874510565760725145793697778307963968590690836429758883286583035942120869880952321072838123211658022276315749989430800252428797824728736070783864006154794733718886396821184579352497014737552396648994078257337943242770753659688122937729736682229465509261927273192935662942689564521538213644862363852534960597903679364594760521718874174626608251365696917889343226910244886154550750711332471571160543048297369802106821207628537498383445387653560175336944546900103503996186884872543920778861407556714858517377003152542148063849643242384266037395070179753584611716153981557966416588880000135368000934558193397419070058244094361673855236996548006841516303762762739068412193411453317885381706585037441816716917580084757698540817545585741734921464591697312277206031362217694937366866726508039946820688080121613764285796176603358606739555163139962246885121765417719079958311921807809984279867360387017833742410588472566634435012483055421625420751795895550846196066364773728404870142361572041365285243291914658877100790354765681937955587126925781207741462926235768842317325705488924282871722130257637788067000085120230853259311008603415633392994325933468175810242707293885996635190124321153385416698106339999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2833, + "complex_lower": "859329138920859949313/500000000000000000000000", + "dispatch_sha256": "e06a95c589425f92e4cce90b0d71664b96d5955bb34d9ffefdae4b432fa8746b", + "external_input_sha256": { + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/data/DISPATCH.json": "e06a95c589425f92e4cce90b0d71664b96d5955bb34d9ffefdae4b432fa8746b", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/data/FILL.json.gz": "053181464d47c25452927bd53686c45b54f2c44a860bca1519d0333fc9ae55c9", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/data/ORDER.json": "5fc45c6e6a50db17c1eb2577d36e0dab3057005bc269ea6be1241c79f61aeced", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/inputs/PR2833-OUTER-CLAIM.json": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/lift_parent.py": "c822bd0ddca6f83a7faa91fa3e2b93009394f855395c2181083bfd13be730e47", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-integer-prefix/replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "/home/marius/kappa/kappa-integer-reserve-20261016-0056/portable export/research/replica-tail-gain/reconstruct_replica.py": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15" + }, + "fill_sha256": "053181464d47c25452927bd53686c45b54f2c44a860bca1519d0333fc9ae55c9", + "gain": "8406748639429325423856757195900350252070615942552339569381198621816428972772248564325264355733497563461639022945048661467973922135435282029910683701737151998569380741420235732612320842746410769907702294753650075170522561727961465541871846420660766627448501419711065551608713351866614749998438116428442431518329321427244635007819480133873575487984491753173620399828654128350726108475389653124518297676358519158180505128400029647351586480824617972329621190160660442564129656724537922890317607534005068577171103993676506278250775913566593260877173443493339708076225041088751620291511132863780982030312216360205576254153568001645999370395286990325119468580149409448466318732751558851070285126943328292631689857354798278774154434246739232835099023693365867743414145303853108257359740897835654939447311901079766100427899774726947804781593804761718755088014540458694794717869968019133046625751022734304072474971425562219227707924448168903662745971100995164261877929332394607404465606927286881179860835166740623852737325839112873434851291425970350440587368046504981055651333403648657412441749226574071128810316884034294732563561612903177481215511214394990022125823190517167684398389779277264979957613717579279841486618714679460913330847668290508721999949197823005574582041527563054070315639566313703002369315373630757075244391430735597331155902438835350094532302515659546915156414532238837453200938494594553419641739038268276945665841931363305917334380394664286032374975509862217786041590200248985102761200964881251986847692223075504426472924784149701711873296220713169229941833325262404001948877730223039396787285779259984088764614005983428042479412209459619744425357548712584001561360329955278249003089320103881557927010362039978153820225070467365189020218473174797908935856552449598962043831570582571197125489434239274854206302221692036031409309163570241116713416964057879130119047678927161876788341977723684250010569199747571202175271263929216135993845205266281113603178815420647502985262447603351005921742662056757229246340311877062270263317770534490738072726807064337057310435478461786355137636147465039402096320635405239478281125825373391748634303082110656773089755113845449249288667528428839456951702630197893178792371462501616554612346439824663055453099896496003813115127456079221138592443285141482622996847457851936150356757615733962604929820246415388283846018442033583411119999864631999065441806602580929941755905638326144763003451993158483696237237260931587806588546682114618293414962558183283082419915242301459182454414258265078535408302687722793968637782305062633133273491960053179311919878386235714203823396641393260444836860037753114878234582280920041688078192190015720132639612982166257589411527433365564987516944578374579248204104449153803933635226271595129857638427958634714756708085341122899209645234318062044412873074218792258537073764231157682674294511075717128277869742362211932999914879769146740688991396584366607005674066531824189757292706114003364809875678846614583301893660000000000000000000001000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa": "17186582778417198986259999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017186582778417198986259999999999999999999998999999999999999999999999", + "native_receipt_sha256": "c47193d0762c192976bf55dabc7cd63e2dafa848851b5d235dab08fa23467e33", + "order_sha256": "5fc45c6e6a50db17c1eb2577d36e0dab3057005bc269ea6be1241c79f61aeced", + "package_manifest_sha256": "f0f0a2f0a0bef5fe90f78a61ee452fe9909c438dc6a005266dabd9327af3e85a", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "6cfefe80c02a6c0f243f50ca9e146e1ab1440b84a033d8a71d42be5a5fa27f6b", + "before_sha256": "c43680a2da390f79925547a5ee1919d8a76637cccf98e2c8164b6f667fbc3183", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + }, + { + "after_sha256": "1dd56009986eb14dd6603c9193c7ad71dd45c7d005bf71c9cd3f916e66f54d98", + "before_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "path": "outer/check_ledger.py", + "replacements": [ + [ + "assert (m,W)==(73,66304)", + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']" + ] + ] + }, + { + "after_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "before_sha256": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "path": "code/witness.py", + "replacements": [ + [ + " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))", + " import time as _wr_time\n _wr_path=Path(os.environ['WITNESS_RECORD'])\n _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock')\n _wr_deadline=_wr_time.monotonic()+60\n _wr_fd=None\n while _wr_fd is None:\n try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)\n except FileExistsError:\n if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved')\n _wr_time.sleep(.005)\n try:\n with _wr_path.open('a',encoding='utf-8',newline='\\n')as _wr_out:\n _wr_out.write(json.dumps([key,got],default=str)+chr(10))\n _wr_out.flush()\n finally:\n os.close(_wr_fd)\n _wr_lock.unlink()" + ] + ] + }, + { + "after_sha256": "9a4f74df6a92e537152f91a4f0f758d8889b8bd4c7366f0a6356f518ff28f4c8", + "before_sha256": "c52149ed10c0cae4950c92cef0edc38f382c5cc74cf66c5eeeebb7191b4bc0a0", + "path": "verify.py", + "replacements": [ + [ + "run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')" + ] + ] + }, + { + "after_sha256": "e1c6659f86163b2b54f7af0a540ba489f0a1d16088ab7a41745280acd74d6b84", + "before_sha256": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "path": "audit_fast.py", + "replacements": [ + [ + "_part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)", + "_tmp=_part.with_name(_part.name+'.%d.%d.tmp'%(_AF_SHARD,os.getpid()));_tmp.write_text(_j.dumps([_idx[0],_own]));_tmp.replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)" + ] + ] + }, + { + "after_sha256": "98b693592c89c3f2dde93243fb5fd61c002e216f700b9b582e984e522142d781", + "before_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "path": "code/witness.py", + "replacements": [ + [ + "assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "assert type(GEO['local_prefix_bits_bound']) is int and 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'" + ] + ] + }, + { + "after_sha256": "3a9a30f98b7be3f20afbf6140e8d7e8bd6b27b6adafc63d11dd259f1f2539f14", + "before_sha256": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "path": "independent_core.py", + "replacements": [ + [ + "payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5" + ] + ] + }, + { + "after_sha256": "21174889e7e9c2b8d9a179b9233a35d2f5d5dc8b23af280ac16f1225134a99d5", + "before_sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'" + ] + ] + }, + { + "after_sha256": "6217cbb1885f5a1bfcc49252708df703ee6a843b33a0c9d2c01830709967a7d0", + "before_sha256": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "path": "code/assemble.py", + "replacements": [ + [ + " assert 00\nassert m==73 and W==896*T and W==BJ['live']" + ] + ] + }, + { + "after_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "before_sha256": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "path": "code/witness.py", + "replacements": [ + [ + " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))", + " import time as _wr_time\n _wr_path=Path(os.environ['WITNESS_RECORD'])\n _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock')\n _wr_deadline=_wr_time.monotonic()+60\n _wr_fd=None\n while _wr_fd is None:\n try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)\n except FileExistsError:\n if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved')\n _wr_time.sleep(.005)\n try:\n with _wr_path.open('a',encoding='utf-8',newline='\\n')as _wr_out:\n _wr_out.write(json.dumps([key,got],default=str)+chr(10))\n _wr_out.flush()\n finally:\n os.close(_wr_fd)\n _wr_lock.unlink()" + ] + ] + }, + { + "after_sha256": "9a4f74df6a92e537152f91a4f0f758d8889b8bd4c7366f0a6356f518ff28f4c8", + "before_sha256": "c52149ed10c0cae4950c92cef0edc38f382c5cc74cf66c5eeeebb7191b4bc0a0", + "path": "verify.py", + "replacements": [ + [ + "run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')" + ] + ] + }, + { + "after_sha256": "e1c6659f86163b2b54f7af0a540ba489f0a1d16088ab7a41745280acd74d6b84", + "before_sha256": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "path": "audit_fast.py", + "replacements": [ + [ + "_part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)", + "_tmp=_part.with_name(_part.name+'.%d.%d.tmp'%(_AF_SHARD,os.getpid()));_tmp.write_text(_j.dumps([_idx[0],_own]));_tmp.replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0)" + ] + ] + }, + { + "after_sha256": "98b693592c89c3f2dde93243fb5fd61c002e216f700b9b582e984e522142d781", + "before_sha256": "ebaf637f1f818dac9c0fce0ee3f18df300873105818cea29a8ae9e8b737b5c7d", + "path": "code/witness.py", + "replacements": [ + [ + "assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "assert type(GEO['local_prefix_bits_bound']) is int and 00\nassert PAYLOAD==GEO['local_prefix_bits_bound']+(GEO['dimension']+1)//2+2*CALLS+5, 'minimal integer prefix reserve'" + ] + ] + }, + { + "after_sha256": "3a9a30f98b7be3f20afbf6140e8d7e8bd6b27b6adafc63d11dd259f1f2539f14", + "before_sha256": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "path": "independent_core.py", + "replacements": [ + [ + "payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + "require(type(localbits) is int and 0 < localbits <= 192, 'actual native prefix bound')\n payload = localbits + (M+1)//2 + 2*len(c['order']) + 5" + ] + ] + }, + { + "after_sha256": "21174889e7e9c2b8d9a179b9233a35d2f5d5dc8b23af280ac16f1225134a99d5", + "before_sha256": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "path": "code/invoice_allcold.py", + "replacements": [ + [ + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())", + " localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values())\n assert localbits==GEO['local_prefix_bits_bound'], 'source-bound local prefix equality'" + ] + ] + }, + { + "after_sha256": "6217cbb1885f5a1bfcc49252708df703ee6a843b33a0c9d2c01830709967a7d0", + "before_sha256": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "path": "code/assemble.py", + "replacements": [ + [ + " assert 0=1,'positive reduced logarithm');e=0;y=x + while y>=2:y/=2;e+=1 + def core(z): + z=(z-1)/(z+1);need(0<=z<=Q(1,3),'atanh range');lo=2*sum((z**(2*j+1)/(2*j+1)for j in range(36)),Q(0));return lo,lo+2*z**73/(73*(1-z*z)) + a,b=core(y);c,d=core(Q(2));return a+e*c,b+e*d +def exponential(x): + need(0<=x0 for r,n in hist.items()),'positive paid profile') + # Binary floats nominate only a wide initial rational grid interval. + lo,hi=0.0,0.002 + for _ in range(60): + q=(lo+hi)/2;v=sum(n*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*live) + if v<1:lo=q + else:hi=q + G=10**24;unit=10**12;mid=int(((lo+hi)/2)*10**12)*unit;L=mid-unit;H=mid+2*unit + while moment(hist,Q(L,G),live)[1]>=1:L-=unit + while moment(hist,Q(H,G),live)[0]<=1:H+=unit + while H-L>1: + m=(L+H)//2;ml,mh=moment(hist,Q(m,G),live) + if mh<1:L=m + elif ml>1:H=m + else:raise ValueError('enclosure too wide for adjacent rational bracket') + lower,upper=Q(L,G),Q(H,G);ll,lh=moment(hist,lower,live);ul,uh=moment(hist,upper,live);need(lh<1previous,'strict gain over full exact comparison rational') + rejected=[] + def reject(name,fn,reason): + try:fn() + except ValueError as e:need(str(e)==reason,'wrong control reason '+name);rejected.append(dict(name=name,reason=reason)) + else:raise ValueError('accepted control '+name) + def accepts(h,q,W=live): + need(W==live,'source-bound normalization');need(moment(h,q,W)[1]<1,'strict moment admission') + def bracket(x,y):need(x1,'old actual profile fails improved target');rejected.append(dict(name='actual_PR2833_T74_profile_at_improved_target',reason='exact lower moment above one')) + need(logarithm(Q(1))==(0,0)and exponential(Q(0))==(1,1),'exact elementary controls');l2=logarithm(Q(2));need(logarithm(Q(4))==(2*l2[0],2*l2[1]),'exact logarithm scaling') + need(before=={str(p.resolve()):sha(p)for p in files}and sha(basepath)==basehash,'input drift') + result=dict(status='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT',replicas=T,live=live,profile=hist,complex_lower=str(lower),complex_upper=str(upper),proposed_outer_target=str(target),strictly_above_full_comparison=True,best_claim_sha256=sha(a.best_claim),best_kappa_rational=best['kappa'],lower_moment_minus_one=display(ll-1,lh-1),upper_moment_minus_one=display(ul-1,uh-1),target_gain_over_comparison=display(target-previous,target-previous),controls=rejected,input_sha256={'owner_receipt':sha(a.owner_receipt),'best_claim':sha(a.best_claim)},baseline_profile_sha256=basehash,scope='Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.') + write_receipt(a.out,result);print(json.dumps({k:result[k]for k in['status','replicas','live','complex_lower','complex_upper','proposed_outer_target','strictly_above_full_comparison']}),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-integer-prefix/independent/owners.py b/research/replica-integer-prefix/independent/owners.py new file mode 100644 index 0000000000..fc0113f742 --- /dev/null +++ b/research/replica-integer-prefix/independent/owners.py @@ -0,0 +1,111 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Independent integer-time and mask check of the actual parameterized-replica owner allocation with PR2833 dirt-entry providers. + +Chronology/mask method derives from Tekalign's PR2751 independent_owners.py; +Marius-Paul Dumitrean's PR2802 retired7 native construction and the retained +provider frame checker keep their +upstream attribution. No solver, producer, emitter or floating arithmetic is +imported. This checks finite geometry, not global native/outer admission. +""" +from pathlib import Path +from collections import Counter,defaultdict +import argparse,hashlib,gzip,json,sys,types +sys.dont_write_bytecode=True +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def read(p): + b=Path(p).read_bytes();return json.loads(gzip.decompress(b)if str(p).endswith('.gz')else b) +def inputs(PROVIDER): + provider_pins={'PLAN.json': '5345bbb91255a3229000ef154daab7d6dcb31c98aadeac9d5dac748a58cc5c44', 'GLOBAL-TEMPLATE.json.gz': '1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db', 'PROVIDERS.json': '3666edf67d61b01336e58166ec9edebd72902cc37a2da693b05691ab2a387cda', 'WORD-base.json.gz': 'dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7', 'WORD-extra.json.gz': 'bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac', 'independent_local.py': 'ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20'} + hashes={} + for n,pin in provider_pins.items(): + p=PROVIDER/n;need(sha(p)==pin,'pinned PR2833 provider source '+n);hashes[str(p)]=pin + L=types.ModuleType('retained_independent_frames');exec(compile((PROVIDER/'independent_local.py').read_bytes(),'unchanged_PR2827_independent_local.py','exec'),L.__dict__);providers=read(PROVIDER/'PROVIDERS.json') + for tag,pid in [('base','gauge44'),('extra','extra')]: + word=read(PROVIDER/f'WORD-{tag}.json.gz');report,start,ends=L.check_frames(word);L.check_cleanup(word);L.algebra(word) + widths=[L.dm(ends[k])-L.dm(start[k])for k in sorted(start)if k>=224] + need(widths==providers[pid]['widths']and len(widths)==408,'actual ordered provider frame widths');need(len(word['centers'])==8,'eight centres');providers[pid]['actual_paid_profile']={int(k):v for k,v in report['profile'].items()} + return read(PROVIDER/'PLAN.json'),read(PROVIDER/'GLOBAL-TEMPLATE.json.gz'),providers,hashes + +def windows(template,order,T): + ranks={c['child']:c['rank']for c in template['idle_children']};pairs={e['stage']:e['pair']for e in template['recipe']if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind']in('bank_padding_cover_sweep','translate_every_live_family'):continue + if event['kind']=='local_cover_sweep':stage=event['stage'];blocks[stage]=[] + need(stage is not None,'source event before local call');blocks[stage].append(event) + need(set(blocks)==set(range(9)),'nine source stages') + progress=[0]*T;last={};result={} + for t,(stage,replica)in enumerate(order): + need(0<=replica0,'idle source position');start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks:result[replica,child]=(ranks[child],start,t) + elif kind in ('terminal_Y_translations','terminal'):pass # inherited terminal phase; no pending-window endpoints + else:raise ValueError('unknown source event kind') + need(progress==[9]*T,'complete replica source progression');return result + +def check(T,order,fill,dispatch,claimed,plan,template,providers): + need(type(T)is int and T>0,'positive T');N=9*T + need(len(order)==N and set(map(tuple,order))=={(s,r)for s in range(9)for r in range(T)},'complete T call coverage') + win=windows(template,order,T) + need(set(dispatch)==set(map(tuple,order))and all(p in providers for p in dispatch.values()),'provider dispatch coverage') + for s,r,pid in fill.get('dispatch_overrides',[]):need(dispatch.get((s,r))==pid,'final dispatch override binding') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'literal role columns') + need(len(fill['rows'])==N*408,'complete role count');helpers=[0]*N;families=[0]*N;occupied={};lastrow={} + for idx,row in enumerate(fill['rows']): + need(len(row)==6 and all(type(x)is int for x in row),'integer role shape');t,h,o,c,p,z=row + need(0<=tlastrow[key][0]:lastrow[key]=(z,idx,w) + need(helpers==[(1<<408)-1]*N,'all helper identities');idle=Counter() + for(o,c),(cap,_,_)in win.items(): + for p in range(112): + key=(o,c,p);mask=occupied.get(key,0);used=mask.bit_count();need(mask==(1<>i&1:a^=c + return a +def regs(g):return g[1:3] if g[0]=='add' else g[1:2] +def nt(r):return not 112<=r<224 +def load(p):return json.loads(gzip.decompress(p.read_bytes())) +def chronological(w): + d=defaultdict(list) + for op,(p,r,*_) in enumerate(w['warps'],1):d[p].append(['warp',r,op]) + b=[] + for i in range(len(w['B'])+1): + b+=d[i] + if i0 else (new,old) + assert frozenset(im(cols,x) for x in S(a))==S(b) + cur[r]=S(new) + for g in w['A']: + if g[0]=='warp':warp(*g[1:]) + else: + for r in regs(g):climb(r,g[-1]) + bysection['A']=dict(counts);prev=counts.copy() + lev={int(k):S(v) for k,v in w['target_levels'].items()} + assert all(cur[112+t]==lev.get(t,S([])) for t in range(112)) + paths=[] + for r,vs in zip(w['centers'],w['center_frames']): + s=S(vs);assert cur[r]==s + targets=[g[1]-112 for g in w['cut'] if g[2]==r] + frames=sorted({lev.get(t,S([])) for t in targets},key=lambda s:-len(s)) + ds=[] + for f in frames: + assert f<=s + d=dm(s)-dm(f) + if d:counts[d]+=1;ds.append(d) + s=f + paths.append({'center':r,'start_rank':rank(vs),'target_offsets':targets,'reader_lines':[sorted(f-{0}) for f in frames],'paid_degrees':ds}) + bysection['cut']=dict(counts-prev);prev=counts.copy() + ops=defaultdict(list) + for op,rec in enumerate(w['warps'],1):ops[rec[0]].append((op,rec)) + for i in range(len(w['B'])+1): + for op,(_,r,cols,old,new) in ops[i]:warp(r,op,old,new) + if i=224) + assert counts==Counter({int(k):v for k,v in w['report']['local_profile'].items()}) + assert inventory==Counter({int(k):v for k,v in w['report']['width_inventory'].items()}) + return {'profile':dict(sorted(counts.items())),'section_profiles':bysection,'inventory':dict(sorted(inventory.items())),'center_paths':paths},start,ends + +def check_cleanup(w): + restored=set(map(int,w['helper_final'])) + cold=lambda r:r+704 if r in restored else r + forward=w['A'][w['prelude_events']:]+chronological(w)+w['restore'] + expected=[] + for g in reversed(forward): + if g[0]=='warp':expected.append(['warp',cold(g[1]),-g[2]]) + elif nt(g[1]): + if g[0]=='add':expected.append(['add',cold(g[1]),cold(g[2]),-g[3],g[4]]) + else:expected.append(['scale',cold(g[1]),g[3],g[2]]) + assert expected==[g[:-1] for g in w['cleanup']] + assert all(S(g[-1])==FULL for g in w['cleanup']) + return len(expected) + +def algebra(w): + # A monomial records its operations oldest-first; appending an inverse + # cancels the newest symbol. No native/generator/audit modules imported. + live=set(range(704))-set(w['removed']);cold=set(map(int,w['helper_final'])) + assert all(112<=x['target']<224 and x['source'] in {273,275,289,291,305,321} for x in w['initial_corrections']) + program=[['correction',x] for x in w['initial_corrections']]+w['precondition']+w['compensation']+w['A']+w['cut']+chronological(w)+w['restore'] + result={} + for dual in [False,True]: + rows={r:{(r,()):F(1)} for r in live} + rows.update({704+r:{} for r in cold}) + def apply(g): + op=g[0] + if op=='correction': + x=g[1];t,s=x['target'],x['source'];q=F(x['coefficient']) + ops=list(reversed(x['operator_word'])) + if dual: + t,s,q=s,t,-q + ops=[-(abs(v)+1000)*(1 if v>0 else -1) for v in x['operator_word']] + for (r,word),c in list(rows[s].items()): + for v in ops:word=word[:-1] if word and word[-1]==-v else word+(v,) + key=(r,word);value=rows[t].get(key,F(0))+q*c + if value:rows[t][key]=value + else:rows[t].pop(key,None) + elif op=='add': + t,s=g[1:3];q=F(g[3],g[4]);assert t!=s + if dual:t,s,q=s,t,-q + for term,c in list(rows[s].items()): + v=rows[t].get(term,F(0))+q*c + if v:rows[t][term]=v + else:rows[t].pop(term,None) + elif op=='scale': + q=F(g[2],g[3]);q=1/q if dual else q + rows[g[1]]={term:q*c for term,c in rows[g[1]].items()} + elif op=='warp': + d=g[2] + if not dual and 460 else -1) + rows[g[1]]={(r,word[:-1] if word and word[-1]==-d else word+(d,)):c for (r,word),c in rows[g[1]].items()} + else:raise AssertionError(op) + for g in program:apply(g) + if not dual: + assert all(rows[112+t]=={(112+t,()):F(1),(t,()):F(1)} for t in range(112)) + assert all(rows[r]=={(r,()):F(1)} for r in cold) + assert all(not any(var in cold-{r} for (var,word) in rows[r]) for r in live) + for g in w['cleanup']:apply(g) + for r in live: + exp={(r,()):F(1)} + if dual and r<112:exp[(112+r,())]=F(-1) + if not dual and 112<=r<224:exp[(r-112,())]=F(1) + assert rows[r]==exp,(dual,r,rows[r]) + assert all(not rows[704+r] for r in cold) + result['dual' if dual else 'forward']='PASS' + return result diff --git a/research/replica-integer-prefix/independent/source/LICENSE b/research/replica-integer-prefix/independent/source/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/replica-integer-prefix/independent/source/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/replica-integer-prefix/independent/source/PR2827-FRONTIER-NOTICE b/research/replica-integer-prefix/independent/source/PR2827-FRONTIER-NOTICE new file mode 100644 index 0000000000..4f946d9773 --- /dev/null +++ b/research/replica-integer-prefix/independent/source/PR2827-FRONTIER-NOTICE @@ -0,0 +1,14 @@ + +research/t74-joint-twelve-retired7 + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. + +This package derives from PR2751 (Tekalign, @tekuuu, Apache-2.0, with substantial OpenAI Codex assistance) and retains its +source notices unchanged in SOURCE-NOTICE. It contains the local retired5 construction (five retired-lender aliases 606<-550, +635<-551, 637<-552, 638<-553, 639<-562 with their exact refits, certified frames and stage inputs; RETIRED5-CODE.patch; +evidence/retired5) and adds the retired7 stages: two hostee moves (the PR2226 borrows of warps 30/31 move from lenders 401/403 +onto 564/565) enabling the retired-lender aliases 667<-401 and 669<-403, with their exact refits, certified frames, stage +inputs, compacted owner fill, checker adaptations (RETIRED7-CODE.patch), retired7_controls.py, verify_retired7.py and +evidence/retired7. Re-used mechanism: PR2679's retired-lender alias 653<-563 (Philippe Van Velzen). Frame refit of PR2751's +words included in the certified frames: PR2766 (DavidAriasC). Vendored byte-identical: vendor/audit_local_pr2679.py and +vendor/word_patch_pr2679.py from the pinned PR2679 package. diff --git a/research/replica-integer-prefix/independent/source/PR2827-MANIFEST.json b/research/replica-integer-prefix/independent/source/PR2827-MANIFEST.json new file mode 100644 index 0000000000..5f6447ca3c --- /dev/null +++ b/research/replica-integer-prefix/independent/source/PR2827-MANIFEST.json @@ -0,0 +1,181 @@ +{ + ".gitattributes": "769783a1399f134634fac029e86d9eed9a7f486f912a8541831f06486e586bc9", + "CLAIM.json": "f26209f7903557cf3dddd8e6d99b4b2b2f99bbd4b5eb0e6161150830e94b02d0", + "FRONTIER.md": "f9e95378c3b6e44a7216c51a0653181a24f27161bd621a374d6f3d397b2a3407", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "MODULES.json": "c0c963ced8ea2c9baca8c7a2d4b18d1dc2bcca30467211ef96a672f14adbbae6", + "PARENT-LIFT.md": "9fa28a213c33c313be0ebca6a479ede687b14cc5c752fe60419d1f38e6b16d48", + "PORTING.json": "5dbeb522e717b34b5e1624d1e1914bbe6bdd9c9d82fc3fc9b0615545e5932970", + "PROOF.md": "e9f00cb3738e92e1933fecdeb1029c14aa89cc191b69f61ef113494d757a8424", + "README.md": "1a43b6579031bb6f13025a7f22d68305de82cfeeabc155db9352443473519957", + "TASK.json": "2acfc2cafb40b83c1e603f281eca8fa2e5dce32b40bc34289a5cac78aeba02ba", + "VERIFY.json": "6d01e2f5e1d7aae12b2483a1a0f79d2d170fbd8bac24aa618ec63905f1ab2ade", + "admit_frontier_replica.py": "216d49d694e4b88a773be0b539c7bf51e5ee6c2cccfba31017251b52ace7782d", + "check_candidate.py": "4bb79d46f81e0d24423c2437dc5e5008d50309d47beed1d0afd9a0cb51c7c896", + "data/DISPATCH.json": "5360d34ca04cf4973f37dce872db1f36e57e3f40382da75e4e2676d412a8b509", + "data/FILL.json.gz": "2f43f57725a7b1d9293d8c4a9617ffc5bb413c4e1539a60e806fdcdecfd82588", + "data/ORDER.json": "b9b3eb71f8082a2349224a7a7cddab1cc0e4590ef27c3542755ff7c4c75c7fd0", + "data/PROFILE.json": "f8146c8703e5c865d45c618ff291ff542fb792cb6cda21e0feb45ad2c5c5ff62", + "expected/AXIOMS.json": "112479fa7cfb38940175aec7c5093bcbf0e8ba65a8b93603dff8aae7392071f7", + "independent_candidate_moment_retired7.py": "f6f38ef8e8fc1e634a2f89a45f3bf721f166a05313cec86c7a5cef9075e86be3", + "independent_candidate_owners_retired7.py": "77a848729159e271ba64f403dfd59dddb13044b17b2950fa56700f442e2fe461", + "lean/Check.lean": "68966f329982188c49a37c51753271ebc1c0afd321195e4aa595562275912aaa", + "lean/MultitapeToolkit.lean": "88d46b0d935acba19e7da5bf5dff6105c147545551e663670428c1b19f796b23", + "lean/MultitapeToolkit/ReplicaTailGain.lean": "c043cc6740a79b8a29d1519cb9e11c8e9bc52d6937f4317f630a28dce074e1d1", + "lean/MultitapeToolkit/SuperiorKappa.lean": "c366b3ee3123d24e87239ba00ebc32c102f19198080bbc5acd09b0e241d2a324", + "lean/lake-manifest.json": "ba2084428ea075a408191fd72f30bddaf19923c5e6ebd55e2bbe7528d4afef90", + "lean/lakefile.toml": "7882ef23598228f705e8abbecea6a1674f72f1386d297c4d24c73b75c89e595d", + "lean/lean-toolchain": "8152090414016dd5dc871752f8ce4ecdbd604d9845758e9b9047cb80101280b5", + "lift_parent.py": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282", + "portable_frontier_cold.py": "8000bb159f5c4e5fd4a312a4849b98f81630e306f84a33b901d8838fd8b7c7ad", + "portable_prepare_native.py": "cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012", + "provenance/ADMISSION-SOURCES.json": "f0d09616fb694bd6b3571550d9b3210ba66727152ef92f207773a0b72c6db1c9", + "provenance/SHARPENED-PREFIX-RESERVE.json": "4200c97d1370a56c589ec2bae844aa23be91d4a604f471e9a95211a1273c2521", + "reconstruct_replica.py": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15", + "references/CURRENT-PINS.json": "ddebe7be9a0933ab39f55f864ce33e5d4ebda0ad3d26257e56b4cbabccfca892", + "references/CURRENT-PRIMARY-BODIES.json": "65a6aaf3ab744bbfb539596372e6d25a3c9a13d01db69a40e08bdcba638629bd", + "references/CURRENT-RECENT-TITLES.json": "42977a2acfeec4b6372ee2c2a5f4743d6dff101d25c2847b6ea7029a485b2ab2", + "references/FINAL-FRONTIER-SUPPLEMENT.json": "2707cc4ba9280b596b3fd2d2e853945db5af383141002722490a7e2aaa10a6f8", + "references/PINS.json": "eba325ade41aed492ab9462cf13387b7fe608525b0170c6357c5920de2190754", + "references/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "references/PR2802-CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "references/PR2824-CLAIM.json": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "references/PREDECESSOR-T94-CLAIM.json": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "references/RECENT-PRS.json": "c56be4b596c83fe1a8c3d13172f34db8b90c85807822835647bc75606a26e045", + "replay.py": "ff899fcb325139b9322e9ccbfc65508f153956c25ae25f51c257fe1a274c61f9", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "requirements.txt": "d0bb9e22d31263ae22e6bb9379e644a5e5489b12d2d639172c4bee162afe658f", + "validation/COMPLETE.json": "d3a8e237db21ee494b8c948f3e8c2f9742383ab981c6d624aa0d655f3f6fc161", + "validation/KERNEL.json": "ba472a9603b888684dc164478dfe83af7667c6b79a68eed4df832e65a566d5eb", + "validation/MOMENT.json": "423f984670376ef89fb314678cbb8c14ad4f67f23926b0f247ee90cdfa4e8823", + "validation/NATIVE.json": "9eceed24bcb417c9457731dee853332085b3342a5f9370e45ad32084ede1503a", + "validation/OWNERS.json": "b94dcd4cb263d05e3bfde06c1e7509a22370569435e5bfd62972f5ca91efbc24", + "validation/ROOT-ROUTE.json": "9ea63094074eb84d70f737b57329e99efd7cd098f22b91306858a3623a8a02c9", + "validation/SHARPENED-PREFIX-REVIEW.json": "8325455d38742d804d961bb64bd2bec8f60a63e77d22bfb1df0a0d2468284a53", + "vendor/frontier/.gitattributes": "12ab6f9af287290f2f2404907fdd114faa5a085fe9eae713294537ff6b45132e", + "vendor/frontier/CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "vendor/frontier/DERIVATIVE-CODE.patch": "36fe5e24ecf22be987360647de1167185ffb92603bebb1959a065e56524586e1", + "vendor/frontier/DERIVATIVE-OVERLAY.tar.gz": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "vendor/frontier/DOWNLOAD-MANIFEST.json": "fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497", + "vendor/frontier/GENERATOR-PINS.json": "8823d9ad809cdd2e469f21ae1982a379f302bb9bf177cff069ef99a52163c286", + "vendor/frontier/INPUT-PINS.json": "c59957b3a312c643e8de6fa12c57adc0683ef29d8d74b051d0087a7c64232d21", + "vendor/frontier/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/NOTICE": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "vendor/frontier/OVERLAY-PINS.json": "496f1daf28d46a0b7aafe5a8968a2078b7bc9c2fa29089d16092c2f5041813bb", + "vendor/frontier/PROFILE.json": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "vendor/frontier/PROOF.md": "6ecefda5d853e3ede1ee06aab08de24dfde960d98178a71844340ed86ae0d9b9", + "vendor/frontier/README.md": "8ea1568d186bdf5086aa2efff6c24fe6b34a6d4790393e763a4ddf683541df69", + "vendor/frontier/RETIRED5-CODE.patch": "c94370f5e40631012709f038762126c88678f45e441a201d9156a56d53524ec8", + "vendor/frontier/RETIRED7-CODE.patch": "5fe86a963cf0e68ca9a48704910be58d76b48d966c2d6026edbce785796a0fcf", + "vendor/frontier/REUSE-PINS.json": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "vendor/frontier/SOURCE-FILES.json": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "vendor/frontier/SOURCE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "vendor/frontier/SOURCES.json": "ede36d6b940094ea7f27e9a8f7ba4d320ca99b97843e9de03ef68c5c93306ed5", + "vendor/frontier/TASK.json": "c725b9fb1acbbff8c4d0a72e63a4e81e7b0fd12926d5ddb37d0fd4a52b3f2e55", + "vendor/frontier/VERIFY.json": "e32cfbc20fcd9e1ed43b920fcdc9eacc8106c1e35f3b3d33303a700582657ac4", + "vendor/frontier/composition.py": "f202f8ce9730b778c9ee1213d63d444d117df5ff7d47933037a924723a37e3f4", + "vendor/frontier/evidence/ADMISSION.json": "b85b5b339353ae2a1935afa2963fcde7db9f66b41f205ddd632210257a8be168", + "vendor/frontier/evidence/INDEPENDENT.json": "f9e4500e5cb1ab1b9e8189de6dfbcca8dd9f7e2ea1a9ffce6801d6530797c0d2", + "vendor/frontier/evidence/NATIVE-BASE.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "vendor/frontier/evidence/NATIVE-EXTRA.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "vendor/frontier/evidence/OWNERS.json": "4df2066f097e4b59edf7d7af0e7e234413b9d2a09de4302d02adb3869972f672", + "vendor/frontier/evidence/PACKING-CAP.json": "59deb044b1b46953cbfd2fcedd3026a901d4524d7d05c592b8e1420501f6e652", + "vendor/frontier/evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "vendor/frontier/evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "vendor/frontier/evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "vendor/frontier/evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "vendor/frontier/evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "vendor/frontier/evidence/PUBLIC-WRAPPER.json": "70acee53d90097edfa3e7c99ad68311f236bade5ee71a446bcc8935e9e7e3192", + "vendor/frontier/evidence/RELEASE.json": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "vendor/frontier/evidence/retired5/ADMISSION-RESULT.json": "e441d6bfef1554491087a5b4701a8b23b331af3b57f77a38f3de4a47d940a6bf", + "vendor/frontier/evidence/retired5/ADMISSION-STAGES.json": "be3bf7f8fb4208bdea8dae25a8db0beda8d31cd5ac8a61279b22928ededb58bb", + "vendor/frontier/evidence/retired5/CERT2751.json": "d2f63d1167e0e1811f8b2b62ee50353184ca0ed86ab2c0bc96bf37edccf1eeff", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json": "5d884e943ba270223218cac39e10b4355cd217802232c8363a03f2d15bb77bdf", + "vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json": "80ac023ea6c8e152d538f873855c3b917f1fb80fc34c9f2d4db19ee9cab76de8", + "vendor/frontier/evidence/retired5/GENERATE-LOG.txt": "18a234b13f2b7e7b98c59f1be8799fbfde2284a2a64a0eaf9be0aa53115ef5fa", + "vendor/frontier/evidence/retired5/HOOK-RESULT.json": "76b67d54df3a6da3bb7f6fe3402f11d2926cb48353bf068dc34eeb560784771a", + "vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt": "cf06397f5fdaf50f8e44af4ff64d6a97865b79d5bc86024ba7c6f653698a6d8e", + "vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json": "6a4d591c2c827a899cb9a3682ef3f05fd97fc58842e68ae9aead5d14d3f62654", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json": "ed04eb3d4ec175b3b211cef890376529c1e9dc3f69974269106dbff9e52bcde0", + "vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json": "a20936449a1d23f79c8c040d47039e563d2bcdfc534d1c1de7d25d221a7f483c", + "vendor/frontier/evidence/retired7/ADMISSION-RESULT.json": "259c1a9da2ebfceb4b4cea2732b5a6d144cc85d7d8a92f4474d29ee3a5c75fc2", + "vendor/frontier/evidence/retired7/ADMISSION-STAGES.json": "f86a0c1ff418c3da14f573dbf900eae96657a33b4d3829c7c5da8036890c9f87", + "vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json": "ede02c0657d73229aa8943046aeb6c72f8300719f95b6a2f770935173287dca9", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json": "3b480daeb9f2e09eeefe787d99eef9143a90ac5136faf5f9285affc65e90030d", + "vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json": "9498e69c1c927751b3dadad8bfd887f9afff107424f0987ece9df9c17e1f5412", + "vendor/frontier/evidence/retired7/HOOK-RESULT.json": "95d8169d828b0c3b7ccc02f205aa63bb33e54da95b7279c58775711ceb88df8e", + "vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json": "baba1153f79b8de0f52273194f8fb86df7c65b51bafc9bac1504074f7c6cb982", + "vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json": "49ee5ec3f791392555a6218e5f5cc80bf004b706ba697a298f9701ea8c4765a0", + "vendor/frontier/evidence/retired7/OWNER-CHECK.json": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt": "59dec80790bee9a132d92ec64db08e93ee000994ac4e0188da7b1829dac8ccab", + "vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt": "16ec70f1c8191c18aa8f6422f972519b99df01002ffde5b12ac4febe0be22f46", + "vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt": "d9977346de4ceb88d152ac8e892fdb65af572933aa967fd726a7620fa3e29074", + "vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json": "8698b42e6239cffcd92ae4a87605451d799b7b751bcf4a432fd851a548ceff48", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json": "4eee4b247783eceb62c785385e5d6965241655e963eabad33ee64a26964fcd49", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json": "8278e1e93057f1f7e19b9c4058a249597a80c78b8dfa0e15bb6f206aefaf5f6e", + "vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt": "e7eb21fea3fd1e55b60ea4f7013b4bc13db048043e733c5b1c09273cf1a43f63", + "vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json": "f9cf016d89b318398a0737cb304f1f9a32098589b9fb3b89ab79bb10e3f9bbe5", + "vendor/frontier/evidence/retired7/STAGES7.json": "ab5fd9336ae23174cdee523d7c46a5eda201e04ce5391170d00963783a3d71c8", + "vendor/frontier/evidence/retired7/VERIFY-RESULT.json": "7f404f3d4638142ba3a77fc2a18d34d4926abcae528ce0ed1af0c4b4dad71a0a", + "vendor/frontier/exact_moment.py": "f170292f7983773d4f142afdac4677c1615fb7b781dbabf395200aea886dcade", + "vendor/frontier/full_replay.py": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b", + "vendor/frontier/generate.py": "24b90102b48ed9adf2621412fbff594b9e231041ca385258794881054d67f7a3", + "vendor/frontier/independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "vendor/frontier/independent_owners.py": "219e16a7f35c5c9e9640760c28ad49a17b546c9f32bdf57dd76c30b5dd096aa6", + "vendor/frontier/inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "vendor/frontier/inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "vendor/frontier/inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "vendor/frontier/inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/frontier/inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "vendor/frontier/inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "vendor/frontier/inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "vendor/frontier/inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "vendor/frontier/inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "vendor/frontier/inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "vendor/frontier/inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "vendor/frontier/inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "vendor/frontier/inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "vendor/frontier/inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "vendor/frontier/inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "vendor/frontier/inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "vendor/frontier/inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "vendor/frontier/inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "vendor/frontier/inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "vendor/frontier/inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "vendor/frontier/inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "vendor/frontier/inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "vendor/frontier/inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "vendor/frontier/inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/joint_engine.py": "1411acf2903cad468e3618eefec7032ea04232af740134416d42d74aa1ea4945", + "vendor/frontier/packing_cap.py": "b292694b0862db3393ce02e1e07a922ded6f746b18ab8faca69eb93ed7a2e522", + "vendor/frontier/requirements.txt": "f95b588f39c53b58fa36c3b65b65cc770e3a051a6a12555a9188808e771d1d13", + "vendor/frontier/retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "vendor/frontier/test_integrity.py": "67f17c8df3614d582ac2c4d272ceba90d47116af4c6989a1a2e2b5f13e7bc2ee", + "vendor/frontier/vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "vendor/frontier/vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "vendor/frontier/vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "vendor/frontier/vendor/ceiling.py": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "vendor/frontier/vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "vendor/frontier/vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "vendor/frontier/vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "vendor/frontier/vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "vendor/frontier/verify.py": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "vendor/frontier/verify_retired7.py": "1d3754ccf91029aa239affe0233de4821d960f654514ceeb3445d464933aba0f", + "vendor/frontier/workflow/admit.py": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "verify.py": "aabd12f5edfe846891e4dbe3e4d6a21617c6240bc06d89b0a1ef5f9f34df209b" +} diff --git a/research/replica-integer-prefix/independent/source/PR2827-SOURCE-NOTICE b/research/replica-integer-prefix/independent/source/PR2827-SOURCE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/replica-integer-prefix/independent/source/PR2827-SOURCE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/replica-integer-prefix/independent/source/PR2833-MANIFEST.json b/research/replica-integer-prefix/independent/source/PR2833-MANIFEST.json new file mode 100644 index 0000000000..1bdfa4cada --- /dev/null +++ b/research/replica-integer-prefix/independent/source/PR2833-MANIFEST.json @@ -0,0 +1,543 @@ +{ + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "ADMISSION-DERIVATION.patch": "7021000d75635fc5806af821640c02f9d7cbbbe1cf314dacfcc743fc6875fdd8", + "audit_fast.py": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "audit_mixed.py": "2286f00e462ff28abbb3f396095463482a1e063213b9526a7225275980c77eaf", + "CLAIM.json": "94fced945b1171e97c3ac7c71f819a5ba6c5230c10ef0b15556482990b46b368", + "code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "code/assembly_controls.py": "d7675ff0b0994b29541d37eaa3010c5f39bb1447700c9f8e750522bf8c951f56", + "code/audit_allcold.py": "fa3488b62efdf8a0c37de0ca0caba587b4b036c5f068e002eb04c71c12b9e9b4", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "549603ca6d28b163a43b2dfaaaa788161c73d7952ab9190289407caca5418c71", + "code/exact_coarse.py": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "code/fine_cache.py": "89282a83ab102893a4fc1e663ad2137d891d81e843b1c9ea140d13e58b7c7dbd", + "code/fine_mercator.py": "6cf29658b5c1618de4aae8bd49d6d890be06d57ead1ad0f2d41bc8d25cc578d3", + "code/fine_moment.py": "bdfc492be6a663b219d76beff444db14bd67bb53c7c8ec4086ab0f56e48323c0", + "code/freeze_spec.py": "e9132a9d195c66123f2747a17f7ef404b4d1e3ef6263ab4c28c983a052cf10bd", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/lemmag_checks.py": "cc753c5953e58f5900ce580ece8f814a352d672bcee6d4566c7dd52647912393", + "code/lemmag_stage.py": "5158e1e95e46b3119de9f4add7d849c8ad2d2dd92b17a79b0f93b86e7d4e6049", + "code/oracle_check.py": "4836046db4bec939515a5a272559f92192b56612b98f635910fd81ea754ce2e1", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/pyc_guard.py": "1def35bd093a7b3893c1cf410301d875435a2a7a096b42f49ecb060ed2a61f0e", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "CONSTRUCTION.json": "07c8c640de821978b6d2945100e2492ea7a6c006baa6b7b7585bbcb3b7f3eba9", + "DISPATCH.json": "2d178ebfbf3147d1f844897c779d151e04a0b9f480cbf57b76add4a24b8858ee", + "evidence/ADMISSION-CONTROLS.json": "5cdefeff2516a67c4dd60e609019b3e2e38eb3d43142df2d3c7ed9a6822d5050", + "evidence/ASSEMBLY.json": "5d9eb1ce551386024b5b6894836f81ed03a83d2e0c0bd0e02e3f6410a596bb2c", + "evidence/BIT-CONTROLS.json": "d74d9d2ba363c3709e9a3b33abf6d14abd6b9c68d950b35b7669d8e6edefa59e", + "evidence/FULL-ADMISSION.json": "cda48de718d060b8ca329f1254f4f999a5a5bade5cecabb265f0a9bef1135089", + "evidence/GEOMETRY-CONTROLS.json": "13a50b2f2448931ca302a55e5839c082f651331f20402448fe6ff29d1eb2f481", + "evidence/INDEPENDENT.json": "7150546e840e859268c40c11c2c79ba4fd646fc632fced68e3c19355b292fa61", + "evidence/OUTER-DISCOVERY.json": "413ef3e9eb1c3ff680cff1e600dc7160afda228e0b6b021c1a4e4a37ee486cc1", + "evidence/pr1377/CLAIM.json": "cd089b08077e0151b9ed917a5c33aa7aa6b0de790bd9567442531b48729da8d3", + "evidence/pr1377/PROOF-NOTE.md": "dafd8286b1c9224ed6f50bf71bc34b77918323b936ea7427a4b71c3b644b2264", + "evidence/pr1377/RELEASE.json": "a4fa2ca0f79a11dcdc3227ad16a408d4d22d83b7401c894cb0e31eb2c9c5f7df", + "evidence/pr1377/RESULT.json": "1cdadc74fef4cddeb2bae5e32fff7bc27456740150440ae8fda8822f569c2492", + "evidence/REGRESSION37-CONTROLS.json": "0196ae228d583f2bac3c42d3576a8d378fe622592e377c4c1921b5ae81351854", + "EXACT-ARITHMETIC-DERIVATION.json": "c0d40deaa495a7365e91aa5d9e6a846f91e0cb6daff98bb3b7f2acef84d64ec4", + "freeze_spec.py": "1d965b7a329b98008fcc67e73d03dcf6e75f0f33c2858a39f1182bb3d0ed0ea1", + "geometry_controls.py": "7edb4732b34e5814b27650a55c938626cb50d68f06397744dd4fe451437e90e0", + "GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "independent_core.py": "02502a217fe8c9e10229075b50745518beac512c48db20e64c3e06514a4da5b5", + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "inputs/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "lift_parent.py": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "new/borrow/alias1_controls.py": "f4cc82312af891ea48956d9953a061196a8c3b113ef6d81e5848fe95745147b2", + "new/borrow/alias_build.py": "40b97536c8347733eaae24a3c4a13f5d21711e983106454777837be487959f1b", + "new/borrow/alias_enumerate.py": "7324f2569e6b76981d8c964a16ff9a3bc9e770e41b9cc6ec1c9defe8e662c153", + "new/borrow/audit_local.diff": "202f6f2032552eba069b9ec7e33b729d4af2ffc20974a9e82e444d906d7137b4", + "new/borrow/audit_local.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "new/borrow/borrow_controls.py": "07fbbf8e2f06df063dc9d88e5e4f721222a9fcf30b983bf9127cd5aa4b611627", + "new/borrow/build_word.py": "40047409dd9f9c406bb37a2ed0b4c8159797e0e4a114d525a368355418128707", + "new/borrow/emit_word.py": "a057ed0c81fbb07dabf38247e0ce0cec6c5fbfa31d8bf1b38838bd3758e41f87", + "new/borrow/guard_cut_centres.py": "5df204597697756808e6c959f5bba81cf35a2f0e7a0f1f75748dca1814373b72", + "new/borrow/guard_helper_indices.py": "d93aeb2d51d77ca93ecbf9e566d9000bb436c279e2a25b699a867e9697f782fd", + "new/borrow/inputs/alias1_43base.json": "2c5b5491da4b3e8a8356fd42a12a8fc8b2c9b4b0b20c4adc4e273ba217230e11", + "new/borrow/inputs/alias1_43extra.json": "0a54f41f886bf4f61fa620c65725373be905524ce906e5e95d501890de783179", + "new/borrow/inputs/alias8_43base.json": "3b91dd5a0d1b297a48e278b45903e073c5cefb23f22921f6a738bcbbf21e521f", + "new/borrow/inputs/alias8_43extra.json": "3ab265a33750a229a9201c2baff45ad91f1bef556879306d2fb743f5290cab31", + "new/borrow/inputs/blocks.json": "ddfac1dae1fe7cc0a91e7c7205c6d9d0c07c682880aa34eed83bf4ad7384da9f", + "new/borrow/inputs/dirtentry_43base.json": "a067f7138f23eed6434286e7bd53548c86a7eef58c654374b778b4f424e9ffef", + "new/borrow/inputs/dirtentry_43extra.json": "8280fafb4642389ae91989e870ece7c9f2bffa38c9b52f2424b8abf489ba71f8", + "new/borrow/inputs/entrance_43base.json": "1b3c09f9558c50e7f299aa10fb21dcbd1b5ff397794838d8629c80d4c7a565f5", + "new/borrow/inputs/entrance_43extra.json": "e57ec67fa0a3fca63bf9e4bb9edf4e6be48db0bd7c9e092cddad29b26b897463", + "new/borrow/inputs/extra.canonical.json.gz": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "new/borrow/inputs/gauge44.canonical.json.gz": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "new/borrow/inputs/handoff_43base.json": "5ae3062bcce666c8c3a3a650e345adf15c22a2800fa0e17d79ad6e8b97208a2f", + "new/borrow/inputs/handoff_43extra.json": "4238a7c5093a4347fe69adf4f76e507d2f43c4e727d91b2c4705039e1cbaa06a", + "new/borrow/inputs/kernel_43base.json": "7f06b4b08a49192a27e8f4132ad0c93521dad90f97ca985a173944ba02c5442b", + "new/borrow/inputs/kernel_43extra.json": "ef95eae03915f0222bcd486959c6dfe307a9a0a856702420fa35491abfae4c84", + "new/borrow/inputs/lowfour_43base.json": "a8df0a2acf85e96febb35d24ae047c370d179095b46142bae968f06348bf1c18", + "new/borrow/inputs/lowfour_43extra.json": "9dbfb49fb3c04a0652dcae9a962d973489679f5d1ee2baf4e65c58d2e8ef578c", + "new/borrow/inputs/prelife_43base.json": "ec43328c198094c0e8b37cf93de0210d2ba0397ed20dcaec1f1d121ffa5cdb69", + "new/borrow/inputs/prelife_43extra.json": "a7fc8362edaf33de314bebc400bcda6a6cc345ac6ca86220e1f53ae43cbc8600", + "new/borrow/inputs/refit563_43base.json": "4ba6d0fe6f5f03095821f1080f1cceb97204a3189ab0e48092e1cbccb1d7ceae", + "new/borrow/inputs/refit563_43extra.json": "4ba6d0fe6f5f03095821f1080f1cceb97204a3189ab0e48092e1cbccb1d7ceae", + "new/borrow/inputs/refit_43base.json": "19a97e80b0ee3146e0244e6bc36bd365d89e9c1cd0f885c4e06be4193606a323", + "new/borrow/inputs/refit_43extra.json": "1349d54f704847fdcd4a00e323cdc9e1118fac7fedb0c7573e9b2b3f0169a7eb", + "new/borrow/inputs/retired7_43base.json": "74daf5826d9191be4613a61447f4dc12789190fb49a3219f6a9df63075cac1e1", + "new/borrow/inputs/retired7_43extra.json": "25d9774b512da78f042287ce1de91c79c8658d06488b8fe94e548cbdd036f034", + "new/borrow/inputs/twelve_43base.json": "ee268c45a9c768a6a4cecf401cd4446cebb042e67d69e5fb6d078934d5a49498", + "new/borrow/inputs/twelve_43extra.json": "4ff1d00714d0dfacf95b89778f6c1abb113877f8c9880c01a06d0f30998756ee", + "new/borrow/inputs/witness_43_base.json": "65ee52604e2e49a30c1e978b7ce829482a694a20a8744f37b9bf40dad1ff3a2e", + "new/borrow/inputs/witness_43_extra.json": "19c652db80d5215c958c63b5d6f2de96d9cf34a0e4d56dab5c13e556c57f7467", + "new/borrow/lowfour_controls.py": "b1484a0ab1ad5f87a71b8e48ee8c5ba7604835acfe2b841b6f13cbd12f32e344", + "new/borrow/prelife/results/gap-base.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/gap-extra.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/prelo-base.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/prelo-extra.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/tryE-base.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/results/tryE-extra.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/search/chains.py": "588d6cdb2312febfee5f3d576295f2edff53ca74c14d21ed9bffed3312dfa32c", + "new/borrow/prelife/search/edit.py": "8e5eea35d0bb83aa60bd066ae9ddf3f4b0ad46cf9ac9d31d8fc5777f49013713", + "new/borrow/prelife/search/fm.py": "36174e2b7e012726964282af926fdf541332556bcc548af5b41502cdb8b198e2", + "new/borrow/prelife/search/gapbound.py": "a0fa0fbd079a456bf5f9b75352eb68c4b7e2febad0c99e66b7553bdc744772c8", + "new/borrow/prelife/search/mk1.py": "4bab66a4e1514a067572c7854731a4fbd29681300e95a4384fdb68e0eb140575", + "new/borrow/prelife/search/prelife2.py": "db1fc5eea7bd70066188d7c7f52cf4be8991e61b821d3fe4b779ee30c7f3c9eb", + "new/borrow/prelife/search/prelo.py": "157dc45b5fcc421d26507d6d7fca6d4caeff6c73efcd679fd28e906f600ea886", + "new/borrow/prelife/search/propbound.py": "735cd4d1a6a43c96f397eb5ae2972e86ab71c2c232e6d14ac6cbf1eb7f638c1c", + "new/borrow/prelife/search/repair2.py": "410ddd6f9b3e14be6b9247cc5792d1a893175e843a0c21bf667e71a6e3a9710f", + "new/borrow/prelife/search/tryE.py": "130a859c0ad20623943b25800dd2f1d0355cf03b8520fc493ec870baa010b2ae", + "new/borrow/prelife/search/wordmodel.py": "215e678d3f3711b4291f9da5d7937cdbb0b091390bba089e6949b8c42a29f6f4", + "new/borrow/prelife_controls.py": "c24398bdc407aaf6713201100d27ba851233525a9dfd747b641d99e1cde66cba", + "new/borrow/receipts/AUDIT-43base-pinned.json": "8dc6daa8929c1137c1e37fa5a1bf869afafe94c3e65ed2705ea9f41f2dc8cee8", + "new/borrow/receipts/AUDIT-43base-prekernel.json": "fb6f40a1d117bd304cc0757ac21915bd8558e8d3f31b8709129f395033fc534e", + "new/borrow/receipts/AUDIT-43base.json": "07b8a4836fe2659d0d46957ed0973ba3334f6752b5c1235d03b961a107fb95d5", + "new/borrow/receipts/AUDIT-43extra-pinned.json": "4176a6190fb1a224d45797064cde2aa758970bce7c1ed2a009ecb2fc7839d26e", + "new/borrow/receipts/AUDIT-43extra-prekernel.json": "09041e49888a1360b7ddee29d54d82836a875ecb6547c7ad1eb92427e7f3b384", + "new/borrow/receipts/AUDIT-43extra.json": "a01ae6847449ddb88c56fa8e44d10bc0b005f1b24daa283d38ba00089d8f89f2", + "new/borrow/receipts/CONTROLS-43base.json": "02b73bfbf72c63926ebb244bbd6bf87a03201ee1487e2c15292ad52684fb4d69", + "new/borrow/receipts/CONTROLS-43extra.json": "f8b93901ef5b4810bb39a7b5ccdc62497612c2efba67920a8d6119ae8a898126", + "new/borrow/receipts/CONTROLS-KERNEL-43base.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-KERNEL-43extra.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-LOWFOUR-43base.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/refit/results/pairs-base.json": "8178d2a34be82601f2361afbc63b37294255a435b243e65295bf7b641edfc4a3", + "new/borrow/refit/results/pairs-extra.json": "3a64b6ace504a5d410a4cfd87ae2fc04576df61883ce56e3f7eb38d4b26df8af", + "new/borrow/refit/search/bounds.py": "690986e69e3125723b12255cc5aa135fceec93894d589eb196ab7fa5da37e9fb", + "new/borrow/refit/search/eval1.py": "0547e606468ad4670512ea83fb3d6e7f39fda9b66537fdf791ad22a3bf4aeeee", + "new/borrow/refit/search/mkcand.py": "c5b437f6a991de674bd781d610d98a43d9f84179beb1187340354e55f42ceaa4", + "new/borrow/refit/search/pairs.py": "7922404bf942eff2dda0125b78ff1234bfdfda5101ff428b11f8a5ed73ce4882", + "new/borrow/refit/search/refit.py": "c036d0d4cc91360e583a7ed01d6c69c17a69f16c5838062c2b9de83a616d2e23", + "new/borrow/refit/search/why.py": "209a95a62a95c06138f0b5af2d1dd1f9c60c403c4da294d39663928c2312425e", + "new/borrow/word_patch.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "new/borrow/words/BORROW-WORD-43base.json.gz": "dda9878455b3a3bec64ca16b1ac7789bbf5ffb603d5713b8df8644485e85b1b7", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "bbe6bcba59e45e827a8e932ee4b23650d56ed4a0b8e0875c14f23c36b9e47eac", + "new/borrow-fill/DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "new/borrow-fill/FILL.json.gz": "0cb7522e071ff064ada2efec169e23a2fe7d3daf928eec6ba752b166cffb3468", + "new/borrow-fill/ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "new/borrow-fill/search/agg.py": "267a66287336b72731b897508073dae1a7c85fa72cd86093a7340ddfc12af04c", + "new/borrow-fill/search/base74.py": "acc99c57730fe50f88538e4061e7165a7f278ed7499728c24b0522d479be8b8c", + "new/borrow-fill/search/ceil74.py": "99df541abe458fb6154755d9c67066b2ba0430b06f879a7b5a43e30618f4c1d7", + "new/borrow-fill/search/evac.py": "7c6ce4e8aa9833a9d451c5d4b891bbd1927315bcbf112d3c15845f0ede2d9dc3", + "new/borrow-fill/search/fillbase.py": "4fc6fa920d8703ccec860bee0e1187a0a8b1e37b245789256f7a4d01ae8a2b00", + "new/borrow-fill/search/inv.py": "eec279ea8e8d9d1dccc2733a88129351678c73fb51f06a4604a9c1da1d771387", + "new/borrow-fill/search/lattice.py": "8f2ee194fa4992d1f45394b09b5151ec699b28e4c950b9d40b826f33cbb635ba", + "new/borrow-fill/search/lnstime.py": "3a1ff558f10b0b935389137627359f875ca484717ffa3ced7de8d8b588836755", + "new/BORROW-PROVIDERS.json": "3666edf67d61b01336e58166ec9edebd72902cc37a2da693b05691ab2a387cda", + "new/CHAIN.json": "f18804a71bef7005e892b0b7baac818d5362fff685fe5b5aadfe8de6e442446d", + "new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/code/borrow/bw_audit_local.py": "6bc8a07942a027a52ede46521f6b5dab755643eb693efc7dcb829496050fde09", + "new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/EDITS-1.json": "dffa640c04d71111d3e4bdd7f5a991450ba07049a1d434edeef84791c0cc2d05", + "new/EDITS.json": "d5f9a0444dddcccd35c0217f60dbd6863486241629a747c3bbe4140b3d55eea1", + "new/extra-word-566.json.gz": "cd417b904408c221d9840d08faff8af040cc4207f9804284f2f5375d21298a62", + "new/fastnative/.gitattributes": "92e5734dbb86fb8958622e6dcea5895601800a24b0722ef86220322449a44ff8", + "new/fastnative/benchmark.py": "3e544453c89310281d745a37e861cbd79065b1740d90f1ec883fc200b189a557", + "new/fastnative/common.py": "8f04e08b99a370fa82115fc46fbb3af4ab44f4facd47de07b01e1a2499a94914", + "new/fastnative/compare.py": "ebf877a6f47ef1fd2b797fd6077bd45d132d8cb56ab7553044bae3d86e238e45", + "new/fastnative/controls.py": "03131f4dc6a1830f10e35fb837ada456f060ca510994d250c5c2666a6342c23a", + "new/fastnative/evidence/BENCHMARK.json": "9b192c5697514c7b36b709d0e5506915425ca61f24af0210e2508d7b1bdb295f", + "new/fastnative/evidence/COVERAGE.json": "8bead250cc97614528d9448dfd29529bf08605daa5e8007e701038ab317e00f6", + "new/fastnative/evidence/REGISTERED.log": "78a49def69d0465f4318b9e24613246ba5fb6de19441e54b88fb50dfe823f149", + "new/fastnative/evidence/VALIDATION.json": "d265ce16251effd6b5d3b7429f31f98cd385fe79f659cfa24a2820bc17ac70dd", + "new/fastnative/EXPECTED.json": "8d45fba81564631f9f8614e637b9fbe69dc911b4e2f0b77f0a7071f39cfd7ca8", + "new/fastnative/fixtures/WORD-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "new/fastnative/fixtures/WORD-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "new/fastnative/FRESHNESS.json": "92abf8c25be59ff71a90781f38c5db2f9176c623df046a6d0e2327fd0235cb6c", + "new/fastnative/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "new/fastnative/NATIVE-LINEAGE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "new/fastnative/PINS.json": "f619e8e1c163078fb70c6fc3b98a498a671b8c02927b91d6cc253af2a775b6c9", + "new/fastnative/README.md": "6a2026383804606cd7981e087192b3488c674f2d9443ec218dcb2e85d06406dc", + "new/fastnative/requirements.txt": "a23aaf94250a9f53031a592980142245a848e2372b6c6c3093e8260b129265b8", + "new/fastnative/run_native.py": "a7bfe110fe5098f6ef8bde3c43ecf15e8d1e06149abf7321a4c945383dcc2627", + "new/fastnative/SOURCE-PROVENANCE.json": "8daf4fc7c75db99d34641152682208ce6c974f50d509960d0f4fa021f862abee", + "new/fastnative/SOURCES.json": "3599ed28c8d8a9ce096bc13507b066d09e3968587781748b2bc72f634618331b", + "new/fastnative/stage.py": "3cce27dd5a359ebc4dc70d4aab994aee52bc0a12e59db7da3f902257f876cffe", + "new/fastnative/TASK.json": "8159b49d5c73dd887d432a4680dc947f63e7158a01a66d7736ff7138e8149732", + "new/fastnative/vendor/accelerators/SPARSE-NOTICE.md": "3da80a5155c625bff907a42a82c65bfcf92854d2c960bcea4537c19c99efd4f2", + "new/fastnative/vendor/accelerators/SPARSE-PROOF.md": "d73e4522602404caba8e7f247005a45c8a8cd26ffd2a70d65f4f9556a391d053", + "new/fastnative/vendor/accelerators/sparse_state.py": "e91210ecd5085cf9add872f40bb434806838da488e12152c63c86e51fb5a7a37", + "new/fastnative/vendor/accelerators/tables.py": "2fe087ba4558bd21ca49945dbedaa4047e4170e8fd4e2280701bb2f0481811b5", + "new/fastnative/vendor/native/new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/fastnative/vendor/native/new/code/borrow/bw_audit_local.py": "08d5864d9b77902fc5ab5a062a8ea843fe1e572243b8c580abb0a421b2e46d07", + "new/fastnative/vendor/native/new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/fastnative/vendor/native/new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/fastnative/vendor/native/new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/fastnative/vendor/native/new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/fastnative/vendor/native/new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/fastnative/vendor/native/new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/fastnative/vendor/native/new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/fastnative/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/fastnative/vendor/native/new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/fastnative/vendor/native/new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/fastnative/vendor/native/new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/fastnative/VERIFY.json": "e46542b70296c039b5bea0c0aa9cfd4e95e1df8859e67885ed3403bea9da7b32", + "new/fastnative/verify.py": "6dbdc56ca6cfde987869e12990a495d7eded78dd1887fb3fdf2d196060220fcc", + "new/gauge44-word-566.json.gz": "eeb6a236ed0ea8873b8800947d0cd19c36a6fcfdf857fc42913cb45cd984f219", + "new/pivotcheck.py": "6eb1752f077df108c908974413fc71abc751356b07c6e650e75d2075f1a51391", + "new/PLAN.json": "fe48f2a29535cfae3b0889170b87ebc1384eeeef9ab635a901929f9a40a2c95b", + "new/PROFILE.json": "69a5c98958d196e61d158c856392c9587363ee47d2c8665081e4688795c1f2b0", + "new/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "new/rebuild.py": "7391a7228d6b5afc2f88afd5d5a987565d78a100386c1f03b8696bcde2e8ef3e", + "new/rebuild_borrow.py": "a65079e5ea9553a150879898b5ab9cecb01c1be19247c20461c97211988c1ef3", + "new/rebuild_chain.py": "3a5739f94f0fea1aa267e7d12e1c986210e483c841a8855e11020128a017510f", + "new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/SPEC.json": "85635e7f1ceff706fe43c9eda5bb8847e6273b4d7509b119114e39684b0ddbdf", + "new/steps/0/extra.json.gz": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "new/steps/0/gauge44.json.gz": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "new/unpin_spec.py": "03901dbb881fa608b6540a0541b26311dd4bab23bd8768e9ed48b8b355e1b36b", + "NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "ORDER.json": "30856f042860e5b5c613357b236ff643f107d7d70e2c64eb5fcaaa09bf81a90d", + "outer/B.json": "73be46ba298e18a9849354345bc9aea956cfb35db47dc279230e7237d323e729", + "outer/check_fine_padding.py": "a0ae691251cc50ba20b7f23f89fffaed802d62f9192a441131476914a5bdfae8", + "outer/check_gaugefree.py": "f8d49739d3f5819a62f9862a624dab7bebb019f3d8ab949524cb9bbf58d3ef66", + "outer/check_ledger.py": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "outer/CLASSICAL-BOUNDARY.md": "6647d5a71d9f6c3f628ac71a7be2e63bcb0cac9618cd4fee7493dcc4ef02529a", + "outer/FINE-PADDING-COMPOSITION.md": "d20d8e5f84a9e33cc9996f875be06c24c74ea53874cc76564953785ff29c5c6c", + "outer/GAUGEFREE-INTERIORS.md": "ebeb7fa53dca671e45b3a3dedf4603607d19461bbeb977445bf5e17bbdb25db8", + "outer/INDEPENDENT.json": "1f76d5f31d69fda9d677788321e2d0f6fb7b057159a0a55525d327d7dc0019bb", + "outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "outer/LEDGER.json": "bfd5abdc0c933f7391d1a43ea01a22a304e0b4f66cd038cfeb5973dbb319017e", + "outer/OUTER-CLAIM.json": "6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70", + "outer/PROOF-GRID-MAX.md": "19dc50ad398993d156f9366fc752321a88a7337dc016c00b0d5a53eceff93cf6", + "outer/RECT-BOUNDARY.md": "17ece1cc1eb4a02df4d8433e3612231768633e6674d315acbcf880f36e30bdc7", + "outer/replay_evidence.py": "d3bdcfc8ce29865b3a76d64d99b5177e73fe994a2eb915f35fa233c5ab81df65", + "outer/RETUNED-SLACKS.md": "d87beb3869fb60143c2c3872d7c427ee16174aa51b5e6f42689312fbd40d3d42", + "outer/run_outer.py": "9d5dc0a7ea38973ce52a1cda02d311c235bc7c39c4d20921d5811cab1a57ef8c", + "outer/sched_review.py": "f440a57f1f46119ee8c2934c8f0d618ca1c85c73cda8cfb8453c2aa1b9fc40fb", + "outer/sched_test.py": "f96d09b5990931e3df8cea291520bf17c424215748cd9ec068214c58309a21c8", + "outer/struct_check.py": "f1df92bb6247034a22e141dcb39c1e8b6b9df6eb9791493be25a3911f7add8d4", + "outer/STRUCTURED-BOUNDARY.md": "ceef915be6462a8ad81449eefb86bf4d97db6ac41c87660e9dd7cfd2c2bc1efa", + "outer/UNION-SCHEDULE.md": "bc8e9cf7c178bb39b092ab5aafc4eeb523e72b1f69639bfcb9f27d0f74109357", + "OWNERS.json.gz": "25e70226d625ec6222f9436332fb8f4a82664f71cb6e5af0e056d0d32ca76baa", + "PARENT-LIFT-RECEIPT.json": "787db0b6f847cb03ff9b71246aba6e702ad3ab8e2fbbcb7dff9f51b8a8a783e8", + "PLAN.json": "5345bbb91255a3229000ef154daab7d6dcb31c98aadeac9d5dac748a58cc5c44", + "PRICE.json": "c5ec535fd9edbdec7b64edd5a8b862edb1a7f173d411dacb279172659573e16a", + "PROFILE.json": "dafbfc76552e3b0c5d6f29bbf5bbafe5602149d3a3f8e35d5c316741e7eff64a", + "README.md": "b794473b965406360e7732f0e86b66fbcf8e91bc16632330ada8e1150f2ddb62", + "reconstruct.py": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "RELEASE.json": "034e061609a987eb6275787e74b3b775ef0782a277bb26e2ca664f61b2863e55", + "replay.py": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "requirements.txt": "255a2ee4a60637759d4d5c89448c55849153e81ec1d1383555c6697784d9dc97", + "SOURCE-PIN-REFINEMENT.json": "8c0bad79978decd6f8aba0932c0a94c7f61c64bf9ce5a19a36f67cc1390bf74f", + "SOURCE-PIN.json": "66faac1fd4e79bb6d9fc774fd8ba63522ad3309456be1c81405794b284c55c83", + "SPEC.json": "81676590c26018aa95082e3252f394ac99c61c0c4e5578f59501401700e38033", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/audit_mixed.py": "7466461cc15cbb12135d94f2d904d4e90e78cbf4755d0293ab9bd55e3568d4b0", + "vendor/pr1297/build_word.py": "ff08af2851b4813c113ef63113566cbd79625e9310611292913d51be554b5aa9", + "vendor/pr1297/CLAIM.json": "bc9e90a475333b957a8c4eae8b950988caea89e20e9b44a919e83415fb76b1b8", + "vendor/pr1297/COMPOSITION.json": "6fb74e73fd298b356402eb2fbcd625463b2fa540a6be4ef2d6335ddfa31d70f6", + "vendor/pr1297/construct.py": "71aff454291d4a35068c43dbb65c00ff511f48e91ab7cdada462833f04ac73e3", + "vendor/pr1297/CONSTRUCTION.json": "fb5f74f59c89b93c63ec47e32e2c9264658e115d1f21eed3eceefec7dc7a0cde", + "vendor/pr1297/CONTROL-SITES-base.json": "b41361f5a2f6ab3d223c146269c8027a0537f1a6e3c963f28cf1ebbe05c5d7e2", + "vendor/pr1297/CONTROL-SITES-extra.json": "f1aada769389ec410b41bc9e2082826bb916b8332c915ee9e07045135c30393b", + "vendor/pr1297/controls.py": "935cf39ed6601eb6ac411b7b1a4adf5d4238589cad9fd5969d7dca967ace4c4b", + "vendor/pr1297/DEPENDENCIES.json": "9c9fff3ac059da4d4e2f13e655afb9e42ada1a57987f5b47b68dda4b64797966", + "vendor/pr1297/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "vendor/pr1297/EXACT-RELATIONS.json": "6864f378d917d0ecfd8cd53cc26303217ebb48f47f2987bbc01cf1e2c9a28093", + "vendor/pr1297/extra-word.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "vendor/pr1297/freeze_spec.py": "0f5c8ad43180a633a2cbbd11f7832729039402c68f593679552c43a1693d69fa", + "vendor/pr1297/gauge44-word.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "vendor/pr1297/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/pr1297/INDEPENDENT-DERIVATION.patch": "6b3af098ec1c9e2360a366933eb7fbf0e16ebb37d43809d26b275e66fb5ee779", + "vendor/pr1297/independent_core.py": "d1dcd5593a05cf647b485db38891984f829abea5f95c6cc91e37d554bf163d48", + "vendor/pr1297/inputs/base.json.gz": "b87c706d14a7e1972514ee901002a930908073811ef38761def31c8e36351916", + "vendor/pr1297/inputs/extra.json.gz": "ded6903e00deb9e158fa700b03ccc9b8bfaae6c8bad8ca4842f0ad9b963234ab", + "vendor/pr1297/KERNEL-CONTROLS-base.json": "cbe755333f469a1f01258b65f2b273763212dba6642edabfb58f7490f326abda", + "vendor/pr1297/KERNEL-CONTROLS-extra.json": "cf255deb866ecaefca4b6ecb72f105d6b08dc8ea907a8381d45aedc39b2022cf", + "vendor/pr1297/kernel543_controls.py": "ac16d605e773197e3664643d40b36c15a7130a45e95e36bfe7b42d939644367c", + "vendor/pr1297/kernel_controls.py": "436e3f3d9974da7c1968ef99fdde5ad203a61544d8195493e3150eb25869f4dc", + "vendor/pr1297/MANIFEST.json": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "vendor/pr1297/MAPPED-RECIPE.json": "09aca649da97a37116262827cbd3ebe0addcd2b1a33c08e8347f3daf3394176a", + "vendor/pr1297/NATIVE-VALIDATION.json": "755b7087e0ae964c538e9378311e07dba2867c16b568d1bf6ae9051657f9f5cb", + "vendor/pr1297/NOTICE": "b352129a07fc8693f57c77cbb0ea92230b2fa77439f86c9f35b828213f9c42db", + "vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/pr1297/premise/inputs/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "vendor/pr1297/premise/premise_check.py": "28a7f881a988b29b8ed3c927dd142ac3d4ee273dedab3a65bb02c01a64eb2639", + "vendor/pr1297/premise/verify_1049.py": "a1736324c6db161733d8e11f608defd87b7f97cacd611203d22499e4c7de5545", + "vendor/pr1297/PRICE.json": "e19f9f9e70e4fda2bc4a39fae93ea44555945cdaea59728864c5a44dcc5522e6", + "vendor/pr1297/PROFILE.json": "d9bbe0d73ba005749615915a2d884819a6b141e3402d9e7f87f4592a2d27af99", + "vendor/pr1297/README.md": "102ac7f080c1799aaedd5345ffb3631845215e8ab770e2af34750c25f667686d", + "vendor/pr1297/RECIPE-base.json.gz": "0f2db2c658e9732fdd1aeb7bbbb5c786d6045de8a2575b7654b9e6fddc71b03d", + "vendor/pr1297/RECIPE-extra.json.gz": "9e6f58570b0a8f9e8271bfbc73a339fce42f1cf28bf14d4db93f246b8f63a3c9", + "vendor/pr1297/replay.py": "d3ea7c2e74ff6df9d14969f994eaa85f825372cee92dafb77bec4767edb242e7", + "vendor/pr1297/SEARCH-RESULT.json": "7cdacadcbbf83b81f9f91668fcc707f8a238c6025f35a8bdc36758619c2591c4", + "vendor/pr1297/search_relations.py": "58f3bd092cb8592a070d7879918ff318a658a6fa02bfad7b5b8f4cb0fe16691c", + "vendor/pr1297/SOURCE-PIN.json": "e93f303f4de383757e50d612ada5e379533d46737a32281aa6879fb4b6138e09", + "vendor/pr1297/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "vendor/pr1297/upstream-layout.tar.gz": "a0cc229bb0fc9ab8ee5c14d5de87b3de31d1fcb793e99192c9cdc63781e794a0", + "vendor/pr1297/UPSTREAM-NOTICE.md": "b97fb4731e84aef736c58a9c126334eb5b8d3a057a8d9d45b4ffff24af65c38b", + "vendor/pr1297/VALIDATION.json": "1008f637a22f954ee774920a8362931ca7cfed63ca146e725768c0f39803c0a5", + "vendor/pr1297/vendor/pr1193/audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "vendor/pr1297/vendor/pr1193/build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "vendor/pr1297/vendor/pr1193/CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "vendor/pr1297/vendor/pr1193/common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "vendor/pr1297/vendor/pr1193/construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "vendor/pr1297/vendor/pr1193/controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "vendor/pr1297/vendor/pr1193/controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "vendor/pr1297/vendor/pr1193/data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "vendor/pr1297/vendor/pr1193/data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "vendor/pr1297/vendor/pr1193/data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/vendor/pr1193/data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "vendor/pr1297/vendor/pr1193/data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "vendor/pr1297/vendor/pr1193/evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "vendor/pr1297/vendor/pr1193/evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "vendor/pr1297/vendor/pr1193/evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "vendor/pr1297/vendor/pr1193/local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "vendor/pr1297/vendor/pr1193/MANIFEST.json": "4837d070679d9e70218c7cfa2d3e70d7d742a5b74dc66d224840b1a3a4ac4a31", + "vendor/pr1297/vendor/pr1193/native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "vendor/pr1297/vendor/pr1193/NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "vendor/pr1297/vendor/pr1193/package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "vendor/pr1297/vendor/pr1193/prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "vendor/pr1297/vendor/pr1193/price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1297/vendor/pr1193/PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "vendor/pr1297/vendor/pr1193/README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "vendor/pr1297/vendor/pr1193/SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1297/vendor/pr1193/verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29", + "vendor/pr1297/verify.py": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "vendor/pr1297/x54_controls.py": "82f91b81be9173dca546345dbdaddfc71e6d21e626fb84a8b4d1b4ba0d673814", + "vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "vendor/pr1673/capped-phase-fusion/MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "vendor/pr1673/capped-phase-fusion/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json": "298f1eaf79b5d5d57cb96fb3abb422174b78c31c14491a878f6176431d731d04", + "vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "vendor/pr1673/capped-phase-fusion/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "vendor/pr1673/capped-phase-fusion/README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "vendor/pr1673/capped-phase-fusion/TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "vendor/pr1673/capped-phase-fusion/VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "vendor/pr1673/capped-phase-fusion/verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "vendor/pr1786/FINE-PRIME-PADDING.md": "47d1b1b4df28aadda3cd6bdeb1fbc47290595e9208cd09c1a1f338520d33fdce", + "vendor/pr1786/NOTICE.md": "dcc1adb2461aa93ca62b6a912dbd8b215599e6af8053dfbacb7423b544dd659a", + "verify.py": "c52149ed10c0cae4950c92cef0edc38f382c5cc74cf66c5eeeebb7191b4bc0a0", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_release.py": "c43680a2da390f79925547a5ee1919d8a76637cccf98e2c8164b6f667fbc3183" +} diff --git a/research/replica-integer-prefix/independent/source/PR2833-NOTICE b/research/replica-integer-prefix/independent/source/PR2833-NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/replica-integer-prefix/independent/source/PR2833-NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/replica-integer-prefix/independent/source/independent_candidate_moment_retired7.py b/research/replica-integer-prefix/independent/source/independent_candidate_moment_retired7.py new file mode 100644 index 0000000000..517b766da6 --- /dev/null +++ b/research/replica-integer-prefix/independent/source/independent_candidate_moment_retired7.py @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Directed rational moment certificate for a checked literal owner profile. +Standard atanh/Taylor enclosures follow the retained independent-moment lineage. +Floating arithmetic only nominates an initial bracket; acceptance is exact. +This certificate is finite pricing; root owns native/global/outer admission. +""" +from pathlib import Path +from fractions import Fraction as Q +from functools import lru_cache +from collections import Counter +import argparse,hashlib,json,math,sys +sys.dont_write_bytecode=True +if hasattr(sys,'set_int_max_str_digits'):sys.set_int_max_str_digits(0) +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +@lru_cache(None) +def logarithm(x): + need(x>=1,'positive reduced logarithm');e=0;y=x + while y>=2:y/=2;e+=1 + def core(z): + z=(z-1)/(z+1);need(0<=z<=Q(1,3),'atanh range');lo=2*sum((z**(2*j+1)/(2*j+1)for j in range(36)),Q(0));return lo,lo+2*z**73/(73*(1-z*z)) + a,b=core(y);c,d=core(Q(2));return a+e*c,b+e*d +def exponential(x): + need(0<=x0 for r,n in hist.items()),'positive paid profile') + # Binary floats nominate only a wide initial rational grid interval. + lo,hi=0.0,0.002 + for _ in range(60): + q=(lo+hi)/2;v=sum(n*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*live) + if v<1:lo=q + else:hi=q + G=10**24;unit=10**12;mid=int(((lo+hi)/2)*10**12)*unit;L=mid-unit;H=mid+2*unit + while moment(hist,Q(L,G),live)[1]>=1:L-=unit + while moment(hist,Q(H,G),live)[0]<=1:H+=unit + while H-L>1: + m=(L+H)//2;ml,mh=moment(hist,Q(m,G),live) + if mh<1:L=m + elif ml>1:H=m + else:raise ValueError('enclosure too wide for adjacent rational bracket') + lower,upper=Q(L,G),Q(H,G);ll,lh=moment(hist,lower,live);ul,uh=moment(hist,upper,live);need(lh<1previous,'strict gain over full exact comparison rational') + rejected=[] + def reject(name,fn,reason): + try:fn() + except ValueError as e:need(str(e)==reason,'wrong control reason '+name);rejected.append(dict(name=name,reason=reason)) + else:raise ValueError('accepted control '+name) + def accepts(h,q,W=live): + need(W==live,'source-bound normalization');need(moment(h,q,W)[1]<1,'strict moment admission') + def bracket(x,y):need(x1,'old actual profile fails improved target');rejected.append(dict(name='unchanged_T74_profile_at_improved_target',reason='exact lower moment above one')) + need(logarithm(Q(1))==(0,0)and exponential(Q(0))==(1,1),'exact elementary controls');l2=logarithm(Q(2));need(logarithm(Q(4))==(2*l2[0],2*l2[1]),'exact logarithm scaling') + need(before=={str(p.resolve()):sha(p)for p in files}and sha(basepath)==basehash,'input drift') + result=dict(status='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT',replicas=T,live=live,profile=hist,complex_lower=str(lower),complex_upper=str(upper),proposed_outer_target=str(target),strictly_above_full_comparison=True,best_claim_sha256=sha(a.best_claim),best_kappa_rational=best['kappa'],lower_moment_minus_one=display(ll-1,lh-1),upper_moment_minus_one=display(ul-1,uh-1),target_gain_over_comparison=display(target-previous,target-previous),controls=rejected,input_sha256={'owner_receipt':sha(a.owner_receipt),'best_claim':sha(a.best_claim)},baseline_profile_sha256=basehash,scope='Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.') + write_receipt(a.out,result);print(json.dumps({k:result[k]for k in['status','replicas','live','complex_lower','complex_upper','proposed_outer_target','strictly_above_full_comparison']}),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-integer-prefix/independent/source/independent_candidate_owners_retired7.py b/research/replica-integer-prefix/independent/source/independent_candidate_owners_retired7.py new file mode 100644 index 0000000000..16013201b1 --- /dev/null +++ b/research/replica-integer-prefix/independent/source/independent_candidate_owners_retired7.py @@ -0,0 +1,111 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Independent integer-time and mask check of the actual parameterized-replica owner allocation with PR2802 retired7 providers. + +Chronology/mask method derives from Tekalign's PR2751 independent_owners.py; +Marius-Paul Dumitrean's PR2802 retired7 native construction and the retained +provider frame checker keep their +upstream attribution. No solver, producer, emitter or floating arithmetic is +imported. This checks finite geometry, not global native/outer admission. +""" +from pathlib import Path +from collections import Counter,defaultdict +import argparse,hashlib,gzip,json,sys,types +sys.dont_write_bytecode=True +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def read(p): + b=Path(p).read_bytes();return json.loads(gzip.decompress(b)if str(p).endswith('.gz')else b) +def inputs(PROVIDER): + provider_pins={'inputs/PLAN.json.gz':'afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa','inputs/GLOBAL-TEMPLATE.json.gz':'21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e','independent_local.py':'ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20','inputs/PROVIDERS.json':'391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4','inputs/WORD-base.json.gz':'dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66','inputs/WORD-extra.json.gz':'6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7'} + hashes={} + for n,pin in provider_pins.items(): + p=PROVIDER/n;need(sha(p)==pin,'pinned PR2802 provider source '+n);hashes[str(p)]=pin + L=types.ModuleType('retained_independent_frames');exec(compile((PROVIDER/'independent_local.py').read_bytes(),'pinned_PR2802_independent_local.py','exec'),L.__dict__);providers=read(PROVIDER/'inputs/PROVIDERS.json') + for tag,pid in [('base','gauge44'),('extra','extra')]: + word=read(PROVIDER/f'inputs/WORD-{tag}.json.gz');report,start,ends=L.check_frames(word);L.check_cleanup(word);L.algebra(word) + widths=[L.dm(ends[k])-L.dm(start[k])for k in sorted(start)if k>=224] + need(widths==providers[pid]['widths']and len(widths)==408,'actual ordered provider frame widths');need(len(word['centers'])==8,'eight centres');providers[pid]['actual_paid_profile']={int(k):v for k,v in report['profile'].items()} + return read(PROVIDER/'inputs/PLAN.json.gz'),read(PROVIDER/'inputs/GLOBAL-TEMPLATE.json.gz'),providers,hashes + +def windows(template,order,T): + ranks={c['child']:c['rank']for c in template['idle_children']};pairs={e['stage']:e['pair']for e in template['recipe']if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind']in('bank_padding_cover_sweep','translate_every_live_family'):continue + if event['kind']=='local_cover_sweep':stage=event['stage'];blocks[stage]=[] + need(stage is not None,'source event before local call');blocks[stage].append(event) + need(set(blocks)==set(range(9)),'nine source stages') + progress=[0]*T;last={};result={} + for t,(stage,replica)in enumerate(order): + need(0<=replica0,'idle source position');start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks:result[replica,child]=(ranks[child],start,t) + elif kind in ('terminal_Y_translations','terminal'):pass # inherited terminal phase; no pending-window endpoints + else:raise ValueError('unknown source event kind') + need(progress==[9]*T,'complete replica source progression');return result + +def check(T,order,fill,dispatch,claimed,plan,template,providers): + need(type(T)is int and T>0,'positive T');N=9*T + need(len(order)==N and set(map(tuple,order))=={(s,r)for s in range(9)for r in range(T)},'complete T call coverage') + win=windows(template,order,T) + need(set(dispatch)==set(map(tuple,order))and all(p in providers for p in dispatch.values()),'provider dispatch coverage') + for s,r,pid in fill.get('dispatch_overrides',[]):need(dispatch.get((s,r))==pid,'final dispatch override binding') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'literal role columns') + need(len(fill['rows'])==N*408,'complete role count');helpers=[0]*N;families=[0]*N;occupied={};lastrow={} + for idx,row in enumerate(fill['rows']): + need(len(row)==6 and all(type(x)is int for x in row),'integer role shape');t,h,o,c,p,z=row + need(0<=tlastrow[key][0]:lastrow[key]=(z,idx,w) + need(helpers==[(1<<408)-1]*N,'all helper identities');idle=Counter() + for(o,c),(cap,_,_)in win.items(): + for p in range(112): + key=(o,c,p);mask=occupied.get(key,0);used=mask.bit_count();need(mask==(1<0,'positive T');P.require(len(order)==9*T,'complete new invocation count') + parent=P.build(T);geometry=P.check(parent,parent['replica_lift']['groups']) + sp=importlib.util.spec_from_file_location('retained_physical_source_windows',base/'vendor/build_parent.py');mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod) + windows,schedule=mod.actual_windows(parent,order) + independent=P.expand_schedule(parent,order);P.require(schedule==independent,'independent literal source-event expansion') + dispatch={(s,r):pid for s,r,pid in dispatch_rows} + P.require(len(dispatch_rows)==len(order) and set(dispatch)==set(map(tuple,order)),'dispatch bijection') + P.require(set(dispatch.values())<=set(providers),'known provider') + for pid,d in providers.items(): + P.require(pid in plan['provider_registry'],'provider in retained registry') + plan['provider_registry'][pid].update(widths=d['widths'],actual_paid_profile={str(k):v for k,v in sorted({int(k):v for k,v in d['actual_paid_profile'].items()}.items())}) + widths={pid:d['widths']for pid,d in providers.items()};R=len(next(iter(widths.values()))) + P.require(all(len(w)==R for w in widths.values()),'same helper count') + pairs,sides=plan['pairs'],plan['sides'];helper_seen=collections.defaultdict(set);family_seen=collections.defaultdict(set);used=collections.defaultdict(set) + for z in roles: + tm=z['time'];P.require(0<=tmlen(cells):idle[cap-len(cells)]+=1 + paid=collections.Counter(idle) + for st,r in order:paid.update({int(k):v for k,v in providers[dispatch[st,r]]['actual_paid_profile'].items()}) + P.require(dict(paid)=={int(k):v for k,v in profile.items()},'entire actual paid profile') + P.require(73*896*T-sum(k*v for k,v in paid.items())==320*T,'full rank mass and deficit') + stage_template={c['stage']:c for c in plan['provider_calls']} + plan['provider_calls']=[];plan['per_call_widths']=[] + for tm,(st,r)in enumerate(order): + pid=dispatch[st,r];desc=plan['provider_registry'][pid];z=copy.deepcopy(stage_template[st]);orientation='forward'if st%2==0 else'backward' + P.require(z['orientation']==orientation,'source stage orientation') + z.update(replica=r,time=tm,provider=pid,local_program_sha256=desc['orientation_program_sha256'][orientation]);plan['provider_calls'].append(z) + plan['per_call_widths'].append(dict(stage=st,replica=r,time=tm,widths=desc['widths'])) + plan.update(T=T,live=896*T,deficit=320*T,order=order,windows=windows,profile=profile,assignment_sha256=P.sha(owners/'OWNERS.json.gz'),assignment_content_sha256=P.identity(roles),status=f'EXPLICIT_T{T}_STRICT_WINDOW_OWNER_FILL',mode=f'mixed-t{T}-exact-fill',solver_status='Literal fixed owner witness independently rechecked; no solver runs in adapter') + plan['replica_lift']=dict(replicas=T,parent_template_content_sha256=P.identity(parent),owners_file_sha256=P.sha(owners/'OWNERS.json.gz'),schedule_content_sha256=P.identity(schedule),source_replicas=37,groups=parent['replica_lift']['groups'],phase_recipe_unchanged=True) + # Discovery computes geometry/numerical expectations, but the descriptive + # reporting denominator is source metadata and must survive the reset. + preserved_expected={'gain_baseline_kappa':spec['expected']['gain_baseline_kappa']} + spec.update(name=f'mixed-t{T}-exact-fill',call_order=order,dispatch=dispatch_rows,providers={},expected=preserved_expected) + assembly_ast=ast.parse((base/'code/assemble.py').read_text(encoding='utf-8')) + read_expected={node.slice.value for node in ast.walk(assembly_ast) if isinstance(node,ast.Subscript) and isinstance(node.value,ast.Name) and node.value.id=='X' and isinstance(node.slice,ast.Constant) and isinstance(node.slice.value,str)} + discovery_computed={'complex_lower','conservative_complex_lower'} + P.require(read_expected-discovery_computed<=set(preserved_expected),'all noncomputed assembly X metadata retained') + # Fresh discovery/freezing and outer admission supply all expected values. + spec['geometry']=dict(replicas=T,stages=plan['L'],pairs=plan['K'],dimension=plan['M'],local_prefix_bits_bound=prefix_bound,charged_prefix_bits=prefix_bound+37+2*len(order)+5,parent_live=parent['live'],parent_physical=parent['physical'],parent_idle=geometry['parent_idle'],parent_helpers=504) + out.mkdir(parents=True) + for name,obj in [('GLOBAL-TEMPLATE.json.gz',parent),('OWNERS.json.gz',roles),('DISPATCH.json',dispatch_rows),('PROFILE.json',profile),('ORDER.json',order),('CONSTRUCTION.json',P.read(owners/'RESULT.json'))]:P.write_new(out/name,obj) + # Bind canonical output owner serialization while preserving exact role semantics. + output_owner=out/'OWNERS.json.gz' + P.require(P.read(output_owner)==roles,'serialized owner semantics') + # Canonical gzip may differ from emitter gzip. Bind the actual output file everywhere. + plan['assignment_sha256']=P.sha(output_owner);plan['replica_lift']['owners_file_sha256']=P.sha(output_owner) + P.write_new(out/'PLAN.json',plan) + spec['data']={'plan_sha256':P.sha(out/'PLAN.json'),'owners_sha256':P.sha(output_owner)} + P.write_new(out/'SPEC.json',spec) + receipt=dict(status='PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',geometry=spec['geometry'],groups=parent['replica_lift']['groups'],input_sha256=input_hash,template_content_sha256=P.identity(parent),new_sha256=P.sha(out/'GLOBAL-TEMPLATE.json.gz'),source_sha256=P.SOURCE_SHA,roles=len(roles),helpers_per_call=R,source_events_per_replica=30,global_tail=[30,31],schedule_content_sha256=P.identity(schedule),profile=dict(sorted(paid.items())),idle=dict(sorted(idle.items())),private_work_shared=514,source_programs_phase_recipes_unchanged=True,discovery_X_metadata=sorted(read_expected-discovery_computed),discovery_computed_X_keys=sorted(read_expected&discovery_computed),phase_scope='Reuses root fresh hash-bound native/phase admission; this adapter checks literal source geometry and complete paid owner profile.',scripts={Path(__file__).name:P.sha(__file__),Path(P.__file__).name:P.sha(P.__file__)}) + P.write_new(out/'PARENT-LIFT-RECEIPT.json',receipt) + for path,h in input_hash.items():P.require(P.sha(path)==h,'input unchanged after lift') + print('PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',json.dumps(spec['geometry'],sort_keys=True),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-integer-prefix/packing/DERIVATION.json b/research/replica-integer-prefix/packing/DERIVATION.json new file mode 100644 index 0000000000..2f13866af8 --- /dev/null +++ b/research/replica-integer-prefix/packing/DERIVATION.json @@ -0,0 +1,18 @@ +{ + "schema": "portable-P33-packing-proof/1", + "source_audit_script_sha256": "b487c2855349fbddf8fa02f2165cafe2b5fab653b49f6ae31d36293bcb78c89c", + "target_sha256": "01d81b289bd2e2fd851e746d93e04f9f972b8bb92a7928385065097841b5a627", + "arithmetic_pins": { + "t_bound.py": "05bbea18531e4bb7ab3328a7def93db60e6cf5b0321aafedb0a8a7f5f971726b", + "T-NORMALIZED-RELAXATION.json": "846e24ff966402091534a766334bc737cb24b71b225ef978a8932111493a02c3", + "moment.py": "f6f38ef8e8fc1e634a2f89a45f3bf721f166a05313cec86c7a5cef9075e86be3" + }, + "changes": "Only portable explicit input paths, authenticated read-only copied arithmetic inputs, before/after input hashing, and fresh external output controls. All function ASTs and exact mathematical proof unchanged.", + "independent_moment_source": { + "pr": 2827, + "head": "4dc1286a476874447f76826885c6af99409a1d46", + "path": "research/superior-replica-kappa/independent_candidate_moment_retired7.py" + }, + "dual_source": "Prior authorized exact PR2802 pattern-dual analysis, reused and revalidated against PR2833 inventories; no upstream integer attainment attributed.", + "all_function_ASTs_unchanged": true +} diff --git a/research/replica-integer-prefix/packing/README.md b/research/replica-integer-prefix/packing/README.md new file mode 100644 index 0000000000..f144e2dcab --- /dev/null +++ b/research/replica-integer-prefix/packing/README.md @@ -0,0 +1,26 @@ +This is an exact continuous packing upper bound for every positive replica count +with PR2833's fixed local profile, helper widths, per-replica bins and live-stock +normalization. It enumerates all 1,163 integer bin patterns, verifies the exact +nine-column rational primal, and checks all dual inequalities using directed +rational moment bounds. It performs no allocation or optimization search. + +With this directory installed as `packing/` beside `independent/`, run: + +```sh +python -I -S -B packing/verify.py --owner evidence/INDEPENDENT-OWNERS.json --moment evidence/INDEPENDENT-MOMENT.json --out /tmp/packing-cap.json +``` + +Use `--bundle PATH` to select the exact independent source bundle elsewhere. +The output must be fresh and outside the source package and bundles. Inputs are authenticated +before execution and checked again before output. The replay writes no cache or +source artifacts. Python 3's standard library is sufficient. + +`inputs/moment.py` is the exact PR2827 independent rational engine. The symbolic +dual and active basis come from the prior authorized packing analysis; their +copied bytes and SHA256 values are bound in `DERIVATION.json` and the replay. +All function ASTs are unchanged from the audited PR2833 cap calculation. + +The bound does not establish integer or chronological attainment. Its reported +gain fraction compares the actual T124 finite-moment target with the available +continuous gain above PR2833's full exact headline. Full changed native/global/ +outer admission remains separate. diff --git a/research/replica-integer-prefix/packing/inputs/LICENSE b/research/replica-integer-prefix/packing/inputs/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/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/replica-integer-prefix/packing/inputs/PR2827-FRONTIER-NOTICE b/research/replica-integer-prefix/packing/inputs/PR2827-FRONTIER-NOTICE new file mode 100644 index 0000000000..4f946d9773 --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/PR2827-FRONTIER-NOTICE @@ -0,0 +1,14 @@ + +research/t74-joint-twelve-retired7 + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. + +This package derives from PR2751 (Tekalign, @tekuuu, Apache-2.0, with substantial OpenAI Codex assistance) and retains its +source notices unchanged in SOURCE-NOTICE. It contains the local retired5 construction (five retired-lender aliases 606<-550, +635<-551, 637<-552, 638<-553, 639<-562 with their exact refits, certified frames and stage inputs; RETIRED5-CODE.patch; +evidence/retired5) and adds the retired7 stages: two hostee moves (the PR2226 borrows of warps 30/31 move from lenders 401/403 +onto 564/565) enabling the retired-lender aliases 667<-401 and 669<-403, with their exact refits, certified frames, stage +inputs, compacted owner fill, checker adaptations (RETIRED7-CODE.patch), retired7_controls.py, verify_retired7.py and +evidence/retired7. Re-used mechanism: PR2679's retired-lender alias 653<-563 (Philippe Van Velzen). Frame refit of PR2751's +words included in the certified frames: PR2766 (DavidAriasC). Vendored byte-identical: vendor/audit_local_pr2679.py and +vendor/word_patch_pr2679.py from the pinned PR2679 package. diff --git a/research/replica-integer-prefix/packing/inputs/PR2827-SOURCE-NOTICE b/research/replica-integer-prefix/packing/inputs/PR2827-SOURCE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/PR2827-SOURCE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/replica-integer-prefix/packing/inputs/T-NORMALIZED-RELAXATION.json b/research/replica-integer-prefix/packing/inputs/T-NORMALIZED-RELAXATION.json new file mode 100644 index 0000000000..602736f17f --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/T-NORMALIZED-RELAXATION.json @@ -0,0 +1,128 @@ +{ + "status": "RATIONAL_PRIMAL_NORMALIZED_NO_LITERAL_OWNER", + "rhs_per_replica": [ + 672, + 448, + 448, + 448, + 234, + 18, + 558, + 702, + 2160 + ], + "bins_per_replica": { + "8": 672, + "16": 448, + "32": 448, + "48": 448 + }, + "calls_per_replica": 9, + "live_per_replica": 896, + "patterns": 1163, + "active_patterns": [ + [ + 8, + [ + 8 + ], + "672" + ], + [ + 16, + [ + 7, + 9 + ], + "448" + ], + [ + 32, + [ + 9, + 9, + 9 + ], + "267/2" + ], + [ + 32, + [ + 4, + 9, + 9, + 9 + ], + "234" + ], + [ + 32, + [ + 5, + 9, + 9, + 9 + ], + "18" + ], + [ + 32, + [ + 7, + 7, + 9, + 9 + ], + "95/2" + ], + [ + 32, + [ + 7, + 8, + 8, + 9 + ], + "15" + ], + [ + 48, + [], + "3589/10" + ], + [ + 48, + [ + 9, + 9, + 9, + 9, + 9 + ], + "891/10" + ] + ], + "idle_per_replica": { + "5": "267/2", + "1": "234", + "48": "3589/10", + "3": "891/10" + }, + "root_numerical": "0.0017177958109118208948377370083439321079365516321224240183017", + "gain_over_PR2818_numerical": "8.26793186231010507089915753204e-10", + "pattern_denominator_lcm": 10, + "dual_formula": [ + "-3*h3/20 + 3*h48/20 + h5/4", + "-3*h3/10 + 3*h48/10 + h5/2", + "-3*h3/5 + 3*h48/5 + h5", + "h48", + "h1 - h5", + "-h5", + "h3/10 - h48/10 - h5/2", + "3*h3/20 - 3*h48/20 - h5/4", + "h3/5 - h48/5" + ], + "active_matrix_rank": 9, + "dual_free_symbols": [], + "scope": "One exact-feasible rational pattern invoice from numerical LP, not certified optimal yet and not a timed owner allocation." +} diff --git a/research/replica-integer-prefix/packing/inputs/moment.py b/research/replica-integer-prefix/packing/inputs/moment.py new file mode 100644 index 0000000000..517b766da6 --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/moment.py @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Directed rational moment certificate for a checked literal owner profile. +Standard atanh/Taylor enclosures follow the retained independent-moment lineage. +Floating arithmetic only nominates an initial bracket; acceptance is exact. +This certificate is finite pricing; root owns native/global/outer admission. +""" +from pathlib import Path +from fractions import Fraction as Q +from functools import lru_cache +from collections import Counter +import argparse,hashlib,json,math,sys +sys.dont_write_bytecode=True +if hasattr(sys,'set_int_max_str_digits'):sys.set_int_max_str_digits(0) +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +@lru_cache(None) +def logarithm(x): + need(x>=1,'positive reduced logarithm');e=0;y=x + while y>=2:y/=2;e+=1 + def core(z): + z=(z-1)/(z+1);need(0<=z<=Q(1,3),'atanh range');lo=2*sum((z**(2*j+1)/(2*j+1)for j in range(36)),Q(0));return lo,lo+2*z**73/(73*(1-z*z)) + a,b=core(y);c,d=core(Q(2));return a+e*c,b+e*d +def exponential(x): + need(0<=x0 for r,n in hist.items()),'positive paid profile') + # Binary floats nominate only a wide initial rational grid interval. + lo,hi=0.0,0.002 + for _ in range(60): + q=(lo+hi)/2;v=sum(n*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*live) + if v<1:lo=q + else:hi=q + G=10**24;unit=10**12;mid=int(((lo+hi)/2)*10**12)*unit;L=mid-unit;H=mid+2*unit + while moment(hist,Q(L,G),live)[1]>=1:L-=unit + while moment(hist,Q(H,G),live)[0]<=1:H+=unit + while H-L>1: + m=(L+H)//2;ml,mh=moment(hist,Q(m,G),live) + if mh<1:L=m + elif ml>1:H=m + else:raise ValueError('enclosure too wide for adjacent rational bracket') + lower,upper=Q(L,G),Q(H,G);ll,lh=moment(hist,lower,live);ul,uh=moment(hist,upper,live);need(lh<1previous,'strict gain over full exact comparison rational') + rejected=[] + def reject(name,fn,reason): + try:fn() + except ValueError as e:need(str(e)==reason,'wrong control reason '+name);rejected.append(dict(name=name,reason=reason)) + else:raise ValueError('accepted control '+name) + def accepts(h,q,W=live): + need(W==live,'source-bound normalization');need(moment(h,q,W)[1]<1,'strict moment admission') + def bracket(x,y):need(x1,'old actual profile fails improved target');rejected.append(dict(name='unchanged_T74_profile_at_improved_target',reason='exact lower moment above one')) + need(logarithm(Q(1))==(0,0)and exponential(Q(0))==(1,1),'exact elementary controls');l2=logarithm(Q(2));need(logarithm(Q(4))==(2*l2[0],2*l2[1]),'exact logarithm scaling') + need(before=={str(p.resolve()):sha(p)for p in files}and sha(basepath)==basehash,'input drift') + result=dict(status='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT',replicas=T,live=live,profile=hist,complex_lower=str(lower),complex_upper=str(upper),proposed_outer_target=str(target),strictly_above_full_comparison=True,best_claim_sha256=sha(a.best_claim),best_kappa_rational=best['kappa'],lower_moment_minus_one=display(ll-1,lh-1),upper_moment_minus_one=display(ul-1,uh-1),target_gain_over_comparison=display(target-previous,target-previous),controls=rejected,input_sha256={'owner_receipt':sha(a.owner_receipt),'best_claim':sha(a.best_claim)},baseline_profile_sha256=basehash,scope='Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.') + write_receipt(a.out,result);print(json.dumps({k:result[k]for k in['status','replicas','live','complex_lower','complex_upper','proposed_outer_target','strictly_above_full_comparison']}),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-integer-prefix/packing/inputs/t_bound.py b/research/replica-integer-prefix/packing/inputs/t_bound.py new file mode 100644 index 0000000000..37aa22b7b9 --- /dev/null +++ b/research/replica-integer-prefix/packing/inputs/t_bound.py @@ -0,0 +1,76 @@ +"""Exact one-endpoint all-T pattern bound for unchanged PR2802 inventories. + +No claim of native/controller realization at a different replica count. +""" +import collections,json,pathlib +from fractions import Fraction as Q +from net_screen import Screen +HERE=pathlib.Path(__file__).resolve().parent +s=Screen();r=json.loads((HERE/'T-NORMALIZED-RELAXATION.json').read_text()) +# Prices reconstructed by the nine active pattern equations, row order: +# capacities8,16,32,48; widths4,5,7,8,9. +prices=[{3:Q(-3,20),48:Q(3,20),5:Q(1,4)}, + {3:Q(-3,10),48:Q(3,10),5:Q(1,2)}, + {3:Q(-3,5),48:Q(3,5),5:Q(1)}, {48:Q(1)}, + {1:Q(1),5:Q(-1)}, {5:Q(-1)}, + {3:Q(1,10),48:Q(-1,10),5:Q(-1,2)}, + {3:Q(3,20),48:Q(-3,20),5:Q(-1,4)}, + {3:Q(1,5),48:Q(-1,5)}] +nb={8:672,16:448,32:448,48:448};widths=s.model['width_alphabet'] +rootq=Q(r['root_numerical']);floor=(rootq*10**24).__floor__();lo=Q(floor,10**24);hi=lo+Q(1,10**24) +cache={} +def h(rank,b): + if not rank:return Q(0),Q(0) + if (rank,b) not in cache:cache[rank,b]=s.engine.moment(73,1,[(rank,1)],b) + return cache[rank,b] +def combine(coeff,b,upper=False): + return sum(n*h(rank,b)[int((n>0)==upper)] for rank,n in coeff.items() if n) +slacks=[];tight=[] +for cap,p in s.checker.patterns: + c=collections.defaultdict(Q,{cap-sum(p):Q(1)} if cap>sum(p) else {}) + for rank,n in prices[list(nb).index(cap)].items():c[rank]-=n + for w in p: + for rank,n in prices[4+widths.index(w)].items():c[rank]-=n + c={rank:n for rank,n in c.items() if n} + if not c:tight.append([cap,list(p)]);continue + lower=combine(c,hi) + if lower<=0:raise ValueError(('dual slack unresolved',cap,p,str(lower))) + slacks.append(lower) +# Reconstruct the rational primal and all inventory equations directly. +usedbins=collections.defaultdict(Q);usedwidths=collections.defaultdict(Q);idle=collections.defaultdict(Q) +for cap,p,nstr in r['active_patterns']: + n=Q(nstr) + if n<0 or [cap,p] not in tight:raise ValueError('primal uses a nontight/negative pattern') + usedbins[cap]+=n + for w in p:usedwidths[w]+=n + if cap>sum(p):idle[cap-sum(p)]+=n +if dict(usedbins)!=nb or dict(usedwidths)!={w:9*s.model['baseline_inventory'][w] for w in widths}:raise ValueError('primal inventory mismatch') +# Ten replicas clear every denominator. Exact endpoint signs use integer counts. +profile=collections.Counter({rank:90*n for rank,n in s.model['baseline_local'].items()}) +for rank,n in idle.items(): + if (10*n).denominator!=1:raise ValueError('T10 nonintegral') + profile[rank]+=int(10*n) +lower_sign=s.engine.moment(73,1,list(profile.items()),lo)[1]-8960 +upper_sign=s.engine.moment(73,1,list(profile.items()),hi)[0]-8960 +if not lower_sign<0','exec'),ctx);prices=ctx['prices'] +registry_path=BUNDLE/'provider/PROVIDERS.json';need(sha(registry_path)=='3666edf67d61b01336e58166ec9edebd72902cc37a2da693b05691ab2a387cda','actual P33 registry pin') +registry=read(registry_path);need(registry['gauge44']==registry['extra'],'same actual provider inventory/profile') +inventory=Counter(registry['gauge44']['widths']);local={int(k):v for k,v in registry['gauge44']['actual_paid_profile'].items()} +need(inventory=={4:26,5:2,7:62,8:80,9:238}and local=={1:2382,2:650,3:266,4:128,5:26,8:8},'P33 actual inventory/profile') +template_path=BUNDLE/'provider/GLOBAL-TEMPLATE.json.gz';need(sha(template_path)=='1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db','actual template pin') +template=read(template_path);bins=dict(sorted(Counter(c['rank']for c in template['idle_children']).items())) +need(len({(c['child'],c['port'])for c in template['idle_children']})==18*112,'one source bin per child and port') +need(bins=={8:672,16:448,32:448,48:448},'per-replica source bins') +caps=list(bins);widths=sorted(inventory);rhs=[Q(n)for n in bins.values()]+[Q(9*inventory[w])for w in widths] +patterns=[] +def enumerate_patterns(cap,start=0,items=()): + patterns.append((cap,items)) + for i in range(start,len(widths)): + if sum(items)+widths[i]<=cap:enumerate_patterns(cap,i,items+(widths[i],)) +for cap in caps:enumerate_patterns(cap) +need(len(patterns)==1163 and len(set(patterns))==1163,'complete distinct pattern enumeration') +basis=[(cap,tuple(p))for cap,p,_ in read(inputs/'T-NORMALIZED-RELAXATION.json')['active_patterns']] +def column(cap,p):return [Q(c==cap)for c in caps]+[Q(p.count(w))for w in widths] +cols=[column(c,p)for c,p in basis];matrix=[[cols[j][i]for j in range(9)]+[rhs[i]]for i in range(9)] +for j in range(9): + pivot=next(i for i in range(j,9)if matrix[i][j]);matrix[j],matrix[pivot]=matrix[pivot],matrix[j] + scale=matrix[j][j];matrix[j]=[x/scale for x in matrix[j]] + for i in range(9): + if i!=j: + q=matrix[i][j];matrix[i]=[a-q*b for a,b in zip(matrix[i],matrix[j])] +counts=[matrix[j][-1]for j in range(9)];need(all(n>=0 for n in counts),'nonnegative exact primal') +need([sum(cols[j][i]*counts[j]for j in range(9))for i in range(9)]==rhs,'all nine primal inventory equations') +idle=defaultdict(Q) +for (cap,p),n in zip(basis,counts): + if cap>sum(p):idle[cap-sum(p)]+=n +idle=dict(idle);need(idle=={1:Q(234),3:Q(441,5),5:Q(129),48:Q(1799,5)},'normalized P33 idle') +hist=Counter({r:9*n for r,n in local.items()});hist.update(idle) +need(sum(r*n for r,n in hist.items())==65088,'normalized complete rank mass') +L,H=0.,.002 +for _ in range(60): + q=(L+H)/2;value=sum(float(n)*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*896) + if value<1:L=q + else:H=q +grid=10**24;unit=10**12;mid=int(((L+H)/2)*10**12)*unit;L,H=mid-unit,mid+2*unit +while engine.moment(hist,Q(L,grid),896)[1]>=1:L-=unit +while engine.moment(hist,Q(H,grid),896)[0]<=1:H+=unit +while H-L>1: + m=(L+H)//2;a,b=engine.moment(hist,Q(m,grid),896) + if b<1:L=m + elif a>1:H=m + else:raise ValueError('independent moment enclosure too wide') +lo,hi=Q(L,grid),Q(H,grid);lower=engine.moment(hist,lo,896);upper=engine.moment(hist,hi,896) +need(lower[1]<1sum(p)else{}) + for r,n in prices[caps.index(cap)].items():c[r]-=n + for w in p: + for r,n in prices[4+widths.index(w)].items():c[r]-=n + return {r:n for r,n in c.items()if n} +slacks=[];tight=[] +for cap,p in patterns: + c=coeff(cap,p) + if not c:tight.append((cap,p));continue + # Signed interval combination gives a rigorous lower slack, including all + # negative price coefficients, at the cap's strict upper endpoint. + slack=sum(n*h(r,hi)[0 if n>0 else 1]for r,n in c.items()) + need(slack>0,'all-column directed dual feasibility');slacks.append(slack) +need(all(p in tight for p in basis),'primal supported on symbolically tight columns') +forced=defaultdict(Q) +for b,price in zip(rhs,prices): + for r,c in price.items():forced[r]+=b*c +forced={r:n for r,n in forced.items()if n};need(forced==idle,'symbolic primal/dual objective equality') +owner_path=args.owner;moment_path=args.moment;claim_path=BUNDLE/'provider/OUTER-CLAIM.json' +owner=read(owner_path);actual=read(moment_path);claim=read(claim_path) +need(owner['replicas']==124 and owner['status']=='PASS_INDEPENDENT_T_OWNER_CHRONOLOGY_MASKS'and len(owner['controls'])==7,'actual complete T124 geometry') +need(actual['status']=='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT'and len(actual['controls'])==5 and actual['input_sha256']['owner_receipt']==sha(owner_path),'actual exact moment binding') +need(sha(claim_path)=='6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70'and actual['best_claim_sha256']==sha(claim_path),'full exact headline comparator binding') +previous=Q(claim['kappa']);need(previous==Q(claim['kappa_rational']),'full exact headline equality') +target=Q(actual['proposed_outer_target']);gain=target-previous;need(00,'positive integer T') + return [8]*(T//8)+([T%8] if T%8 else []) + +def build(T, groups=None, order=None): + s=source(); groups=grouping(T) if groups is None else list(groups) + require(sum(groups)==T and all(isinstance(q,int) and 1<=q<=8 for q in groups),'group partition') + olddata=37*896; data=T*896; live=data+len(groups)*BANK_PER_GROUP + t=copy.deepcopy({k:v for k,v in s.items() if k not in ('calls','bank_padding','local_programs')}) + # Programs are immutable and reused literally; there is no new phase oracle. + t['local_programs']=s['local_programs'] + t.update(version='arbitrary-T-dedicated-source-bank-envelope-v1',live=live,physical=live+PRIVATE) + templates={(c['stage'],c['replica']):c for c in s['calls'] if c['replica']<8} + location={}; off=0 + for g,q in enumerate(groups): + for lane in range(q): location[off+lane]=(g,lane) + off+=q + order=[(st,r) for st in range(9) for r in range(T)] if order is None else [tuple(x) for x in order] + require(len(order)==9*T and set(order)=={(st,r)for st in range(9)for r in range(T)},'call coverage') + require(all([st for st,r in order if r==rep]==list(range(9))for rep in range(T)),'per-replica stage order') + calls=[] + for st,r in order: + g,lane=location[r]; old=templates[st,lane] + c={k:copy.deepcopy(v) for k,v in old.items() if k!='owners'}; c['replica']=r + c['owners']=[[f-lane*896+r*896,copy.deepcopy(route)]for f,route in old['owners'][:224]] + c['owners'] += [[data+g*BANK_PER_GROUP+st*HELPERS+h,copy.deepcopy(route)]for h,(_,route) in enumerate(old['owners'][224:])] + calls.append(c) + t['calls']=calls + widths=[9 if len(route)==2 else route[2] for _,route in templates[0,0]['owners'][224:]] + children=[] + for g,q in enumerate(groups): + for st in range(9): + for h,w in enumerate(widths): + axes=list(range(q*w,M)) + children.append(dict(family=data+g*BANK_PER_GROUP+st*HELPERS+h,rank=len(axes),axis_indices=axes,orthogonal_axes=[1<=30] + project={r:[]for r in range(T)} + for e in result[:-2]:project[e['replica']].append(e['source_event']) + require(all(v==list(range(30))for v in project.values()),'all thirty literal events per source replica') + require([e['source_event']for e in result[-2:]]==[30,31],'two global source events') + return result + +def compare74(): + actual=read(REFERENCE);groups=actual['replica_lift']['groups'];order=[(c['stage'],c['replica'])for c in actual['calls']] + ours=build(74,groups,order) + ignore={'version','route_semantics'} + require({k:v for k,v in ours.items()if k not in ignore}=={k:v for k,v in actual.items()if k not in ignore},'actual T74 complete semantic identity') + require(ours['route_semantics']['data']==actual['route_semantics']['data'] and ours['route_semantics']['work']==actual['route_semantics']['work'],'T74 other route semantics unchanged') + return dict(status='PASS',reference_file_sha256=sha(REFERENCE),reference_content_sha256=identity(actual),identical_fields=[k for k in ours if k not in ignore],differences=['version label','helper route explanatory string only'],source_call_order_matched=True) + +def write_new(p,x): + p=Path(p);p.parent.mkdir(parents=True,exist_ok=True); lock=p.with_suffix(p.suffix+'.lock') + fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + try: + os.write(fd,str(os.getpid()).encode());os.close(fd);fd=None + require(not p.exists(),'preserve existing output') + raw=canonical(x) + if p.suffix=='.gz': + b=bytearray(gzip.compress(raw,mtime=0));b[9]=255;raw=bytes(b) + with p.open('xb')as h:h.write(raw) + finally: + if fd is not None:os.close(fd) + lock.unlink() + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--T',type=int,default=80);ap.add_argument('--out',type=Path,required=True);ap.add_argument('--order',type=Path) + a=ap.parse_args();require(not a.out.exists(),'fresh output directory required');a.out.mkdir(parents=True) + order=read(a.order)if a.order else None + t=build(a.T,order=order);receipt=check(t,t['replica_lift']['groups']);receipt['T74_comparison']=compare74() + stages=[(c['stage'],c['replica'])for c in t['calls']];sched=expand_schedule(t,stages) + receipt.update(status='PASS_EXPLICIT_SOURCE_PARENT_GEOMETRY',source_file_sha256=SOURCE_SHA,source_content_sha256=SOURCE_ID,source_recipe_unchanged=True,source_events_per_replica=30,global_tail=[30,31],expanded_events=len(sched),phase_claim='Literal reuse of authenticated source local programs and phase recipes; this is not a fresh native phase replay.',scope='Dedicated parent only; final hosted owner assignment/invoice/admission remains separate.',script_sha256=sha(__file__)) + write_new(a.out/'GLOBAL-TEMPLATE.json.gz',t);write_new(a.out/'SOURCE-SCHEDULE.json.gz',sched) + receipt['template_content_sha256']=identity(t);receipt['template_file_sha256']=sha(a.out/'GLOBAL-TEMPLATE.json.gz');receipt['schedule_content_sha256']=identity(sched) + write_new(a.out/'RESULT.json',receipt) + require(sha(SOURCE)==SOURCE_SHA,'source unchanged after output') + print(json.dumps(receipt,sort_keys=True)) +if __name__=='__main__':main() diff --git a/research/replica-integer-prefix/reproduce.py b/research/replica-integer-prefix/reproduce.py new file mode 100644 index 0000000000..950e41c9fa --- /dev/null +++ b/research/replica-integer-prefix/reproduce.py @@ -0,0 +1,174 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Reproduce the complete source-bound integer-reserve construction. + +Default: four fresh native chains, fresh retained parent and complete changed +admission. Explicit --prepared-native authenticates and reuses all native files. +""" +import argparse +from fractions import Fraction +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import time + +sys.dont_write_bytecode = True +from verify_sources import HERE, ROOT, check, need, read, sha, tree + +SOURCE_HEAD = 'e9307b48d7d1b690939935ecef0f8e524e6d92f4' +SOURCE_MANIFEST = 'c8ec4d1b7be08d2ad30730a07392ad9cb6d0222f2c35bef43c9a80a39b16e41f' +PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' +NATIVE_PROTOCOL = 'cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012' + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2)+'\n', encoding='utf8', newline='\n') + + +def native_protocol(): + utility = ROOT/'research/replica-tail-gain/portable_prepare_native.py' + need(sha(utility) == NATIVE_PROTOCOL, 'native protocol implementation') + spec = importlib.util.spec_from_file_location('pinned_native_protocol', utility) + auth = importlib.util.module_from_spec(spec) + spec.loader.exec_module(auth) + return auth + + +def child_environment(work): + # The same process-scoped LF adapter must reach admission and its children, + # including the explicit prepared-native path, on every supported platform. + adapter = work/'process-lf-adapter' + adapter.mkdir() + (adapter/'sitecustomize.py').write_text(native_protocol().LF_SHIM, + encoding='utf8', newline='\n') + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONINTMAXSTRDIGITS='0', PYTHONUTF8='1', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', MKL_NUM_THREADS='1', NUMEXPR_NUM_THREADS='1') + env['PYTHONPATH'] = str(adapter)+(os.pathsep+env['PYTHONPATH'] if env.get('PYTHONPATH') else '') + for name in ('PYTHONOPTIMIZE','WITNESS_SPEC','WITNESS_DISCOVER','WITNESS_RECORD'): + env.pop(name, None) + return env + + +def authenticate_native(native): + result = read(native/'RESULT.json') + receipt = read(native/'NATIVE-RECEIPT.json') + source, cache = native/'source', native/'native-cache' + need(result['status'] == 'PASS_PORTABLE_NATIVE_PREPARATION' and + result['native_receipt_sha256'] == sha(native/'NATIVE-RECEIPT.json'), 'complete native preparation receipt') + need(receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' and + receipt['source_commit'] == SOURCE_HEAD and receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native source/protocol binding') + need(result['source_file_count'] == 541 and sha(source/'MANIFEST.json') == SOURCE_MANIFEST and + len(read(source/'MANIFEST.json')) == 541 and tree(source, ('MANIFEST.json',)) == read(source/'MANIFEST.json'), 'complete exact native source') + need(tree(cache) == receipt['cache_files'], 'complete exact native cache') + need(receipt['fresh_current_provider_count'] == 2 and + receipt['fresh_retained_native_count'] + receipt['reused_retained_native_count'] == 2 and + receipt['fresh_retained_parent'] != receipt['reused_retained_parent'], 'explicit complete native coverage') + auth = native_protocol() + for tag in ('base','extra'): + word = source/f'new/borrow/words/BORROW-WORD-43{tag}.json.gz' + need(receipt['providers'][tag]['word_sha256'] == sha(word), 'current word binding') + entry = cache/sha(word) + auth.bind_native(entry, word) + need(tree(entry, ('CACHE.json',)) == receipt['providers'][tag]['complete_native_files'], 'complete current native files') + old = source/'vendor/pr1297' + need(sha(old/'MANIFEST.json') == PARENT_MANIFEST and + tree(old, ('MANIFEST.json',)) == read(old/'MANIFEST.json'), 'complete retained parent source') + retained = {tag:old/name for tag,name in + (('base','gauge44-word.json.gz'),('extra','extra-word.json.gz'))} + for word in retained.values(): + auth.bind_native(cache/sha(word), word) + parent_dir = cache/'_receipts'/PARENT_MANIFEST + need(sha(parent_dir/'RECEIPT.json') == receipt['retained_parent_receipt_sha256'], 'retained parent receipt binding') + parent_receipt = read(parent_dir/'RECEIPT.json') + need(parent_receipt['schema'] == 'parent-receipt/1' and + parent_receipt['vendor_manifest_sha256'] == PARENT_MANIFEST and + parent_receipt['claim_sha256'] == sha(old/'CLAIM.json') and + parent_receipt['words'] == {tag:sha(word) for tag,word in retained.items()}, 'retained parent source/claim/word binding') + need(set(parent_receipt['files']) == {'RESULT.json','STAGES.json'} and + set(tree(parent_dir)) == {'RECEIPT.json','RESULT.json','STAGES.json'}, 'complete retained parent receipt files') + need(all(sha(parent_dir/name) == digest for name,digest in parent_receipt['files'].items()), 'retained parent receipt file hashes') + parent_stages = read(parent_dir/'STAGES.json') + expected_stages = {name+'-'+tag for tag in ('base','extra') for name in + ('literal-word','independent-local','fusion-controls','x54-controls', + 'kernel543-controls','kernel-controls','leaver-premise')} + expected_stages.update(('literal-construct','strict-global')) + need(len(parent_stages) == 16 and + {stage['name'] for stage in parent_stages} == expected_stages and + all(stage['exit_code'] == 0 for stage in parent_stages), 'sixteen successful retained parent stages') + parent = read(parent_dir/'RESULT.json') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' and + parent['kappa'] == read(old/'CLAIM.json')['kappa'] and parent['stages'] == parent_stages and + parent['base_native_reuse'] is True and parent['extra_native_reuse'] is True, 'retained parent PASS/claim/stage binding') + # Complete admission independently recounts canonical programs and primitive + # work and checks the changed supplier, reserve, and outer construction. + return dict(native_receipt_sha256=sha(native/'NATIVE-RECEIPT.json'), + result_sha256=sha(native/'RESULT.json'),source_manifest_sha256=SOURCE_MANIFEST, + cache_files=receipt['cache_files']) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--source', type=Path, help='Optional exact541-file PR2833 source; default is the merged predecessor package.') + ap.add_argument('--prepared-native', type=Path, help='Explicit reuse of a completely authenticated PR2833 native preparation.') + ap.add_argument('--jobs', type=int, default=4) + a = ap.parse_args() + need(not sys.flags.optimize and 1 <= a.jobs <= 80, 'enabled assertions and1..80jobs') + pins = check() + claim = read(HERE/'CLAIM.json') + previous = read(HERE/'inputs/PR2833-OUTER-CLAIM.json') + need(Fraction(previous['kappa']) == Fraction(previous['kappa_rational']), 'all incumbent digits bound') + work = a.work.resolve() + need(not work.exists() and not work.is_relative_to(ROOT), 'fresh output outside repository') + for p in (a.source,a.prepared_native): + need(p is None or not work.is_relative_to(p.resolve()), 'output/read-only input separation') + work.mkdir(parents=True) + env = child_environment(work) + stages, started = [], time.monotonic() + + def run(name, script, *args): + command = [sys.executable,'-B',str(script),*map(str,args)] + log, begin = work/(name+'.log'), time.monotonic() + with log.open('w',encoding='utf8',newline='\n') as f: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, stdout=f, stderr=subprocess.STDOUT) + stages.append(dict(name=name,command=command,exit_code=result.returncode,seconds=time.monotonic()-begin, + script_sha256=sha(script),log_sha256=sha(log))) + write(work/'STAGES.json', stages) + need(result.returncode == 0, 'failed '+name+'; see '+str(log)) + print('PASS',name,flush=True) + + if a.prepared_native: + native = a.prepared_native.resolve() + else: + native = work/'native' + args = ['--work',native,'--jobs',min(4,a.jobs)] + if a.source: + args += ['--source',a.source.resolve()] + run('fresh-native-preparation',HERE/'prepare_native.py',*args) + binding = authenticate_native(native) + run('complete-admission',HERE/'admit_integer_prefix.py', + '--source',native/'source','--native-cache',native/'native-cache', + '--native-receipt',native/'NATIVE-RECEIPT.json','--fill',HERE/'data/FILL.json.gz', + '--order',HERE/'data/ORDER.json','--dispatch',HERE/'data/DISPATCH.json', + '--work',work/'admission','--replica-helper-dir',HERE, + '--reconstructor',ROOT/'research/replica-tail-gain/reconstruct_replica.py', + '--comparison-claim',HERE/'inputs/PR2833-OUTER-CLAIM.json', + '--source-profile','pr2833','--comparison-profile','pr2833','--jobs',a.jobs) + result = read(work/'admission/RESULT.json') + need(result['status'] == 'PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', 'complete finite release') + need(result['replicas'] == claim['replicas'] and Fraction(result['kappa']) == Fraction(claim['kappa']) > Fraction(previous['kappa']), 'exact new headline and strict gain') + need(authenticate_native(native) == binding and check() == pins, 'no input drift') + report = dict(status='PASS_INTEGER_PREFIX_COMPLETE_RELEASE',replicas=claim['replicas'],kappa=result['kappa'], + explicit_native_reuse=bool(a.prepared_native),fresh_native_preparation=not bool(a.prepared_native), + native_binding=binding,candidate_result_sha256=sha(work/'admission/RESULT.json'), + release_receipt_sha256=result['release_receipt_sha256'],stages=stages,seconds=time.monotonic()-started, + scope='Conditional finite supplier and modern outer release. Inherited all-size compiler/source-access/hosting/precision/tape/recovery/BIT/analytic hypotheses remain.') + write(work/'RESULT.json', report) + print(report['status'], result['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-integer-prefix/requirements.txt b/research/replica-integer-prefix/requirements.txt new file mode 100644 index 0000000000..688ac23a71 --- /dev/null +++ b/research/replica-integer-prefix/requirements.txt @@ -0,0 +1,4 @@ +numpy==1.26.4 +scipy==1.15.3 +sympy==1.14.0 +mpmath==1.3.0 diff --git a/research/replica-integer-prefix/verify_sources.py b/research/replica-integer-prefix/verify_sources.py new file mode 100644 index 0000000000..44b5463d81 --- /dev/null +++ b/research/replica-integer-prefix/verify_sources.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Check the exact package, external inputs and executable source derivation.""" +import hashlib +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parent.parent + + +def need(value, message): + if not value: + raise ValueError(message) + + +def read(path): + return json.loads(path.read_bytes()) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def tree(root, exclude=()): + result = {} + for p in sorted(root.rglob('*')): + need(not p.is_symlink(), 'symlink in authenticated tree') + if p.is_file(): + name = p.relative_to(root).as_posix() + if name not in exclude: + result[name] = sha(p) + return result + + +def check(): + expected = read(HERE/'MANIFEST.json') + need(tree(HERE, ('MANIFEST.json',)) == expected, 'exact package inventory') + sources = read(HERE/'SOURCES.json') + live = [r for r in sources['files'] if r['usage'] == 'input'] + for row in live: + path = ROOT/row['path'] + need(path.resolve().is_relative_to(ROOT.resolve()) and not path.is_symlink(), 'external input path') + need(sha(path) == row['sha256'], 'external input SHA256: '+row['path']) + derivation = read(HERE/'DERIVATION.json') + need(derivation['source_head'] == 'f1826afe1f487333f2c1e5bf862bae2211ce8dd9', 'derivation predecessor') + need(sha(HERE/'build_adapter.py') == derivation['builder_sha256'], 'exact adapter generator') + for record in derivation['changes']: + source, target = ROOT/record['source'], HERE/record['target'] + need(sha(source) == record['source_sha256'], 'derivation source pin') + body = source.read_text(encoding='utf8') + for before, after in record['replacements']: + need(body.count(before) == 1, 'unique exact patch preimage') + body = body.replace(before, after) + need(target.read_bytes() == body.encode('utf8') and sha(target) == record['target_sha256'], 'exact executable derivation') + independent = HERE/'independent' + audit = read(independent/'DERIVATION.json') + originals = {} + for row in audit['source_copies']: + source, target = ROOT/row['source'], independent/row['target'] + need(sha(source) == sha(target) == row['sha256'], 'independent copied source pin') + if row['target'].startswith('source/independent_candidate_'): + name = 'owners.py' if '_owners_' in row['target'] else 'moment.py' + originals[name] = target.read_text(encoding='utf8') + need(set(originals) == set(audit['targets']), 'complete independent derivation') + for row in audit['changes']: + body = originals[row['target']] + need(body.count(row['before']) == 1, 'unique independent patch preimage') + originals[row['target']] = body.replace(row['before'], row['after']) + for name, digest in audit['targets'].items(): + need((independent/name).read_bytes() == originals[name].encode('utf8') and + sha(independent/name) == digest, 'exact independent algorithm derivation') + construction = read(HERE/'construction/DERIVATION.json') + body = (HERE/'construction/original_build_p33.py').read_text(encoding='utf8') + for name, digest in construction['construction_artifacts_sha256'].items(): + need(sha(HERE/'construction'/name) == digest, 'exact allocation support artifact') + for before, after in construction['changes']: + need(body.count(before) == 1, 'unique allocation generator preimage') + body = body.replace(before, after) + need((HERE/'build_allocation.py').read_bytes() == body.encode('utf8') and + sha(HERE/'build_allocation.py') == construction['adapted_builder_sha256'], 'exact allocation generator derivation') + declared = {row['path']:row['sha256'] for row in live} + need(all(declared.get(row['path']) == row['sha256'] for row in construction['external_inputs']), + 'all allocation generator inputs declared') + need(sha(HERE/'inputs/PR2833-OUTER-CLAIM.json') == '6f2c4195f0226c5a7f9ba604bc038cfd4100ba3caeeac8ed2defb6fb00632b70', 'exact full latest comparison') + return dict(status='PASS_SOURCE_AND_DERIVATION_BINDINGS',package_files=len(expected), + external_inputs=len(live),manifest_sha256=sha(HERE/'MANIFEST.json')) + + +if __name__ == '__main__': + print(json.dumps(check(), sort_keys=True)) diff --git a/research/replica-tail-gain/CLAIM.json b/research/replica-tail-gain/CLAIM.json new file mode 100644 index 0000000000..d3d320a2ce --- /dev/null +++ b/research/replica-tail-gain/CLAIM.json @@ -0,0 +1,29 @@ +{ + "calls": 846, + "comparison_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "comparison_kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2802, + "complex_lower": "1717795160032012107407/1000000000000000000000000", + "complex_upper": "107362197502000756713/62500000000000000000000", + "gain": "8795668872179/50000000000000000000000", + "helpers_per_call": 408, + "kappa": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177951600320121074069999999999999999999998999999999999999999999999", + "live": 84224, + "physical": 84714, + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "rank_mass": 6118272, + "replicas": 94, + "roles": 345168, + "scope": "Complete conditional finite supplier and modern outer release. Inherited all-size compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer contracts remain. Mathlib proves the stated universal paid-cost inequalities, not the complete multiplication theorem.", + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA" +} diff --git a/research/replica-tail-gain/FRONTIER.md b/research/replica-tail-gain/FRONTIER.md new file mode 100644 index 0000000000..5af16428cb --- /dev/null +++ b/research/replica-tail-gain/FRONTIER.md @@ -0,0 +1,39 @@ +# Frontier comparison and certificate scope + +The actual T94 allocation composed with PR2802's retired7 native words passes independent whole-owner and exact rational moment checks. **The complete changed native/global/outer release passes** (`PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE`, with `PASS_RELEASE`). The Mathlib proof supplies paid-profile identities and retained-tail dilution inequalities; finite moment admission alone is not a new all-size multiplication theorem. + +The two current native providers were authenticated to fresh five-stage runs. Two retained native chains and parent evidence were reused with checked source/artifact hashes; all changed T94 ownership, global controller/phase, finite invoice, outer and strict release checks ran freshly. The original full-result SHA256 is `14d5153f623b0d32c0fa05e90bfcd758489bfed3f7e94393f2e32e6b0dfc5c64`; its release-receipt SHA256 is `48539b00227ca792b06199e937b12f5c6b79385ce7e4d78743060503c22ba369`. These are source-bound release checks, not an independent proof of the inherited all-size interfaces. + +## Current comparison + +Repository: [CrocSwap/integer-mult-bounds](https://github.com/CrocSwap/integer-mult-bounds). Ordinary public repository HTML at 2026-10-15T23:14:43UTC identifies main `544a7e82810e30cab61c297cb2e2ea86127fe944`. Its pinned README and selected-result bytes match the earlier snapshot. The maintainer-reviewed selected conditional point remains `836330098538459/500000000000000000 = 0.001672660197076918`; stronger pending claims remain distinct from that selected record. + +The highest complete-supplier claim found in the reviewed current sources is [PR2802](https://github.com/CrocSwap/integer-mult-bounds/pull/2802), current HTML head `17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd`. Its exact rational is +`0.001717794984118634663827 - 10^-46 - 10^-70`. +The construction commit is `043467ad07c512a8a1717a03cf940be35936b240`; the later head adds cold evidence. Native words, provider inventory, profile, claim, verifier and derivative overlay were checked byte-identical between those commits. The 124-file current subtree is preserved under `vendor/frontier` with original licenses/notices, SHA256 and Git-blob checks. The exact full comparison is `references/PR2802-CLAIM.json`, SHA256 `a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51`. + +[PR2767](https://github.com/CrocSwap/integer-mult-bounds/pull/2767), head `e8b771ba132fe632796b28c1742a8d096c04519f`, previously claimed approximately `0.001717256973467002308270944796906915`. [PR2766](https://github.com/CrocSwap/integer-mult-bounds/pull/2766), head `e6df920cd0110e4b629e2ad84eddcb539001e174`, has the same mathematical profile/root with a slightly shorter certified rational. Both heads were freshly corroborated by public HTML. The full PR2767 rational remains historical comparison data; improving its rounding is not the current frontier test. + +## Attribution and actual change + +**PR2802 is Marius-Paul Dumitrean's work**, prepared with substantial Anthropic Claude/Claude Code assistance, as its retained NOTICE states. It moves the hostees of B-warps 30/31 from lenders 401/403 onto retired lenders 564/565, enabling aliases 667<-401 and669<-403, on top of aliases 606<-550,635<-551,637<-552,638<-553,639<-562. Those native improvements, refits and source restoration are inherited here. + +Further credit belongs to Tekalign/PR2751's joint twelve-source recovery, PR2766's certified frame refit, PR2733's earlier frame-route work, Philippe Van Velzen/PR2679's pre-life hosting and retired-lender alias mechanism, Mason Hale/PR2696's assignment, zxv/PR2530's source-partner loans, Jeremy Kothe/PR2588's helper-label exchange, and Cinna Davis/PR2226's anticipatory borrowing. The independent frame and chronology methods keep their retained credits. PR2767's alternative route reaches the same predecessor profile and supplies no extra stackable gain. PR2411 links Dan Brown and Kenny Daniel's complete asymptotic FinTM2 multiplication proof; no first-proof claim is made here. + +This package changes the **literal paid owner geometry to 94 replicas** and composes it with the inherited native words. Each removed helper has width 5. Deleting its actual roles, renumbering survivors and compacting pending-bin prefixes preserves the checked windows and distinct physical families. The complete profile is +`{1:2037168,2:548208,3:235104,4:108288,5:34544,8:6768,32:1,48:33736}`. +It has 846 calls, 408 helpers per call, 345168 literal owner roles, live stock 84224, charged physical stock 84714 including 72 private buffers, rank mass 6118272 and deficit 30080. Actual word frames, scalar endpoints, cleanup, chronology, capacities and masks were independently checked, including seven semantic corruption controls. + +The independent directed rational bracket is +`[1717795160032012107407/10^24,1717795160032012107408/10^24]`. +The proposed outer target is its lower endpoint minus `10^-46 + 10^-70`. Its **exact arithmetic gain over the full published PR2802 rational** is +`8795668872179/50000000000000000000000 = 1.7591337744358e-10`. +Moment controls reject the unchanged predecessor at the improved target, reversed brackets, an inadmissible upper endpoint, changed normalization and an unpaid child. The complete changed native/global/outer release also passes at this exact rational. The resulting multiplication implication retains the inherited all-size and analytic assumptions. + +Vendored historical replay evidence and reconstruction overlays are intentional pinned upstream inputs. Their original success records and execution-path strings are historical provenance, not fresh T94 evidence or this package's host paths. Fresh receipts use logical/relative labels. No historical full release is credited as a new-candidate pass. + +## Coverage limits + +The initial review fetched all 723 then-open PR bodies and 296 Discussion bodies. Of 1140 listed comments/replies, 631 unique flat records were obtained before API 403/429; comment coverage remains incomplete. The normal post-reset quota check at 23:02:45UTC still reported zero and a past reset. Further REST requests stopped. `git ls-remote` failed `SEC_E_NO_CREDENTIALS`; no configuration or credential changes were made. + +A separate ordinary-public-HTML refresh fetched and parsed 100 current PR primary bodies and 100 head fields at 23:15:22-23:15:41UTC, using the first 100 unique entries across five updated-open-PR pages. `references/RECENT-PRS.json` and `references/PINS.json` bind channels, dates, heads and source hashes. No higher complete-supplier claim was found in this bounded sample. Larger PR2802/2766 numbers are packing relaxations. PR2464's 0.001730427469823602 figure is a hypothetical shared ledger: its actual body says unchanged hosting pays both wrappers, the moment stays unchanged and no supplier is admitted. Recent QQ16, P104 and BIT component proofs retain supplier/physical/transfer obligations or disclaim new kappa; these costs are not silently treated as free. This review establishes neither universal novelty nor coverage of unpublished work. diff --git a/research/replica-tail-gain/LICENSE b/research/replica-tail-gain/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/replica-tail-gain/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/replica-tail-gain/MANIFEST.json b/research/replica-tail-gain/MANIFEST.json new file mode 100644 index 0000000000..30b8ba0f6b --- /dev/null +++ b/research/replica-tail-gain/MANIFEST.json @@ -0,0 +1,171 @@ +{ + ".gitattributes": "769783a1399f134634fac029e86d9eed9a7f486f912a8541831f06486e586bc9", + "CLAIM.json": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "FRONTIER.md": "1e22af84767e0e967a139e720d2cccf2388f22d5250f0297eaa7552a15687afe", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "MODULES.json": "f59ec6da5dd6c67a8731ecbaea59dec8947a087e929eec981001abe6f5fdb62f", + "PARENT-LIFT.md": "9fa28a213c33c313be0ebca6a479ede687b14cc5c752fe60419d1f38e6b16d48", + "PORTING.json": "126e75f86b561c24b8cd54725af6dd2fe61ba4a31311352bff699df4e0a05ff6", + "PROOF.md": "68b11b272d7b7a9e78a64e5ff830038c873d9b25ca2f5f2a0f6e790a9c7998f8", + "README.md": "076ab199a6f70f8085316e70b547f7d868b6aad7326d83531243065ab1b164b7", + "TASK.json": "2acfc2cafb40b83c1e603f281eca8fa2e5dce32b40bc34289a5cac78aeba02ba", + "VERIFY.json": "74a2ecc590671214757b99b5affabfaa12c9b23e2ec5529999d368c8b0b24496", + "admit_frontier_replica.py": "d3274dd18f2ef27efbd9b53155654164019d95cd96640de87470c7e9d92d00e5", + "check_candidate.py": "665dae9dcaabbe5f2789eec8431052921c4eb86d078caeac468736ec03690552", + "data/DISPATCH.json": "96317d851f3cbc07825b91d8f6ccb0624ff0dad95687a0b77d5f7ee4dbb79c8c", + "data/FILL.json.gz": "5742b0ccc48fb1e2872f2093c4599988d0d3c2b0f219e7dc991a04703e04016b", + "data/ORDER.json": "ccae08149024d088971709d34971f337b869d9523576b90fe73e342d3699e132", + "data/PROFILE.json": "37dbc02d9ad66556542d5fd4ffc313ebc1fbba64404f6d917a5bae97f1f6e118", + "expected/AXIOMS.json": "0be8a915acea5215e077c560e95e0cd70d204b57ea86ac3a1c6215cfb0403596", + "independent_candidate_moment_retired7.py": "b2436771689acb2920e30bbf539ac2634bca0e5ad9230cffad19c764f7b0f309", + "independent_candidate_owners_retired7.py": "77a848729159e271ba64f403dfd59dddb13044b17b2950fa56700f442e2fe461", + "lean/Check.lean": "68966f329982188c49a37c51753271ebc1c0afd321195e4aa595562275912aaa", + "lean/MultitapeToolkit.lean": "687acc8852564c070faef931b0d76c31d3544cc29f62390fc2992cadb6c4a2ea", + "lean/MultitapeToolkit/ReplicaTailGain.lean": "c043cc6740a79b8a29d1519cb9e11c8e9bc52d6937f4317f630a28dce074e1d1", + "lean/lake-manifest.json": "ba2084428ea075a408191fd72f30bddaf19923c5e6ebd55e2bbe7528d4afef90", + "lean/lakefile.toml": "7882ef23598228f705e8abbecea6a1674f72f1386d297c4d24c73b75c89e595d", + "lean/lean-toolchain": "8152090414016dd5dc871752f8ce4ecdbd604d9845758e9b9047cb80101280b5", + "lift_parent.py": "4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d", + "portable_frontier_cold.py": "8000bb159f5c4e5fd4a312a4849b98f81630e306f84a33b901d8838fd8b7c7ad", + "portable_prepare_native.py": "cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012", + "provenance/ADMISSION-SOURCES.json": "c560bafd4d2a3db895017e26bd72fdfb9f715c7c50588af92caa24008ff4938d", + "reconstruct_replica.py": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15", + "references/PINS.json": "eba325ade41aed492ab9462cf13387b7fe608525b0170c6357c5920de2190754", + "references/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "references/PR2802-CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "references/RECENT-PRS.json": "c56be4b596c83fe1a8c3d13172f34db8b90c85807822835647bc75606a26e045", + "replay.py": "ff899fcb325139b9322e9ccbfc65508f153956c25ae25f51c257fe1a274c61f9", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "requirements.txt": "d0bb9e22d31263ae22e6bb9379e644a5e5489b12d2d639172c4bee162afe658f", + "validation/COMPLETE.json": "dffd513386fab65a6834f90029418116bc80bafa0fddcdac5863922eb9c4d5be", + "validation/KERNEL.json": "ba6fa69d043e1c437463b2df948f5fef40f8c159a1ff4f980d16a8999df9125f", + "validation/MOMENT.json": "dcaed4745dfadc810bf25cc8dfb0e2e2d72c76a242700902afd29bc95cac13cd", + "validation/NATIVE.json": "7e803c03b071d7c5c6dc998a32eedd4e9e519dc6133d3ebeafef3dd77fae7959", + "validation/OWNERS.json": "7b1df890302ca2a48318f903a29d419be297cef78a9bd5779a0ded422e430b13", + "vendor/frontier/.gitattributes": "12ab6f9af287290f2f2404907fdd114faa5a085fe9eae713294537ff6b45132e", + "vendor/frontier/CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "vendor/frontier/DERIVATIVE-CODE.patch": "36fe5e24ecf22be987360647de1167185ffb92603bebb1959a065e56524586e1", + "vendor/frontier/DERIVATIVE-OVERLAY.tar.gz": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "vendor/frontier/DOWNLOAD-MANIFEST.json": "fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497", + "vendor/frontier/GENERATOR-PINS.json": "8823d9ad809cdd2e469f21ae1982a379f302bb9bf177cff069ef99a52163c286", + "vendor/frontier/INPUT-PINS.json": "c59957b3a312c643e8de6fa12c57adc0683ef29d8d74b051d0087a7c64232d21", + "vendor/frontier/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/NOTICE": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "vendor/frontier/OVERLAY-PINS.json": "496f1daf28d46a0b7aafe5a8968a2078b7bc9c2fa29089d16092c2f5041813bb", + "vendor/frontier/PROFILE.json": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "vendor/frontier/PROOF.md": "6ecefda5d853e3ede1ee06aab08de24dfde960d98178a71844340ed86ae0d9b9", + "vendor/frontier/README.md": "8ea1568d186bdf5086aa2efff6c24fe6b34a6d4790393e763a4ddf683541df69", + "vendor/frontier/RETIRED5-CODE.patch": "c94370f5e40631012709f038762126c88678f45e441a201d9156a56d53524ec8", + "vendor/frontier/RETIRED7-CODE.patch": "5fe86a963cf0e68ca9a48704910be58d76b48d966c2d6026edbce785796a0fcf", + "vendor/frontier/REUSE-PINS.json": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "vendor/frontier/SOURCE-FILES.json": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "vendor/frontier/SOURCE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "vendor/frontier/SOURCES.json": "ede36d6b940094ea7f27e9a8f7ba4d320ca99b97843e9de03ef68c5c93306ed5", + "vendor/frontier/TASK.json": "c725b9fb1acbbff8c4d0a72e63a4e81e7b0fd12926d5ddb37d0fd4a52b3f2e55", + "vendor/frontier/VERIFY.json": "e32cfbc20fcd9e1ed43b920fcdc9eacc8106c1e35f3b3d33303a700582657ac4", + "vendor/frontier/composition.py": "f202f8ce9730b778c9ee1213d63d444d117df5ff7d47933037a924723a37e3f4", + "vendor/frontier/evidence/ADMISSION.json": "b85b5b339353ae2a1935afa2963fcde7db9f66b41f205ddd632210257a8be168", + "vendor/frontier/evidence/INDEPENDENT.json": "f9e4500e5cb1ab1b9e8189de6dfbcca8dd9f7e2ea1a9ffce6801d6530797c0d2", + "vendor/frontier/evidence/NATIVE-BASE.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "vendor/frontier/evidence/NATIVE-EXTRA.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "vendor/frontier/evidence/OWNERS.json": "4df2066f097e4b59edf7d7af0e7e234413b9d2a09de4302d02adb3869972f672", + "vendor/frontier/evidence/PACKING-CAP.json": "59deb044b1b46953cbfd2fcedd3026a901d4524d7d05c592b8e1420501f6e652", + "vendor/frontier/evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "vendor/frontier/evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "vendor/frontier/evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "vendor/frontier/evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "vendor/frontier/evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "vendor/frontier/evidence/PUBLIC-WRAPPER.json": "70acee53d90097edfa3e7c99ad68311f236bade5ee71a446bcc8935e9e7e3192", + "vendor/frontier/evidence/RELEASE.json": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "vendor/frontier/evidence/retired5/ADMISSION-RESULT.json": "e441d6bfef1554491087a5b4701a8b23b331af3b57f77a38f3de4a47d940a6bf", + "vendor/frontier/evidence/retired5/ADMISSION-STAGES.json": "be3bf7f8fb4208bdea8dae25a8db0beda8d31cd5ac8a61279b22928ededb58bb", + "vendor/frontier/evidence/retired5/CERT2751.json": "d2f63d1167e0e1811f8b2b62ee50353184ca0ed86ab2c0bc96bf37edccf1eeff", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json": "5d884e943ba270223218cac39e10b4355cd217802232c8363a03f2d15bb77bdf", + "vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json": "80ac023ea6c8e152d538f873855c3b917f1fb80fc34c9f2d4db19ee9cab76de8", + "vendor/frontier/evidence/retired5/GENERATE-LOG.txt": "18a234b13f2b7e7b98c59f1be8799fbfde2284a2a64a0eaf9be0aa53115ef5fa", + "vendor/frontier/evidence/retired5/HOOK-RESULT.json": "76b67d54df3a6da3bb7f6fe3402f11d2926cb48353bf068dc34eeb560784771a", + "vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt": "cf06397f5fdaf50f8e44af4ff64d6a97865b79d5bc86024ba7c6f653698a6d8e", + "vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json": "6a4d591c2c827a899cb9a3682ef3f05fd97fc58842e68ae9aead5d14d3f62654", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json": "ed04eb3d4ec175b3b211cef890376529c1e9dc3f69974269106dbff9e52bcde0", + "vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json": "a20936449a1d23f79c8c040d47039e563d2bcdfc534d1c1de7d25d221a7f483c", + "vendor/frontier/evidence/retired7/ADMISSION-RESULT.json": "259c1a9da2ebfceb4b4cea2732b5a6d144cc85d7d8a92f4474d29ee3a5c75fc2", + "vendor/frontier/evidence/retired7/ADMISSION-STAGES.json": "f86a0c1ff418c3da14f573dbf900eae96657a33b4d3829c7c5da8036890c9f87", + "vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json": "ede02c0657d73229aa8943046aeb6c72f8300719f95b6a2f770935173287dca9", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json": "3b480daeb9f2e09eeefe787d99eef9143a90ac5136faf5f9285affc65e90030d", + "vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json": "9498e69c1c927751b3dadad8bfd887f9afff107424f0987ece9df9c17e1f5412", + "vendor/frontier/evidence/retired7/HOOK-RESULT.json": "95d8169d828b0c3b7ccc02f205aa63bb33e54da95b7279c58775711ceb88df8e", + "vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json": "baba1153f79b8de0f52273194f8fb86df7c65b51bafc9bac1504074f7c6cb982", + "vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json": "49ee5ec3f791392555a6218e5f5cc80bf004b706ba697a298f9701ea8c4765a0", + "vendor/frontier/evidence/retired7/OWNER-CHECK.json": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt": "59dec80790bee9a132d92ec64db08e93ee000994ac4e0188da7b1829dac8ccab", + "vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt": "16ec70f1c8191c18aa8f6422f972519b99df01002ffde5b12ac4febe0be22f46", + "vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt": "d9977346de4ceb88d152ac8e892fdb65af572933aa967fd726a7620fa3e29074", + "vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json": "8698b42e6239cffcd92ae4a87605451d799b7b751bcf4a432fd851a548ceff48", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json": "4eee4b247783eceb62c785385e5d6965241655e963eabad33ee64a26964fcd49", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json": "8278e1e93057f1f7e19b9c4058a249597a80c78b8dfa0e15bb6f206aefaf5f6e", + "vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt": "e7eb21fea3fd1e55b60ea4f7013b4bc13db048043e733c5b1c09273cf1a43f63", + "vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json": "f9cf016d89b318398a0737cb304f1f9a32098589b9fb3b89ab79bb10e3f9bbe5", + "vendor/frontier/evidence/retired7/STAGES7.json": "ab5fd9336ae23174cdee523d7c46a5eda201e04ce5391170d00963783a3d71c8", + "vendor/frontier/evidence/retired7/VERIFY-RESULT.json": "7f404f3d4638142ba3a77fc2a18d34d4926abcae528ce0ed1af0c4b4dad71a0a", + "vendor/frontier/exact_moment.py": "f170292f7983773d4f142afdac4677c1615fb7b781dbabf395200aea886dcade", + "vendor/frontier/full_replay.py": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b", + "vendor/frontier/generate.py": "24b90102b48ed9adf2621412fbff594b9e231041ca385258794881054d67f7a3", + "vendor/frontier/independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "vendor/frontier/independent_owners.py": "219e16a7f35c5c9e9640760c28ad49a17b546c9f32bdf57dd76c30b5dd096aa6", + "vendor/frontier/inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "vendor/frontier/inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "vendor/frontier/inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "vendor/frontier/inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/frontier/inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "vendor/frontier/inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "vendor/frontier/inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "vendor/frontier/inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "vendor/frontier/inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "vendor/frontier/inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "vendor/frontier/inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "vendor/frontier/inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "vendor/frontier/inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "vendor/frontier/inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "vendor/frontier/inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "vendor/frontier/inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "vendor/frontier/inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "vendor/frontier/inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "vendor/frontier/inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "vendor/frontier/inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "vendor/frontier/inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "vendor/frontier/inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "vendor/frontier/inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "vendor/frontier/inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/joint_engine.py": "1411acf2903cad468e3618eefec7032ea04232af740134416d42d74aa1ea4945", + "vendor/frontier/packing_cap.py": "b292694b0862db3393ce02e1e07a922ded6f746b18ab8faca69eb93ed7a2e522", + "vendor/frontier/requirements.txt": "f95b588f39c53b58fa36c3b65b65cc770e3a051a6a12555a9188808e771d1d13", + "vendor/frontier/retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "vendor/frontier/test_integrity.py": "67f17c8df3614d582ac2c4d272ceba90d47116af4c6989a1a2e2b5f13e7bc2ee", + "vendor/frontier/vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "vendor/frontier/vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "vendor/frontier/vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "vendor/frontier/vendor/ceiling.py": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "vendor/frontier/vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "vendor/frontier/vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "vendor/frontier/vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "vendor/frontier/vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "vendor/frontier/verify.py": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "vendor/frontier/verify_retired7.py": "1d3754ccf91029aa239affe0233de4821d960f654514ceeb3445d464933aba0f", + "vendor/frontier/workflow/admit.py": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "verify.py": "aabd12f5edfe846891e4dbe3e4d6a21617c6240bc06d89b0a1ef5f9f34df209b" +} diff --git a/research/replica-tail-gain/MODULES.json b/research/replica-tail-gain/MODULES.json new file mode 100644 index 0000000000..5a71538bc4 --- /dev/null +++ b/research/replica-tail-gain/MODULES.json @@ -0,0 +1,6 @@ +{ + "lean_version": "4.34.1", + "modules": [ + "MultitapeToolkit.ReplicaTailGain" + ] +} diff --git a/research/replica-tail-gain/PARENT-LIFT.md b/research/replica-tail-gain/PARENT-LIFT.md new file mode 100644 index 0000000000..56ac2a2162 --- /dev/null +++ b/research/replica-tail-gain/PARENT-LIFT.md @@ -0,0 +1,19 @@ +# Explicit arbitrary-replica dedicated parent extension + +This is a construction of the source envelope needed for a changed-T candidate. It is not an admitted improved multiplier or a new native phase proof. Full literal hosted-owner, finite invoice, analytic and outer admission remain necessary. + +Fix any positive T and any ordered partition q_0+...+q_(G-1)=T with 1<=q_g<=8. Number replicas consecutively within these groups; write r=b_g+lane, 0<=lane0. Writing t=1-p, elementary exponential estimates and Mathlib bounds on log(2), log(3), and log(5) give the strict lower bound 30*t - 2404*t^2 > 0 for 074 and 0.99<=p<1, + + R(T) / (896*T*73^p) < A / (66304*73^p). + +The proof splits the normalized sum into the T-independent periodic term and the strictly decreasing positive charge (D/5)/(896*T*73^p). This prices the finite residue; it never declares it free. + +## Composition with the stronger PR2802 supplier + +The final checked application uses the complete native words from PR2802, whose seven retired-lender aliases remove seven width-five helper registers. The surviving helper widths and labels are independently checked against its actual providers. Every width-five slot of the constructed allocation occupies a rank32 owner bin together with three width-nine slots. Removing it therefore creates a paid rank-five remainder; it does not create free workspace. + +The complete per-call change from the prior supplier is + + 18*H1 + H2 - 29*H3 + 8*H4 + 7*H5. + +The seven H5 terms include the newly exposed owner remainders. The complete new ten-replica periodic sum is + + 216720 + 58320*2^p + 25011*3^p + 11520*4^p + + 3675*5^p + 720*8^p + 3589*48^p. + +The actual PR2802 T74 predecessor profile is + + {1:1603728,2:431568,3:185082,4:85248,5:27194,8:5328,32:1,48:26558}. + +`frontier_predecessor_residue` and `frontier_profile_difference` prove that precisely the same D(p)/5 residue remains. `frontier_retained_tail_dilution` proves the universal strict normalized inequality for this stronger supplier for every real T>74 and 0.99<=p<1. This is the formal cost theorem relevant to the final composed candidate. + +The literal T94 candidate independently reconstructs + + {1:2037168,2:548208,3:235104,4:108288,5:34544,8:6768,32:1,48:33736}. + +There are 846 calls and 345168 whole-helper owner roles, with 84224 live and 84714 charged physical cells. Independent integer-time source, family, coordinate-mask and compact-prefix checks certify the allocation separately from the Lean cost identity. Complete native/global/outer admission remains separately required; see the final status in CLAIM.json and validation/COMPLETE.json when present. + +## Application certificate duties + +A concrete integer T must have an actual complete ORDER, FILL and provider DISPATCH. Integer-time source availability, indivisible helpers, physical-family distinctness, capacity, disjoint coordinate masks, and compact prefixes must independently reconstruct its complete paid profile. A formula for R(T) is not a construction of that allocation. + +Native programs, their dirty-input endpoints, all frame vectors, private-buffer cleanup and phase bindings remain mandatory. Changed parent geometry, the physical invoice, router/tape/precision bounds, ordinary-recursion/bootstrap and every modern outer inequality must also pass. Those finite checks establish the conditional finite-supplier claim under the inherited all-size contracts; this Mathlib module does not prove a new unconditional multiplication algorithm. + +The inherited contracts include the all-size compiler, common-label/source-access realization, physical hosting/routing, precision and fixed-tape contracts, exact recovery, ordinary recursion, bit supplier and analytic transfer. The separate all-size BIT routing/leaf obligation remains inherited. See the pinned baseline PROOF.md and FRONTIER.md for the exact comparison lineage. + +## Independent formal verification + +`replay.py` builds every owned module in a fresh external output directory with the pinned Lean4.34.1/Mathlib revisions. `Check.lean` enumerates declarations by their defining module, including private and generated declarations, and traverses their axiom dependencies. A positive build permits only `propext`, `Classical.choice` and `Quot.sound`. A private-ownership fixture and actual unused-private-axiom, public-axiom and unproved-private-theorem fixtures test that the audit rejects incomplete proofs. diff --git a/research/replica-tail-gain/README.md b/research/replica-tail-gain/README.md new file mode 100644 index 0000000000..916516bf2e --- /dev/null +++ b/research/replica-tail-gain/README.md @@ -0,0 +1,42 @@ +# T94 retained-tail allocation on PR2802 + +**Complete conditional finite release passed.** The exact saving is `kappa = 0.0017177951600320121074069999999999999999999998999999999999999999999999`, an increase of `8795668872179/50000000000000000000000` (about `1.7591337744358e-10`) over PR2802's pinned full headline rational. [CLAIM.json](CLAIM.json) contains the exact fractions. This is a small paid-allocation improvement; it is not a measured running-time speedup. + +The construction increases the replica count from 74 to 94 while retaining one explicitly paid residue tail. It composes a new literal allocation with Marius-Paul Dumitrean's PR2802 seven retired-lender aliases and two hostee moves. The complete paid profile, 345,168 owner roles, 846 calls, 408 helpers, 72 private zero buffers, 84,224 live and 84,714 physical cells are reconstructed and checked. The single rank32 remainder remains charged. + +[PROOF.md](PROOF.md) explains the universal Mathlib inequalities and their concrete application. [FRONTIER.md](FRONTIER.md) compares actual sources, credits predecessor work, distinguishes selected and pending claims, and states bounded review coverage. This package retains the upstream all-size compiler, source-access, hosting, precision/tape, exact-recovery, ordinary-recursion, bit-supplier and analytic-transfer contracts. Finite release success and the formal cost lemmas do not prove an unconditional multiplication theorem. + +## Reproduce + +The source-only inventory and independent finite certificates use the Python standard library: + + python -B verify.py + python -B check_candidate.py --out /absolute/external/fresh-independent + +The independent owner/moment checks reject seven geometry corruptions and five pricing corruptions. Source verification also rejects eleven malformed audit reports. Outputs must be fresh and outside this source package. + +For complete cold admission, install requirements.txt in a separate Python environment, then run: + + python -B portable_frontier_cold.py --work /absolute/external/fresh-cold --jobs 4 + +The cold default authenticates the 124 vendored PR2802 files, downloads 491 pinned original PR2679 source files, applies the exact retired7 overlay to derive 506 hash-bound files, and runs all four native chains, retained-parent admission and the complete changed-T94 release. Authenticated preobtained original source may be supplied with --source. A normal full Python TLS setup is required for downloads; certificate validation is never disabled. + +Any explicit reuse option preserves source, complete native-cache, phase-stage and retained-parent receipt bindings; preparation and input preflight do not certify a gain. This campaign instead built the two changed native providers freshly, authenticated the unchanged retained chains/parent from its earlier full cold replay, and ran the actual new T94 admission directly. validation/NATIVE.json and validation/COMPLETE.json state that exact coverage. Native checks used mpmath 1.4.1; the global admission used pinned mpmath 1.3.0. Python 3.13.5, numpy 2.5.4, scipy 1.18.1 and sympy 1.14.0 were used. + +On Windows, the cold wrapper installs a process-scoped LF text adapter only in its fresh external work directory. Every original and derived source hash guard remains enforced; no global configuration is changed. + +## Fresh Lean kernel and axiom audit + +The portable proof imports only Mathlib and pins Lean 4.34.1 and every dependency revision in lean/. Install that environment separately; after obtaining its Mathlib cache, run: + + lake env python -B ../replay.py --out /absolute/external/fresh-kernel --cache-project . + +Run this command from lean/. The audit freshly compiles both owned modules and covers all 61 defining-module declarations, including generated proof helpers (54 theorem declarations). Only propext, Classical.choice and Quot.sound occur. A private-ownership fixture and three real bad-axiom/unproved-theorem fixtures also pass their expected acceptance/rejection checks. See validation/KERNEL.json. This is a formal cost proof, with finite execution certificates verified separately. + +## Open next questions + +Can the literal pattern/flow construction be made symbolic for further admissible replica counts? A useful first step is a new complete integer-time owner witness, followed by the full changed physical invoice; the universal dilution theorem alone does not supply that witness. Can a different replica geometry retain the same finite tail within the next payload/finite-coefficient boundary? Each candidate needs its own exact source windows, private stock, ordinary recurrence and outer checks. + +## Attribution and license + +Apache-2.0. Preserve vendor/frontier/LICENSE, NOTICE and SOURCE-NOTICE and all nested upstream notices. The retired7 native improvement belongs to Marius-Paul Dumitrean; PR2766/2733 frame refits, Tekalign's joint source-recovery word, and the earlier assignment, hosting, borrowing, bit and outer lineage retain their credits. The new replica allocation, tail-dilution Mathlib proof, independent checks and release integration were prepared with substantial OpenAI Codex assistance using one primary and three parallel agents. No independent human review is claimed. diff --git a/research/replica-tail-gain/TASK.json b/research/replica-tail-gain/TASK.json new file mode 100644 index 0000000000..8bec81927e --- /dev/null +++ b/research/replica-tail-gain/TASK.json @@ -0,0 +1,9 @@ +{ + "date": "2026-10-15", + "purpose": "Improve the actual binding conditional complex supplier kappa, with a concrete complete certificate and honest pending-frontier comparison.", + "route": "Larger replica geometry retaining one explicitly charged finite residue tail.", + "team": {"primary": 1, "parallel_workers": 3, "tool_concurrency_limit": 4}, + "search": "Compiled OR-Tools CP-SAT; accepted output requires separate literal reconstruction and full admission. GPU assistance was not used.", + "formal_scope": "Universal Mathlib power-cost inequalities. Physical realization and all-size multiplication implications are separate certificate/contracts.", + "publication": "Source-only standalone package; no public posting or maintainer selected-result change." +} diff --git a/research/replica-tail-gain/VERIFY.json b/research/replica-tail-gain/VERIFY.json new file mode 100644 index 0000000000..c5f3f6f4b6 --- /dev/null +++ b/research/replica-tail-gain/VERIFY.json @@ -0,0 +1,27 @@ +{ + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "checks": "Exact source inventory and11 audit-report corruption controls.", + "timeout_seconds": 60 + }, + { + "argv": [ + "{python}", + "-B", + "{package}/check_candidate.py" + ], + "checks": "Independent complete literal owners, seven geometry faults, exact directed adjacent root bracket, five pricing faults and exact full PR2802 rational comparison. Fresh external temporary output.", + "timeout_seconds": 600 + } + ], + "inputs": [], + "python": "3.13", + "requirements": [], + "schema_version": 1, + "status": "ready" +} diff --git a/research/replica-tail-gain/admit_frontier_replica.py b/research/replica-tail-gain/admit_frontier_replica.py new file mode 100644 index 0000000000..54c06da039 --- /dev/null +++ b/research/replica-tail-gain/admit_frontier_replica.py @@ -0,0 +1,347 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Prepare and fully admit a changed-replica literal order/fill derivative. + +Research runtime only: native providers must already have passed freshly and +are authenticated by --native-receipt. --prepare-only stops before discovery. +Default complete admission preserves the original verify.py and release stages. +Source inputs and the native cache are read-only; all output uses fresh --work. +""" +import argparse +from fractions import Fraction as Q +import gzip +import hashlib +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import tarfile +import time + +SOURCE_COMMIT = 'local-joint12-refit393' +SOURCE_MANIFEST = '1e75eabffe1ce311cc3bddc05e76118cbdedfc806200a906c57fbc5a5dd213eb' +PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' +PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +COMPARISON_SHA = '252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3' +COMPARISON_HEAD = 'e8b771ba132fe632796b28c1742a8d096c04519f' +NATIVE_STAGES = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] +# Supported immutable source versions; CLI selection never accepts arbitrary hashes. +SOURCE_PROFILES = { + 'pr2766': dict(commit='local-joint12-refit393', manifest='1e75eabffe1ce311cc3bddc05e76118cbdedfc806200a906c57fbc5a5dd213eb', helpers=415, source_file_count=491, upstream_head='e6df920cd0110e4b629e2ad84eddcb539001e174'), + 'pr2802': dict(commit='local-joint12-pr2733', manifest='9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451', helpers=408, source_file_count=506, upstream_head='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd'), +} +COMPARISONS = { + 'pr2767': dict(pr=2767, head='e8b771ba132fe632796b28c1742a8d096c04519f', sha256='252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3', field='kappa_rational'), + 'pr2802': dict(pr=2802, head='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd', sha256='a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51', field='kappa'), +} + + + +# Discovery records are shared by parallel mutation-audit processes on Windows. +# Only discovery bookkeeping changes; strict pin comparison below it is untouched. +DISCOVERY_APPEND_OLD = " with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10))" +DISCOVERY_APPEND_NEW = r''' import time as _wr_time + _wr_path=Path(os.environ['WITNESS_RECORD']) + _wr_lock=_wr_path.with_name(_wr_path.name+'.append.lock') + _wr_deadline=_wr_time.monotonic()+60 + _wr_fd=None + while _wr_fd is None: + try:_wr_fd=os.open(_wr_lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + except FileExistsError: + if _wr_time.monotonic()>=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved') + _wr_time.sleep(.005) + try: + with _wr_path.open('a',encoding='utf-8',newline='\n')as _wr_out: + _wr_out.write(json.dumps([key,got],default=str)+chr(10)) + _wr_out.flush() + finally: + os.close(_wr_fd) + _wr_lock.unlink()''' + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + # All output targets belong to this fresh work tree; never unlink an open lock. + lock = path.with_name(path.name + '.lock') + descriptor = os.open(lock, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + try: + os.write(descriptor, str(os.getpid()).encode()) + os.close(descriptor) + descriptor = None + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', encoding='utf-8', newline='\n') + finally: + if descriptor is not None: + os.close(descriptor) + lock.unlink() + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'dispatch', 'native-cache', 'native-receipt', 'work', 'replica-helper-dir', 'reconstructor', 'comparison-claim'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + ap.add_argument('--source-profile', choices=sorted(SOURCE_PROFILES), default='pr2802') + ap.add_argument('--comparison-profile', choices=sorted(COMPARISONS), default='pr2802') + a = ap.parse_args() + global SOURCE_COMMIT, SOURCE_MANIFEST, COMPARISON_SHA, COMPARISON_HEAD + source_profile = SOURCE_PROFILES[a.source_profile] + comparison = COMPARISONS[a.comparison_profile] + SOURCE_COMMIT, SOURCE_MANIFEST = source_profile['commit'], source_profile['manifest'] + COMPARISON_SHA, COMPARISON_HEAD = comparison['sha256'], comparison['head'] + expected_helpers, comparison_pr = source_profile['helpers'], comparison['pr'] + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == source_profile['source_file_count'] and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + helper_dir = a.replica_helper_dir.resolve() + helper_paths = [helper_dir / n for n in ('lift_parent.py', 'replica_parent.py')] + [a.reconstructor.resolve()] + external_hashes = {str(p): sha(p) for p in helper_paths + [a.fill.resolve(), a.order.resolve(), a.dispatch.resolve(), a.comparison_claim.resolve()]} + need(sha(a.comparison_claim) == COMPARISON_SHA, 'exact pinned frontier headline comparison') + comparison_claim = read(a.comparison_claim) + need('headline_kappa_source' not in comparison_claim and comparison['field'] in comparison_claim, + 'comparison must be full headline outer claim, not supplier-only CLAIM') + previous = Q(comparison_claim[comparison['field']]) + need(previous == Q(comparison_claim['kappa']), 'comparison rational/decimal equality') + order_input = read(a.order) + need(order_input and all(isinstance(x,list) and len(x)==2 and all(type(v)is int for v in x) for x in order_input), 'literal integer call order') + T = 1 + max(r for st,r in order_input) + need(T > 0 and len(order_input)==9*T and set(map(tuple,order_input))=={(st,r) for st in range(9) for r in range(T)}, 'complete new replica coverage') + need(all([st for st,r in order_input if r==rep]==list(range(9)) for rep in range(T)), 'source stage projection') + dispatch_input = read(a.dispatch) + need(len(dispatch_input)==9*T and {(st,r) for st,r,pid in dispatch_input}==set(map(tuple,order_input)), 'complete explicit dispatch') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + # Only the fresh external clone changes. Immutable source/cache inventories remain pinned. + for hp in helper_paths[:2]: + shutil.copy2(hp, package / hp.name) + need(sha(package / hp.name)==external_hashes[str(hp)], 'helper copy hash') + shutil.copy2(a.reconstructor, package / 'reconstruct.py') + need(sha(package / 'reconstruct.py')==external_hashes[str(a.reconstructor.resolve())], 'reconstructor copy hash') + # The original subprocesses also write generated hash-bound source. Windows + # callers use a process-scoped LF adapter; no system configuration is changed. + lf_probe = work / '.lf-preflight.txt' + lf_probe.write_text('LF\n', encoding='utf-8') + need(lf_probe.read_bytes()==b'LF\n', 'process-scoped LF output required on Windows') + lf_probe.unlink() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + # Keep the native dimension and paid moment ledger fixed; bind replica + # width to both the checked source geometry and the independent B invoice. + patch('outer/check_ledger.py', [ + ('assert (m,W)==(73,66304)', + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']")]) + patch('code/witness.py', [(DISCOVERY_APPEND_OLD, DISCOVERY_APPEND_NEW)]) + patch('verify.py', [ + ("run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')")]) + write(work / 'RUNTIME-PATCHES.json', patches) + shutil.copy2(a.fill, package / 'new/borrow-fill/FILL.json.gz') + shutil.copy2(a.order, package / 'new/borrow-fill/ORDER.json') + shutil.copy2(a.dispatch, package / 'new/borrow-fill/DISPATCH.json') + run('owners', package / 'reconstruct.py', '--out', work / 'owners') + run('parent-lift', package / 'lift_parent.py', '--package', package, '--owners', work / 'owners', '--out', work / 'parent-data') + for name in ('PLAN.json', 'OWNERS.json.gz', 'DISPATCH.json', 'PROFILE.json', 'CONSTRUCTION.json', + 'GLOBAL-TEMPLATE.json.gz', 'SPEC.json'): + shutil.copy2(work / 'parent-data' / name, package / name) + shutil.copy2(work / 'owners/ORDER.json', package / 'ORDER.json') + spec = read(package / 'SPEC.json') + spec['outer_refinement'] = PRECISION + spec['expected']['live'] = 896*T + # COMPOSED's pre-life mechanism changes which helper labels retain width8. + # Preserve its declared spot set; rebind and the original strict verifier + # still check the actual native widths, including every other helper. + source_spots = read(source / 'new/SPEC.json')['width_spot_helpers'] + need(source_spots == [278, 281, 284, 289], 'COMPOSED source spot-width pins') + spec['width_spot_helpers'] = source_spots + write(package / 'new/SPEC.json', spec) + run('rebind', package / 'new/rebind.py', package, natives['base'] / 'local', + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') + for tag in ('base', 'extra'): + c = read(natives[tag] / 'local/CANONICAL-WORD.json.gz') + need(c['R']==expected_helpers and len(c['centers'])==8 and len(c.get('zero_buffers',[]))==72, 'unchanged full physical ABI including all private buffers') + need(spec['expected']['physical'] == 896*T+expected_helpers+8+72+2, 'complete physical cost including all actual helpers and 72 buffers') + layout = work / 'layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + runtime = layout / 'packing74' + runtime.mkdir() + for name in ('replay.py', 'freeze_spec.py', 'audit_mixed.py', 'independent_core.py', 'geometry_controls.py', 'audit_fast.py'): + shutil.copy2(package / name, runtime / name) + for name in ('code', 'construction', 'inputs'): + shutil.copytree(package / name, runtime / name) + shutil.copytree(work / 'rebound', runtime / 'candidate') + shutil.copytree(natives['extra'], runtime / 'native-extra') + data = runtime / 'candidate' + result = dict(status='PREPARED_REPLICA_SAME_WORD_DERIVATIVE_NOT_ADMITTED', source_commit=SOURCE_COMMIT, + source_manifest_sha256=SOURCE_MANIFEST, native_receipt_sha256=sha(a.native_receipt), + fill_sha256=sha(package / 'new/borrow-fill/FILL.json.gz'), + order_sha256=sha(package / 'new/borrow-fill/ORDER.json'), dispatch_sha256=sha(package / 'new/borrow-fill/DISPATCH.json'), replicas=T, source_profile=a.source_profile, source_file_count=source_profile['source_file_count'], source_upstream_head=source_profile['upstream_head'], actual_expected_helpers=expected_helpers, comparison_pr=comparison_pr, comparison_head=COMPARISON_HEAD, comparison_claim_sha256=COMPARISON_SHA, comparison_kappa=str(previous), external_input_sha256=external_hashes, profile=read(work / 'rebound/PROFILE.json'), + patches=patches, scope='Prepared only; source/native/parent inputs authenticated and literal owner fill reconstructed.') + write(work / 'RESULT.json', result) + # Preparation still authenticates every read-only input at its end. + need(tree(source, ('MANIFEST.json',))==source_files and tree(cache)==native_receipt['cache_files'], 'read-only inputs changed during preparation') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed') + if a.prepare_only: + print(result['status'], flush=True) + return + run('discovery', runtime / 'replay.py', '--data', data, '--work', work / 'discovery', + '--local', natives['base'] / 'local', '--discover') + supplier = read(work / 'discovery/RESULT.json') + for name in ('PLAN.json', 'PROFILE.json', 'SPEC.json'): + shutil.copy2(data / name, package / 'new' / name) + spec = read(package / 'new/SPEC.json') + original_claim = read(source / 'CLAIM.json') + claim = dict(status='CONDITIONAL_CANDIDATE_EXPECTED_BY_REPLAY', kappa=supplier['kappa'], + kappa_decimal=supplier['kappa_decimal'], baseline_pr=comparison_pr, baseline_head=COMPARISON_HEAD, + baseline_kappa=str(previous), outer_refinement=PRECISION, + scope=original_claim['scope'], kappa_layers=original_claim['kappa_layers'], + headline_kappa_source='outer/OUTER-CLAIM.json', + verification='Candidate discovered from literal fill; full original verification must pass separately.') + write(package / 'CLAIM.json', claim) + C = Q(spec['expected']['complex_lower']) + write(package / 'outer/B.json', dict(b=str(C-Q(1,10**104)), b_above_endpoint=str(C+Q(1,10**24)), + profile=spec['expected']['global_profile'], live=spec['expected']['live'])) + for name in ('check_ledger.py', 'independent_check.py'): + run('outer-' + name, package / 'outer' / name) + ledger = read(package / 'outer/LEDGER.json') + row = ledger['rows']['struct_boundary_radix_union']['kappa'] + kappa = Q(row['rational']) + need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous, + 'candidate must strictly improve full exact pinned frontier headline before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=COMPARISON_HEAD, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + (package / 'provenance').mkdir(exist_ok=True) + shutil.copy2(a.comparison_claim, package / ('provenance/PR' + str(comparison_pr) + '-HEADLINE-CLAIM.json')) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed during admission') + result.update(status='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/check_candidate.py b/research/replica-tail-gain/check_candidate.py new file mode 100644 index 0000000000..8220fc2f3a --- /dev/null +++ b/research/replica-tail-gain/check_candidate.py @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Replay independent literal-owner and directed-rational moment certificates. +This is finite admission only. Run portable_frontier_cold.py for complete release checks, +and replay.py for the independent Lean kernel/axiom audit. +""" +from pathlib import Path +from fractions import Fraction +import argparse,hashlib,json,os,subprocess,sys,tempfile +sys.dont_write_bytecode=True +import verify as V +P=Path(__file__).resolve().parent + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--out',type=Path,help='Fresh external output; default is a fresh system-temporary child.') + a=ap.parse_args() + V.need(__debug__,'enabled assertions required') + pins=V.inventory(P);mh=V.digest(P/'MANIFEST.json') + claim=json.loads((P/'CLAIM.json').read_text(encoding='utf8')) + V.need(claim['status']=='COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA','complete conditional claim required') + out=(a.out if a.out else Path(tempfile.mkdtemp(prefix='replica-independent-'))/'checked').resolve();V.need(not out.exists() and not out.is_relative_to(P),'fresh external output required') + out.mkdir(parents=True) + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1') + env.pop('PYTHONOPTIMIZE',None) + def run(name,script,*opts): + r=subprocess.run([sys.executable,'-B',str(P/script),*map(str,opts)],env=env,cwd=out,text=True,encoding='utf8',stdout=subprocess.PIPE,stderr=subprocess.STDOUT,timeout=240) + (out/(name+'.log')).write_text(r.stdout,encoding='utf8',newline='\n') + V.need(r.returncode==0,'failed '+name+': '+r.stdout[-3000:]) + print('PASS_'+name.upper(),flush=True) + run('owners','independent_candidate_owners_retired7.py','--replicas',claim['replicas'], + '--order',P/'data/ORDER.json','--fill',P/'data/FILL.json.gz', + '--dispatch',P/'data/DISPATCH.json','--profile',P/'data/PROFILE.json', + '--out',out/'owners.json') + run('moment','independent_candidate_moment_retired7.py','--owner-receipt',out/'owners.json', + '--best-claim',P/'references/PR2802-CLAIM.json','--out',out/'moment.json') + own=json.loads((out/'owners.json').read_text());m=json.loads((out/'moment.json').read_text()) + V.need(Fraction(m['proposed_outer_target'])==Fraction(claim['kappa']),'published headline rational binding') + V.need(own['profile']==claim['profile'] and own['live']==claim['live'] and own['physical']==claim['physical'],'published complete profile/stock binding') + V.need(V.inventory(P)==pins and V.digest(P/'MANIFEST.json')==mh,'source drift during independent checks') + result=dict(status='PASS_INDEPENDENT_LITERAL_OWNERS_AND_EXACT_MOMENT',replicas=own['replicas'], + roles=own['roles'],kappa=claim['kappa'],profile=own['profile'], + rejected_owner_corruptions=len(own['controls']),rejected_moment_corruptions=len(m['controls']), + owner_receipt_sha256=V.digest(out/'owners.json'),moment_receipt_sha256=V.digest(out/'moment.json'), + manifest_sha256=mh,scope='Independent finite owner geometry and exact moment only; full native/global/outer release and formal audit are separate.') + (out/'RESULT.json').write_text(json.dumps(result,sort_keys=True,indent=2)+'\n',encoding='utf8',newline='\n') + print(result['status'],flush=True) +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/data/DISPATCH.json b/research/replica-tail-gain/data/DISPATCH.json new file mode 100644 index 0000000000..c8390624d1 --- /dev/null +++ b/research/replica-tail-gain/data/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[0,5,"extra"],[0,6,"extra"],[0,7,"extra"],[0,8,"extra"],[1,0,"extra"],[0,9,"extra"],[1,1,"extra"],[0,10,"extra"],[1,2,"extra"],[2,0,"extra"],[0,11,"extra"],[1,3,"extra"],[2,1,"extra"],[0,12,"extra"],[1,4,"extra"],[2,2,"extra"],[0,13,"extra"],[3,0,"extra"],[1,5,"extra"],[2,3,"extra"],[0,14,"extra"],[3,1,"extra"],[1,6,"extra"],[2,4,"extra"],[0,15,"extra"],[3,2,"extra"],[1,7,"extra"],[2,5,"extra"],[0,16,"extra"],[3,3,"extra"],[1,8,"extra"],[2,6,"extra"],[0,17,"extra"],[3,4,"extra"],[1,9,"extra"],[2,7,"extra"],[0,18,"extra"],[3,5,"extra"],[1,10,"extra"],[2,8,"extra"],[0,19,"extra"],[3,6,"extra"],[1,11,"extra"],[2,9,"extra"],[0,20,"extra"],[3,7,"extra"],[1,12,"extra"],[2,10,"extra"],[0,21,"extra"],[3,8,"extra"],[1,13,"extra"],[2,11,"extra"],[4,0,"extra"],[0,22,"extra"],[3,9,"extra"],[1,14,"extra"],[2,12,"extra"],[4,1,"extra"],[0,23,"extra"],[3,10,"extra"],[1,15,"extra"],[2,13,"extra"],[4,2,"extra"],[0,24,"extra"],[3,11,"extra"],[1,16,"extra"],[2,14,"extra"],[4,3,"extra"],[0,25,"extra"],[3,12,"extra"],[5,0,"extra"],[1,17,"extra"],[2,15,"extra"],[4,4,"extra"],[0,26,"extra"],[3,13,"extra"],[5,1,"extra"],[1,18,"extra"],[2,16,"extra"],[4,5,"extra"],[0,27,"extra"],[3,14,"extra"],[5,2,"extra"],[1,19,"extra"],[2,17,"extra"],[4,6,"extra"],[0,28,"extra"],[3,15,"extra"],[5,3,"extra"],[1,20,"extra"],[2,18,"extra"],[4,7,"extra"],[0,29,"extra"],[3,16,"extra"],[5,4,"extra"],[6,0,"extra"],[1,21,"extra"],[2,19,"extra"],[4,8,"extra"],[0,30,"extra"],[3,17,"extra"],[5,5,"extra"],[6,1,"extra"],[1,22,"extra"],[2,20,"extra"],[4,9,"extra"],[0,31,"extra"],[3,18,"extra"],[5,6,"extra"],[6,2,"extra"],[1,23,"extra"],[2,21,"extra"],[4,10,"extra"],[0,32,"extra"],[3,19,"extra"],[5,7,"extra"],[6,3,"extra"],[1,24,"extra"],[2,22,"extra"],[4,11,"extra"],[0,33,"extra"],[3,20,"extra"],[5,8,"extra"],[6,4,"extra"],[7,0,"extra"],[1,25,"extra"],[2,23,"extra"],[4,12,"extra"],[0,34,"extra"],[3,21,"extra"],[5,9,"extra"],[6,5,"extra"],[7,1,"extra"],[1,26,"extra"],[2,24,"extra"],[4,13,"extra"],[0,35,"extra"],[3,22,"extra"],[5,10,"extra"],[6,6,"extra"],[7,2,"extra"],[1,27,"extra"],[2,25,"extra"],[4,14,"extra"],[0,36,"extra"],[3,23,"extra"],[5,11,"extra"],[6,7,"extra"],[7,3,"extra"],[1,28,"extra"],[2,26,"extra"],[4,15,"extra"],[0,37,"extra"],[3,24,"extra"],[5,12,"extra"],[6,8,"extra"],[7,4,"extra"],[8,0,"extra"],[1,29,"extra"],[2,27,"extra"],[4,16,"extra"],[0,38,"extra"],[3,25,"extra"],[5,13,"extra"],[6,9,"extra"],[7,5,"extra"],[8,1,"extra"],[1,30,"extra"],[2,28,"extra"],[4,17,"extra"],[0,39,"extra"],[3,26,"extra"],[5,14,"extra"],[6,10,"extra"],[7,6,"extra"],[8,2,"extra"],[1,31,"extra"],[2,29,"extra"],[4,18,"extra"],[0,40,"extra"],[3,27,"extra"],[5,15,"extra"],[6,11,"extra"],[7,7,"extra"],[8,3,"extra"],[1,32,"extra"],[2,30,"extra"],[4,19,"extra"],[0,41,"extra"],[3,28,"extra"],[5,16,"extra"],[6,12,"extra"],[7,8,"extra"],[8,4,"extra"],[1,33,"extra"],[2,31,"extra"],[4,20,"extra"],[0,42,"extra"],[3,29,"gauge44"],[5,17,"extra"],[6,13,"extra"],[7,9,"extra"],[8,5,"gauge44"],[1,34,"extra"],[2,32,"extra"],[4,21,"extra"],[0,43,"extra"],[3,30,"gauge44"],[5,18,"extra"],[6,14,"extra"],[7,10,"gauge44"],[8,6,"gauge44"],[1,35,"extra"],[2,33,"gauge44"],[4,22,"extra"],[0,44,"extra"],[3,31,"gauge44"],[5,19,"gauge44"],[6,15,"gauge44"],[7,11,"gauge44"],[8,7,"gauge44"],[1,36,"extra"],[2,34,"gauge44"],[4,23,"extra"],[0,45,"extra"],[3,32,"gauge44"],[5,20,"gauge44"],[6,16,"gauge44"],[7,12,"gauge44"],[8,8,"gauge44"],[1,37,"extra"],[2,35,"gauge44"],[4,24,"gauge44"],[0,46,"extra"],[3,33,"gauge44"],[5,21,"gauge44"],[6,17,"gauge44"],[7,13,"gauge44"],[8,9,"gauge44"],[1,38,"extra"],[2,36,"gauge44"],[4,25,"gauge44"],[0,47,"extra"],[3,34,"gauge44"],[5,22,"gauge44"],[6,18,"gauge44"],[7,14,"gauge44"],[8,10,"gauge44"],[1,39,"extra"],[2,37,"extra"],[4,26,"gauge44"],[0,48,"extra"],[3,35,"gauge44"],[5,23,"gauge44"],[6,19,"gauge44"],[7,15,"gauge44"],[8,11,"gauge44"],[1,40,"extra"],[2,38,"extra"],[4,27,"gauge44"],[0,49,"extra"],[3,36,"gauge44"],[5,24,"gauge44"],[6,20,"gauge44"],[7,16,"gauge44"],[8,12,"gauge44"],[1,41,"extra"],[2,39,"extra"],[4,28,"gauge44"],[0,50,"extra"],[3,37,"extra"],[5,25,"gauge44"],[6,21,"gauge44"],[7,17,"gauge44"],[8,13,"gauge44"],[1,42,"extra"],[2,40,"extra"],[4,29,"gauge44"],[0,51,"extra"],[3,38,"extra"],[5,26,"gauge44"],[6,22,"gauge44"],[7,18,"gauge44"],[8,14,"gauge44"],[1,43,"extra"],[2,41,"extra"],[4,30,"gauge44"],[0,52,"extra"],[3,39,"extra"],[5,27,"gauge44"],[6,23,"gauge44"],[7,19,"gauge44"],[8,15,"gauge44"],[1,44,"extra"],[2,42,"extra"],[4,31,"gauge44"],[0,53,"extra"],[3,40,"extra"],[5,28,"gauge44"],[6,24,"gauge44"],[7,20,"gauge44"],[8,16,"gauge44"],[1,45,"extra"],[2,43,"extra"],[4,32,"gauge44"],[0,54,"extra"],[3,41,"extra"],[5,29,"gauge44"],[6,25,"gauge44"],[7,21,"gauge44"],[8,17,"gauge44"],[1,46,"extra"],[2,44,"extra"],[4,33,"gauge44"],[0,55,"extra"],[3,42,"extra"],[5,30,"gauge44"],[6,26,"gauge44"],[7,22,"gauge44"],[8,18,"gauge44"],[1,47,"extra"],[2,45,"extra"],[4,34,"gauge44"],[0,56,"extra"],[3,43,"extra"],[5,31,"gauge44"],[6,27,"gauge44"],[7,23,"gauge44"],[8,19,"gauge44"],[1,48,"extra"],[2,46,"extra"],[4,35,"gauge44"],[0,57,"extra"],[3,44,"extra"],[5,32,"gauge44"],[6,28,"gauge44"],[7,24,"gauge44"],[8,20,"gauge44"],[1,49,"extra"],[2,47,"extra"],[4,36,"gauge44"],[0,58,"extra"],[3,45,"extra"],[5,33,"gauge44"],[6,29,"gauge44"],[7,25,"gauge44"],[8,21,"gauge44"],[1,50,"extra"],[2,48,"extra"],[4,37,"extra"],[0,59,"extra"],[3,46,"extra"],[5,34,"gauge44"],[6,30,"gauge44"],[7,26,"gauge44"],[8,22,"gauge44"],[1,51,"extra"],[2,49,"extra"],[4,38,"extra"],[0,60,"extra"],[3,47,"extra"],[5,35,"gauge44"],[6,31,"gauge44"],[7,27,"gauge44"],[8,23,"gauge44"],[1,52,"extra"],[2,50,"extra"],[4,39,"extra"],[0,61,"extra"],[3,48,"extra"],[5,36,"gauge44"],[6,32,"gauge44"],[7,28,"gauge44"],[8,24,"gauge44"],[1,53,"extra"],[2,51,"extra"],[4,40,"extra"],[0,62,"extra"],[3,49,"extra"],[5,37,"extra"],[6,33,"gauge44"],[7,29,"gauge44"],[8,25,"gauge44"],[1,54,"extra"],[2,52,"extra"],[4,41,"extra"],[0,63,"extra"],[3,50,"extra"],[5,38,"extra"],[6,34,"gauge44"],[7,30,"gauge44"],[8,26,"gauge44"],[1,55,"extra"],[2,53,"extra"],[4,42,"extra"],[0,64,"extra"],[3,51,"extra"],[5,39,"extra"],[6,35,"gauge44"],[7,31,"gauge44"],[8,27,"gauge44"],[1,56,"extra"],[2,54,"extra"],[4,43,"extra"],[0,65,"extra"],[3,52,"extra"],[5,40,"extra"],[6,36,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[1,57,"extra"],[2,55,"extra"],[4,44,"extra"],[0,66,"extra"],[3,53,"extra"],[5,41,"extra"],[6,37,"extra"],[7,33,"gauge44"],[8,29,"gauge44"],[1,58,"extra"],[2,56,"extra"],[4,45,"extra"],[0,67,"extra"],[3,54,"extra"],[5,42,"extra"],[6,38,"extra"],[7,34,"gauge44"],[8,30,"gauge44"],[1,59,"extra"],[2,57,"extra"],[4,46,"extra"],[0,68,"extra"],[3,55,"extra"],[5,43,"extra"],[6,39,"extra"],[7,35,"gauge44"],[8,31,"gauge44"],[1,60,"extra"],[2,58,"extra"],[4,47,"extra"],[0,69,"extra"],[3,56,"extra"],[5,44,"extra"],[6,40,"extra"],[7,36,"gauge44"],[8,32,"gauge44"],[1,61,"extra"],[2,59,"extra"],[4,48,"extra"],[0,70,"extra"],[3,57,"extra"],[5,45,"extra"],[6,41,"extra"],[7,37,"extra"],[8,33,"gauge44"],[1,62,"extra"],[2,60,"extra"],[4,49,"extra"],[0,71,"extra"],[3,58,"extra"],[5,46,"extra"],[6,42,"extra"],[7,38,"extra"],[8,34,"gauge44"],[1,63,"extra"],[2,61,"extra"],[4,50,"extra"],[0,72,"extra"],[3,59,"extra"],[5,47,"extra"],[6,43,"extra"],[7,39,"extra"],[8,35,"gauge44"],[1,64,"extra"],[2,62,"extra"],[4,51,"extra"],[0,73,"extra"],[3,60,"extra"],[5,48,"extra"],[6,44,"extra"],[7,40,"extra"],[8,36,"gauge44"],[1,65,"extra"],[2,63,"extra"],[4,52,"extra"],[0,74,"extra"],[3,61,"extra"],[5,49,"extra"],[6,45,"extra"],[7,41,"extra"],[8,37,"extra"],[1,66,"extra"],[2,64,"extra"],[4,53,"extra"],[0,75,"extra"],[3,62,"extra"],[5,50,"extra"],[6,46,"extra"],[7,42,"extra"],[8,38,"extra"],[1,67,"extra"],[2,65,"extra"],[4,54,"extra"],[0,76,"extra"],[3,63,"extra"],[5,51,"extra"],[6,47,"extra"],[7,43,"extra"],[8,39,"extra"],[1,68,"extra"],[2,66,"extra"],[4,55,"extra"],[0,77,"extra"],[3,64,"extra"],[5,52,"extra"],[6,48,"extra"],[7,44,"extra"],[8,40,"extra"],[1,69,"extra"],[2,67,"extra"],[4,56,"extra"],[0,78,"extra"],[3,65,"gauge44"],[5,53,"extra"],[6,49,"extra"],[7,45,"extra"],[8,41,"extra"],[1,70,"extra"],[2,68,"extra"],[4,57,"extra"],[0,79,"extra"],[3,66,"gauge44"],[5,54,"extra"],[6,50,"extra"],[7,46,"extra"],[8,42,"gauge44"],[1,71,"extra"],[2,69,"extra"],[4,58,"extra"],[0,80,"extra"],[3,67,"gauge44"],[5,55,"extra"],[6,51,"extra"],[7,47,"gauge44"],[8,43,"gauge44"],[1,72,"extra"],[2,70,"gauge44"],[4,59,"extra"],[0,81,"extra"],[3,68,"gauge44"],[5,56,"gauge44"],[6,52,"gauge44"],[7,48,"gauge44"],[8,44,"gauge44"],[1,73,"extra"],[2,71,"gauge44"],[4,60,"extra"],[0,82,"extra"],[3,69,"gauge44"],[5,57,"gauge44"],[6,53,"gauge44"],[7,49,"gauge44"],[8,45,"gauge44"],[1,74,"extra"],[2,72,"gauge44"],[4,61,"gauge44"],[0,83,"extra"],[3,70,"gauge44"],[5,58,"gauge44"],[6,54,"gauge44"],[7,50,"gauge44"],[8,46,"gauge44"],[1,75,"extra"],[2,73,"gauge44"],[4,62,"gauge44"],[0,84,"extra"],[3,71,"gauge44"],[5,59,"gauge44"],[6,55,"gauge44"],[7,51,"gauge44"],[8,47,"gauge44"],[1,76,"extra"],[2,74,"extra"],[4,63,"gauge44"],[0,85,"extra"],[3,72,"gauge44"],[5,60,"gauge44"],[6,56,"gauge44"],[7,52,"gauge44"],[8,48,"gauge44"],[1,77,"extra"],[2,75,"extra"],[4,64,"gauge44"],[0,86,"extra"],[3,73,"gauge44"],[5,61,"gauge44"],[6,57,"gauge44"],[7,53,"gauge44"],[8,49,"gauge44"],[1,78,"extra"],[2,76,"extra"],[4,65,"gauge44"],[0,87,"extra"],[3,74,"extra"],[5,62,"gauge44"],[6,58,"gauge44"],[7,54,"gauge44"],[8,50,"gauge44"],[1,79,"extra"],[2,77,"extra"],[4,66,"gauge44"],[0,88,"extra"],[3,75,"extra"],[5,63,"gauge44"],[6,59,"gauge44"],[7,55,"gauge44"],[8,51,"gauge44"],[1,80,"extra"],[2,78,"extra"],[4,67,"gauge44"],[0,89,"extra"],[3,76,"extra"],[5,64,"gauge44"],[6,60,"gauge44"],[7,56,"gauge44"],[8,52,"gauge44"],[1,81,"extra"],[2,79,"extra"],[4,68,"gauge44"],[0,90,"extra"],[3,77,"extra"],[5,65,"gauge44"],[6,61,"gauge44"],[7,57,"gauge44"],[8,53,"gauge44"],[1,82,"extra"],[2,80,"extra"],[4,69,"gauge44"],[0,91,"extra"],[3,78,"extra"],[5,66,"gauge44"],[6,62,"gauge44"],[7,58,"gauge44"],[8,54,"gauge44"],[1,83,"extra"],[2,81,"extra"],[4,70,"gauge44"],[0,92,"extra"],[3,79,"extra"],[5,67,"gauge44"],[6,63,"gauge44"],[7,59,"gauge44"],[8,55,"gauge44"],[1,84,"extra"],[2,82,"extra"],[4,71,"gauge44"],[0,93,"extra"],[3,80,"extra"],[5,68,"gauge44"],[6,64,"gauge44"],[7,60,"gauge44"],[8,56,"gauge44"],[1,85,"extra"],[2,83,"extra"],[4,72,"gauge44"],[3,81,"extra"],[5,69,"gauge44"],[6,65,"gauge44"],[7,61,"gauge44"],[8,57,"gauge44"],[1,86,"extra"],[2,84,"extra"],[4,73,"gauge44"],[3,82,"extra"],[5,70,"gauge44"],[6,66,"gauge44"],[7,62,"gauge44"],[8,58,"gauge44"],[1,87,"extra"],[2,85,"extra"],[4,74,"extra"],[3,83,"extra"],[5,71,"gauge44"],[6,67,"gauge44"],[7,63,"gauge44"],[8,59,"gauge44"],[1,88,"extra"],[2,86,"extra"],[4,75,"extra"],[3,84,"extra"],[5,72,"gauge44"],[6,68,"gauge44"],[7,64,"gauge44"],[8,60,"gauge44"],[1,89,"extra"],[2,87,"extra"],[4,76,"extra"],[3,85,"extra"],[5,73,"gauge44"],[6,69,"gauge44"],[7,65,"gauge44"],[8,61,"gauge44"],[1,90,"extra"],[2,88,"extra"],[4,77,"extra"],[3,86,"extra"],[5,74,"extra"],[6,70,"gauge44"],[7,66,"gauge44"],[8,62,"gauge44"],[1,91,"extra"],[2,89,"extra"],[4,78,"extra"],[3,87,"extra"],[5,75,"extra"],[6,71,"gauge44"],[7,67,"gauge44"],[8,63,"gauge44"],[1,92,"extra"],[2,90,"extra"],[4,79,"extra"],[3,88,"extra"],[5,76,"extra"],[6,72,"gauge44"],[7,68,"gauge44"],[8,64,"gauge44"],[1,93,"extra"],[2,91,"extra"],[4,80,"extra"],[3,89,"extra"],[5,77,"extra"],[6,73,"gauge44"],[7,69,"gauge44"],[8,65,"gauge44"],[2,92,"extra"],[4,81,"extra"],[3,90,"extra"],[5,78,"extra"],[6,74,"extra"],[7,70,"gauge44"],[8,66,"gauge44"],[2,93,"extra"],[4,82,"extra"],[3,91,"extra"],[5,79,"extra"],[6,75,"extra"],[7,71,"gauge44"],[8,67,"gauge44"],[4,83,"extra"],[3,92,"extra"],[5,80,"extra"],[6,76,"extra"],[7,72,"gauge44"],[8,68,"gauge44"],[4,84,"extra"],[3,93,"extra"],[5,81,"extra"],[6,77,"extra"],[7,73,"gauge44"],[8,69,"gauge44"],[4,85,"extra"],[5,82,"extra"],[6,78,"extra"],[7,74,"extra"],[8,70,"gauge44"],[4,86,"extra"],[5,83,"extra"],[6,79,"extra"],[7,75,"extra"],[8,71,"gauge44"],[4,87,"extra"],[5,84,"extra"],[6,80,"extra"],[7,76,"extra"],[8,72,"gauge44"],[4,88,"extra"],[5,85,"extra"],[6,81,"extra"],[7,77,"extra"],[8,73,"gauge44"],[4,89,"extra"],[5,86,"extra"],[6,82,"extra"],[7,78,"extra"],[8,74,"extra"],[4,90,"extra"],[5,87,"extra"],[6,83,"extra"],[7,79,"extra"],[8,75,"extra"],[4,91,"extra"],[5,88,"extra"],[6,84,"extra"],[7,80,"extra"],[8,76,"extra"],[4,92,"extra"],[5,89,"extra"],[6,85,"extra"],[7,81,"extra"],[8,77,"extra"],[4,93,"extra"],[5,90,"extra"],[6,86,"extra"],[7,82,"extra"],[8,78,"extra"],[5,91,"extra"],[6,87,"extra"],[7,83,"extra"],[8,79,"gauge44"],[5,92,"extra"],[6,88,"extra"],[7,84,"gauge44"],[8,80,"gauge44"],[5,93,"gauge44"],[6,89,"gauge44"],[7,85,"gauge44"],[8,81,"gauge44"],[6,90,"gauge44"],[7,86,"gauge44"],[8,82,"gauge44"],[6,91,"gauge44"],[7,87,"gauge44"],[8,83,"gauge44"],[6,92,"gauge44"],[7,88,"gauge44"],[8,84,"gauge44"],[6,93,"gauge44"],[7,89,"gauge44"],[8,85,"gauge44"],[7,90,"gauge44"],[8,86,"gauge44"],[7,91,"gauge44"],[8,87,"gauge44"],[7,92,"gauge44"],[8,88,"gauge44"],[7,93,"gauge44"],[8,89,"gauge44"],[8,90,"gauge44"],[8,91,"gauge44"],[8,92,"gauge44"],[8,93,"gauge44"]] \ No newline at end of file diff --git a/research/replica-tail-gain/data/FILL.json.gz b/research/replica-tail-gain/data/FILL.json.gz new file mode 100644 index 0000000000..64662f5cba Binary files /dev/null and b/research/replica-tail-gain/data/FILL.json.gz differ diff --git a/research/replica-tail-gain/data/ORDER.json b/research/replica-tail-gain/data/ORDER.json new file mode 100644 index 0000000000..b514b461dd --- /dev/null +++ b/research/replica-tail-gain/data/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[1,0],[0,9],[1,1],[0,10],[1,2],[2,0],[0,11],[1,3],[2,1],[0,12],[1,4],[2,2],[0,13],[3,0],[1,5],[2,3],[0,14],[3,1],[1,6],[2,4],[0,15],[3,2],[1,7],[2,5],[0,16],[3,3],[1,8],[2,6],[0,17],[3,4],[1,9],[2,7],[0,18],[3,5],[1,10],[2,8],[0,19],[3,6],[1,11],[2,9],[0,20],[3,7],[1,12],[2,10],[0,21],[3,8],[1,13],[2,11],[4,0],[0,22],[3,9],[1,14],[2,12],[4,1],[0,23],[3,10],[1,15],[2,13],[4,2],[0,24],[3,11],[1,16],[2,14],[4,3],[0,25],[3,12],[5,0],[1,17],[2,15],[4,4],[0,26],[3,13],[5,1],[1,18],[2,16],[4,5],[0,27],[3,14],[5,2],[1,19],[2,17],[4,6],[0,28],[3,15],[5,3],[1,20],[2,18],[4,7],[0,29],[3,16],[5,4],[6,0],[1,21],[2,19],[4,8],[0,30],[3,17],[5,5],[6,1],[1,22],[2,20],[4,9],[0,31],[3,18],[5,6],[6,2],[1,23],[2,21],[4,10],[0,32],[3,19],[5,7],[6,3],[1,24],[2,22],[4,11],[0,33],[3,20],[5,8],[6,4],[7,0],[1,25],[2,23],[4,12],[0,34],[3,21],[5,9],[6,5],[7,1],[1,26],[2,24],[4,13],[0,35],[3,22],[5,10],[6,6],[7,2],[1,27],[2,25],[4,14],[0,36],[3,23],[5,11],[6,7],[7,3],[1,28],[2,26],[4,15],[0,37],[3,24],[5,12],[6,8],[7,4],[8,0],[1,29],[2,27],[4,16],[0,38],[3,25],[5,13],[6,9],[7,5],[8,1],[1,30],[2,28],[4,17],[0,39],[3,26],[5,14],[6,10],[7,6],[8,2],[1,31],[2,29],[4,18],[0,40],[3,27],[5,15],[6,11],[7,7],[8,3],[1,32],[2,30],[4,19],[0,41],[3,28],[5,16],[6,12],[7,8],[8,4],[1,33],[2,31],[4,20],[0,42],[3,29],[5,17],[6,13],[7,9],[8,5],[1,34],[2,32],[4,21],[0,43],[3,30],[5,18],[6,14],[7,10],[8,6],[1,35],[2,33],[4,22],[0,44],[3,31],[5,19],[6,15],[7,11],[8,7],[1,36],[2,34],[4,23],[0,45],[3,32],[5,20],[6,16],[7,12],[8,8],[1,37],[2,35],[4,24],[0,46],[3,33],[5,21],[6,17],[7,13],[8,9],[1,38],[2,36],[4,25],[0,47],[3,34],[5,22],[6,18],[7,14],[8,10],[1,39],[2,37],[4,26],[0,48],[3,35],[5,23],[6,19],[7,15],[8,11],[1,40],[2,38],[4,27],[0,49],[3,36],[5,24],[6,20],[7,16],[8,12],[1,41],[2,39],[4,28],[0,50],[3,37],[5,25],[6,21],[7,17],[8,13],[1,42],[2,40],[4,29],[0,51],[3,38],[5,26],[6,22],[7,18],[8,14],[1,43],[2,41],[4,30],[0,52],[3,39],[5,27],[6,23],[7,19],[8,15],[1,44],[2,42],[4,31],[0,53],[3,40],[5,28],[6,24],[7,20],[8,16],[1,45],[2,43],[4,32],[0,54],[3,41],[5,29],[6,25],[7,21],[8,17],[1,46],[2,44],[4,33],[0,55],[3,42],[5,30],[6,26],[7,22],[8,18],[1,47],[2,45],[4,34],[0,56],[3,43],[5,31],[6,27],[7,23],[8,19],[1,48],[2,46],[4,35],[0,57],[3,44],[5,32],[6,28],[7,24],[8,20],[1,49],[2,47],[4,36],[0,58],[3,45],[5,33],[6,29],[7,25],[8,21],[1,50],[2,48],[4,37],[0,59],[3,46],[5,34],[6,30],[7,26],[8,22],[1,51],[2,49],[4,38],[0,60],[3,47],[5,35],[6,31],[7,27],[8,23],[1,52],[2,50],[4,39],[0,61],[3,48],[5,36],[6,32],[7,28],[8,24],[1,53],[2,51],[4,40],[0,62],[3,49],[5,37],[6,33],[7,29],[8,25],[1,54],[2,52],[4,41],[0,63],[3,50],[5,38],[6,34],[7,30],[8,26],[1,55],[2,53],[4,42],[0,64],[3,51],[5,39],[6,35],[7,31],[8,27],[1,56],[2,54],[4,43],[0,65],[3,52],[5,40],[6,36],[7,32],[8,28],[1,57],[2,55],[4,44],[0,66],[3,53],[5,41],[6,37],[7,33],[8,29],[1,58],[2,56],[4,45],[0,67],[3,54],[5,42],[6,38],[7,34],[8,30],[1,59],[2,57],[4,46],[0,68],[3,55],[5,43],[6,39],[7,35],[8,31],[1,60],[2,58],[4,47],[0,69],[3,56],[5,44],[6,40],[7,36],[8,32],[1,61],[2,59],[4,48],[0,70],[3,57],[5,45],[6,41],[7,37],[8,33],[1,62],[2,60],[4,49],[0,71],[3,58],[5,46],[6,42],[7,38],[8,34],[1,63],[2,61],[4,50],[0,72],[3,59],[5,47],[6,43],[7,39],[8,35],[1,64],[2,62],[4,51],[0,73],[3,60],[5,48],[6,44],[7,40],[8,36],[1,65],[2,63],[4,52],[0,74],[3,61],[5,49],[6,45],[7,41],[8,37],[1,66],[2,64],[4,53],[0,75],[3,62],[5,50],[6,46],[7,42],[8,38],[1,67],[2,65],[4,54],[0,76],[3,63],[5,51],[6,47],[7,43],[8,39],[1,68],[2,66],[4,55],[0,77],[3,64],[5,52],[6,48],[7,44],[8,40],[1,69],[2,67],[4,56],[0,78],[3,65],[5,53],[6,49],[7,45],[8,41],[1,70],[2,68],[4,57],[0,79],[3,66],[5,54],[6,50],[7,46],[8,42],[1,71],[2,69],[4,58],[0,80],[3,67],[5,55],[6,51],[7,47],[8,43],[1,72],[2,70],[4,59],[0,81],[3,68],[5,56],[6,52],[7,48],[8,44],[1,73],[2,71],[4,60],[0,82],[3,69],[5,57],[6,53],[7,49],[8,45],[1,74],[2,72],[4,61],[0,83],[3,70],[5,58],[6,54],[7,50],[8,46],[1,75],[2,73],[4,62],[0,84],[3,71],[5,59],[6,55],[7,51],[8,47],[1,76],[2,74],[4,63],[0,85],[3,72],[5,60],[6,56],[7,52],[8,48],[1,77],[2,75],[4,64],[0,86],[3,73],[5,61],[6,57],[7,53],[8,49],[1,78],[2,76],[4,65],[0,87],[3,74],[5,62],[6,58],[7,54],[8,50],[1,79],[2,77],[4,66],[0,88],[3,75],[5,63],[6,59],[7,55],[8,51],[1,80],[2,78],[4,67],[0,89],[3,76],[5,64],[6,60],[7,56],[8,52],[1,81],[2,79],[4,68],[0,90],[3,77],[5,65],[6,61],[7,57],[8,53],[1,82],[2,80],[4,69],[0,91],[3,78],[5,66],[6,62],[7,58],[8,54],[1,83],[2,81],[4,70],[0,92],[3,79],[5,67],[6,63],[7,59],[8,55],[1,84],[2,82],[4,71],[0,93],[3,80],[5,68],[6,64],[7,60],[8,56],[1,85],[2,83],[4,72],[3,81],[5,69],[6,65],[7,61],[8,57],[1,86],[2,84],[4,73],[3,82],[5,70],[6,66],[7,62],[8,58],[1,87],[2,85],[4,74],[3,83],[5,71],[6,67],[7,63],[8,59],[1,88],[2,86],[4,75],[3,84],[5,72],[6,68],[7,64],[8,60],[1,89],[2,87],[4,76],[3,85],[5,73],[6,69],[7,65],[8,61],[1,90],[2,88],[4,77],[3,86],[5,74],[6,70],[7,66],[8,62],[1,91],[2,89],[4,78],[3,87],[5,75],[6,71],[7,67],[8,63],[1,92],[2,90],[4,79],[3,88],[5,76],[6,72],[7,68],[8,64],[1,93],[2,91],[4,80],[3,89],[5,77],[6,73],[7,69],[8,65],[2,92],[4,81],[3,90],[5,78],[6,74],[7,70],[8,66],[2,93],[4,82],[3,91],[5,79],[6,75],[7,71],[8,67],[4,83],[3,92],[5,80],[6,76],[7,72],[8,68],[4,84],[3,93],[5,81],[6,77],[7,73],[8,69],[4,85],[5,82],[6,78],[7,74],[8,70],[4,86],[5,83],[6,79],[7,75],[8,71],[4,87],[5,84],[6,80],[7,76],[8,72],[4,88],[5,85],[6,81],[7,77],[8,73],[4,89],[5,86],[6,82],[7,78],[8,74],[4,90],[5,87],[6,83],[7,79],[8,75],[4,91],[5,88],[6,84],[7,80],[8,76],[4,92],[5,89],[6,85],[7,81],[8,77],[4,93],[5,90],[6,86],[7,82],[8,78],[5,91],[6,87],[7,83],[8,79],[5,92],[6,88],[7,84],[8,80],[5,93],[6,89],[7,85],[8,81],[6,90],[7,86],[8,82],[6,91],[7,87],[8,83],[6,92],[7,88],[8,84],[6,93],[7,89],[8,85],[7,90],[8,86],[7,91],[8,87],[7,92],[8,88],[7,93],[8,89],[8,90],[8,91],[8,92],[8,93]] \ No newline at end of file diff --git a/research/replica-tail-gain/data/PROFILE.json b/research/replica-tail-gain/data/PROFILE.json new file mode 100644 index 0000000000..bd1bc6f70a --- /dev/null +++ b/research/replica-tail-gain/data/PROFILE.json @@ -0,0 +1,10 @@ +{ + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 +} diff --git a/research/replica-tail-gain/expected/AXIOMS.json b/research/replica-tail-gain/expected/AXIOMS.json new file mode 100644 index 0000000000..d7eba161fa --- /dev/null +++ b/research/replica-tail-gain/expected/AXIOMS.json @@ -0,0 +1 @@ +{"declaration_names":["MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_1","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_2","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_3","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_4","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_5","MultitapeToolkit.ReplicaTailGain.frontierReplicaPower","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_2","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_3","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_4","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_5","MultitapeToolkit.ReplicaTailGain.frontier_predecessor_residue","MultitapeToolkit.ReplicaTailGain.frontier_profile_difference","MultitapeToolkit.ReplicaTailGain.frontier_retained_tail_dilution","MultitapeToolkit.ReplicaTailGain.log_32","MultitapeToolkit.ReplicaTailGain.log_48","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_1","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_2","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_3","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_4","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_5","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_6","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_7","MultitapeToolkit.ReplicaTailGain.periodic_rank_mass","MultitapeToolkit.ReplicaTailGain.periodic_rank_mass._proof_1_1","MultitapeToolkit.ReplicaTailGain.predecessorPower","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_1","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_10","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_11","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_12","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_13","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_14","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_2","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_3","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_4","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_5","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_6","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_7","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_8","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_9","MultitapeToolkit.ReplicaTailGain.predecessor_residue","MultitapeToolkit.ReplicaTailGain.profile_difference","MultitapeToolkit.ReplicaTailGain.replicaPower","MultitapeToolkit.ReplicaTailGain.replicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.residuePower","MultitapeToolkit.ReplicaTailGain.retained_tail_dilution","MultitapeToolkit.ReplicaTailGain.rpow_one_sub","MultitapeToolkit.ReplicaTailGain.rpow_one_sub_lower","MultitapeToolkit.ReplicaTailGain.rpow_one_sub_upper","MultitapeToolkit.ReplicaTailGain.tail_power_positive","MultitapeToolkit.ReplicaTailGain.tenReplicaPower","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_2","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_3","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_4","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_5","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_6","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_7"],"modules":["MultitapeToolkit.ReplicaTailGain","MultitapeToolkit"],"rows":[{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierReplicaPower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_predecessor_residue"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_profile_difference"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_retained_tail_dilution"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.log_32"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.log_48"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_7"},{"axioms":["propext","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_rank_mass"},{"axioms":["propext","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_rank_mass._proof_1_1"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_10"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_11"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_12"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_13"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_14"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_5"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_7"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_8"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_9"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessor_residue"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.profile_difference"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.replicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.replicaPower._proof_1"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.residuePower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.retained_tail_dilution"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub_lower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub_upper"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tail_power_positive"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_5"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_7"}]} \ No newline at end of file diff --git a/research/replica-tail-gain/independent_candidate_moment_retired7.py b/research/replica-tail-gain/independent_candidate_moment_retired7.py new file mode 100644 index 0000000000..87d8c30dc3 --- /dev/null +++ b/research/replica-tail-gain/independent_candidate_moment_retired7.py @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Directed rational moment certificate for a checked literal owner profile. +Standard atanh/Taylor enclosures follow the retained independent-moment lineage. +Floating arithmetic only nominates an initial bracket; acceptance is exact. +This certificate is finite pricing; root owns native/global/outer admission. +""" +from pathlib import Path +from fractions import Fraction as Q +from functools import lru_cache +from collections import Counter +import argparse,hashlib,json,math,sys +sys.dont_write_bytecode=True +if hasattr(sys,'set_int_max_str_digits'):sys.set_int_max_str_digits(0) +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +@lru_cache(None) +def logarithm(x): + need(x>=1,'positive reduced logarithm');e=0;y=x + while y>=2:y/=2;e+=1 + def core(z): + z=(z-1)/(z+1);need(0<=z<=Q(1,3),'atanh range');lo=2*sum((z**(2*j+1)/(2*j+1)for j in range(36)),Q(0));return lo,lo+2*z**73/(73*(1-z*z)) + a,b=core(y);c,d=core(Q(2));return a+e*c,b+e*d +def exponential(x): + need(0<=x0 for r,n in hist.items()),'positive paid profile') + # Binary floats nominate only a wide initial rational grid interval. + lo,hi=0.0,0.002 + for _ in range(60): + q=(lo+hi)/2;v=sum(n*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*live) + if v<1:lo=q + else:hi=q + G=10**24;unit=10**12;mid=int(((lo+hi)/2)*10**12)*unit;L=mid-unit;H=mid+2*unit + while moment(hist,Q(L,G),live)[1]>=1:L-=unit + while moment(hist,Q(H,G),live)[0]<=1:H+=unit + while H-L>1: + m=(L+H)//2;ml,mh=moment(hist,Q(m,G),live) + if mh<1:L=m + elif ml>1:H=m + else:raise ValueError('enclosure too wide for adjacent rational bracket') + lower,upper=Q(L,G),Q(H,G);ll,lh=moment(hist,lower,live);ul,uh=moment(hist,upper,live);need(lh<1previous,'strict gain over full exact PR2802 rational') + rejected=[] + def reject(name,fn,reason): + try:fn() + except ValueError as e:need(str(e)==reason,'wrong control reason '+name);rejected.append(dict(name=name,reason=reason)) + else:raise ValueError('accepted control '+name) + def accepts(h,q,W=live): + need(W==live,'source-bound normalization');need(moment(h,q,W)[1]<1,'strict moment admission') + def bracket(x,y):need(x1,'old actual profile fails improved target');rejected.append(dict(name='unchanged_T74_profile_at_improved_target',reason='exact lower moment above one')) + need(logarithm(Q(1))==(0,0)and exponential(Q(0))==(1,1),'exact elementary controls');l2=logarithm(Q(2));need(logarithm(Q(4))==(2*l2[0],2*l2[1]),'exact logarithm scaling') + need(before=={str(p.resolve()):sha(p)for p in files}and sha(basepath)==basehash,'input drift') + result=dict(status='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT',replicas=T,live=live,profile=hist,complex_lower=str(lower),complex_upper=str(upper),proposed_outer_target=str(target),strictly_above_full_PR2802=True,best_claim_sha256=sha(a.best_claim),best_kappa_rational=best['kappa'],lower_moment_minus_one=display(ll-1,lh-1),upper_moment_minus_one=display(ul-1,uh-1),target_gain_over_PR2802=display(target-previous,target-previous),controls=rejected,input_sha256={'owner_receipt':sha(a.owner_receipt),'best_claim':sha(a.best_claim)},baseline_profile_sha256=basehash,scope='Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.') + write_receipt(a.out,result);print(json.dumps({k:result[k]for k in['status','replicas','live','complex_lower','complex_upper','proposed_outer_target','strictly_above_full_PR2802']}),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/independent_candidate_owners_retired7.py b/research/replica-tail-gain/independent_candidate_owners_retired7.py new file mode 100644 index 0000000000..16013201b1 --- /dev/null +++ b/research/replica-tail-gain/independent_candidate_owners_retired7.py @@ -0,0 +1,111 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Independent integer-time and mask check of the actual parameterized-replica owner allocation with PR2802 retired7 providers. + +Chronology/mask method derives from Tekalign's PR2751 independent_owners.py; +Marius-Paul Dumitrean's PR2802 retired7 native construction and the retained +provider frame checker keep their +upstream attribution. No solver, producer, emitter or floating arithmetic is +imported. This checks finite geometry, not global native/outer admission. +""" +from pathlib import Path +from collections import Counter,defaultdict +import argparse,hashlib,gzip,json,sys,types +sys.dont_write_bytecode=True +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def read(p): + b=Path(p).read_bytes();return json.loads(gzip.decompress(b)if str(p).endswith('.gz')else b) +def inputs(PROVIDER): + provider_pins={'inputs/PLAN.json.gz':'afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa','inputs/GLOBAL-TEMPLATE.json.gz':'21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e','independent_local.py':'ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20','inputs/PROVIDERS.json':'391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4','inputs/WORD-base.json.gz':'dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66','inputs/WORD-extra.json.gz':'6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7'} + hashes={} + for n,pin in provider_pins.items(): + p=PROVIDER/n;need(sha(p)==pin,'pinned PR2802 provider source '+n);hashes[str(p)]=pin + L=types.ModuleType('retained_independent_frames');exec(compile((PROVIDER/'independent_local.py').read_bytes(),'pinned_PR2802_independent_local.py','exec'),L.__dict__);providers=read(PROVIDER/'inputs/PROVIDERS.json') + for tag,pid in [('base','gauge44'),('extra','extra')]: + word=read(PROVIDER/f'inputs/WORD-{tag}.json.gz');report,start,ends=L.check_frames(word);L.check_cleanup(word);L.algebra(word) + widths=[L.dm(ends[k])-L.dm(start[k])for k in sorted(start)if k>=224] + need(widths==providers[pid]['widths']and len(widths)==408,'actual ordered provider frame widths');need(len(word['centers'])==8,'eight centres');providers[pid]['actual_paid_profile']={int(k):v for k,v in report['profile'].items()} + return read(PROVIDER/'inputs/PLAN.json.gz'),read(PROVIDER/'inputs/GLOBAL-TEMPLATE.json.gz'),providers,hashes + +def windows(template,order,T): + ranks={c['child']:c['rank']for c in template['idle_children']};pairs={e['stage']:e['pair']for e in template['recipe']if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind']in('bank_padding_cover_sweep','translate_every_live_family'):continue + if event['kind']=='local_cover_sweep':stage=event['stage'];blocks[stage]=[] + need(stage is not None,'source event before local call');blocks[stage].append(event) + need(set(blocks)==set(range(9)),'nine source stages') + progress=[0]*T;last={};result={} + for t,(stage,replica)in enumerate(order): + need(0<=replica0,'idle source position');start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks:result[replica,child]=(ranks[child],start,t) + elif kind in ('terminal_Y_translations','terminal'):pass # inherited terminal phase; no pending-window endpoints + else:raise ValueError('unknown source event kind') + need(progress==[9]*T,'complete replica source progression');return result + +def check(T,order,fill,dispatch,claimed,plan,template,providers): + need(type(T)is int and T>0,'positive T');N=9*T + need(len(order)==N and set(map(tuple,order))=={(s,r)for s in range(9)for r in range(T)},'complete T call coverage') + win=windows(template,order,T) + need(set(dispatch)==set(map(tuple,order))and all(p in providers for p in dispatch.values()),'provider dispatch coverage') + for s,r,pid in fill.get('dispatch_overrides',[]):need(dispatch.get((s,r))==pid,'final dispatch override binding') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'literal role columns') + need(len(fill['rows'])==N*408,'complete role count');helpers=[0]*N;families=[0]*N;occupied={};lastrow={} + for idx,row in enumerate(fill['rows']): + need(len(row)==6 and all(type(x)is int for x in row),'integer role shape');t,h,o,c,p,z=row + need(0<=tlastrow[key][0]:lastrow[key]=(z,idx,w) + need(helpers==[(1<<408)-1]*N,'all helper identities');idle=Counter() + for(o,c),(cap,_,_)in win.items(): + for p in range(112): + key=(o,c,p);mask=occupied.get(key,0);used=mask.bit_count();need(mask==(1< + m == `MultitapeToolkit || (`MultitapeToolkit).isPrefixOf m) + let owns := fun name => + match env.getModuleIdxFor? name with + | none => false + | some index => ownedModules.contains (env.allImportedModuleNames[index.toNat]!) + let names := (env.constants.toList.filter (fun p => owns p.1)).map (fun p => p.1) + let names := names.toArray.qsort (fun a b => decide (a.toString < b.toString)) + unless names.size > 0 do + throwError "Empty toolkit declaration audit" + let permitted : Array Name := #[`propext, `Classical.choice, `Quot.sound] + let mut rows : Array Json := #[] + let mut theoremCount : Nat := 0 + for name in names do + let info ← getConstInfo name + let kind := match info with + | .thmInfo _ => "theorem" + | .defnInfo _ => "definition" + | .opaqueInfo _ => "opaque" + | .axiomInfo _ => "axiom" + | _ => "other" + if kind == "axiom" then + throwError "Toolkit declares an axiom: {name}" + if kind == "theorem" then theoremCount := theoremCount + 1 + let axioms ← collectAxioms name + for ax in axioms do + unless permitted.contains ax do + throwError "{name} depends on forbidden axiom {ax}" + let some index := env.getModuleIdxFor? name | throwError "Missing defining module: {name}" + let owner := env.allImportedModuleNames[index.toNat]! + rows := rows.push (Json.mkObj [ + ("name", toJson name.toString), ("module", toJson owner.toString), + ("kind", toJson kind), ("axioms", toJson (axioms.map Name.toString))]) + unless theoremCount > 0 do + throwError "No theorem reports in toolkit audit" + let report := Json.mkObj [ + ("modules", toJson (ownedModules.map Name.toString)), + ("declaration_names", toJson (names.map Name.toString)), ("rows", Json.arr rows)] + if let some path ← liftIO (IO.getEnv "MULTITAPE_TOOLKIT_AUDIT_PATH") then + liftIO (IO.FS.writeFile path report.compress) + logInfo m!"PASS_COMPLETE_MODULE_AXIOM_AUDIT: {names.size} declarations, {theoremCount} theorems, standard axioms only" + +def main : IO Unit := + IO.println "All toolkit modules and all their declarations passed the compile-time kernel/axiom audit." + diff --git a/research/replica-tail-gain/lean/MultitapeToolkit.lean b/research/replica-tail-gain/lean/MultitapeToolkit.lean new file mode 100644 index 0000000000..ba5674ff4d --- /dev/null +++ b/research/replica-tail-gain/lean/MultitapeToolkit.lean @@ -0,0 +1 @@ +import MultitapeToolkit.ReplicaTailGain diff --git a/research/replica-tail-gain/lean/MultitapeToolkit/ReplicaTailGain.lean b/research/replica-tail-gain/lean/MultitapeToolkit/ReplicaTailGain.lean new file mode 100644 index 0000000000..8aff21db8c --- /dev/null +++ b/research/replica-tail-gain/lean/MultitapeToolkit/ReplicaTailGain.lean @@ -0,0 +1,215 @@ +import Mathlib.Analysis.Complex.ExponentialBounds +import Mathlib.Tactic +set_option autoImplicit false +namespace MultitapeToolkit.ReplicaTailGain + +lemma rpow_one_sub (r t : ℝ) (hr : 0 < r) : + r ^ (1-t) = r * Real.exp (-t * Real.log r) := by + rw [Real.rpow_def_of_pos hr] + rw [show Real.log r * (1-t) = Real.log r + (-t * Real.log r) by ring, + Real.exp_add,Real.exp_log hr] + +lemma rpow_one_sub_lower (r t : ℝ) (hr : 0 < r) : + r * (1-t*Real.log r) ≤ r ^ (1-t) := by + rw [rpow_one_sub r t hr] + apply mul_le_mul_of_nonneg_left _ hr.le + linarith [Real.add_one_le_exp (-t*Real.log r)] + +lemma rpow_one_sub_upper (r t : ℝ) (hr : 0 < r) + (ht : 0 ≤ t) (htop : t ≤ 1/100) (hl : 0 ≤ Real.log r) (hu : Real.log r ≤ 4) : + r ^ (1-t) ≤ r*(1-t*Real.log r+t^2*(Real.log r)^2) := by + rw [rpow_one_sub r t hr] + apply mul_le_mul_of_nonneg_left _ hr.le + have hx : |-t*Real.log r| ≤ 1 := by + rw [abs_of_nonpos (by nlinarith : -t*Real.log r ≤ 0)] + nlinarith + have h := (abs_le.mp (Real.abs_exp_sub_one_sub_id_le hx)).2 + nlinarith + +lemma log_32 : Real.log 32 = 5*Real.log 2 := by + rw [show (32:ℝ) = 2^5 by norm_num,Real.log_pow] + norm_num + +lemma log_48 : Real.log 48 = 4*Real.log 2+Real.log 3 := by + rw [show (48:ℝ) = 2^4*3 by norm_num, + Real.log_mul (by norm_num : (2:ℝ)^4 ≠ 0) (by norm_num : (3:ℝ) ≠ 0),Real.log_pow] + norm_num + +/-- Strictly positive paid cost of the single residue tail in the actual +74-replica allocation, throughout the exponent interval used by the frontier. +This proves a power-cost fact; physical realization of a new allocation remains +an independent literal certificate obligation. -/ +theorem tail_power_positive (p : ℝ) (hp : 99/100 ≤ p) (hp1 : p < 1) : + 0 < 3*(3:ℝ)^p - 5*(5:ℝ)^p + 5*(32:ℝ)^p - 3*(48:ℝ)^p := by + let t := 1-p + have ht : 0 < t := by dsimp [t]; linarith + have htt : t ≤ 1/100 := by dsimp [t]; linarith + have hpt : p=1-t := by dsimp [t]; ring + have l2 : Real.log 2 ≤ 7/10 := by linarith [Real.log_two_lt_d9] + have l3 : 109/100 ≤ Real.log 3 := by linarith [Real.log_three_gt_d9] + have l3u : Real.log 3 ≤ 11/10 := by linarith [Real.log_three_lt_d9] + have l5 : 8/5 ≤ Real.log 5 := by linarith [Real.log_five_gt_d9] + have l5u : Real.log 5 ≤ 2 := by linarith [Real.log_five_lt_d9] + have l5z : 0 ≤ Real.log 5 := Real.log_nonneg (by norm_num) + have l48z : 0 ≤ Real.log 48 := Real.log_nonneg (by norm_num) + have l48u : Real.log 48 ≤ 4 := by rw [log_48]; linarith + have h3 := rpow_one_sub_lower 3 t (by norm_num) + have h32 := rpow_one_sub_lower 32 t (by norm_num) + have h5 := rpow_one_sub_upper 5 t (by norm_num) ht.le htt l5z (by linarith) + have h48 := rpow_one_sub_upper 48 t (by norm_num) ht.le htt l48z l48u + rw [←hpt] at h3 h32 h5 h48 + have s5 : (Real.log 5)^2 ≤ 4 := by nlinarith + have s48 : (Real.log 48)^2 ≤ 16 := by nlinarith + have e5 : t^2*(Real.log 5)^2 ≤ 4*t^2 := by nlinarith [mul_le_mul_of_nonneg_left s5 (sq_nonneg t)] + have e48 : t^2*(Real.log 48)^2 ≤ 16*t^2 := by nlinarith [mul_le_mul_of_nonneg_left s48 (sq_nonneg t)] + have ha : 30 ≤ 25*Real.log 5+144*Real.log 48-9*Real.log 3-160*Real.log 32 := by + rw [log_48,log_32] + linarith + have hat := mul_nonneg ht.le (sub_nonneg.mpr ha) + have hpos : 0 < 30*t-2404*t^2 := by + nlinarith [mul_nonneg ht.le (sub_nonneg.mpr htt)] + nlinarith + + +/-- Full paid child sum in the actual 74-replica predecessor. -/ +noncomputable def predecessorPower (p : ℝ) : ℝ := + 1591740 + 430902*(2:ℝ)^p + 204396*(3:ℝ)^p + 79920*(4:ℝ)^p + + 22532*(5:ℝ)^p + 5328*(8:ℝ)^p + (32:ℝ)^p + 26558*(48:ℝ)^p + +/-- Proposed complete periodic profile, for ten replicas. Physical ownership +is checked independently; this definition does not assume its realizability. -/ +noncomputable def tenReplicaPower (p : ℝ) : ℝ := + 215100 + 58230*(2:ℝ)^p + 27621*(3:ℝ)^p + 10800*(4:ℝ)^p + + 3045*(5:ℝ)^p + 720*(8:ℝ)^p + 3589*(48:ℝ)^p + +/-- Exact amortized invoice difference, including the predecessor's rank32 tail. -/ +theorem profile_difference (p : ℝ) : + predecessorPower p / 74 - tenReplicaPower p / 10 = + (3*(3:ℝ)^p-5*(5:ℝ)^p+5*(32:ℝ)^p-3*(48:ℝ)^p) / 370 := by + unfold predecessorPower tenReplicaPower + ring + +/-- The entire periodic paid profile strictly improves the normalized native +moment throughout the frontier exponent interval, for every positive number +of ten-replica blocks. No hosting or all-size implication is asserted here. -/ +theorem periodic_moment_strict (p : ℝ) (hp : 99/100 ≤ p) (hp1 : p < 1) + (k : ℕ) (hk : 0 < k) : + ((k:ℝ)*tenReplicaPower p) / ((8960*(k:ℝ))*(73:ℝ)^p) < + predecessorPower p / (66304*(73:ℝ)^p) := by + have hkR : (0:ℝ)0,'positive T');P.require(len(order)==9*T,'complete new invocation count') + parent=P.build(T);geometry=P.check(parent,parent['replica_lift']['groups']) + sp=importlib.util.spec_from_file_location('retained_physical_source_windows',base/'vendor/build_parent.py');mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod) + windows,schedule=mod.actual_windows(parent,order) + independent=P.expand_schedule(parent,order);P.require(schedule==independent,'independent literal source-event expansion') + dispatch={(s,r):pid for s,r,pid in dispatch_rows} + P.require(len(dispatch_rows)==len(order) and set(dispatch)==set(map(tuple,order)),'dispatch bijection') + P.require(set(dispatch.values())<=set(providers),'known provider') + for pid,d in providers.items(): + P.require(pid in plan['provider_registry'],'provider in retained registry') + plan['provider_registry'][pid].update(widths=d['widths'],actual_paid_profile={str(k):v for k,v in sorted({int(k):v for k,v in d['actual_paid_profile'].items()}.items())}) + widths={pid:d['widths']for pid,d in providers.items()};R=len(next(iter(widths.values()))) + P.require(all(len(w)==R for w in widths.values()),'same helper count') + pairs,sides=plan['pairs'],plan['sides'];helper_seen=collections.defaultdict(set);family_seen=collections.defaultdict(set);used=collections.defaultdict(set) + for z in roles: + tm=z['time'];P.require(0<=tmlen(cells):idle[cap-len(cells)]+=1 + paid=collections.Counter(idle) + for st,r in order:paid.update({int(k):v for k,v in providers[dispatch[st,r]]['actual_paid_profile'].items()}) + P.require(dict(paid)=={int(k):v for k,v in profile.items()},'entire actual paid profile') + P.require(73*896*T-sum(k*v for k,v in paid.items())==320*T,'full rank mass and deficit') + stage_template={c['stage']:c for c in plan['provider_calls']} + plan['provider_calls']=[];plan['per_call_widths']=[] + for tm,(st,r)in enumerate(order): + pid=dispatch[st,r];desc=plan['provider_registry'][pid];z=copy.deepcopy(stage_template[st]);orientation='forward'if st%2==0 else'backward' + P.require(z['orientation']==orientation,'source stage orientation') + z.update(replica=r,time=tm,provider=pid,local_program_sha256=desc['orientation_program_sha256'][orientation]);plan['provider_calls'].append(z) + plan['per_call_widths'].append(dict(stage=st,replica=r,time=tm,widths=desc['widths'])) + plan.update(T=T,live=896*T,deficit=320*T,order=order,windows=windows,profile=profile,assignment_sha256=P.sha(owners/'OWNERS.json.gz'),assignment_content_sha256=P.identity(roles),status=f'EXPLICIT_T{T}_STRICT_WINDOW_OWNER_FILL',mode=f'mixed-t{T}-exact-fill',solver_status='Literal fixed owner witness independently rechecked; no solver runs in adapter') + plan['replica_lift']=dict(replicas=T,parent_template_content_sha256=P.identity(parent),owners_file_sha256=P.sha(owners/'OWNERS.json.gz'),schedule_content_sha256=P.identity(schedule),source_replicas=37,groups=parent['replica_lift']['groups'],phase_recipe_unchanged=True) + # Discovery computes geometry/numerical expectations, but the descriptive + # reporting denominator is source metadata and must survive the reset. + preserved_expected={'gain_baseline_kappa':spec['expected']['gain_baseline_kappa']} + spec.update(name=f'mixed-t{T}-exact-fill',call_order=order,dispatch=dispatch_rows,providers={},expected=preserved_expected) + assembly_ast=ast.parse((base/'code/assemble.py').read_text(encoding='utf-8')) + read_expected={node.slice.value for node in ast.walk(assembly_ast) if isinstance(node,ast.Subscript) and isinstance(node.value,ast.Name) and node.value.id=='X' and isinstance(node.slice,ast.Constant) and isinstance(node.slice.value,str)} + discovery_computed={'complex_lower','conservative_complex_lower'} + P.require(read_expected-discovery_computed<=set(preserved_expected),'all noncomputed assembly X metadata retained') + # Fresh discovery/freezing and outer admission supply all expected values. + spec['geometry']=dict(replicas=T,stages=plan['L'],pairs=plan['K'],dimension=plan['M'],charged_prefix_bits=1<<(192+37+2*len(order)+4).bit_length(),parent_live=parent['live'],parent_physical=parent['physical'],parent_idle=geometry['parent_idle'],parent_helpers=504) + out.mkdir(parents=True) + for name,obj in [('GLOBAL-TEMPLATE.json.gz',parent),('OWNERS.json.gz',roles),('DISPATCH.json',dispatch_rows),('PROFILE.json',profile),('ORDER.json',order),('CONSTRUCTION.json',P.read(owners/'RESULT.json'))]:P.write_new(out/name,obj) + # Bind canonical output owner serialization while preserving exact role semantics. + output_owner=out/'OWNERS.json.gz' + P.require(P.read(output_owner)==roles,'serialized owner semantics') + # Canonical gzip may differ from emitter gzip. Bind the actual output file everywhere. + plan['assignment_sha256']=P.sha(output_owner);plan['replica_lift']['owners_file_sha256']=P.sha(output_owner) + P.write_new(out/'PLAN.json',plan) + spec['data']={'plan_sha256':P.sha(out/'PLAN.json'),'owners_sha256':P.sha(output_owner)} + P.write_new(out/'SPEC.json',spec) + receipt=dict(status='PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',geometry=spec['geometry'],groups=parent['replica_lift']['groups'],input_sha256=input_hash,template_content_sha256=P.identity(parent),new_sha256=P.sha(out/'GLOBAL-TEMPLATE.json.gz'),source_sha256=P.SOURCE_SHA,roles=len(roles),helpers_per_call=R,source_events_per_replica=30,global_tail=[30,31],schedule_content_sha256=P.identity(schedule),profile=dict(sorted(paid.items())),idle=dict(sorted(idle.items())),private_work_shared=514,source_programs_phase_recipes_unchanged=True,discovery_X_metadata=sorted(read_expected-discovery_computed),discovery_computed_X_keys=sorted(read_expected&discovery_computed),phase_scope='Reuses root fresh hash-bound native/phase admission; this adapter checks literal source geometry and complete paid owner profile.',scripts={Path(__file__).name:P.sha(__file__),Path(P.__file__).name:P.sha(P.__file__)}) + P.write_new(out/'PARENT-LIFT-RECEIPT.json',receipt) + for path,h in input_hash.items():P.require(P.sha(path)==h,'input unchanged after lift') + print('PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',json.dumps(spec['geometry'],sort_keys=True),flush=True) +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/portable_frontier_cold.py b/research/replica-tail-gain/portable_frontier_cold.py new file mode 100644 index 0000000000..31db5f08a1 --- /dev/null +++ b/research/replica-tail-gain/portable_frontier_cold.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Portable full replica-candidate replay: four fresh native chains by default. + +The pinned native preparer authenticates original491 source plus exact overlay506, +runs four native chains and the retained-parent check, then the admission driver +checks the actual new fill and complete release against exact PR2802 headline. +Explicit retained-only reuse and completed frontier-baseline reuse are separately +labelled. --prepare-only checks source preparation without issuing admission. +""" +import argparse, gzip, hashlib, json, os, platform, subprocess, sys, time +from fractions import Fraction +from pathlib import Path, PurePosixPath + +HERE=Path(__file__).resolve().parent +FRONTIER_HEAD='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd' +BASELINE_PINS_SHA='fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497' +SOURCE_SHA='9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' +COMPARISON_SHA='a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51' +COLD_STAGES={'literal-review','native-base','native-extra','native-retained-base','native-retained-extra','retained-parent','complete-admission'} +LF_ADAPTER=r'''"""Task-scoped Windows LF compatibility for authenticated generated source text. +No validation predicates or immutable source bytes are changed. +""" +from pathlib import Path +_original_write_text=Path.write_text + +def _write_text_lf(self,data,encoding=None,errors=None,newline=None): + return _original_write_text(self,data,encoding=encoding,errors=errors,newline='\n' if newline is None else newline) +Path.write_text=_write_text_lf +''' + +def need(ok,why): + if not ok:raise RuntimeError(why) +def sha(p):return hashlib.sha256(Path(p).read_bytes()).hexdigest() +def read(p): + p=Path(p);b=p.read_bytes();return json.loads(gzip.decompress(b)if p.suffix=='.gz'else b) +def tree(root,exclude=()): + result={} + for p in sorted(root.rglob('*')): + need(not p.is_symlink(),'unbound symlink: '+str(p)) + if p.is_file()and p.relative_to(root).as_posix()not in exclude:result[p.relative_to(root).as_posix()]=sha(p) + return result +def write(p,x): + lock=p.with_name(p.name+'.lock');fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + try: + os.write(fd,str(os.getpid()).encode());os.close(fd);fd=None + p.write_text(json.dumps(x,sort_keys=True,indent=2)+'\n',encoding='utf-8',newline='\n') + finally: + if fd is not None:os.close(fd) + lock.unlink() + +def authenticate_vendor(directory,pins): + need(sha(pins)==BASELINE_PINS_SHA,'exact baseline Git/SHA inventory pin') + inventory=read(pins);need(inventory['head']==FRONTIER_HEAD,'exact current frontier head');records=inventory['files'];need(len(records)==124,'exact 124 frontier files') + expected={} + for r in records: + name=r['path'];parts=PurePosixPath(name) + need(name and not parts.is_absolute()and '..'not in parts.parts and '\\'not in name,'safe baseline relative file') + p=directory/name;raw=p.read_bytes() + need(len(raw)==r['bytes'] and sha(p)==r['sha256'],'baseline file bytes: '+name) + need(hashlib.sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest()==r['git_blob'],'baseline Git blob: '+name) + expected[name]=r['sha256'] + need(len(expected)==124 and tree(directory,('DOWNLOAD-MANIFEST.json',))==expected,'complete exact frontier file set') + return expected + +def authenticate_completed_baseline(root,vendor_claim): + result=read(root/'RESULT.json');native=read(root/'NATIVE-RECEIPT.json');source=root/'source';cache=root/'native-cache' + need(result['status']=='PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE' and result['explicit_native_cache_reuse'] is False,'local baseline must be a completed fresh cold replay') + need(Fraction(result['kappa'])==Fraction(vendor_claim['kappa']) and Fraction(result['complex_lower'])==Fraction(vendor_claim['complex_lower']),'complete baseline claim binding') + need(result['profile']=={str(k):v for k,v in vendor_claim['profile'].items()},'baseline full profile') + need(result['native_receipt_sha256']==sha(root/'NATIVE-RECEIPT.json'),'baseline native receipt binding') + need(native['status']=='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' and native['source_commit']=='local-joint12-pr2733' and native['manifest_sha256']==SOURCE_SHA,'complete native source binding') + need(sha(source/'MANIFEST.json')==SOURCE_SHA and len(read(source/'MANIFEST.json'))==506 and tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'),'exact 506 derived frontier source files') + need(tree(cache)==native['cache_files'],'complete local native/parent cache file hashes') + stages=result['cold_stages'];need(len(stages)==7 and {s['name']for s in stages}==COLD_STAGES and all(s['exit_code']==0 for s in stages),'all fresh baseline stages') + for s in stages:need(sha(root/(s['name']+'.log'))==s['log_sha256'],'baseline stage log binding') + package=root/'admission/package';release=root/'admission/release/RELEASE-RECEIPT.json';receipt=read(release) + need(result['release_receipt_sha256']==sha(release) and receipt['status']=='PASS_RELEASE','completed baseline release receipt') + need(result['package_manifest_sha256']==sha(package/'MANIFEST.json')==receipt['manifest_sha256'],'baseline admitted package manifest binding') + need(tree(package,('MANIFEST.json',))==read(package/'MANIFEST.json'),'complete admitted baseline package') + need(Fraction(receipt['kappa_decimal'])==Fraction(result['kappa']),'baseline release rational') + return dict(result_sha256=sha(root/'RESULT.json'),native_receipt_sha256=sha(root/'NATIVE-RECEIPT.json'),source_manifest_sha256=SOURCE_SHA,cache_files=native['cache_files'],release_receipt_sha256=sha(release),scope='Explicit reuse of completed local fresh baseline; no native rerun by this invocation.') + +def authenticate_prepared_native(root): + result=read(root/'RESULT.json');receipt=read(root/'NATIVE-RECEIPT.json') + need(result['status']=='PASS_PORTABLE_NATIVE_PREPARATION','native producer PASS, without any intermediate T74 admission claim') + need(result['native_receipt_sha256']==sha(root/'NATIVE-RECEIPT.json'),'native producer receipt binding') + need(receipt['status']=='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' and receipt['source_commit']=='local-joint12-pr2733' and receipt['manifest_sha256']==SOURCE_SHA,'native producer source/protocol binding') + source=root/'source';cache=root/'native-cache' + need(sha(source/'MANIFEST.json')==SOURCE_SHA and len(read(source/'MANIFEST.json'))==506 and tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'),'exact506 derived source') + need(tree(cache)==receipt['cache_files'],'complete producer native/parent cache') + need(receipt['fresh_current_provider_count']==2,'both changed current providers freshly checked') + fresh=receipt['fresh_retained_native_count'];reused=receipt['reused_retained_native_count'] + need((fresh,reused)in ((2,0),(0,2)) and receipt['fresh_retained_parent']==(fresh==2) and receipt['reused_retained_parent']==(reused==2),'explicit retained fresh/reuse accounting') + if reused:need(receipt['retained_reuse_receipt_sha256']==sha(root/'RETAINED-REUSE.json'),'retained reuse receipt binding') + return dict(result_sha256=sha(root/'RESULT.json'),native_receipt_sha256=sha(root/'NATIVE-RECEIPT.json'),source_manifest_sha256=SOURCE_SHA,cache_files=receipt['cache_files'],fresh_current_provider_count=2,fresh_retained_native_count=fresh,reused_retained_native_count=reused,scope='Native preparation only; actual replica release checked separately.') + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work',type=Path,required=True) + ap.add_argument('--package',type=Path,default=HERE) + ap.add_argument('--baseline-dir',type=Path) + ap.add_argument('--baseline-pins',type=Path) + ap.add_argument('--source',type=Path,help='Optional authenticated preobtained original PR2679 tree; otherwise pinned HTTPS download.') + ap.add_argument('--native-preparer',type=Path) + ap.add_argument('--reuse-retained-baseline',type=Path,help='Explicit unchanged retained2 native chains and retained-parent reuse; current2 providers still freshly checked.') + ap.add_argument('--reuse-frontier-baseline',type=Path,help='Explicit completed fresh PR2802 T74 cold baseline reuse; a native-only bundle is not a completed baseline.') + ap.add_argument('--fill',type=Path);ap.add_argument('--order',type=Path);ap.add_argument('--dispatch',type=Path) + ap.add_argument('--comparison-claim',type=Path) + ap.add_argument('--replica-helper-dir',type=Path);ap.add_argument('--reconstructor',type=Path);ap.add_argument('--admission-driver',type=Path) + ap.add_argument('--jobs',type=int,default=4) + ap.add_argument('--prepare-only',action='store_true');ap.add_argument('--check-only',action='store_true',help='Only authenticate vendored/input/reuse files; run no proof subprocesses.') + a=ap.parse_args();need(not sys.flags.optimize and 1<=a.jobs<=4,'enabled assertions/one to four jobs');sys.dont_write_bytecode=True + need(not (a.reuse_frontier_baseline and a.reuse_retained_baseline),'choose completed-baseline reuse or retained-only reuse') + package=a.package.resolve();vendor=(a.baseline_dir or package/'vendor/frontier').resolve();pins=(a.baseline_pins or package/'vendor/frontier/DOWNLOAD-MANIFEST.json').resolve() + fill=(a.fill or package/'data/FILL.json.gz').resolve();order=(a.order or package/'data/ORDER.json').resolve();dispatch=(a.dispatch or package/'data/DISPATCH.json').resolve() + comparison=(a.comparison_claim or package/'references/PR2802-CLAIM.json').resolve() + helper=(a.replica_helper_dir or package).resolve();reconstructor=(a.reconstructor or package/'reconstruct_replica.py').resolve();driver=(a.admission_driver or package/'admit_frontier_replica.py').resolve() + preparer=(a.native_preparer or package/'portable_prepare_native.py').resolve() + vendor_inventory=authenticate_vendor(vendor,pins) + need(sha(comparison)==COMPARISON_SHA and 'kappa'in read(comparison) and 'headline_kappa_source'not in read(comparison),'exact full PR2802 headline claim') + files=[fill,order,dispatch,comparison,reconstructor,driver,preparer,helper/'lift_parent.py',helper/'replica_parent.py'] + inputs={str(p):sha(p)for p in files};order_value=read(order);need(order_value,'nonempty literal owner order') + T=1+max(r for st,r in order_value);need(T>0 and len(order_value)==9*T and set(map(tuple,order_value))=={(st,r)for st in range(9)for r in range(T)},'candidate replica coverage') + reuse=a.reuse_frontier_baseline.resolve()if a.reuse_frontier_baseline else None + binding=authenticate_completed_baseline(reuse,read(vendor/'CLAIM.json'))if reuse else None + work=a.work.resolve();need(not work.exists(),'fresh external work directory') + for root in [package,vendor,helper]+[p.resolve()for p in (a.source,reuse,a.reuse_retained_baseline)if p]:need(not work.is_relative_to(root),'work/input tree separation') + if a.check_only: + print(json.dumps(dict(status='PASS_PORTABLE_INPUT_PREFLIGHT_NOT_ADMISSION',T=T,vendor_files=len(vendor_inventory),input_sha256=inputs,explicit_baseline_reuse=bool(reuse),baseline_binding={k:v for k,v in binding.items()if k!='cache_files'}if binding else None),sort_keys=True));return + work.mkdir(parents=True);shim=work/'process-lf-adapter';shim.mkdir();(shim/'sitecustomize.py').write_text(LF_ADAPTER,encoding='utf-8',newline='\n') + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',OPENBLAS_NUM_THREADS='1',OMP_NUM_THREADS='1') + env['PYTHONPATH']=str(shim)+(os.pathsep+env['PYTHONPATH']if env.get('PYTHONPATH')else'') + for name in ('PYTHONOPTIMIZE','WITNESS_SPEC','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(name,None) + stages=[];start=time.monotonic() + def run(name,script,*args): + begin=time.monotonic();command=[sys.executable,'-B',str(script),*map(str,args)];log=work/(name+'.log') + with log.open('w',encoding='utf-8')as f:r=subprocess.run(command,env=env,cwd=work,stdin=subprocess.DEVNULL,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,command=command,script_sha256=sha(script),log_sha256=sha(log),seconds=time.monotonic()-begin));write(work/'STAGES.json',stages) + need(r.returncode==0,'failed '+name+'; see '+str(log));print('PASS',name,flush=True) + if reuse:baseline=reuse + else: + baseline=work/'native' # Leave absent: native producer requires fresh --work. + opts=[] + if a.source:opts+=['--source',a.source.resolve()] + if a.reuse_retained_baseline:opts+=['--reuse-retained-baseline',a.reuse_retained_baseline.resolve()] + if a.prepare_only:opts+=['--prepare-only'] + run('native-preparation',preparer,'--work',baseline,'--vendor-frontier',vendor,'--jobs',a.jobs,*opts) + if a.prepare_only: + prepared=read(baseline/'RESULT.json') + need(prepared['status']=='PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY' and prepared['native_receipt_issued'] is False and not (baseline/'NATIVE-RECEIPT.json').exists(),'prepare-only emits no native proof or admission') + need(authenticate_vendor(vendor,pins)==vendor_inventory and all(sha(Path(p))==h for p,h in inputs.items()),'unchanged prepared inputs') + receipt=dict(status='PREPARED_PORTABLE_REPLICA_NOT_ADMITTED',replicas=T,native_preparation_result_sha256=sha(baseline/'RESULT.json'),native_receipt_issued=False,admission_run=False,input_sha256=inputs,vendor_inventory_sha256=BASELINE_PINS_SHA,stages=stages,scope='Source preparation only; no native proof checks or replica admission.') + write(work/'RESULT.json',receipt);print(receipt['status'],flush=True);return + binding=authenticate_prepared_native(baseline) + args=['--source',baseline/'source','--fill',fill,'--order',order,'--dispatch',dispatch,'--native-cache',baseline/'native-cache','--native-receipt',baseline/'NATIVE-RECEIPT.json','--work',work/'candidate','--replica-helper-dir',helper,'--reconstructor',reconstructor,'--comparison-claim',comparison,'--source-profile','pr2802','--comparison-profile','pr2802','--jobs',a.jobs] + if a.prepare_only:args+=['--prepare-only'] + run('replica-candidate',driver,*args) + result=read(work/'candidate/RESULT.json') + if a.prepare_only:need(result['status']=='PREPARED_REPLICA_SAME_WORD_DERIVATIVE_NOT_ADMITTED','prepared status') + else: + need(result['status']=='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE','full candidate release status') + need(Fraction(result['kappa'])>Fraction(read(comparison)['kappa']),'strict exact full headline gain') + need(authenticate_vendor(vendor,pins)==vendor_inventory,'vendored baseline changed') + need(all(sha(Path(p))==h for p,h in inputs.items()),'input bytes changed') + need((authenticate_completed_baseline(baseline,read(vendor/'CLAIM.json'))if reuse else authenticate_prepared_native(baseline))==binding,'native/source/cache inputs changed') + receipt=dict(status='PREPARED_PORTABLE_REPLICA_NOT_ADMITTED'if a.prepare_only else'PASS_PORTABLE_REPLICA_COMPLETE_RELEASE',replicas=T,explicit_local_baseline_reuse=bool(reuse),fresh_native_preparation_run=not bool(reuse),explicit_retained_only_reuse=bool(a.reuse_retained_baseline),baseline_binding=binding,candidate_result_sha256=sha(work/'candidate/RESULT.json'),candidate_status=result['status'],kappa=result.get('kappa'),input_sha256=inputs,vendor_inventory_sha256=BASELINE_PINS_SHA,comparison_claim_sha256=COMPARISON_SHA,stages=stages,seconds=time.monotonic()-start,python=platform.python_version(),compatibility=dict(scope='Process-scoped UTF8/LF text adapter only; all upstream hash predicates remain unchanged.',adapter_sha256=sha(shim/'sitecustomize.py')),scope=result['scope']) + write(work/'RESULT.json',receipt);print(receipt['status'],result.get('kappa_decimal',''),flush=True) +if __name__=='__main__':main() + diff --git a/research/replica-tail-gain/portable_prepare_native.py b/research/replica-tail-gain/portable_prepare_native.py new file mode 100644 index 0000000000..49b156c86b --- /dev/null +++ b/research/replica-tail-gain/portable_prepare_native.py @@ -0,0 +1,345 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Authenticate PR2802 and prepare native receipts, without a redundant T74 admission. + +Default: four fresh native chains and a fresh retained-parent check. Explicit +--reuse-retained-baseline reuses only unchanged, completely hash-bound retained +chains and their retained-parent receipt. Current providers always run freshly. +""" +import argparse +from concurrent.futures import ThreadPoolExecutor +import gzip +import hashlib +import importlib +import importlib.util +import json +import os +from pathlib import Path, PurePosixPath +import platform +import shutil +import subprocess +import sys +import tarfile +import threading +import time + +HEAD = '17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd' +DOWNLOAD_SHA = 'fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497' +DERIVED_SHA = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' +PROTOCOL_STATUS = 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' +STEPS = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] +LF_SHIM = """from pathlib import Path +_original_write_text = Path.write_text +def _task_write_text(self, data, encoding=None, errors=None, newline=None): + return _original_write_text(self, data, encoding=encoding, errors=errors, + newline='\\n' if newline is None else newline) +Path.write_text = _task_write_text +""" + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', + encoding='utf-8', newline='\n') + + +def safe(name): + p = PurePosixPath(name) + need(isinstance(name, str) and p.parts and not p.is_absolute() and + '..' not in p.parts and '\\' not in name and p.as_posix() == name, + 'unsafe path: ' + str(name)) + + +def tree(root, exclude=()): + result = {} + for p in sorted(root.rglob('*')): + need(not p.is_symlink(), 'symlink in authenticated tree: ' + str(p)) + name = p.relative_to(root).as_posix() + if p.is_file() and name not in exclude: + result[name] = sha(p) + return result + + +def authenticate_vendor(vendor): + manifest = vendor / 'DOWNLOAD-MANIFEST.json' + need(sha(manifest) == DOWNLOAD_SHA, 'pinned download manifest') + data = read(manifest) + need(data['head'] == HEAD and len(data['files']) == 124, '124 pinned vendor files') + expected = {} + for item in data['files']: + name = item['path'] + safe(name) + need(name not in expected, 'duplicate vendor path') + body = (vendor / name).read_bytes() + need(len(body) == item['bytes'] and hashlib.sha256(body).hexdigest() == item['sha256'], + 'vendor SHA256/size: ' + name) + blob = hashlib.sha1(('blob ' + str(len(body)) + '\0').encode() + body).hexdigest() + need(blob == item['git_blob'] and blob.startswith(item['diff_blob']), 'vendor Git blob: ' + name) + expected[name] = item['sha256'] + need(tree(vendor, ('DOWNLOAD-MANIFEST.json',)) == expected, 'complete vendor inventory') + return expected + + +def source_guard(source): + need(sha(source / 'MANIFEST.json') == DERIVED_SHA, 'derived source manifest') + pins = read(source / 'MANIFEST.json') + need(len(pins) == 506 and tree(source, ('MANIFEST.json',)) == pins, + 'complete506-file derived source inventory') + return pins + + +def bind_native(entry, word): + need(gzip.decompress((entry / 'local/FULL-WORD.json.gz').read_bytes()) == + gzip.decompress(word.read_bytes()), 'complete native word binding') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == STEPS and all(s['exit_code'] == 0 for s in stages), + 'five successful native stages') + + +def reuse_retained(baseline, source, cache, retained): + prior = read(baseline / 'NATIVE-RECEIPT.json') + need(prior['status'] == PROTOCOL_STATUS, 'completed baseline native protocol') + previous_source = baseline / 'source' + need(sha(previous_source / 'MANIFEST.json') == prior['manifest_sha256'] and + tree(previous_source, ('MANIFEST.json',)) == read(previous_source / 'MANIFEST.json'), + 'complete baseline source inventory') + oldcache = baseline / 'native-cache' + need(tree(oldcache) == prior['cache_files'], 'complete baseline cache inventory') + old = source / 'vendor/pr1297' + need(tree(old) == tree(previous_source / 'vendor/pr1297'), 'exact retained vendor source identity') + records = {} + for tag, word in retained.items(): + digest = sha(word) + entry = oldcache / digest + expected = {k[len(digest)+1:]: v for k, v in prior['cache_files'].items() + if k.startswith(digest + '/')} + need(expected and tree(entry) == expected, 'retained native exact pins: ' + tag) + bind_native(entry, word) + shutil.copytree(entry, cache / digest) + need(tree(cache / digest) == expected, 'retained native exact copy: ' + tag) + records[tag] = dict(word_sha256=digest, files=expected) + pm = sha(old / 'MANIFEST.json') + relative = '_receipts/' + pm + expected = {k[len(relative)+1:]: v for k, v in prior['cache_files'].items() + if k.startswith(relative + '/')} + receipt_dir = oldcache / relative + need(expected and tree(receipt_dir) == expected, 'retained parent exact pins') + receipt = read(receipt_dir / 'RECEIPT.json') + need(receipt['schema'] == 'parent-receipt/1' and + receipt['vendor_manifest_sha256'] == pm and + receipt['claim_sha256'] == sha(old / 'CLAIM.json') and + receipt['words'] == {tag: sha(w) for tag, w in retained.items()}, + 'retained parent source/claim/word binding') + need(set(receipt['files']) == {'RESULT.json', 'STAGES.json'}, 'complete retained parent receipt files') + parent_stages = read(receipt_dir / 'STAGES.json') + need(len(parent_stages) == 16 and all(s['exit_code'] == 0 for s in parent_stages), + 'sixteen successful retained parent stages') + need(all(sha(receipt_dir / name) == digest for name, digest in receipt['files'].items()), + 'retained parent receipt file hashes') + parent = read(receipt_dir / 'RESULT.json') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' and + parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent PASS/claim') + shutil.copytree(receipt_dir, cache / relative) + need(tree(cache / relative) == expected, 'retained parent exact copy') + return dict(status='PASS_EXACT_HASH_BOUND_RETAINED_REUSE', + baseline_native_receipt_sha256=sha(baseline / 'NATIVE-RECEIPT.json'), + baseline_source_manifest_sha256=prior['manifest_sha256'], + baseline_source_commit=prior['source_commit'], + retained_vendor_manifest_sha256=pm, native_entries=records, + retained_parent_receipt_sha256=sha(cache / relative / 'RECEIPT.json')) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work', type=Path, required=True, help='Fresh external output directory.') + ap.add_argument('--source', type=Path, help='Exact original491-file PR2679 source; otherwise use pinned upstream download.') + ap.add_argument('--vendor-frontier', type=Path, default=Path(__file__).resolve().parent / 'vendor/frontier') + ap.add_argument('--jobs', type=int, choices=range(1, 5), default=4) + ap.add_argument('--reuse-retained-baseline', type=Path, + help='Explicit unchanged retained2-native/parent reuse from a completed baseline.') + ap.add_argument('--prepare-only', action='store_true', + help='Authenticate/copy source and optional retained reuse; do not run native checks or issue a native receipt.') + args = ap.parse_args() + need(not sys.flags.optimize, 'assertions must remain enabled') + sys.dont_write_bytecode = True + vendor = args.vendor_frontier.resolve() + authenticate_vendor(vendor) + versions = {name: str(importlib.import_module(name).__version__) + for name in ('numpy', 'sympy', 'scipy', 'mpmath')} + pinned = dict(line.split('==') for line in (vendor / 'requirements.txt').read_text().splitlines() if line) + need(versions == pinned, 'install the exact pinned requirements.txt in the invoking Python environment') + work = args.work.resolve() + need(not work.exists(), 'fresh work directory required') + need(not work.is_relative_to(Path(__file__).resolve().parent) and not work.is_relative_to(vendor), + 'external work directory required') + for p in (args.source, args.reuse_retained_baseline): + need(p is None or (p.is_dir() and not work.is_relative_to(p.resolve())), 'input/work separation') + work.mkdir(parents=True) + lockpath = work / 'native.lock' + with lockpath.open('x', encoding='utf-8') as lock: + lock.write(str(os.getpid()) + '\n') + successful = False + try: + spec = importlib.util.spec_from_file_location('_pinned_full_replay', vendor / 'full_replay.py') + upstream = importlib.util.module_from_spec(spec) + spec.loader.exec_module(upstream) + write(work / 'INPUT-BINDING.json', dict(upstream_head=HEAD, download_manifest_sha256=DOWNLOAD_SHA, + vendor_files=124, preparer_sha256=sha(Path(__file__)), + source_pins_sha256=sha(vendor / 'SOURCE-FILES.json'), overlay_pins_sha256=sha(vendor / 'OVERLAY-PINS.json'))) + source = work / 'source' + pins = read(vendor / 'SOURCE-FILES.json') + upstream.source_copy(args.source.resolve() if args.source else None, source, pins, args.jobs) + overlay = read(vendor / 'OVERLAY-PINS.json') + need(sha(source / 'MANIFEST.json') == overlay['original_manifest_sha256'], 'original source manifest') + need(sha(vendor / 'DERIVATIVE-OVERLAY.tar.gz') == overlay['archive_sha256'], 'overlay archive') + with tarfile.open(vendor / 'DERIVATIVE-OVERLAY.tar.gz') as archive: + members = archive.getmembers() + need(set(m.name for m in members) == set(overlay['files']) and len(members) == len(overlay['files']), 'exact overlay paths') + for member in members: + safe(member.name) + need(member.isfile(), 'regular overlay member') + body = archive.extractfile(member).read() + need(hashlib.sha256(body).hexdigest() == overlay['files'][member.name], 'overlay member hash') + target = source / member.name + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(body) + need(overlay['derived_manifest_sha256'] == DERIVED_SHA, 'pinned derived identity') + source_guard(source) + cache = work / 'native-cache' + cache.mkdir() + old = source / 'vendor/pr1297' + words = {tag: source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') for tag in ('base', 'extra')} + retained = {tag: old / name for tag, name in (('base', 'gauge44-word.json.gz'), ('extra', 'extra-word.json.gz'))} + reuse = None + if args.reuse_retained_baseline: + reuse = reuse_retained(args.reuse_retained_baseline.resolve(), source, cache, retained) + write(work / 'RETAINED-REUSE.json', reuse) + runtime = work / 'runtime-adapter' + runtime.mkdir() + shim = runtime / 'sitecustomize.py' + shim.write_text(LF_SHIM, encoding='utf-8', newline='\n') + inherited = [str(Path(p or os.getcwd()).resolve()) for p in sys.path] + inherited.extend(os.environ.get('PYTHONPATH', '').split(os.pathsep)) + paths = list(dict.fromkeys([str(runtime), *[p for p in inherited if p]])) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', BW_IDLE='0', PYTHONPATH=os.pathsep.join(paths)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + write(work / 'ENVIRONMENT.json', dict(python=platform.python_version(), versions=versions, + lf_adapter_sha256=sha(shim), jobs=args.jobs, planned_fresh_current_provider_count=2, + planned_fresh_retained_native_count=0 if reuse else 2, + reused_retained_native_count=2 if reuse else 0, + reused_retained_parent=bool(reuse), scope='Task process environment; no global configuration changes.')) + if args.prepare_only: + source_guard(source) + authenticate_vendor(vendor) + write(work / 'RESULT.json', dict(status='PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY', + source_file_count=506, manifest_sha256=DERIVED_SHA, native_receipt_issued=False, + explicit_retained_reuse=bool(reuse))) + successful = True + print('PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY', flush=True) + return + stages = [] + mutex = threading.Lock() + started = time.monotonic() + + def run(name, script, *arguments): + begin = time.monotonic() + log = work / (name + '.log') + command = [sys.executable, '-B', str(script), *map(str, arguments)] + with log.open('w', encoding='utf-8', newline='\n') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + with mutex: + stages.append(dict(name=name, exit_code=result.returncode, command=command, + seconds=time.monotonic()-begin, script_sha256=sha(script), log_sha256=sha(log))) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + retained_driver = None + if not reuse: + layout = work / 'retained-layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + members = archive.getmembers() + for member in members: + safe(member.name) + need(member.isfile(), 'regular retained archive member') + archive.extractall(layout, filter='data') + retained_driver = layout / 'joint1148-round45/source/research/k8-eight-ends/replay_native.py' + need(retained_driver.is_file(), 'retained native driver') + jobs = {**words, **({'retained-' + tag: word for tag, word in retained.items()} if not reuse else {})} + + def fresh_native(tag): + word = jobs[tag] + entry = cache / sha(word) + driver = retained_driver if tag.startswith('retained-') else source / 'new/run_native_borrow.py' + run('native-' + tag, driver, word, entry) + bind_native(entry, word) + write(entry / 'CACHE.json', dict(word_sha256=sha(word), files=tree(entry))) + + with ThreadPoolExecutor(max_workers=args.jobs) as pool: + list(pool.map(fresh_native, jobs)) + pm = sha(old / 'MANIFEST.json') + receipts = cache / '_receipts' / pm + if not reuse: + run('retained-parent', old / 'verify.py', '--work', work / 'retained-parent', + '--base-native-from', cache / sha(retained['base']), + '--extra-native-from', cache / sha(retained['extra'])) + parent = read(work / 'retained-parent/RESULT.json') + parent_stages = read(work / 'retained-parent/STAGES.json') + need(len(parent_stages) == 16 and all(s['exit_code'] == 0 for s in parent_stages), + 'sixteen successful fresh retained parent stages') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' and + parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'fresh retained parent PASS/claim') + receipts.mkdir(parents=True) + for name in ('RESULT.json', 'STAGES.json'): + shutil.copy2(work / 'retained-parent' / name, receipts / name) + write(receipts / 'RECEIPT.json', dict(schema='parent-receipt/1', vendor_manifest_sha256=pm, + claim_sha256=sha(old / 'CLAIM.json'), words={tag: sha(word) for tag, word in retained.items()}, + files={name: sha(receipts / name) for name in ('RESULT.json', 'STAGES.json')})) + source_guard(source) + authenticate_vendor(vendor) + providers = {tag: dict(word_sha256=sha(word), complete_native_files=tree(cache / sha(word), ('CACHE.json',))) + for tag, word in words.items()} + result = dict(status=PROTOCOL_STATUS, source_commit='local-joint12-pr2733', manifest_sha256=DERIVED_SHA, + providers=providers, retained_parent_receipt_sha256=sha(receipts / 'RECEIPT.json'), + cache_files=tree(cache), fresh_current_provider_count=2, + fresh_retained_native_count=0 if reuse else 2, + reused_retained_native_count=2 if reuse else 0, + fresh_retained_parent=not bool(reuse), reused_retained_parent=bool(reuse), + retained_reuse_receipt_sha256=sha(work / 'RETAINED-REUSE.json') if reuse else None) + write(work / 'NATIVE-RECEIPT.json', result) + need(tree(cache) == result['cache_files'], 'final complete cache identity') + write(work / 'RESULT.json', dict(status='PASS_PORTABLE_NATIVE_PREPARATION', + native_receipt_sha256=sha(work / 'NATIVE-RECEIPT.json'), source_file_count=506, + manifest_sha256=DERIVED_SHA, fresh_current_provider_count=2, + fresh_retained_native_count=result['fresh_retained_native_count'], + reused_retained_native_count=result['reused_retained_native_count'], + fresh_retained_parent=result['fresh_retained_parent'], reused_retained_parent=bool(reuse), + seconds=time.monotonic()-started, scope='Native preparation only; no T74 admission or T94 admission asserted.')) + successful = True + print('PASS_PORTABLE_NATIVE_PREPARATION', flush=True) + finally: + # The lock handle was closed immediately after its exclusive creation. + # Failures retain a closed diagnostic lock; there are no hidden retries. + if successful: + lockpath.unlink() + + +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/provenance/ADMISSION-SOURCES.json b/research/replica-tail-gain/provenance/ADMISSION-SOURCES.json new file mode 100644 index 0000000000..a26f28da4e --- /dev/null +++ b/research/replica-tail-gain/provenance/ADMISSION-SOURCES.json @@ -0,0 +1,26 @@ +[ + { + "name": "admit_frontier_replica.py", + "sha256": "d3274dd18f2ef27efbd9b53155654164019d95cd96640de87470c7e9d92d00e5" + }, + { + "name": "portable_frontier_cold.py", + "sha256": "8000bb159f5c4e5fd4a312a4849b98f81630e306f84a33b901d8838fd8b7c7ad" + }, + { + "name": "portable_prepare_native.py", + "sha256": "cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012" + }, + { + "name": "lift_parent.py", + "sha256": "4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d" + }, + { + "name": "replica_parent.py", + "sha256": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4" + }, + { + "name": "reconstruct_replica.py", + "sha256": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15" + } +] diff --git a/research/replica-tail-gain/reconstruct_replica.py b/research/replica-tail-gain/reconstruct_replica.py new file mode 100644 index 0000000000..f00410bb45 --- /dev/null +++ b/research/replica-tail-gain/reconstruct_replica.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: Apache-2.0 +# Derived from Jeremy Kothe / Philippe Van Velzen / Tekalign owner verifier. +# Parameter extension with substantial OpenAI Codex assistance. +"""Borrow-word owner witness: literal verification of the shipped exact fill (new/borrow-fill/FILL.json.gz) and emission of +OWNERS/ORDER/DISPATCH/PROFILE/RESULT for lift_parent.py. The helper count per call is R' = 480-k and the per-call widths come from +new/BORROW-PROVIDERS.json; the same windows, bins and distinct-family rules as the pinned PR1297 owner construction are checked +literally (no window, bin, helper or family rule is relaxed). Idle remainders are whatever the exact bins leave (ranks priced +exactly by the profile). The fill itself is found offline by new/borrow-fill/solve_fill.py (not rerun here) and only verified. +""" +import argparse,collections,gzip,importlib.util,json +from pathlib import Path +assert __debug__, 'Assertions are required' +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);args=ap.parse_args();P=args.out.resolve();P.mkdir(parents=True,exist_ok=False) +def read(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,x): + b=json.dumps(x,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +plan=read(F/'inputs/PLAN.json');parent=read(F/'inputs/GLOBAL-TEMPLATE.json.gz');T=plan['T'] +OF=F/'new/borrow-fill/ORDER.json' +assert OF.exists(), 'explicit candidate order required' +if OF.exists(): # a free complete invocation order (666 calls; windows are recomputed from it below) with its explicit dispatch + order=read(OF);dispatch={(s,r):pid for s,r,pid in read(F/'new/borrow-fill/DISPATCH.json')} + Tnew=1+max(r for s,r in order) + assert type(Tnew) is int and Tnew>0 + assert len(order)==9*Tnew and sorted(map(tuple,order))==[(s,r) for s in range(9) for r in range(Tnew)],'order must cover every actual source replica and stage exactly once' + assert set(dispatch)==set(map(tuple,order)),'complete provider dispatch' +else: + order=[[s,r+T*g] for s,r in plan['order'] for g in range(2)] + dispatch={(s,r+T*g):pid for s,r,pid in read(F/'inputs/DISPATCH.json') for g in range(2)} +source=F/'vendor/build_parent.py';sp=importlib.util.spec_from_file_location('windows',source);mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod);windows,schedule=mod.actual_windows(parent,order) +prov=read(F/'new/BORROW-PROVIDERS.json');widths={p:d['widths'] for p,d in prov.items()};paid={p:{int(k):v for k,v in d['actual_paid_profile'].items()} for p,d in prov.items()} +R=len(next(iter(widths.values())));assert all(len(w)==R for w in widths.values()) and set(widths)==set(dispatch.values()) +fill=read(F/'new/borrow-fill/FILL.json.gz');assert fill['columns']==['time','helper','owner_replica','child','port','offset'] +for s_,r_,p_ in fill['dispatch_overrides']:dispatch[s_,r_]=p_ # the single gauge44->extra provider upgrade of the pinned fill +pairs,sides=plan['pairs'],plan['sides'] +at={tuple(x):i for i,x in enumerate(order)} +roles=[] +for time,helper,rep,child,port,offset in fill['rows']: + stage,replica=order[time];w=widths[dispatch[stage,replica]][helper] + roles.append(dict(stage=stage,replica=replica,time=time,helper=helper,width=w,owner_replica=rep,child=child,port=port,offset=offset,copy=112*rep+port,family=rep*896+(2*pairs[str(child)]+sides[str(child)])*112+port)) +assert len(roles)==len(order)*R,(len(roles),len(order)*R) +helpers=collections.defaultdict(set);fams=collections.defaultdict(set);used=collections.defaultdict(set) +for z in roles: + call=(z['stage'],z['replica']);rep,child,port=z['owner_replica'],z['child'],z['port'] + cap,allowed=windows[f'{rep},{child}'] + assert z['time'] in allowed and 0<=port<112 and 0<=z['helper']=0 and z['offset']+z['width']<=cap and not used[rep,child,port]&cells + used[rep,child,port]|=cells +assert set(helpers)==set(map(tuple,order)) and all(s==set(range(R)) for s in helpers.values()) +idle=collections.Counter() +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(',')) + for port in range(112): + c=used[r,ch,port];assert c==set(range(len(c))),'gap in pending prefix' + if cap-len(c):idle[cap-len(c)]+=1 +H=collections.Counter(idle) +for sr in order: + for r,n in paid[dispatch[tuple(sr)]].items():H[int(r)]+=n +assert 73*(896*Tnew)-sum(r*n for r,n in H.items())==320*Tnew,'rank-mass deficit' +roles.sort(key=lambda r:(r['time'],r['helper'])) +dump(P/'OWNERS.json.gz',roles);dump(P/'ORDER.json',order);dump(P/'DISPATCH.json',[[s,r,dispatch[s,r]] for s,r in order]);dump(P/'PROFILE.json',dict(sorted(H.items()))) +dump(P/'RESULT.json',dict(status='PASS_EXACT_BORROW_WORD_REPLICA_OWNER_FILL',roles=len(roles),helpers_per_call=R,dispatch=dict(collections.Counter(dispatch.values())),idle=dict(sorted(idle.items())),scope='Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.')) +print('PASS_OWNER_VERIFY',dict(idle),dict(sorted(H.items())),flush=True) diff --git a/research/replica-tail-gain/references/PINS.json b/research/replica-tail-gain/references/PINS.json new file mode 100644 index 0000000000..ccbb655b9c --- /dev/null +++ b/research/replica-tail-gain/references/PINS.json @@ -0,0 +1,73 @@ +{ + "baseline_historical": { + "files": 66, + "head": "e6df920cd0110e4b629e2ad84eddcb539001e174", + "manifest_sha256": "f8c288ab2f6e7faa89650d451168a16df8b6919c573f888a389f0d1c9e26cde4", + "pr": 2766, + "scope": "Historical source comparison, not the current native supplier or a required bundled input.", + "source_tree_url": "https://github.com/CrocSwap/integer-mult-bounds/tree/e6df920cd0110e4b629e2ad84eddcb539001e174/research/complex-routing-leaf-fusion" + }, + "coverage": { + "comments_complete": false, + "discussion_bodies": 296, + "fetched_unique_flat_comment_records": 631, + "limitation": "Comment fetching stopped on HTTP403/429. This is a bounded source comparison, not a novelty proof.", + "listed_discussion_comments_and_replies": 1140, + "open_pr_bodies": 723 + }, + "frontier": { + "ai_assistance_disclosed_upstream": "Anthropic Claude via Claude Code", + "author": "Marius-Paul Dumitrean", + "files": 124, + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "manifest": "../vendor/frontier/DOWNLOAD-MANIFEST.json", + "manifest_sha256": "fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497", + "pr": 2802, + "source_subtree": "research/t74-joint-twelve-retired7" + }, + "last_authenticated_main": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "latest_normal_api_quota_check": { + "core_remaining": 0, + "limitation": "Normal endpoint still reported zero and a past reset; no further REST requests or bypass were used.", + "reported_reset_utc": "2026-10-15T23:02:16Z", + "rest_heads_newly_refreshed": false, + "retry_after": null, + "status": 200, + "utc": "2026-10-15T23:02:45.937Z" + }, + "main_pin_channel": "ordinary public repository HTML currentOid,2026-10-15T23:14:43.632Z", + "previous_authenticated_main": "84f8e607779b81c05edc962d4981d1f9b4b9bc9f", + "priority_revision_last_full_guidance_snapshot": 5, + "references": [ + { + "path": "PR2767-OUTER-CLAIM.json", + "sha256": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "source_head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "source_url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json", + "usage": "Exact full pending outer kappa rational used for strict candidate comparison." + }, + { + "path": "PR2802-CLAIM.json", + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "source_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/CLAIM.json", + "usage": "Current reviewed full pending outer kappa rational; author Marius-Paul Dumitrean." + } + ], + "repository": "CrocSwap/integer-mult-bounds", + "schema_version": 1, + "selected_result_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "snapshot_date_utc": "2026-10-15", + "supplemental_public_refresh": { + "bodies_fetched": 100, + "bodies_parsed": 100, + "channel": "ordinary public repository and PR HTML plus normal pinned raw", + "current_reviewed_highest_complete_supplier_pr": 2802, + "git_ls_remote": "Failed SEC_E_NO_CREDENTIALS; no config changes or credential attempts.", + "head_sha_fields": 100, + "main_readme_sha256": "b9d94e1bc9ff9d1efe5b69e00963ee5d917cb376e36a453e0554742110ec0041", + "recent_pr_records": "RECENT-PRS.json", + "recent_pr_records_sha256": "c56be4b596c83fe1a8c3d13172f34db8b90c85807822835647bc75606a26e045", + "selected_result_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + } +} diff --git a/research/replica-tail-gain/references/PR2767-OUTER-CLAIM.json b/research/replica-tail-gain/references/PR2767-OUTER-CLAIM.json new file mode 100644 index 0000000000..2bb218a750 --- /dev/null +++ b/research/replica-tail-gain/references/PR2767-OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999", + "kappa_rational": "17172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/replica-tail-gain/references/PR2802-CLAIM.json b/research/replica-tail-gain/references/PR2802-CLAIM.json new file mode 100644 index 0000000000..2e64718924 --- /dev/null +++ b/research/replica-tail-gain/references/PR2802-CLAIM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717794984118634663827", + "complex_upper": "0.001717794984118634663828", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": "2751", + "comparison_head": "4cfbb0cc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2751, + "head": "4cfbb0cc", + "exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "comparisons": { + "2751": { + "kappa_source": "evidence/PR2751-CLAIM.json", + "exact_margin": "326698885104162859/500000000000000000000000", + "margin_float": 6.533977702083258e-07 + }, + "2766": { + "kappa_source": "evidence/PR2766-CLAIM.json", + "exact_margin": "538010651632355557/1000000000000000000000000", + "margin_float": 5.380106516323556e-07 + }, + "2767": { + "kappa_source": "evidence/PR2767-OUTER-CLAIM.json", + "exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)", + "margin_float": 5.380106516323556e-07 + } + }, + "new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route", + "local_predecessor": { + "package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)", + "exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "exact_margin": "385667783143020379/1000000000000000000000000", + "margin_float": 3.856677831430204e-07 + } +} diff --git a/research/replica-tail-gain/references/RECENT-PRS.json b/research/replica-tail-gain/references/RECENT-PRS.json new file mode 100644 index 0000000000..9b37eb4a0e --- /dev/null +++ b/research/replica-tail-gain/references/RECENT-PRS.json @@ -0,0 +1,811 @@ +{ + "channel": "ordinary public HTML, not REST", + "records": [ + { + "head": "bfd6b68d1cd01913c7619f6b4115da8e584286f5", + "html_sha256": "9c8d1cbba0ed1b79d267a2546939a8c09e001db6f0f080514b571f77efff9964", + "number": 2813, + "primary_body_normalized_sha256": "dee38a56a1fb1c6d6cd5ee77245c815ddc5b72b7af606a1c3cd032202a687ebd", + "title": "Certify exact precision for the ADD-retimed P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2813" + }, + { + "head": "02884bd5c8ec2f82c10ad2ff0378921f0a5279b4", + "html_sha256": "194da079f3fd39fff700d06bd6bde9b3ddaa6a5bd1fa81f64e43c299aeba21a9", + "number": 2812, + "primary_body_normalized_sha256": "fb8fffe500293cbf0e2191cade885e42c977d4a51f7d7c9dce4d135f00f01e6c", + "title": "Certify the QQ16 scratch sweep direction optimum", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2812" + }, + { + "head": "3d07cfe7f5035bccf7975616b0f3bd53a3b78ca8", + "html_sha256": "32bf3872faa5d69984f5458fb9d678bf372090844eb8ca4975b17a0a6927890e", + "number": 2811, + "primary_body_normalized_sha256": "d569b00f3e01299c3472296f60bad575e11c4326dcf422f13a61be9114d63e58", + "title": "Price the rounded QQ16 pair with explicit Boolean circuits", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2811" + }, + { + "head": "8abae69a53337dd3d0965db3470ab249b0216f22", + "html_sha256": "e0b50c75ebcd82b152e51c386632e9feb5aa6a4728948e2b691a083b66e09593", + "number": 2810, + "primary_body_normalized_sha256": "3f2310a1bc178efedf456951340fe02e453bbe4595b2172f446e34d64fc15f2e", + "title": "Prove exact numerical peaks for BIT directory and ADD phases", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2810" + }, + { + "head": "6b09c565887c400ca01fafb067bc9d855f1ef9fc", + "html_sha256": "5f88867efcf9d69317d8ee2a2e6dbd2213bfd36d5c905894b29bd5db0bed0d65", + "number": 2265, + "primary_body_normalized_sha256": "95e1f89a958ebba9f285159b60b5df53374ae7c937b1ef095b797682030f8a57", + "title": "Outer retune of #2260: #1673 capped phase-cell fusion outer on the selective-borrowing supplier, conditional \u03ba = 0.00168341258854\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2265" + }, + { + "head": "18da668a4f248f5c0cf3fc94355068ead4db3476", + "html_sha256": "570610c0b143dcd93472ee3fda7df286a4bf97c3b469d6764707e4f6df61bc11", + "number": 2757, + "primary_body_normalized_sha256": "d672c5514e652e174c40b498a952d51492d0825b03c2fb680c3d069e0aa47479", + "title": "P112 rank-57 cover with scoped rational decoder cost floors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2757" + }, + { + "head": "38af8fb25f6adb5fa7da145cd9a03d41c39fd5d0", + "html_sha256": "81af4fd85424abcce7e1838e0c7bbf4b0fe88d06d55ca885b89e3a5cdcb6978f", + "number": 2809, + "primary_body_normalized_sha256": "f06b6b7d9be35d3fbb93fce7229b23999c51d65fc91600c0c74fc1c37021b07a", + "title": "Prove a fixed-tape lowering for the selected BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2809" + }, + { + "head": "b00b58e0db823643364f705b530faac254e7b05b", + "html_sha256": "e7272e9048f8f11e0afc9e5502ba14e99159745e11f60a7c6b2c6bc568b51504", + "number": 2808, + "primary_body_normalized_sha256": "6e0adac06d3a8e90892438935e6ff735f7875017d7aff5e6b165215def31b358", + "title": "Implement the logical BIT outer borrowing wrapper", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2808" + }, + { + "head": "6fbab8c4b95cdf75dfcbb33806c31349408d73a2", + "html_sha256": "66f1b6ae084f2581045dcf48115c262cadf349e66bbb80b0f2ca3f00b51560f6", + "number": 2807, + "primary_body_normalized_sha256": "eb95a7fe60736211f83ecc98947a115e0cda73bb073d1fcd3a1ab39340c314c9", + "title": "Bound finite dyadic registers for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2807" + }, + { + "head": "7c2634c42c5f583b94244bba8e985ea32c19bdf0", + "html_sha256": "e6e8dac8c5e0cbbb6e126e185152996d5221cf84cf330598695780b091afd172", + "number": 1758, + "primary_body_normalized_sha256": "a28cc328f8a9fd5b5d2ecc1d4bc64f62f2370fe77678d84ecfc913e5a11d723a", + "title": "Conditional \u03ba = 0.001679745508802299: gauge-free (fractional-shift) interiors, structured boundary solves and radix-distributed sparse-union schedule on PR1673's capped phase-cell fusion outer, pivot-566+554 T74 supplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1758" + }, + { + "head": "dc7b871a06ccdf5e94523ef991f704bc111905a8", + "html_sha256": "5c5edadaf3be27986a36286fcddc35700261cbcae8f9001c2fcada124e10811f", + "number": 2806, + "primary_body_normalized_sha256": "c615620d295506eec22c2db5cf4fa1dde2c3acd037e39dd14be07854f9fa54b8", + "title": "Decoder floors, closures: punctured E8 units (Model C) for 48 \u2264 p \u2264 56, all m (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2806" + }, + { + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "html_sha256": "ddec7bad9c50c6f54a83334a38a83592c20fd1d2e738e3b7da1a27c24005ae85", + "number": 2802, + "primary_body_normalized_sha256": "e55360b7eb8ba17d94470223eab8150f269c221b38721462b45c78120015a43c", + "title": "Conditional \u03ba \u2248 0.001717794984118634663827: two hostee moves and seven retired-lender aliases on #2751's joint twelve-source words", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2802" + }, + { + "head": "65da5e0c269346b00c2f389debfcb3a34d7590c6", + "html_sha256": "7546b5afa319c83ba1510e7b3be463424de75deaf34272ff352455fb684d2ee5", + "number": 2805, + "primary_body_normalized_sha256": "97befe2362eff1252f8d38edb9546f324b1a842d23c78d759166dcb65be24d22", + "title": "Research: read-only transported shears for the native covariant reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2805" + }, + { + "head": "b4012098048e12500b2d33d2e84be281915a27ac", + "html_sha256": "6e62626b56fe0f35d0a9bf38924fb214dd2d770c28392faa1e52d251aa3254ef", + "number": 2530, + "primary_body_normalized_sha256": "ad56b87029a1719a4504edb032a191fb4942bd30a57abcc1d79271ff77b8d667", + "title": "Conditional \u03ba \u2248 0.0017137379215475043 from source-partner lifetimes and physical rehosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2530" + }, + { + "head": "feb727ba471b5dc3f057f867804aa70ae58b2e71", + "html_sha256": "e328d7a598bb8c96873e42563787b8ec1e8e1abb8c05640641d8a2c360c5a4f8", + "number": 2804, + "primary_body_normalized_sha256": "22bf1ccb2ea4763d9c1c18369b6e56136d5e7b2178763f13287a3c435e434804", + "title": "Independent verification (no \u03ba): #2530's source-partner words exact through cleanup and endpoint; stock, endpoint enclosure and \u03ba composition reproduce; no defect found", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2804" + }, + { + "head": "b3c4a186ecd743bbb9605596628da4b881b90121", + "html_sha256": "6b72805f199c7980f21e1309da3de1d8dc8dba65c167d8993baebb4ac49e96d4", + "number": 2803, + "primary_body_normalized_sha256": "8e0ce0c5d833be361601c18e54b9313b7bf04e53e1724a6739033ac16e894536", + "title": "Fix strict replay comparison of large JSON integers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2803" + }, + { + "head": "fde6b107e26a14da5bac5b66913c914708ea6901", + "html_sha256": "6574d46fee029585ad2cd44766498acef1d3e2a4ea69da02c040f86f19bfc502", + "number": 2260, + "primary_body_normalized_sha256": "e50eaeed86f5520f801769d79657f0f1eb3fb4b86f885258c40ee40456c1d4fa", + "title": "Improve conditional \u03ba to 0.0016805 with selective dirty borrowing and physical owner repacking", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2260" + }, + { + "head": "8ef6fa81403973d3cacaf865bdabe9797a6c34a0", + "html_sha256": "b1a860839a486c410675b814c935ee7ccfbd0460f7dabdbaec4bdb2636a083d4", + "number": 2244, + "primary_body_normalized_sha256": "ba89992120019fbfd9ecb309277859e24a4d653b866c090e0dbfcb7c9edb3de7", + "title": "Paper-side line counts per dimension: Lagrangian bound v \u2264 T(2^k\u2032+1) with exact ladder D4/D6/E7/E8 and no-gos scoped to windows h \u2264 13 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2244" + }, + { + "head": "e2564b80b86fb77610b4b78701e5446a76fbe962", + "html_sha256": "983ef5a8ace26073e3c64bd3d8bab9ecc1d492c304d770afd9c913a879fa23b5", + "number": 2801, + "primary_body_normalized_sha256": "55555bc2258cd3de667db1e5935c8633483accd7c5a89608bdd191380d45c07a", + "title": "Bound caller numerical state at selected BIT adapter callbacks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2801" + }, + { + "head": "3401bcfce70ad5b692cd4d89e92955229f56c819", + "html_sha256": "2d5beb0c42793aeb978a5ea671c8730b0764f7642ba9719278801b838c04c40c", + "number": 2799, + "primary_body_normalized_sha256": "4149a075c90d283de93c5bd454aaa84e5363df168e8669128ea4a2f4abbb44ed", + "title": "Research: certify terminal X/Y readout kernels for selected centre errors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2799" + }, + { + "head": "a459ee34fad0488691beba8441e0a31e103b91a5", + "html_sha256": "a5a64e2ffb15c2b5e9b85e82338c01e8ce3408c03b8392004baa9f3553325f5a", + "number": 2493, + "primary_body_normalized_sha256": "0773a0898f2517aae63028612003d156af45ca2887be2178172defd75a55668c", + "title": "Batch Discussion overlap reads with complete pagination", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2493" + }, + { + "head": "116fa79ddc306ac2ba6cfeb920deddddef1fc54b", + "html_sha256": "da7eca74a36af0b4e3a625301d21751c9ab0023d50cd7dbfb80371c6c077961a", + "number": 2798, + "primary_body_normalized_sha256": "cd99ca39ada26e4100747f2e8b9e4d1f4ed752d7fc3db40b06351bc8b8ece41e", + "title": "Prove the P112 right-extension COPY floor with charged auxiliary terms", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2798" + }, + { + "head": "be479fd575307f3f60a5f41fd92af37c2fcf0af0", + "html_sha256": "19e773ead34623995302768dfb4fdf132cfc4fc45cab84397b4c4a72a2f203d8", + "number": 2797, + "primary_body_normalized_sha256": "8102e85e49b4607a454da1501cb6e19e45bc5ae885e96985bde25522f49abd93", + "title": "Independently audit PR2493 overlap pagination and cache failures", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2797" + }, + { + "head": "f9a6245cfdcae0b920fcbc9c79c4fb73a2706605", + "html_sha256": "8bf3acd6f1099bb031c7a47653c426f712736335e0b49f11e3e1d0a92a8eb0ce", + "number": 2796, + "primary_body_normalized_sha256": "696c76078229d605d46d8e0306d978a167612323273d979d45471825c683c6f6", + "title": "Audit the selected BIT child coefficient's numerical lifetime", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2796" + }, + { + "head": "fad52f9528cfea1c3bcfc0094ff56abf945d31a7", + "html_sha256": "9b520f5dd54b64ddf866346744ac6740bcd9a2cdab9d8b5da6b5ec1145c436da", + "number": 2795, + "primary_body_normalized_sha256": "66d8404acf72dd317c4b0575a5baf9a7e92cff843d1801ba514936e2e7c5da00", + "title": "Prove five-root minimum for eight-source paired-call connectors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2795" + }, + { + "head": "fea29bf8d84242a4bf91fd8b243c7229a8c94c52", + "html_sha256": "5df196f2769dc929ecbd949d235005acdf30f4d1aecbe29408354af55f69f310", + "number": 2794, + "primary_body_normalized_sha256": "667c76b240986151513d83cc65021c2e48d00cc9b6360205c69b0d87e4c1ade2", + "title": "Prove exact optimal QQ16 streaming sweep directions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2794" + }, + { + "head": "d8b59acaa5133a525e88be64f60b658acbb3525c", + "html_sha256": "57140c58e06b5bc2ec9cf5ad37f7f83d8e05a5f57e7a4af7714e4a801b952714", + "number": 2793, + "primary_body_normalized_sha256": "d4191056fc741942cfdce060858ed7c2502011f36d2870b5b1a91acfbf4eb24a", + "title": "Research: prototype faster selected-record source binding", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2793" + }, + { + "head": "6f68ca122aa6bdbcc9f22b0125fb96d321fa98d3", + "html_sha256": "3edcb9001649939759d3349f694cdf50b8597a007a6e8cd30e6e1fd785ad114b", + "number": 2792, + "primary_body_normalized_sha256": "c2a6a962b993ce9b0735054f8f4d276e2addb6e9e4f3dd3e09430b14e709bc52", + "title": "Preserve assertion checks in historical replay children", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2792" + }, + { + "head": "1a9b88273535cbe93cb6cb7ca95f38fdcfe548f3", + "html_sha256": "bbc7498b0a21863766cecc3067a62330e57c510515dbe4ec081ff784c93487d0", + "number": 2790, + "primary_body_normalized_sha256": "bff479c92215898ae3779f71184fd47547d119292cd406a5199de41698e4336a", + "title": "Prove an operand-preserving eight-tape multiplier with paid copying and head return", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2790" + }, + { + "head": "626ce8eddf5569d270a3422954f9a3ce90f16942", + "html_sha256": "e8292712fed73998ebe28d712a3fdbf0459abbac76ffe54998331d6af2029926", + "number": 2406, + "primary_body_normalized_sha256": "b189ab19838c6e18f81ad988200eb3c688940aa443165b1e222f58c58e879f3c", + "title": "Research: cap T74 scalar and handoff frame refits at b < 0.0016972", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2406" + }, + { + "head": "e28e84c9826ca583814e965dcc36d8e549963d58", + "html_sha256": "5479622748740bb302475af9057e3a162b0e1c763187395bdd7dd9b09916c32f", + "number": 2788, + "primary_body_normalized_sha256": "9e62f3c9261ae8dead0a85f8a8c10fa3f4c706af2d4cc201b4dace6f3e8e7d30", + "title": "Bind T74 width-cap arithmetic execution to authenticated source bytes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2788" + }, + { + "head": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "html_sha256": "e306fee215095ff3f14f3de4c7c5cbfbda058d45f498244d7204525af5ef2254", + "number": 2269, + "primary_body_normalized_sha256": "11b769284f96dde31591ff877cdc29bc0a698e01cf211a3c7055ce658b38cf4d", + "title": "Conditional \u03ba = 0.001696247139058474: capped phase-cell fusion outer (PR1673) on the T74 supplier with anticipatory dirty borrowing (PR2226, 43 high-helper aliases) on the T74 pivot-566+554 supplier: conditional kappa 0.0016962471390584742\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2269" + }, + { + "head": "80df2062cef303c05ffe89bb54b87b6b371d1253", + "html_sha256": "03a02842d4d47d0858da75c1e0748f3c752d48cda9dc99062bbe0e4d74fb9e53", + "number": 2786, + "primary_body_normalized_sha256": "7a574a9e3564f83467382338dc9be1945228ab9ac84dd1271d1ef2a798befc5d", + "title": "Implement compatible-row padding for the logical BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2786" + }, + { + "head": "6189e005a41b9de025e0426c1ae0ec2c0583d15d", + "html_sha256": "a905014b6ac3d040738f0509a5436ed1dca332964f027c19ad18af1907f87862", + "number": 2784, + "primary_body_normalized_sha256": "976db1fd6d343b1fa3a471b44e2ada79be6e387483fe6b1f061a18ee848f61a2", + "title": "Decoder floors, case (c): the A2 family of non-B-form rank-9 realisations (P112 \u2265 64, #968 P104 \u2265 56, E8 \u2265 72; no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2784" + }, + { + "head": "002a9983079a3244c10221b4e16d0cff7e70da40", + "html_sha256": "7d0b7f80cce5c91a51695c7212512e1f7d5a1d16d5e40d8098ad79bac33121d2", + "number": 2782, + "primary_body_normalized_sha256": "ff44851385753857987b2d45bd8174a1cedc41e900f26f413de439cb661b6f61", + "title": "Research: positive half-integral Gram decoder barrier and exact paired-plane C5 gate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2782" + }, + { + "head": "9fdbd4b0429dbfcb4569f7768b66d318deacab6b", + "html_sha256": "ebda95393bd02994f19d8645ccc34df5d8e0fbe7391a1228ab28fc5f8a6c3325", + "number": 2781, + "primary_body_normalized_sha256": "3498af7ebd0975b98f25178d06ee06d727fd77baeceb5499ce4ec9fe7d61ef0b", + "title": "Bound complete selected BIT adapter numerical lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2781" + }, + { + "head": "59f336094958b51b312e54deb85347e1b671172d", + "html_sha256": "6ea2536d3dbd7abe36bc70b5d784edc46874d635829883f577fb1713d23de789", + "number": 2780, + "primary_body_normalized_sha256": "855416663c3a643d2d756bb5fa4f763b323f5dd95e7bb6881193d22e8ff95ada", + "title": "Prove paid return of every physical head for the clean six-tape multiplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2780" + }, + { + "head": "3b8da2aba852254686c2cc1a7c67f8caa93d2fdb", + "html_sha256": "efe079c058fece5c4acbeaa79ac29b80d7f2a509e1d0a9413cb9451975cf3601", + "number": 2676, + "primary_body_normalized_sha256": "117c5319958af4b55588e95295454c3cc902c7c93f253f752fb67586efaf9dd8", + "title": "Stop direct script trees on scheduler exceptions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2676" + }, + { + "head": "642bfaf4325f0c8294ab72e8911c3eab4fea354f", + "html_sha256": "ef2248f1f56d957340ba6bb5f1e43e72d2183abe57adba50fda7284bdb76ebc5", + "number": 2162, + "primary_body_normalized_sha256": "0391ae82ba3450ab827b43073a5e08198e423b00fba66cf56e478c009b18a427", + "title": "\u2708\ufe0f Characteristic-2 shadows of rank-3 decoders: the anti-Fano bound by first-order jets, with a Lean-checked core (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2162" + }, + { + "head": "1f2a413f9e27ce9609924f7ab196548c4cbe43d8", + "html_sha256": "277131b5977e17439056635febeb0f501f9739c24559f66bd4d577718e3fa01e", + "number": 2779, + "primary_body_normalized_sha256": "f6f56ccaf30fd1cfbae6f9f003a6fb612d50caf267831fc48f520967e075689a", + "title": "Research: partitioned independent-walks 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2779" + }, + { + "head": "6dfdbaa004540f5d89f390a9a78fa38c46d225d6", + "html_sha256": "8c7a6bf1e9f8fe76bebf87d082a56ad19b09f555995a256ca48c6a1be878174f", + "number": 2778, + "primary_body_normalized_sha256": "b85160c3e155e49a233628e7361a851b0169fab6f75a81ba951d6aac2d7bd31f", + "title": "Bound numerical storage during selected BIT form construction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2778" + }, + { + "head": "a2bab9978c8149dc5965558ea9277da07bc750e7", + "html_sha256": "7428748c3b2e5eb6a6e63663aa7b79ffbd22595350ca18b17f3851ce0fe2591d", + "number": 2747, + "primary_body_normalized_sha256": "e2ab76e7cba279a9bd2fd709104655d46b63f719b9a12dc2591c4479cc0ea5a0", + "title": "F-star residue (i): mixed anchor-repair-pivot lemma MX, tied-instance certificates, and a tied-domain search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2747" + }, + { + "head": "7de16285a02ebb45cf46e7501baa7eafa78335e3", + "html_sha256": "80ece7cee96823c445edfe7a3e2b562d254685493661312c54035be27d150b09", + "number": 2776, + "primary_body_normalized_sha256": "8395a3ccafccccf5c5f9f845957f3f2a108316a4ce7b791a609e7f3aad6012a4", + "title": "Realize all-size ordered shears on fourteen fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2776" + }, + { + "head": "b7b2a1e0ba3b1e5b52bc79ed93e42ea6f2bb8925", + "html_sha256": "366bc71199e31b5fc4fcaf3a98d66bbbacddbbc965b9e3cb0b25bc1307f4fdca", + "number": 2639, + "primary_body_normalized_sha256": "ade13d19b3e6e856f7bc7ca76fca914e645cde4ead669ccec6f69f7ae6df392e", + "title": "Decoder floors, closures: punctured E8 units (Model C) to p = 46 (all m) and p \u2264 56 (merged m \u2265 8), windows h = 10\u201311 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2639" + }, + { + "head": "539abe1401bbebe3aee8527342ee6010904fc2e5", + "html_sha256": "5d9f3f6bcc3ea7e6d5d4bb3c4eb976b3bab7dabd79f90dc4e5fba5c1252e1106", + "number": 2775, + "primary_body_normalized_sha256": "e24db0b1de5dec1a7d2a88a78b91bfe60a25fde64d745cbcdc03048818b97c69", + "title": "Prove complete clean six-tape multiplication and eight explicit applications", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2775" + }, + { + "head": "ceaf5acf976cee2f70a680f2d513f12baa634870", + "html_sha256": "efcf37a59dce960abf24fad7d65535b76d2cd7caa95d74935ad1ea82842c709a", + "number": 2774, + "primary_body_normalized_sha256": "f85f4eeea25f71fcb7d7236d22d7d16cda823b1bb711f99c59f08d312b1773ec", + "title": "F-star residue class (ii): non-3-dichromatic zero digraphs - matched-pivot floor, fixture dichromatic structure, smallest-first falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2774" + }, + { + "head": "407712103b605a662a89a56f9c42b93dca69126b", + "html_sha256": "ec2273841cec28aee2f90e41356752e14b3036dd0dd207bfcea4d1a930785f31", + "number": 2077, + "primary_body_normalized_sha256": "591685e1d1a7c32f6505ad35386adb889ccb0f45666781756ce9f2eb8030f0e4", + "title": "Research: four helper placements improve selected T16 kappa", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2077" + }, + { + "head": "462593231536f771050da8f44390b3e4eba95783", + "html_sha256": "b7c6e4f4e043c09015de93e0d84e5b5b9f0a55a2b5c50a51468c8155a68d56b6", + "number": 2375, + "primary_body_normalized_sha256": "e06f3a0662a4d80c5ab9d8d0bec10661f81d685ff1bc4cf192c3a54e1af7d4cb", + "title": "Tooling: 3.09\u00d7 faster production frame-pair enumeration via eight-bit neighborhoods with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2375" + }, + { + "head": "69ba5a423246a1c9281bdd5c1f51240b454f2aa6", + "html_sha256": "69af827854a04e6431d605cfbd091aee2fb67918912a5d3e4c20201bcceb41f3", + "number": 2772, + "primary_body_normalized_sha256": "66a3fbfd3a01dbb9506c9993e630a230ac541e01c2a0466a05ba6347853c9e82", + "title": "Certify a whole-word internal grid for the physical P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2772" + }, + { + "head": "e707681c3f6db70d0432501403e2122794a36ade", + "html_sha256": "0f571d70b0d9ecb2839154ebb26cf8290b2d818af3bac2d57de130ced72b1c63", + "number": 2771, + "primary_body_normalized_sha256": "b9320ff56d5a44cf331021a2f1992f1139c4dbc7abced15b7e36afdb3cb417a6", + "title": "Bound rounded native-line defects for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2771" + }, + { + "head": "a768c79ee5fd45bcfa8fc7a566646a620a7f2ef5", + "html_sha256": "7ea3d64e648280fd9e4662efbde0085f0db6aae229029dbfb8da6e8709afcf85", + "number": 2411, + "primary_body_normalized_sha256": "aa54dc31c1a784e481c4693cb788199ccfc6c67e30c0aa9bc875fced13091426", + "title": "[Lean] Link an end-to-end proof of multiplication below n log n", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2411" + }, + { + "head": "687372b807f5ec635f6a748c2585fc0090a7dc2a", + "html_sha256": "71ab2451f1cfd9ced6f54a6ba8abf5e4fb13555ec69452f503706c5301796bf2", + "number": 2770, + "primary_body_normalized_sha256": "110e062ac5708988806747aa0a93a97e39c704e6612769b26e9a027442f5c8c7", + "title": "research(bit): bound numerical callback word lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2770" + }, + { + "head": "e7fd43cf1be63cd14a9b2b57b2889eaf25a1fde2", + "html_sha256": "b2602ec0a13dcb37f73748992128bb207ed1d2924d240ddac9a14aac9eeb30c8", + "number": 2768, + "primary_body_normalized_sha256": "d882bc72ce5848242efcf72036ac2d6b0dfe2f9abf4ad1d01b1c3c80600db359", + "title": "Tooling: 3.57x faster complete T74 native replay with unchanged exact coverage", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2768" + }, + { + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "html_sha256": "58284a927461d09fbd8bed652866da723b2707e5630a9131fcdcb387fc14aecc", + "number": 2767, + "primary_body_normalized_sha256": "da02cd5316079b127b18b8fa1a98dcf87ccb0ca352d9493741c224ea10ca7671", + "title": "Conditional \u03ba = 0.001717256973467002: post-cut partner correction on #2696's lender assignment with #2679's pre-life hosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2767" + }, + { + "head": "d97f150d89e3f3eebdf625a468a445c9c0f1e6c9", + "html_sha256": "8e4dfc3b050ec2d160fddd8297c021bc3b28622973e32bcfb0e4215ec64aaace", + "number": 2769, + "primary_body_normalized_sha256": "5a7e3adc80f217c8b64477273839d705905f931e1e6694e3806c0263ded919ef", + "title": "Park recursive numerical banks on two fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2769" + }, + { + "head": "3bc76f12b29732e901f13b19d341253379f04cb1", + "html_sha256": "867f3f1593ac4b705262faac7dd39835935043bb9fe34dcc338df6b8b706809b", + "number": 2357, + "primary_body_normalized_sha256": "5c728a73696a90f999a8f61fc4ccf22bef7dc7ffbd745e2f561bd4cdfb301458", + "title": "Tooling: 2.26\u00d7 faster production emitted-local audit via integer rows with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2357" + }, + { + "head": "e6df920cd0110e4b629e2ad84eddcb539001e174", + "html_sha256": "0c662e34c7edff2a2a44b8b0ed0f609f4d246686e7411011b757d85932f2f1ed", + "number": 2766, + "primary_body_normalized_sha256": "69faaccfc3e45e85e459276177e4193f28f6f58e6ed6f74c2da57188f9843eb8", + "title": "Improve conditional \u03ba to 0.001717256973467 with credited routing-frame fusion", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2766" + }, + { + "head": "54d031fc3df0e5361d5840eb3863c9d134d60f23", + "html_sha256": "ad05b68fb2f61540aa5da9f138ba97d90558960883323849ff2019c1b2a31434", + "number": 2765, + "primary_body_normalized_sha256": "22ea54707d26cd6514ba1ef38c3f7100c61083f5390b481e21986f2a7477f0b3", + "title": "Certify masked E8 decoder padding transfers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2765" + }, + { + "head": "d4d5f0f37929df97ea1e0f8d2bf0859f92407e55", + "html_sha256": "710f250a4a47504f838b190ddd4240c2b2d5e766314a47824ddf74334c313a34", + "number": 2764, + "primary_body_normalized_sha256": "fb6b6d3c991b2f9b47ad59809b5cba87f9bea4339ebb2a3cb153f117b2d53b15", + "title": "Research: dirty-parity collapse extends to eight queries (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2764" + }, + { + "head": "24b985e05d77a6005e3b18cdd4a7c33da9c0d260", + "html_sha256": "a9e97232a1c5f2b24cc8c5f36e91938e2b355b495f8882905993ae30cbc06fcc", + "number": 2763, + "primary_body_normalized_sha256": "b745c61ab1bd001bb0a0af85e8b6a07b5d2f277682d3a7a6802164512ca321d7", + "title": "Audit centre-source coefficients with an independent adjoint and sign control", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2763" + }, + { + "head": "0ed979edbedf04caf5ad3f2b6b1c30a136f74553", + "html_sha256": "2935c60887c56cef5e695dc720c88a3416a99b9e597e4572c9b2af09c0449438", + "number": 2762, + "primary_body_normalized_sha256": "dea8e602f87d51c747d11443f599e6215980a36513b3de86d39e145d64cda7f1", + "title": "Census round 2: screening results for the 16 uncovered open complex claims (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2762" + }, + { + "head": "cd4ff9427c3e35efb4de09bbf1137e7b68732ecf", + "html_sha256": "343065ade88ef48cb18840a5d179132d73e004353ea9f4a1988492249a5380ed", + "number": 2761, + "primary_body_normalized_sha256": "a103c96112396c850c77b36c45061824e383b4567239669c322f354143f95e62", + "title": "Research: multi-connector / priced-shadow 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2761" + }, + { + "head": "982c54b986c9f44e7524e5faa9522b809e793ded", + "html_sha256": "7b7d11de6db7ea3181c9409e0e4bc7339497ba3b2ab4f58390b4bb51d30f4294", + "number": 2760, + "primary_body_normalized_sha256": "62611f160dae1281dee57d7e07167208c5bc9b0fd6187fe40ea7fdeabfc66de8", + "title": "docs(research): map selected BIT caller and storage obligations", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2760" + }, + { + "head": "68a7161a610f175dc8e7b22f95acd033191450d9", + "html_sha256": "2744e6eeeddfddd7bf134f871b97ea3bd6b0c1e9757a8de587efc4f5da3143ca", + "number": 2329, + "primary_body_normalized_sha256": "9e4ad3e758bc2bbb3d2f56fcea2f3589e4dd1c3223a828e52993e03102135835", + "title": "Tooling: 3.15\u00d7 faster production Clifford zero_state via gate tables with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2329" + }, + { + "head": "2fd8fbe0d2f57c4a8ebb7b7c9ae45df1fcf69be9", + "html_sha256": "d886530d69a88267aa529b672968985e79ba358406ca7d14f117c967c412f3cb", + "number": 2759, + "primary_body_normalized_sha256": "b05599ae63d84e35fe07ed9c47002e83bec1584937aefd0e01fc4f31d9a52977", + "title": "Certify sharp numerical scratch bounds for BIT arithmetic", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2759" + }, + { + "head": "ef041c010b32f037dddf2f67a96a53d435966746", + "html_sha256": "2c5df16c2c457e0ded7c1750a7a6df06c573c458f1c310ca68b1562e9587c729", + "number": 2758, + "primary_body_normalized_sha256": "63d656163058049d2dd0923d03a1bbddac50efb4bbe9edd0ad2284f6e37eb210", + "title": "Bound serialized continuation storage in the selected BIT evaluator", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2758" + }, + { + "head": "feb0b96b5c471be0a8c72e6ecb8f9e1f74b48991", + "html_sha256": "a343cb34252a711dbf4b5a579956784ebe681adb1d72e946ebced296450699cf", + "number": 2276, + "primary_body_normalized_sha256": "0883913efe0864328f750fc9b366bb621b102356e29fcd732ffaa8f2610d2225", + "title": "Tooling: 6.47\u00d7 faster production R420 mutants geometry cache with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2276" + }, + { + "head": "99cb4fbf2b55a5e8265e066a1e4793d92f9b5077", + "html_sha256": "2abf95ff1a3b1617a4a27af30977c50a21cc143311d1d631a3bd1709336f7fe1", + "number": 2263, + "primary_body_normalized_sha256": "434539a18dcc1dd9160145b4eeb9fb0caacfa9f193a300c4689b5912ef7cff57", + "title": "Tooling: 3.18\u00d7 faster production R420 xcheck.rref via integer elimination with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2263" + }, + { + "head": "fce2366c5dfd3d0ee52f9bb6322fb16006e72f7a", + "html_sha256": "b4e0c9347ac4092417a8bb1010fbc24ae4f7ff68a9e0166a4dc1747a6c3fe8b7", + "number": 2756, + "primary_body_normalized_sha256": "e79c744283f26b7af80572f33dd5754f26c301ff6ca822bbbbacc3b87ce20391", + "title": "Audit when exceptional repair can use independent batches", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2756" + }, + { + "head": "7dba5452a4071a856a0b11cebdcd2d3b6bcd7659", + "html_sha256": "d96ef986dc39d115907d5c6950e916bb63ddefde99b6bd14e3bc0408fbb63536", + "number": 2753, + "primary_body_normalized_sha256": "7d0db82029937ace97073ccbb14f0e59b173ff6afc4c44d45f1e8ace4eef0cda", + "title": "Complete all-size logical BIT caller and recursive storage bound", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2753" + }, + { + "head": "a63c55ff56aaa8645d64d1162d1f017b59ded42a", + "html_sha256": "cdcbea7297472627aaaa4796cad98b3d1b4bd00381c9ba7aa51de53a8a98a6ca", + "number": 2733, + "primary_body_normalized_sha256": "dcf8e311ca340e7a15f7495dc1d90ca50e12cc3d8c1a2fb461dd23bf2b7339c0", + "title": "Improve conditional kappa to 0.00171625567823018 with composition and a frame refit", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2733" + }, + { + "head": "23d8aa7f11cd6a2e9d44a6ce4f6beebe1016492c", + "html_sha256": "8306d6cff77ad201e86b1912958f2f067cef0a7210591edc65ed513a90a7ce4a", + "number": 2754, + "primary_body_normalized_sha256": "270ec02886867c0d8f3403d3965e7080d233cdf76aefd80751b295758eb0c2b8", + "title": "Prove exact internal rounding for one P104 collector", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2754" + }, + { + "head": "73406fd73ebaf8361b51674fad5e0b02a26db075", + "html_sha256": "c4f8d5e1cdf5e607b5cc07440010843ec5f6367afe4f739028a20cbb9c59b7bc", + "number": 2752, + "primary_body_normalized_sha256": "ec739520c50f2b2bc03aaa258bb87b23f3b679fad6ee6cf7674544f563efed62", + "title": "fix(replay): support source-pin checks on older Git", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2752" + }, + { + "head": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "html_sha256": "563ad7c07d1fe6eed01160a035b7b904fa87128a63f60775cf697b41fdfdbde7", + "number": 2751, + "primary_body_normalized_sha256": "ced8cc6eb24ad50cd3789a99448240c9c96ba8355fff0dd9e58e8b24f5b61ac2", + "title": "Conditional kappa \u2248 0.00171714158635 via joint twelve-source recovery", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2751" + }, + { + "head": "3011db354853d71bc92a781df94adbb90f7a9f50", + "html_sha256": "b313bb78ac811872cf8e8736b1ffe2a811489afde98aaf09a60284348f3d8ee1", + "number": 2746, + "primary_body_normalized_sha256": "dc37534b5e847b50b75ea6c4c9d0bdf9cc5b5ccb5304f14367a32de668cdbba3", + "title": "Docs: correct attribution credit lines in merged research packages", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2746" + }, + { + "head": "7aed56bd440a3d8cbca8028cf2cbd0888c07d9b3", + "html_sha256": "9a4c5aedbfd590ef63530a01d3681aa50275201786f328b081b9eb64b1db0aad", + "number": 2717, + "primary_body_normalized_sha256": "d167782af46b6250d7ba31ec0c09c7685f10857288905f9df5766d4e2fb89b1b", + "title": "F-star proof-level lemmas: structural certificates, named-instance L8 reproduction, and a beyond-census falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2717" + }, + { + "head": "a18ba3bbfb549af66488a890edcb4a3744de90a3", + "html_sha256": "ca9f6f5836aa4d4ca4e89396ac491e03bd7447d301f93b584bf3e3326ce29698", + "number": 2749, + "primary_body_normalized_sha256": "b1255c0dc036a4c58fdcce61306717c3ee30894b969ececd1fae983a10507919", + "title": "Bound count-tape storage for the first selected BIT node", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2749" + }, + { + "head": "2af9c0fc46492a4ce56ac20ab14cc40e2f6544e0", + "html_sha256": "ee9f3f54e872707230bbc6dc4f3ee6678332cb0ade1c7ea5be5184c5d929817f", + "number": 2748, + "primary_body_normalized_sha256": "3f9feef29cc33f8181cb839f287c16286467f8cd93eab02d7333312f85d7c614", + "title": "Bind all non-cold k8 HPE wrapper events to Lean recipes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2748" + }, + { + "head": "4f485de05544884fa0f2edf6063bb9259decad30", + "html_sha256": "b5c7b4d6af7a6e4af5d0f8b2ad8c2235131f3ddba00b7c9d2cce42a17369df6a", + "number": 2745, + "primary_body_normalized_sha256": "c2f35083aaad764d87d593e9b07b022b3781b626fd1681b66bd1511e841e7bac", + "title": "Conditional \u03ba = 0.001716140425997441: #2696's lender assignment with #2679's pre-life hosting and a window-optimal fill", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2745" + }, + { + "head": "39019203274f25ae0176ef516fe86ac576ceae9b", + "html_sha256": "7d45e89e7f28366a6043250eb3fce025a95cdc7f1302a3b212510d9219c8e340", + "number": 2595, + "primary_body_normalized_sha256": "1a9cdef185a05d695096c73a244a94f89d850917cc37f9f699adaaf2f44dcde9", + "title": "KB1b: the ERASE deferral is not necessary \u2014 legal per-call COPY/ERASE windows keep the typed-echo pair saving (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2595" + }, + { + "head": "0166260409f55a56e7fefa48d859f7dd5b42b300", + "html_sha256": "537fc2a640def6fb6087bf282394c0686003d604904ff078d9a07be593bc97f9", + "number": 2744, + "primary_body_normalized_sha256": "2d6045b7ea171d9ff4df78c1ec517385dcdc0c8c7f9a02921c8fee4b5a918945", + "title": "Audit P104 consumer cost credits and the PR2725 stopping decision", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2744" + }, + { + "head": "c1e8065671f4f1854c5508f4bb18b85851074547", + "html_sha256": "19ffb926c6ba5aa680ac1a626ede87e151e7d14f0656170511bf5ec3db7e8d1c", + "number": 2743, + "primary_body_normalized_sha256": "82af68a7475d314c8d638fae58fd470a8b49525fe56dc1b1eda0b00199d23f2c", + "title": "Bound complete BIT node data content, including remainder peel", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2743" + }, + { + "head": "8571b04372f539b725e7f27d1ab00c506ca616fd", + "html_sha256": "addfa9b5cb541cc384d080ff7787f36a648ae7ad2f95e52c491012ac0ae96f18", + "number": 2742, + "primary_body_normalized_sha256": "457100a27b66c3ab8846be759bf92e32168b885baadb4bc6df62c61fccd42a68", + "title": "Construct a native covariant action on the full dirty reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2742" + }, + { + "head": "fbe941c06e00e7aef64c2d11cd9ad27b7a083209", + "html_sha256": "af0dbd17685045c37f807e3660081b701d3a0fca0b1ec3df85687005644f1a81", + "number": 2741, + "primary_body_normalized_sha256": "f4c6d4ea26e005b88362ca492f4217b0652f50910af9879ba8fe8d46dc242813", + "title": "Prove the all-pair P104 consumer budget obstruction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2741" + }, + { + "head": "02c9e171c98b1b4de4d2107b0134cee4446e10e0", + "html_sha256": "da8adc43f4c6453ac51e2576ef7547d0c13e419aee5dbc1fdbab6183b4825208", + "number": 1155, + "primary_body_normalized_sha256": "98f6a1c6c2821c4e6eb438ba61ef19cb57d231650a889dc718dd8c90a457f6aa", + "title": "Research note: restoration coalescing across a recursion batch (read-free + composable-family boundary; no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1155" + }, + { + "head": "e786545de95c38cb69e8006970c851b444a0630e", + "html_sha256": "be3f2946a05ed595e5b2d2134a473fca70d812cdb7578a42d6931fdd7cb2915d", + "number": 2740, + "primary_body_normalized_sha256": "1bef1d1be08bc12a9489f4ab95b282c62fa6ebe5c8478f9e5e59ee2c519f39ac", + "title": "Research: rule out uniform dirty-padding exchange adapters", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2740" + }, + { + "head": "833b8e05bbed0d77419c1d05d057bfde34bac551", + "html_sha256": "1cb7a730712a42fb6143ada23af1bc6b3cc1c67d0e364d54c9da2dae816c54b6", + "number": 2738, + "primary_body_normalized_sha256": "0e2824f52a81d78a3c8beeafbc00fd757cc9a4ed5ebe3f9d4c8e42c744bde1ca", + "title": "Prove exact Coxeter tariffs with arbitrary dirty workspace", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2738" + }, + { + "head": "e2f30d93efbef5658334072aa855aa95e795e394", + "html_sha256": "e43411221bb147a850c04fb1827faeb46a137755d65072714ea3261671889756", + "number": 2634, + "primary_body_normalized_sha256": "bb4973a4793ec5d2fa28503daa47c1f3731574be47afeddcb38ba4ca3c0d7107", + "title": "KB3b: seven-source singleton f(7) continued - parity closes L=19, beating templates closed, cover/walk dichotomy, resumable 20-cycle census (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2634" + }, + { + "head": "3b6011d2400f50ab0ad9e105c7c55a18f3cef4cf", + "html_sha256": "cbf1142ae27b96a2c8b09b1b2e31970b9946648480d7b506b0927f7fb13085d4", + "number": 2542, + "primary_body_normalized_sha256": "2a9d304387d9915738119c2691bec67948b1fe06d77405f51bfbcb9689297ab3", + "title": "Research: seven-source singleton universal path \u2014 length 18 excluded, f(7) >= 20 (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2542" + }, + { + "head": "5ccad6aa04409ee2805d5638aa0fc84c76bbb881", + "html_sha256": "60884157ed2595224726d4828925b8cde53989a27818c3f4df5b1414e073a2d2", + "number": 2518, + "primary_body_normalized_sha256": "bc825bd7f502b9942c1a04ed1807991b686620d3bcf91f9eb1eb9536bb77e9d0", + "title": "Research: polar-law screens at T >= 7 and a small-T overcomplete census (scoped negatives)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2518" + }, + { + "head": "f364b97ff4700147fc06e622b79952b9fe6c4fa8", + "html_sha256": "a554300b963d5564807793b42006ec0c03fe62c9e2a6b56292f49b4e5dc02547", + "number": 2464, + "primary_body_normalized_sha256": "7d6f718fc96b5d8b0ea709f23bf7c15a5f2b6d4950fb37cac863a0225b8ac48f", + "title": "KB1 supplier instantiation of the certified z4 typed echo: priced whole construction, exact moments and a < D/E, one hosting obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2464" + }, + { + "head": "ba13eec9546a5ac4fca1df37209e3c42249b61c2", + "html_sha256": "ed16c89fdc3c331f3309782ed97bfa83c64787b101f0606fcda346372431a4ba", + "number": 2444, + "primary_body_normalized_sha256": "fdc24387acbfb0474fe2c4004195d8ce6fe9ce9fd69607eff1f074497faac72a", + "title": "Exact-search tooling for noncommuting words, and a complete six-distinct-value screen of the KB2 thirteen-call candidate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2444" + }, + { + "head": "ad449e6aa736396c779535dbdea04a402aab03ca", + "html_sha256": "f16a4c9d64184239875a675abf103ba39367482598c10b622ec2c946befb20fa", + "number": 2427, + "primary_body_normalized_sha256": "0d469b72864f14efa6f6120a69c28ce0b498d1b048ddf930b07e86739707ba53", + "title": "Research (no kappa claim): classical Pappus/Desargues T=3 pairing-cost census \u2014 no cost < v falsifier; tight atoms through v = 6", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2427" + }, + { + "head": "15836362a3cf17d245db8a01d930a12868c043bd", + "html_sha256": "6c48e5171e564d9102fdcc7fc58a4e978d1440a794010cc84d02cad84a625947", + "number": 2255, + "primary_body_normalized_sha256": "2c20677ba26abb5630e8a208670af4abea459918d66a037e9358071753cde29a", + "title": "Audit: live-byte source-pin drift after merged replay-speed tooling (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2255" + }, + { + "head": "9c2947f01495cf09c67b1faa55c4f2bd00cd9bc8", + "html_sha256": "4d603e295640f0a29ca2654f7a727e90a882693e4ea9bbe07a63ac1181c435be", + "number": 2737, + "primary_body_normalized_sha256": "cb20e700df30c3609e76e99c1d4001341b1e9cc1791bae432a98268924992923", + "title": "Name offending keys in research package checks and support PR-head pins", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2737" + }, + { + "head": "cced22b95fb5b485da05b8187c8a9754b6a8c85a", + "html_sha256": "74b1c434b84353ea078a17c2bce46c70ff5f8d27d1a9d31f322a51845ec8f2db", + "number": 1076, + "primary_body_normalized_sha256": "b16d26881c9fdf1c8d7cb7953eb50ca55f05dc9e940e0c07920b6ac609820a4e", + "title": "Tooling: batch exact rows for the quadratic-affine rank witness (8.4x faster check, no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1076" + }, + { + "head": "eba0d6111a773cd13f5c0afb4354af2c85d04c3a", + "html_sha256": "af92a4d833d533ab3513620e12d1c020c903a10da72141166d46d49ff385e9ae", + "number": 2736, + "primary_body_normalized_sha256": "cbbff2b6ff06e368f5d48bcbb25f86fbf71f995d48f1ffb88c8fcc733e5ad0f8", + "title": "Research: bound completed errors in the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2736" + }, + { + "head": "124cab4118e39d30c2c24b41d753dabf612c8a8c", + "html_sha256": "db88137100a75d1fca13596e5eb0b4991b6e81171c24a961c0a8a48ac82ab956", + "number": 2705, + "primary_body_normalized_sha256": "9c733c539abd4bf3ae3f1524c800f76cdc1ff62fc68fc2d055d5099e08b92348", + "title": "KB1c: admission-ready evidence for the typed-window z4 typed-echo schedule (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2705" + }, + { + "head": "90a507b39063cfaebdf92794fcb9d18f358439a6", + "html_sha256": "d76bf0d06467658ba374372effc5eb3ae7e6f5fddc24b048b2f6201f78ff6fcc", + "number": 2735, + "primary_body_normalized_sha256": "9b49c1a624418cd5b27ebae649615915e569759948ef82633b018efe82a49fb4", + "title": "Prove the fixed dyadic Omega channel profile", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2735" + }, + { + "head": "f43a83977530a52092e9196b060eb3c64620b8c3", + "html_sha256": "7ec59c94066261552bc3b009647e71491343d8d1424834a3e3fe5cb797ba7997", + "number": 2396, + "primary_body_normalized_sha256": "bba4527c60fc097d420b8b4dbbbdabe583071b55f8f9c86bf0edb64805fd19ef", + "title": "Seven-source universal connector word in the singleton+DUO alphabet: 22 calls at 24 adds, batch 276 queries at 278 adds (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2396" + } + ], + "scope": "First100unique entries across five updated-open-PR pages. All100primary bodies and HTMLheadSha fields read; not complete Discussion/comment coverage.", + "source_review_sha256": "9f184c98dea0a231392687dde36e90a11d55e4ee7b68a46848f613929957de50", + "utc_interval": [ + "2026-10-15T23:15:22.880Z", + "2026-10-15T23:15:41.513Z" + ] +} diff --git a/research/replica-tail-gain/replay.py b/research/replica-tail-gain/replay.py new file mode 100644 index 0000000000..e757ec8a40 --- /dev/null +++ b/research/replica-tail-gain/replay.py @@ -0,0 +1,169 @@ +"""Fresh serial Lean rebuild and complete defining-module axiom audit. Apache-2.0. + +No download, model, solver, GPU, or persistent process is launched. Install the +pinned Lean/Mathlib environment separately. Every compiler output goes outside +the immutable source package, under a new explicitly supplied output folder. +""" +from __future__ import annotations +import argparse, importlib.util, json, os, re, shutil, subprocess, sys +from pathlib import Path + +P = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +spec = importlib.util.spec_from_file_location("toolkit_checks", P / "verify.py") +checks = importlib.util.module_from_spec(spec) +spec.loader.exec_module(checks) + +def command(argv, *, cwd, env=None, timeout=180): + result = subprocess.run(argv, cwd=cwd, env=env, text=True, encoding="utf-8", + errors="replace", stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, timeout=timeout) + checks.need(result.returncode == 0, "command failed:\n" + result.stdout[-7000:]) + checks.need(not re.search(r"(?m)^.*\berror(?:\(|:)", result.stdout), "error-bearing compiler transcript") + return result.stdout + +def check_module_inventory(config): + modules = config["modules"] + checks.need(modules and len(modules) == len(set(modules)), "empty or duplicated module list") + checks.need(all(re.fullmatch(r"MultitapeToolkit(?:\.[A-Za-z][A-Za-z0-9]*)+", n) for n in modules), "invalid owned module name") + files = {p.relative_to(P / "lean").as_posix() for p in (P / "lean").rglob("*.lean") + if ".lake" not in p.relative_to(P / "lean").parts} + expected = {n.replace(".", "/") + ".lean" for n in modules} | {"MultitapeToolkit.lean", "Check.lean"} + checks.need(files == expected, "Lean source/module inventory mismatch") + lines = [line.strip() for line in (P / "lean/MultitapeToolkit.lean").read_text().splitlines() if line.strip()] + checks.need(lines == ["import " + n for n in modules], "aggregator import inventory mismatch") + return modules + +def dependency_paths(cache, pinned): + package_root = cache / ".lake/packages" + libraries = [] + for row in pinned["packages"]: + package = package_root / row["name"] + checks.need(package.is_dir(), "missing cached dependency: " + row["name"]) + # Trust only this explicitly supplied cached dependency for these two + # read-only Git commands. No global or repository configuration changes. + git = ["git", "-c", "safe.directory=" + str(package.resolve())] + actual = command(git + ["rev-parse", "HEAD"], cwd=package).strip() + checks.need(actual == row["rev"], "dependency revision mismatch: " + row["name"]) + dirty = command(git + ["status", "--porcelain", "--untracked-files=no"], cwd=package).strip() + checks.need(not dirty, "tracked dependency source drift: " + row["name"]) + lib = package / ".lake/build/lib/lean" + if row["name"] == "mathlib": + checks.need(lib.is_dir(), "missing compiled Mathlib cache") + if lib.is_dir(): + libraries.append(lib) + return libraries + +def actual_lean_audit_controls(lean, out, lib, env, modules, timeout): + """Real compiler fixtures; the rejected axioms never enter a positive build.""" + fixture = out / "fixtures/MultitapeToolkit" + fixture.mkdir(parents=True) + auditor = (P / "lean/Check.lean").read_text(encoding="utf-8-sig") + passed = [] + for suffix, body, required_error in [ + ("CoverageFixture", "def globallyNamedToolkitHelper : Nat := 0\nprivate theorem privateCoverage : True := True.intro\n", None), + ("UnusedPrivateAxiom", "private axiom unusedPrivateDependency : False\n", "Toolkit declares an axiom"), + ("PublicAxiom", "axiom publicDependency : False\n", "Toolkit declares an axiom"), + ("PrivateUnprovedTheorem", "private theorem missingProof : False := by sorry\n", "forbidden axiom")]: + module = "MultitapeToolkit." + suffix + source = fixture / (suffix + ".lean") + source.write_text(body, encoding="utf-8") + artifact = lib / "MultitapeToolkit" / (suffix + ".olean") + command([str(lean), "-j1", "-R", str(out / "fixtures"), str(source), "-o", str(artifact)], + cwd=out, env=env, timeout=timeout) + driver = out / (suffix + "Audit.lean") + driver.write_text(auditor.replace("import MultitapeToolkit\n", "import MultitapeToolkit\nimport " + module + "\n", 1), encoding="utf-8") + report = out / (suffix + ".json") + fixture_env = dict(env, MULTITAPE_TOOLKIT_AUDIT_PATH=str(report)) + result = subprocess.run([str(lean), "-j1", "-DmaxHeartbeats=4000000", str(driver)], cwd=out, + env=fixture_env, text=True, encoding="utf-8", errors="replace", + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, timeout=timeout) + (out / (suffix + ".log")).write_text(result.stdout, encoding="utf-8") + if required_error: + checks.need(result.returncode != 0 and required_error in result.stdout, + "real Lean negative fixture failed for wrong reason: " + suffix + "\n" + result.stdout[-4000:]) + checks.need(not report.exists(), "rejected Lean fixture emitted a success report") + else: + checks.need(result.returncode == 0 and report.is_file(), "real ownership coverage fixture failed") + audit = json.loads(report.read_text()) + checks.validate_audit(audit["rows"], audit["declaration_names"], set(modules) | {module}) + owned = [r for r in audit["rows"] if r["module"] == module] + checks.need(any(r["name"] == "globallyNamedToolkitHelper" for r in owned), "global helper omitted") + checks.need(any(r["name"].startswith("_private.") and r["kind"] == "theorem" for r in owned), "private helper omitted") + passed.append(suffix) + return passed + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--lean", type=Path) + parser.add_argument("--cache-project", type=Path, default=P / "lean") + parser.add_argument("--timeout", type=int, default=180) + args = parser.parse_args() + checks.need(1 <= args.timeout <= 600, "bounded compiler timeout required") + initial_manifest_digest = checks.digest(P / "MANIFEST.json") + before = checks.inventory(P) + config = json.loads((P / "MODULES.json").read_text()) + modules = check_module_inventory(config) + pinned = json.loads((P / "lean/lake-manifest.json").read_text()) + candidate = args.lean or shutil.which("lean") + checks.need(candidate is not None, "Lean executable not found") + lean = Path(candidate).resolve() + checks.need(lean.is_file(), "Lean executable not found: " + str(lean)) + compiler_env = dict(os.environ) + compiler_env.pop("LEAN_SYSROOT", None) + version = command([str(lean), "--version"], cwd=P, env=compiler_env) + checks.need("version " + config["lean_version"] + "," in version, + "wrong Lean compiler; expected " + config["lean_version"]) + libraries = dependency_paths(args.cache_project.resolve(), pinned) + out = args.out.resolve() + checks.need(out != P and P not in out.parents, "outputs must be outside the package") + checks.need(not out.exists(), "fresh compiler output directory required") + out.mkdir(parents=True) + lib = out / "olean" + lib.mkdir() + env = dict(compiler_env, LEAN_PATH=os.pathsep.join(str(p) for p in [lib, *libraries])) + receipts = [] + for module in modules + ["MultitapeToolkit"]: + relative = Path(*module.split(".")).with_suffix(".lean") + source = P / "lean" / relative + artifact = (lib / relative).with_suffix(".olean") + artifact.parent.mkdir(parents=True, exist_ok=True) + log = command([str(lean), "-j1", "-DmaxHeartbeats=2000000", "-R", str(P / "lean"), + str(source), "-o", str(artifact)], cwd=P / "lean", env=env, timeout=args.timeout) + (out / (module + ".log")).write_text(log, encoding="utf-8") + receipts.append({"module": module, "source_sha256": checks.digest(source), + "artifact_sha256": checks.digest(artifact)}) + print("PASS_KERNEL " + module, flush=True) + report = out / "axioms.json" + env["MULTITAPE_TOOLKIT_AUDIT_PATH"] = str(report) + log = command([str(lean), "-j1", "-DmaxHeartbeats=4000000", str(P / "lean/Check.lean")], + cwd=P / "lean", env=env, timeout=args.timeout) + (out / "audit.log").write_text(log, encoding="utf-8") + checks.need(report.is_file(), "missing actual Lean declaration report") + audit = json.loads(report.read_text()) + checks.need(set(audit["modules"]) == set(modules) | {"MultitapeToolkit"}, "imported-module audit coverage mismatch") + checks.validate_audit(audit["rows"], audit["declaration_names"], set(modules)) + expected_audit = json.loads((P / "expected/AXIOMS.json").read_text()) + def normalize(rows): + return sorted((r["name"], r["module"], r["kind"], tuple(sorted(r["axioms"]))) for r in rows) + checks.need(normalize(audit["rows"]) == normalize(expected_audit["rows"]), + "actual declaration/axiom inventory differs from the pinned golden report") + checks.need(checks.inventory(P) == before and checks.digest(P / "MANIFEST.json") == initial_manifest_digest, "source changed during kernel audit") + private_count = sum(r["name"].startswith("_private.") for r in audit["rows"]) + controls = actual_lean_audit_controls(lean, out, lib, env, modules, args.timeout) + checks.need(checks.inventory(P) == before and checks.digest(P / "MANIFEST.json") == initial_manifest_digest, "source changed during audit controls") + result = {"status": "PASS_FRESH_KERNEL_AND_COMPLETE_AXIOM_AUDIT", + "lean_version": config["lean_version"], "dependency_revisions": {r["name"]: r["rev"] for r in pinned["packages"]}, + "modules": receipts, "declarations": len(audit["rows"]), + "theorems": sum(r["kind"] == "theorem" for r in audit["rows"]), + "private_declarations": private_count, + "actual_lean_ownership_and_axiom_controls": controls, + "allowed_axioms": sorted(checks.ALLOWED_AXIOMS), + "actual_axiom_report_sha256": checks.digest(report), + "manifest_sha256": checks.digest(P / "MANIFEST.json")} + (out / "RESULT.json").write_text(json.dumps(result, indent=2) + "\n", encoding="utf-8") + print(json.dumps(result, sort_keys=True)) + +if __name__ == "__main__": + main() diff --git a/research/replica-tail-gain/replica_parent.py b/research/replica-tail-gain/replica_parent.py new file mode 100644 index 0000000000..770fb1fe99 --- /dev/null +++ b/research/replica-tail-gain/replica_parent.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Explicit arbitrary-positive-replica lift of the authenticated T37 parent. + +This constructs dedicated source banks, not hosted helper assignments. Source +lineage: PR558/589, PR741/799/870 controller routes, PR1193 T37 bank envelope, +PR2679/2751/2766 replay. No provider/native source or phase recipe is modified. +""" +import argparse, copy, gzip, hashlib, json, os +from collections import Counter +from pathlib import Path + +SOURCE = Path(__file__).resolve().parent/'inputs/GLOBAL-TEMPLATE.json.gz' +REFERENCE = SOURCE.parent.parent/'GLOBAL-TEMPLATE.json.gz' +SOURCE_SHA = '21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e' +SOURCE_ID = '514e59314c8e2fa3c22d0a48083816f6686211090835e8f8775318c1c3e992d8' +M, STAGES, DATA_PER_REPLICA, HELPERS, BANK_PER_GROUP, PRIVATE = 73, 9, 896, 504, 4536, 514 + +def canonical(x): return json.dumps(x,sort_keys=True,separators=(',',':')).encode() +def identity(x): return hashlib.sha256(canonical(x)).hexdigest() +def sha(p): return hashlib.sha256(Path(p).read_bytes()).hexdigest() +def read(p): + p=Path(p); raw=p.read_bytes() + return json.loads(gzip.decompress(raw) if p.suffix=='.gz' else raw) +def require(x,why): + if not x: raise ValueError(why) +def source(): + require(sha(SOURCE)==SOURCE_SHA,'source byte hash') + s=read(SOURCE); require(identity(s)==SOURCE_ID,'source content hash') + return s + +def grouping(T): + require(isinstance(T,int) and T>0,'positive integer T') + return [8]*(T//8)+([T%8] if T%8 else []) + +def build(T, groups=None, order=None): + s=source(); groups=grouping(T) if groups is None else list(groups) + require(sum(groups)==T and all(isinstance(q,int) and 1<=q<=8 for q in groups),'group partition') + olddata=37*896; data=T*896; live=data+len(groups)*BANK_PER_GROUP + t=copy.deepcopy({k:v for k,v in s.items() if k not in ('calls','bank_padding','local_programs')}) + # Programs are immutable and reused literally; there is no new phase oracle. + t['local_programs']=s['local_programs'] + t.update(version='arbitrary-T-dedicated-source-bank-envelope-v1',live=live,physical=live+PRIVATE) + templates={(c['stage'],c['replica']):c for c in s['calls'] if c['replica']<8} + location={}; off=0 + for g,q in enumerate(groups): + for lane in range(q): location[off+lane]=(g,lane) + off+=q + order=[(st,r) for st in range(9) for r in range(T)] if order is None else [tuple(x) for x in order] + require(len(order)==9*T and set(order)=={(st,r)for st in range(9)for r in range(T)},'call coverage') + require(all([st for st,r in order if r==rep]==list(range(9))for rep in range(T)),'per-replica stage order') + calls=[] + for st,r in order: + g,lane=location[r]; old=templates[st,lane] + c={k:copy.deepcopy(v) for k,v in old.items() if k!='owners'}; c['replica']=r + c['owners']=[[f-lane*896+r*896,copy.deepcopy(route)]for f,route in old['owners'][:224]] + c['owners'] += [[data+g*BANK_PER_GROUP+st*HELPERS+h,copy.deepcopy(route)]for h,(_,route) in enumerate(old['owners'][224:])] + calls.append(c) + t['calls']=calls + widths=[9 if len(route)==2 else route[2] for _,route in templates[0,0]['owners'][224:]] + children=[] + for g,q in enumerate(groups): + for st in range(9): + for h,w in enumerate(widths): + axes=list(range(q*w,M)) + children.append(dict(family=data+g*BANK_PER_GROUP+st*HELPERS+h,rank=len(axes),axis_indices=axes,orthogonal_axes=[1<=30] + project={r:[]for r in range(T)} + for e in result[:-2]:project[e['replica']].append(e['source_event']) + require(all(v==list(range(30))for v in project.values()),'all thirty literal events per source replica') + require([e['source_event']for e in result[-2:]]==[30,31],'two global source events') + return result + +def compare74(): + actual=read(REFERENCE);groups=actual['replica_lift']['groups'];order=[(c['stage'],c['replica'])for c in actual['calls']] + ours=build(74,groups,order) + ignore={'version','route_semantics'} + require({k:v for k,v in ours.items()if k not in ignore}=={k:v for k,v in actual.items()if k not in ignore},'actual T74 complete semantic identity') + require(ours['route_semantics']['data']==actual['route_semantics']['data'] and ours['route_semantics']['work']==actual['route_semantics']['work'],'T74 other route semantics unchanged') + return dict(status='PASS',reference_file_sha256=sha(REFERENCE),reference_content_sha256=identity(actual),identical_fields=[k for k in ours if k not in ignore],differences=['version label','helper route explanatory string only'],source_call_order_matched=True) + +def write_new(p,x): + p=Path(p);p.parent.mkdir(parents=True,exist_ok=True); lock=p.with_suffix(p.suffix+'.lock') + fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + try: + os.write(fd,str(os.getpid()).encode());os.close(fd);fd=None + require(not p.exists(),'preserve existing output') + raw=canonical(x) + if p.suffix=='.gz': + b=bytearray(gzip.compress(raw,mtime=0));b[9]=255;raw=bytes(b) + with p.open('xb')as h:h.write(raw) + finally: + if fd is not None:os.close(fd) + lock.unlink() + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--T',type=int,default=80);ap.add_argument('--out',type=Path,required=True);ap.add_argument('--order',type=Path) + a=ap.parse_args();require(not a.out.exists(),'fresh output directory required');a.out.mkdir(parents=True) + order=read(a.order)if a.order else None + t=build(a.T,order=order);receipt=check(t,t['replica_lift']['groups']);receipt['T74_comparison']=compare74() + stages=[(c['stage'],c['replica'])for c in t['calls']];sched=expand_schedule(t,stages) + receipt.update(status='PASS_EXPLICIT_SOURCE_PARENT_GEOMETRY',source_file_sha256=SOURCE_SHA,source_content_sha256=SOURCE_ID,source_recipe_unchanged=True,source_events_per_replica=30,global_tail=[30,31],expanded_events=len(sched),phase_claim='Literal reuse of authenticated source local programs and phase recipes; this is not a fresh native phase replay.',scope='Dedicated parent only; final hosted owner assignment/invoice/admission remains separate.',script_sha256=sha(__file__)) + write_new(a.out/'GLOBAL-TEMPLATE.json.gz',t);write_new(a.out/'SOURCE-SCHEDULE.json.gz',sched) + receipt['template_content_sha256']=identity(t);receipt['template_file_sha256']=sha(a.out/'GLOBAL-TEMPLATE.json.gz');receipt['schedule_content_sha256']=identity(sched) + write_new(a.out/'RESULT.json',receipt) + require(sha(SOURCE)==SOURCE_SHA,'source unchanged after output') + print(json.dumps(receipt,sort_keys=True)) +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/requirements.txt b/research/replica-tail-gain/requirements.txt new file mode 100644 index 0000000000..6b53f208f8 --- /dev/null +++ b/research/replica-tail-gain/requirements.txt @@ -0,0 +1,5 @@ +# Full cold finite admission; lightweight owner/moment checks use stdlib only. +numpy==2.5.4 +scipy==1.18.1 +sympy==1.14.0 +mpmath==1.3.0 diff --git a/research/replica-tail-gain/validation/COMPLETE.json b/research/replica-tail-gain/validation/COMPLETE.json new file mode 100644 index 0000000000..57d54a34ab --- /dev/null +++ b/research/replica-tail-gain/validation/COMPLETE.json @@ -0,0 +1,81 @@ +{ + "complex_lower": "1717795160032012107407/1000000000000000000000000", + "dispatch_sha256": "96317d851f3cbc07825b91d8f6ccb0624ff0dad95687a0b77d5f7ee4dbb79c8c", + "fill_sha256": "5742b0ccc48fb1e2872f2093c4599988d0d3c2b0f219e7dc991a04703e04016b", + "fresh_current_native_providers": 2, + "gain": "8795668872179/50000000000000000000000", + "kappa": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177951600320121074069999999999999999999998999999999999999999999999", + "native_receipt_sha256": "32c42af206f32dbcfb500579ac7e525a028e5caa0cc180c9890630ccbd03b44a", + "order_sha256": "ccae08149024d088971709d34971f337b869d9523576b90fe73e342d3699e132", + "original_admission_receipt_sha256": "14d5153f623b0d32c0fa05e90bfcd758489bfed3f7e94393f2e32e6b0dfc5c64", + "package_manifest_sha256": "208c548f53a58814f14adb70c91a3d6d506cbeaed5fe6b00ab4015a401269657", + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "release_receipt_sha256": "48539b00227ca792b06199e937b12f5c6b79385ce7e4d78743060503c22ba369", + "replicas": 94, + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "exit_code": 0, + "log_sha256": "5fbe0c6bd7e11bbca7d654d7f1b334a4e4388013fa2e3eac4e21b3e55604484b", + "name": "owners", + "script_sha256": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15", + "seconds": 7.30425070002093 + }, + { + "exit_code": 0, + "log_sha256": "b6a497798830f9ef356e3040125dcc51a8bffdafb65c8fd3e14224d3250a078b", + "name": "parent-lift", + "script_sha256": "4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d", + "seconds": 18.182310300006066 + }, + { + "exit_code": 0, + "log_sha256": "336300b96b67edac0bbcd34b7b13ab54d2c8a2c83644612c31b6c155e516a812", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.9651249999878928 + }, + { + "exit_code": 0, + "log_sha256": "6ff038d483b8ebcd8e1bd04372bdb8fb6db427f044fc534a005e8e05d6543afa", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 121.7421975999896 + }, + { + "exit_code": 0, + "log_sha256": "61c4fb975bbbec597b3bc8d959c7e12b27ce38afde8f29189c7662e0dba08b8e", + "name": "outer-check_ledger.py", + "script_sha256": "1dd56009986eb14dd6603c9193c7ad71dd45c7d005bf71c9cd3f916e66f54d98", + "seconds": 0.09705620000022464 + }, + { + "exit_code": 0, + "log_sha256": "c22c078e8c02571948d9046b23ea4720f85dad67b5e36e201fa3d8e161fc647d", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.1308910000079777 + }, + { + "exit_code": 0, + "log_sha256": "d61f43e47934548d916d676814886d5b623a8265a4fa753e2565dee0a9d8d4be", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 463.35027289998834 + } + ], + "status": "PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE", + "unchanged_retained_native_providers_reused": 2, + "unchanged_retained_parent_reused": true +} diff --git a/research/replica-tail-gain/validation/KERNEL.json b/research/replica-tail-gain/validation/KERNEL.json new file mode 100644 index 0000000000..d8fa9859d8 --- /dev/null +++ b/research/replica-tail-gain/validation/KERNEL.json @@ -0,0 +1,55 @@ +{ + "actual_axiom_report_sha256": "0be8a915acea5215e077c560e95e0cd70d204b57ea86ac3a1c6215cfb0403596", + "actual_lean_ownership_and_axiom_controls": [ + "CoverageFixture", + "UnusedPrivateAxiom", + "PublicAxiom", + "PrivateUnprovedTheorem" + ], + "allowed_axioms": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "audited_snapshot_manifest_sha256": "a6b72a5920827ed706cae187a7f5a48b1e78c4c81389d573f853a4bd919406ee", + "auditor_and_pinned_context_sha256": { + "MODULES.json": "f59ec6da5dd6c67a8731ecbaea59dec8947a087e929eec981001abe6f5fdb62f", + "expected/AXIOMS.json": "0be8a915acea5215e077c560e95e0cd70d204b57ea86ac3a1c6215cfb0403596", + "lean/Check.lean": "68966f329982188c49a37c51753271ebc1c0afd321195e4aa595562275912aaa", + "lean/lake-manifest.json": "ba2084428ea075a408191fd72f30bddaf19923c5e6ebd55e2bbe7528d4afef90", + "lean/lakefile.toml": "7882ef23598228f705e8abbecea6a1674f72f1386d297c4d24c73b75c89e595d", + "lean/lean-toolchain": "8152090414016dd5dc871752f8ce4ecdbd604d9845758e9b9047cb80101280b5", + "replay.py": "ff899fcb325139b9322e9ccbfc65508f153956c25ae25f51c257fe1a274c61f9", + "verify.py": "aabd12f5edfe846891e4dbe3e4d6a21617c6240bc06d89b0a1ef5f9f34df209b" + }, + "declarations": 61, + "dependency_revisions": { + "Cli": "e92c9f15fdfacc8536f31cfb3b7ad26c3c8cd204", + "LeanSearchClient": "ddf04cf3949fa556442341e87d47f9f6e6074707", + "Qq": "6a489d9af5d0c47e5b259e2e8bcdfc1811b5a259", + "aesop": "355695d523e41d0554926416cba2a2b3544fbbc9", + "batteries": "f2effa3d803fda822b1f97b806c47cf2adfbcbc2", + "importGraph": "e928b72544873815af278d38681b31c0293588e3", + "mathlib": "d13f23b723b8a846827a245b89c10fc7d3f11612", + "plausible": "118aa17ee84656b8bd727fef7c458ee8c833385c", + "proofwidgets": "106ff4fafc74ef4ac99d81dbf3ab399118f497a5" + }, + "lean_version": "4.34.1", + "modules": [ + { + "artifact_sha256": "5d65941f3aeca1126ce1053ee2791b00fa1b7e320fbdd8218a61bb478903e356", + "module": "MultitapeToolkit.ReplicaTailGain", + "source_sha256": "c043cc6740a79b8a29d1519cb9e11c8e9bc52d6937f4317f630a28dce074e1d1" + }, + { + "artifact_sha256": "278ccb62ac600b93e731ef0c6b1a2392b129a7a8625703a33e809bb5eb11a487", + "module": "MultitapeToolkit", + "source_sha256": "687acc8852564c070faef931b0d76c31d3544cc29f62390fc2992cadb6c4a2ea" + } + ], + "original_kernel_receipt_sha256": "f2739581f82a41e385fe96288265db119994c9cf464afffc1c3c75790ee2717c", + "private_declarations": 0, + "scope": "Fresh independent compilation and complete transitive-axiom audit of the exact final owned Lean bytes. Snapshot metadata differs from final publication metadata; every module source SHA is independently bound here.", + "status": "PASS_FRESH_KERNEL_AND_COMPLETE_AXIOM_AUDIT", + "theorems": 54 +} diff --git a/research/replica-tail-gain/validation/MOMENT.json b/research/replica-tail-gain/validation/MOMENT.json new file mode 100644 index 0000000000..a0ef86f4c3 --- /dev/null +++ b/research/replica-tail-gain/validation/MOMENT.json @@ -0,0 +1,64 @@ +{ + "baseline_profile_sha256": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "best_claim_sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "best_kappa_rational": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "complex_lower": "1717795160032012107407/1000000000000000000000000", + "complex_upper": "107362197502000756713/62500000000000000000000", + "controls": [ + { + "name": "reversed_bracket", + "reason": "ordered bracket" + }, + { + "name": "upper_endpoint_as_admissible_lower", + "reason": "strict moment admission" + }, + { + "name": "wrong_live_denominator", + "reason": "source-bound normalization" + }, + { + "name": "one_unpaid_rank_one_child", + "reason": "strict moment admission" + }, + { + "name": "unchanged_T74_profile_at_improved_target", + "reason": "exact lower moment above one" + } + ], + "input_sha256": { + "best_claim": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "owner_receipt": "e0dbaed045422328a2df05d9456ad2f1c8e34ec44d567eb5c4985f2a1433832d" + }, + "live": 84224, + "lower_moment_minus_one": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": -1106850041481841367144745, + "upper_numerator": -1106850041481837067170528 + }, + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "proposed_outer_target": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "replicas": 94, + "scope": "Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.", + "status": "PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT", + "strictly_above_full_PR2802": true, + "target_gain_over_PR2802": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": 257097689162201295087606889223591946971, + "upper_numerator": 257097689162201295087606889223591946972 + }, + "upper_moment_minus_one": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": 3068770957354674162434391, + "upper_numerator": 3068770957354678462408608 + } +} diff --git a/research/replica-tail-gain/validation/NATIVE.json b/research/replica-tail-gain/validation/NATIVE.json new file mode 100644 index 0000000000..5ce405ac80 --- /dev/null +++ b/research/replica-tail-gain/validation/NATIVE.json @@ -0,0 +1,133 @@ +{ + "cache_files": { + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/CACHE.json": "049a3aa224f0d20227892755e4889d8a68f2b8da6a82a1aa0f60dfe0900c90d7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/STEPS.json": "4870d0ec8990641b5f47579e50838495acce2c7979b7248cf7e551ec5bd0061f", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-REVIEW.json": "cd086d3dcee4eb388a7e9cb49920e3119d9b0feea1d1d2e40c384311472bd623", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/SCALAR-FRAME-AUDIT.json": "1d711e25e2e062ef3b391525ad71d4afe08d18e6b27eda5b5596763eee928f32", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/native.log": "a447b46b73402899e7ec61b4c1271fd78b976b235c3acaea5a68cb00aff802ca", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/phases.log": "75ffaddfec90036b04fabcf10e4965d0ded506f7e9365eb5817b988e10213e49", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "d8fd7226c65a2e2df30e9105f82b425243440e2a581366c9f14e3d241576bd47", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "d086055e7dd57910b91d6037048ad353525a7d41bf94d7afe6de24ae9a7704b3", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "017b24de3db9f9a0e618a6bcc83554656945589602a6c4ca839d860a984b932a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "654c322f61779c8900f4e7340b24b817671ea23bc20e2d4302918286cfe8d054", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "ea89a70674e54ba12b926b8963c170fb0652c499d8da373aceafc0c8d26c67bf", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "dcc30576df7c1bdc3c57597c7f702c1c7e120b5722b2807ef096fb110e0fe61b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "663d8c91ecc6474a034ee6e9d59e9959792a6826259ac20d9fdc8f0a6b7c4fba", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "032cb7089449a3365fa19ab166769d687fbf79b507822156fd2ebddba14a647f", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "676bb7bb8af7119b503a0f1fecd4c697ffca287ea8076f910e65ede7f45cf97b", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "df3f6d3fcce56069b4c4c64267de57e1f83d2b9751c8ebf213a7f5eb2fcd3266", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "a1176bd020a89e75aac91eaf9b4490d489db6abd352959bfe120a92b2c1bc2ba", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "3b9b12fe6da288a1aa8f13c9c70696a99e3a197b290ae8597604b2e12005164c", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/CACHE.json": "e20fb2ae1c250d25dd56595f4cb1a5ee593c5122be89fdd45d786cb31b67f7ee", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/STEPS.json": "83dbc827c8a3959448d57442facc377fc5ad1f2f1d713f76ff55c54c78850d9a", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-REVIEW.json": "40f5238258c600c526d0f0cf29e56f94e19c974e0474fca031ecfa13f108f919", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/SCALAR-FRAME-AUDIT.json": "a8ebca94bf9a5601bebc04d4cbddd0aaca53db3bdd2549629eb8c4cef877aa0c", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/native.log": "966f9a503f35bc6c6678914e42decbcc94cf016efde887d952e4852bc6a45a29", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/phases.log": "8ae61dbf4f9f6b7b872eccb94aba7290961dcf6d1453ccd9fe980e81826fe670", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "e9c058d4cd5ed40204ce0b26a8c21d7536061efc6e0cde4f79cdd76caa61d28f", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "d612868f9cb69a6278040294f7a54d802688a5c20cc0c4966c1294e14ae62b94", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "017b24de3db9f9a0e618a6bcc83554656945589602a6c4ca839d860a984b932a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "654c322f61779c8900f4e7340b24b817671ea23bc20e2d4302918286cfe8d054", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "61f8a3af0b0b20d1f5271b52e6e46f754634591c3c8b6703bc4e1a948898f0d6", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "8a525137fb19fbccab43be849d791322c0c995c3d874b9a48bff55cbe0c04fc3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "1f48ea5725a2188f06ec90cded6024fa81f364c2a4d2bd233ae1ad287b31b022", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "f1568dfe83f5e87b8f136e23a4d8b6ef1239c7fa7a527395cac1a9418963d9f3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "676bb7bb8af7119b503a0f1fecd4c697ffca287ea8076f910e65ede7f45cf97b" + }, + "fresh_current_provider_count": 2, + "manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "original_environment_receipt_sha256": "1077e177c78d1f39bcbb9d20f21191f804afd374a10dbe79f28542fba4fe098c", + "original_native_receipt_sha256": "32c42af206f32dbcfb500579ac7e525a028e5caa0cc180c9890630ccbd03b44a", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "83dbc827c8a3959448d57442facc377fc5ad1f2f1d713f76ff55c54c78850d9a", + "ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "local/CLIFFORD-REVIEW.json": "40f5238258c600c526d0f0cf29e56f94e19c974e0474fca031ecfa13f108f919", + "local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "local/SCALAR-FRAME-AUDIT.json": "a8ebca94bf9a5601bebc04d4cbddd0aaca53db3bdd2549629eb8c4cef877aa0c", + "local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "966f9a503f35bc6c6678914e42decbcc94cf016efde887d952e4852bc6a45a29", + "phases.log": "8ae61dbf4f9f6b7b872eccb94aba7290961dcf6d1453ccd9fe980e81826fe670", + "wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d" + }, + "word_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "4870d0ec8990641b5f47579e50838495acce2c7979b7248cf7e551ec5bd0061f", + "ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "local/CLIFFORD-REVIEW.json": "cd086d3dcee4eb388a7e9cb49920e3119d9b0feea1d1d2e40c384311472bd623", + "local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "local/SCALAR-FRAME-AUDIT.json": "1d711e25e2e062ef3b391525ad71d4afe08d18e6b27eda5b5596763eee928f32", + "local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "a447b46b73402899e7ec61b4c1271fd78b976b235c3acaea5a68cb00aff802ca", + "phases.log": "75ffaddfec90036b04fabcf10e4965d0ded506f7e9365eb5817b988e10213e49", + "wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d" + }, + "word_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + } + }, + "retained_parent_receipt_sha256": "df3f6d3fcce56069b4c4c64267de57e1f83d2b9751c8ebf213a7f5eb2fcd3266", + "reused_retained_native_count": 2, + "reused_retained_parent": true, + "scope": "Both changed PR2802 providers freshly ran all five native stages. Only byte-identical retained provider chains and retained parent were reused from this campaign earlier fresh baseline; no fresh-four-chain claim for this invocation.", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} diff --git a/research/replica-tail-gain/validation/OWNERS.json b/research/replica-tail-gain/validation/OWNERS.json new file mode 100644 index 0000000000..7725f4ada2 --- /dev/null +++ b/research/replica-tail-gain/validation/OWNERS.json @@ -0,0 +1,71 @@ +{ + "calls": 846, + "candidate_sha256": { + "DISPATCH": "96317d851f3cbc07825b91d8f6ccb0624ff0dad95687a0b77d5f7ee4dbb79c8c", + "FILL": "5742b0ccc48fb1e2872f2093c4599988d0d3c2b0f219e7dc991a04703e04016b", + "ORDER": "ccae08149024d088971709d34971f337b869d9523576b90fe73e342d3699e132", + "PROFILE": "4921abc200f88f01f181fcd588a095462e680ec891469374d931c5798f3f5eb8" + }, + "controls": [ + { + "name": "false_replica_count", + "reason": "complete T call coverage" + }, + { + "name": "missing_literal_helper_role", + "reason": "complete role count" + }, + { + "name": "unbound_provider_at_actual_call", + "reason": "provider dispatch coverage" + }, + { + "name": "unavailable_source_window", + "reason": "literal source window" + }, + { + "name": "same_call_physical_family_collision", + "reason": "same-call family collision" + }, + { + "name": "unpaid_hole_in_compact_pending_prefix", + "reason": "compact bin prefix" + }, + { + "name": "changed_total_paid_profile", + "reason": "complete claimed profile" + } + ], + "idle": { + "1": 21996, + "3": 8376, + "32": 1, + "48": 33736, + "5": 12548 + }, + "live": 84224, + "physical": 84714, + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "provider_source_sha256": { + "independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + }, + "rank_mass": 6118272, + "replicas": 94, + "roles": 345168, + "scope": "PR2802 head17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd; finite literal whole-owner geometry, scalar endpoints and paid profile only; full native/global/outer admission remains separate.", + "status": "PASS_INDEPENDENT_T_OWNER_CHRONOLOGY_MASKS" +} diff --git a/research/replica-tail-gain/vendor/frontier/CLAIM.json b/research/replica-tail-gain/vendor/frontier/CLAIM.json new file mode 100644 index 0000000000..2e64718924 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/CLAIM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717794984118634663827", + "complex_upper": "0.001717794984118634663828", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": "2751", + "comparison_head": "4cfbb0cc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2751, + "head": "4cfbb0cc", + "exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "comparisons": { + "2751": { + "kappa_source": "evidence/PR2751-CLAIM.json", + "exact_margin": "326698885104162859/500000000000000000000000", + "margin_float": 6.533977702083258e-07 + }, + "2766": { + "kappa_source": "evidence/PR2766-CLAIM.json", + "exact_margin": "538010651632355557/1000000000000000000000000", + "margin_float": 5.380106516323556e-07 + }, + "2767": { + "kappa_source": "evidence/PR2767-OUTER-CLAIM.json", + "exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)", + "margin_float": 5.380106516323556e-07 + } + }, + "new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route", + "local_predecessor": { + "package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)", + "exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "exact_margin": "385667783143020379/1000000000000000000000000", + "margin_float": 3.856677831430204e-07 + } +} diff --git a/research/replica-tail-gain/vendor/frontier/DERIVATIVE-CODE.patch b/research/replica-tail-gain/vendor/frontier/DERIVATIVE-CODE.patch new file mode 100644 index 0000000000..15b163674a --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/DERIVATIVE-CODE.patch @@ -0,0 +1,137 @@ +--- a/audit_mixed.py ++++ b/audit_mixed.py +@@ -9,7 +9,7 @@ + for _nm,_mut in (('changed lifted target frame',lambda b_:b_['target_levels'].__setitem__('23',0)),): + _bad=copy.deepcopy(w);_mut(_bad) + try:A.local_inventory(_bad,r,None) +- except ValueError as _e:A.require(str(_e)=='target line30','target mutation rejection') ++ except ValueError as _e:A.require(str(_e)=='candidate exact source-partner target frames','target mutation rejection') + else:raise ValueError('accepted changed lifted target') + _pg=A.read(d/'LOCAL-PROGRAMS.json.gz');_bp=copy.deepcopy(_pg);_bp['forward'].remove(next(e for e in _bp['forward'] if e[0]=='center')) + try:A.local_inventory(w,r,_bp) +--- a/independent_core.py ++++ b/independent_core.py +@@ -69,8 +69,7 @@ + External ports/frames are independently checked by audit_mixed.py. + """ + levels = {int(t): f for t, f in word['target_levels'].items()} +- require(set(levels) == {11,23,29,32,34,35,45,48,50,59,63,71,73,76,81,84,87,90,92,108}, 'twenty source-partner target offsets') +- require(all(frames[f] in ((30,), (45,)) for f in levels.values()), 'target line30') ++ require({str(t): list(frames[f]) for t, f in levels.items()} == {'104': [45], '106': [45], '110': [45], '14': [45], '21': [45], '37': [45], '41': [45], '43': [45], '47': [45], '52': [45], '78': [45], '99': [45]}, 'candidate exact source-partner target frames') + require(all(current[V+t] == frames[levels.get(t, 0)] for t in range(V)), 'target centre level') + forward, backward = [], [] + for index, (register, frame_id) in enumerate(zip(word['centers'], word['center_frames'])): +@@ -90,7 +89,7 @@ + origin = destination + forward.extend(segments) + backward.extend(e[:2]+[e[3], e[2], e[4]] for e in reversed(segments)) +- require(Counter(e[4] for e in forward) == {1:8, 7:8}, 'sixteen centre children') ++ require(Counter(e[4] for e in forward) == {8:8}, 'candidate eight unsplit centre children') + return {'forward': forward, 'backward': backward} + + +--- a/new/borrow/lowfour_controls.py ++++ b/new/borrow/lowfour_controls.py +@@ -20,12 +20,13 @@ + ia=next(i for i,e in enumerate(pre) if e[0]=='add') + m=mut();m['A'][ia][3]=-m['A'][ia][3];expect('prelude correction sign flipped',m) + m=mut();m['A'][ia][3]*=2;expect('prelude correction coefficient doubled',m) +- m=mut();m['A'][ia][1],m['A'][ia+1][1]=m['A'][ia+1][1],m['A'][ia][1];expect('prelude correction targets swapped',m) ++ jb=next(j for j,e in enumerate(pre) if e[0]=='add' and e[1]!=pre[ia][1] and e[2:]!=pre[ia][2:] and e[-1]==pre[ia][-1]) ++ m=mut();m['A'][ia][1],m['A'][jb][1]=m['A'][jb][1],m['A'][ia][1];expect('prelude correction targets swapped',m) + iw=[i for i,e in enumerate(pre) if e[0]=='warp'];m=mut();del m['A'][iw[1]];m['prelude_events']-=1;expect('prelude return warp dropped',m) + m=mut();del m['A'][iw[0]];m['prelude_events']-=1;expect('prelude forward warp dropped',m) +- ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==135];m=mut() ++ target=pre[ia][1];ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==target];assert ids;m=mut() + for i in reversed(ids):del m['A'][i] +- m['prelude_events']-=len(ids);expect('all prelude corrections of target 135 dropped',m) ++ m['prelude_events']-=len(ids);expect('all prelude corrections of actual first target dropped',m) + m=mut();m['A'][0][-1]=[31];expect('prelude target scale at a different line',m) + m=mut();m['A'][iw[0]][2]=m['A'][iw[0]][2]+1 if abs(m['A'][iw[0]][2])i:r[0]-=1 + expect('source restoration gate dropped (cleanup re-derived)',rederive(m)) + # rewritten helper gate on the borrowed source removed +- j=next(i for i,g in enumerate(w0['B']) if g[0]=='add' and g[1]==33 and g[2]==250) ++ j=next(i for i,g in enumerate(w0['B']) if i>=w0['warps'][W33][0] and g[0]=='add' and g[1]==33) + m=mut();del m['B'][j] + for r in m['warps']: + if r[0]>j:r[0]-=1 +--- a/new/code/borrow/bw_audit_local.py ++++ b/new/code/borrow/bw_audit_local.py +@@ -179,6 +179,17 @@ + def phase_at(es,name):return es.index(['phase',name]) + def first_warp(es,sign=1,start=0):return ev_index(es,lambda e:e[0]=='warp' and (e[2]>0)==(sign>0),start) + def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup')) ++def incomplete_centre_descent(es): ++ # Split paths lose an intermediate step. An unsplit path is truncated at ++ # an actual nested rank-one frame, with its child rank repriced correctly. ++ # Thus the control cannot fail merely because a split no longer exists. ++ indices=[i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0] ++ if indices: ++ es.pop(indices[0]);return ++ e=next(e for e in es if e[0]=='center') ++ stop=next(f for f in range(len(frames)) if len(frames[f])==1 and contains(frames[f],frames[e[2]])) ++ e[3]=stop;e[4]=len(frames[e[2]])-1 ++ + mutations=[ + ('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)), + ('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))), +@@ -194,7 +205,7 @@ + ('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])), + ] if entering else [])+([ + ('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))), +- ('centre_descent_step_skipped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0))), ++ ('centre_descent_incomplete',incomplete_centre_descent), + ] if levels else [])+([ + ('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()), + ('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()), +--- a/new/rebuild_borrow.py ++++ b/new/rebuild_borrow.py +@@ -74,10 +74,10 @@ + lf=D/'inputs'/f'lowfour_43{wt}.json';lpatch=None + if lf.exists(): # four low aliases through lifted-target compensation (PR2436 mechanism) on top of the entrance state + lpatch=json.loads(lf.read_text());prev_l=chain[-1];chain.append(word_patch.apply_lowfour(prev_l,lpatch));steps.append('lowfour') +- nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[640,641,642,644]==lpatch['derived_removed_diff'] ++ nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[696,697,698,700]==lpatch['derived_removed_diff'] + kok&=[x[1:] for x in nw['warps'][:len(prev_l['warps'])]]==[x[1:] for x in prev_l['warps']] and [x[1] for x in nw['warps'][-4:]]==[33,55,74,85] and len(nw['warps'])==len(prev_l['warps'])+4 + kok&=[g[:-1] for g in nw['A'][nw['prelude_events']:]]==[g[:-1] for g in prev_l['A']] and nw['restore']==prev_l['restore'] and nw['helper_final']==prev_l['helper_final'] +- kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('640','641','642','644')}==nw['start_extra'] ++ kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('696','697','698','700')}==nw['start_extra'] + af=D/'inputs'/f'alias637_43{wt}.json';apatch=None + if af.exists(): # alias 637 borrowing retired source 31 (PR2436 pair) stacked on the four lifted-target aliases + apatch=json.loads(af.read_text());prev_a=chain[-1];chain.append(word_patch.apply_lowfour(prev_a,apatch));steps.append('alias637');na=chain[-1] +@@ -102,10 +102,10 @@ + kok&=word_patch.kernel_gate_edit(prev_p['B'],npl['B'])==ppatch['declared_gate_edit'] + kok&=all(npl[k_]==prev_p[k_] for k_ in ('A','precondition','cut','start_extra','target_levels','centers','center_frames','ports','prelude_events')) + rf2=D/'inputs'/f'refit563_43{wt}.json';rpatch2=None +- if rf2.exists(): # one-gate exact frame lowering (B 894, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package) ++ if rf2.exists(): # one-gate exact frame lowering (B 904, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package) + rpatch2=json.loads(rf2.read_text());prev_r=chain[-1];chain.append(refit_apply(prev_r,rpatch2));steps.append('refit563');nr=chain[-1] +- kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',894] and prev_r['B'][894][:5]==['add',515,563,1,1] +- kok&=len(nr['B'][894][-1])==len(prev_r['B'][894][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=894) ++ kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',904] and prev_r['B'][904][:5]==['add',515,563,1,1] ++ kok&=len(nr['B'][904][-1])==len(prev_r['B'][904][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=904) + kok&=not({515,563}&({x_['L'] for x_ in ppatch['pairs']}|{x_['h'] for x_ in ppatch['pairs']}) if ppatch else set()) + xf=D/'inputs'/f'alias1_43{wt}.json';xpatch=None + if xf.exists(): # retired-lender alias 653<-563 on the refit state (this package) +@@ -141,9 +141,9 @@ + pw_=Path(tempfile.mkdtemp())/'orig.json.gz';pw_.write_bytes(gzip.compress(json.dumps(prev_p,separators=(',',':')).encode(),mtime=0)) + pc=subprocess.run([sys.executable,'-B',str(D/'prelife_controls.py'),str(shipped),str(pw_),str(RCP/f'CONTROLS-PRELIFE-43{wt}.json')],capture_output=True,text=True) + pc_ok=pc.returncode==0 and json.loads((RCP/f'CONTROLS-PRELIFE-43{wt}.json').read_text())['all_rejected_for_expected_reason'];ok&=pc_ok;res['prelife_controls_ok']=pc_ok +- if rpatch2: # control: the shipped word with the B 894 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame) ++ if rpatch2: # control: the shipped word with the B 904 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame) + import copy as cp6 +- m=cp6.deepcopy(final);m['B'][894][-1]=prev_r['B'][894][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0)) ++ m=cp6.deepcopy(final);m['B'][904][-1]=prev_r['B'][904][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0)) + br=run_audit(bp,None,bp.parent/'refit563_undone.out.json');ru=br.returncode!=0 and 'warp frame mismatch' in (br.stdout+br.stderr);res['refit563_undone_rejected_by_warp_frame_mismatch']=ru;ok&=ru + if xpatch: + xc=subprocess.run([sys.executable,'-B',str(D/'alias1_controls.py'),str(shipped),str(xf),str(RCP/f'CONTROLS-ALIAS1-43{wt}.json')],capture_output=True,text=True) diff --git a/research/replica-tail-gain/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz b/research/replica-tail-gain/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz new file mode 100644 index 0000000000..8e2ac23939 Binary files /dev/null and b/research/replica-tail-gain/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz differ diff --git a/research/replica-tail-gain/vendor/frontier/DOWNLOAD-MANIFEST.json b/research/replica-tail-gain/vendor/frontier/DOWNLOAD-MANIFEST.json new file mode 100644 index 0000000000..bb877f38cd --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/DOWNLOAD-MANIFEST.json @@ -0,0 +1,1122 @@ +{ + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_channel": "ordinary pinned raw; headSha from public PR HTML; all primary subtree paths and Git blob IDs checked against current public diff", + "files": [ + { + "path": ".gitattributes", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/.gitattributes", + "sha256": "12ab6f9af287290f2f2404907fdd114faa5a085fe9eae713294537ff6b45132e", + "git_blob": "f7e56e18b7b7b669a4f6b94e05816938be3f075e", + "diff_blob": "f7e56e18b7", + "bytes": 121, + "utc": "2026-10-15T23:07:26.793Z" + }, + { + "path": "CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/CLAIM.json", + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "git_blob": "2e647189246376ee0ea855f50299f91483012371", + "diff_blob": "2e64718924", + "bytes": 2443, + "utc": "2026-10-15T23:07:26.792Z" + }, + { + "path": "composition.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/composition.py", + "sha256": "f202f8ce9730b778c9ee1213d63d444d117df5ff7d47933037a924723a37e3f4", + "git_blob": "bb455e907ddf8227cb5c8062825540eda219ba17", + "diff_blob": "bb455e907d", + "bytes": 6485, + "utc": "2026-10-15T23:07:27.973Z" + }, + { + "path": "DERIVATIVE-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/DERIVATIVE-CODE.patch", + "sha256": "36fe5e24ecf22be987360647de1167185ffb92603bebb1959a065e56524586e1", + "git_blob": "15b163674a4370b1914752cec39f30db6fb23e72", + "diff_blob": "15b163674a", + "bytes": 11858, + "utc": "2026-10-15T23:07:26.793Z" + }, + { + "path": "DERIVATIVE-OVERLAY.tar.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/DERIVATIVE-OVERLAY.tar.gz", + "sha256": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "git_blob": "8e2ac2393958b98a07bd4973d8a9b47720b19653", + "diff_blob": "8e2ac23939", + "bytes": 1726272, + "utc": "2026-10-15T23:07:27.069Z" + }, + { + "path": "evidence/ADMISSION.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/ADMISSION.json", + "sha256": "b85b5b339353ae2a1935afa2963fcde7db9f66b41f205ddd632210257a8be168", + "git_blob": "df8d10716f4198e3b03cd1e3a842c5d536c21806", + "diff_blob": "df8d10716f", + "bytes": 7481, + "utc": "2026-10-15T23:07:28.013Z" + }, + { + "path": "evidence/INDEPENDENT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/INDEPENDENT.json", + "sha256": "f9e4500e5cb1ab1b9e8189de6dfbcca8dd9f7e2ea1a9ffce6801d6530797c0d2", + "git_blob": "750227462f19d1f500b69e6b1eaf1175917723b6", + "diff_blob": "750227462f", + "bytes": 11397, + "utc": "2026-10-15T23:07:27.973Z" + }, + { + "path": "evidence/NATIVE-BASE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/NATIVE-BASE.json", + "sha256": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "git_blob": "fd79ad2f2a6c4a7e7b23a6c25f7db39118064830", + "diff_blob": "fd79ad2f2a", + "bytes": 433, + "utc": "2026-10-15T23:07:27.965Z" + }, + { + "path": "evidence/NATIVE-EXTRA.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/NATIVE-EXTRA.json", + "sha256": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "git_blob": "930bbf3cd1476b396610274fc10545197564750a", + "diff_blob": "930bbf3cd1", + "bytes": 434, + "utc": "2026-10-15T23:07:28.197Z" + }, + { + "path": "evidence/OWNERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/OWNERS.json", + "sha256": "4df2066f097e4b59edf7d7af0e7e234413b9d2a09de4302d02adb3869972f672", + "git_blob": "00ff9fe9e4e57d28d9f10257adf13f9cb468d7ea", + "diff_blob": "00ff9fe9e4", + "bytes": 499, + "utc": "2026-10-15T23:07:28.190Z" + }, + { + "path": "evidence/PACKING-CAP.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PACKING-CAP.json", + "sha256": "59deb044b1b46953cbfd2fcedd3026a901d4524d7d05c592b8e1420501f6e652", + "git_blob": "e304fa1a3aaaf03407104c51fae184d70cc4973b", + "diff_blob": "e304fa1a3a", + "bytes": 1136, + "utc": "2026-10-15T23:07:28.169Z" + }, + { + "path": "evidence/PR2733-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2733-CLAIM.json", + "sha256": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "git_blob": "e97166d50158786e666c8e0d97d12f79a098df29", + "diff_blob": "e97166d501", + "bytes": 2775, + "utc": "2026-10-15T23:07:28.154Z" + }, + { + "path": "evidence/PR2745-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2745-CLAIM.json", + "sha256": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "git_blob": "abec1247c37e0bea60bb9feea293bb17b81a97a3", + "diff_blob": "abec1247c3", + "bytes": 11134, + "utc": "2026-10-15T23:07:28.380Z" + }, + { + "path": "evidence/PR2751-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2751-CLAIM.json", + "sha256": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "git_blob": "48ad23a430def28e485ee311ac92828ac9664a0c", + "diff_blob": "48ad23a430", + "bytes": 848, + "utc": "2026-10-15T23:07:28.381Z" + }, + { + "path": "evidence/PR2766-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2766-CLAIM.json", + "sha256": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "git_blob": "d352e67b80455a435b2527880bd5690806097a7d", + "diff_blob": "d352e67b80", + "bytes": 1490, + "utc": "2026-10-15T23:07:28.341Z" + }, + { + "path": "evidence/PR2767-OUTER-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2767-OUTER-CLAIM.json", + "sha256": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "git_blob": "2bb218a7506c0e29fdb466f0c9ffdf5c04665370", + "diff_blob": "2bb218a750", + "bytes": 11126, + "utc": "2026-10-15T23:07:28.381Z" + }, + { + "path": "evidence/PUBLIC-WRAPPER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PUBLIC-WRAPPER.json", + "sha256": "70acee53d90097edfa3e7c99ad68311f236bade5ee71a446bcc8935e9e7e3192", + "git_blob": "e705eabcffaf911a16e4e887f3713cb34306d199", + "diff_blob": "e705eabcff", + "bytes": 9845, + "utc": "2026-10-15T23:07:28.570Z" + }, + { + "path": "evidence/RELEASE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/RELEASE.json", + "sha256": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "git_blob": "e44dc7c69b07aa44bc69b41f6c19e5369d58aee7", + "diff_blob": "e44dc7c69b", + "bytes": 2241, + "utc": "2026-10-15T23:07:28.532Z" + }, + { + "path": "evidence/retired5/ADMISSION-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/ADMISSION-RESULT.json", + "sha256": "e441d6bfef1554491087a5b4701a8b23b331af3b57f77a38f3de4a47d940a6bf", + "git_blob": "51fc18760793c0b0d3f481a20ea598c94896399c", + "diff_blob": "51fc187607", + "bytes": 6368, + "utc": "2026-10-15T23:07:28.569Z" + }, + { + "path": "evidence/retired5/ADMISSION-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/ADMISSION-STAGES.json", + "sha256": "be3bf7f8fb4208bdea8dae25a8db0beda8d31cd5ac8a61279b22928ededb58bb", + "git_blob": "a5d5bc1130417950ec036e0ef89f94b1733b5d30", + "diff_blob": "a5d5bc1130", + "bytes": 3427, + "utc": "2026-10-15T23:07:28.530Z" + }, + { + "path": "evidence/retired5/CERT2751.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CERT2751.json", + "sha256": "d2f63d1167e0e1811f8b2b62ee50353184ca0ed86ab2c0bc96bf37edccf1eeff", + "git_blob": "dde7a0f3d0b6db45dc35644499bb7c25e074d3bc", + "diff_blob": "dde7a0f3d0", + "bytes": 4168, + "utc": "2026-10-15T23:07:28.719Z" + }, + { + "path": "evidence/retired5/CONTROLS-ALIAS5-43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CONTROLS-ALIAS5-43base.json", + "sha256": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "git_blob": "9785264a786b64300369774323402bad46a998f2", + "diff_blob": "9785264a78", + "bytes": 4929, + "utc": "2026-10-15T23:07:28.728Z" + }, + { + "path": "evidence/retired5/CONTROLS-ALIAS5-43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CONTROLS-ALIAS5-43extra.json", + "sha256": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "git_blob": "9785264a786b64300369774323402bad46a998f2", + "diff_blob": "9785264a78", + "bytes": 4929, + "utc": "2026-10-15T23:07:28.720Z" + }, + { + "path": "evidence/retired5/FULL-REPLAY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/FULL-REPLAY-RESULT.json", + "sha256": "5d884e943ba270223218cac39e10b4355cd217802232c8363a03f2d15bb77bdf", + "git_blob": "d276ca96c521c23aec9fa2db320388c0b5741eb0", + "diff_blob": "d276ca96c5", + "bytes": 10855, + "utc": "2026-10-15T23:07:28.758Z" + }, + { + "path": "evidence/retired5/FULL-REPLAY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/FULL-REPLAY-STAGES.json", + "sha256": "80ac023ea6c8e152d538f873855c3b917f1fb80fc34c9f2d4db19ee9cab76de8", + "git_blob": "384e4a8a7e38aed6b232599b6916a0050ff76a17", + "diff_blob": "384e4a8a7e", + "bytes": 3882, + "utc": "2026-10-15T23:07:28.903Z" + }, + { + "path": "evidence/retired5/GENERATE-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/GENERATE-LOG.txt", + "sha256": "18a234b13f2b7e7b98c59f1be8799fbfde2284a2a64a0eaf9be0aa53115ef5fa", + "git_blob": "58bf5e824477396a5b70e69d3ea64635d1257a28", + "diff_blob": "58bf5e8244", + "bytes": 9111, + "utc": "2026-10-15T23:07:28.904Z" + }, + { + "path": "evidence/retired5/HOOK-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/HOOK-RESULT.json", + "sha256": "76b67d54df3a6da3bb7f6fe3402f11d2926cb48353bf068dc34eeb560784771a", + "git_blob": "c2f514c451a9c65ddb32a83e08b5168abbb4eca2", + "diff_blob": "c2f514c451", + "bytes": 10668, + "utc": "2026-10-15T23:07:28.925Z" + }, + { + "path": "evidence/retired5/NATIVE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/NATIVE-RECEIPT.json", + "sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "git_blob": "b30f12f22ca6b894e8ae8fab2ac9e73c2872e03e", + "diff_blob": "b30f12f22c", + "bytes": 15939, + "utc": "2026-10-15T23:07:28.904Z" + }, + { + "path": "evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "cf06397f5fdaf50f8e44af4ff64d6a97865b79d5bc86024ba7c6f653698a6d8e", + "git_blob": "9119865da294e626d78994447b7d2744934fa9bd", + "diff_blob": "9119865da2", + "bytes": 3879, + "utc": "2026-10-15T23:07:29.176Z" + }, + { + "path": "evidence/retired5/RELEASE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-RECEIPT.json", + "sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "git_blob": "b4684a573d70a6ce21660fa372217fbdb628023b", + "diff_blob": "b4684a573d", + "bytes": 2241, + "utc": "2026-10-15T23:07:29.099Z" + }, + { + "path": "evidence/retired5/RELEASE-VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-VERIFY-RESULT.json", + "sha256": "6a4d591c2c827a899cb9a3682ef3f05fd97fc58842e68ae9aead5d14d3f62654", + "git_blob": "7caccd3f8f49e669ca4d353abfbabe10a447c672", + "diff_blob": "7caccd3f8f", + "bytes": 3334, + "utc": "2026-10-15T23:07:29.074Z" + }, + { + "path": "evidence/retired5/RELEASE-VERIFY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-VERIFY-STAGES.json", + "sha256": "ed04eb3d4ec175b3b211cef890376529c1e9dc3f69974269106dbff9e52bcde0", + "git_blob": "aff147d9edbec561e1329683e8e17a5bb0e8abdf", + "diff_blob": "aff147d9ed", + "bytes": 2196, + "utc": "2026-10-15T23:07:29.074Z" + }, + { + "path": "evidence/retired5/RUNTIME-PATCHES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RUNTIME-PATCHES.json", + "sha256": "a20936449a1d23f79c8c040d47039e563d2bcdfc534d1c1de7d25d221a7f483c", + "git_blob": "2fea51a3dd614e34654cb0b713925a999a53add9", + "diff_blob": "2fea51a3dd", + "bytes": 1236, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/ADMISSION-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/ADMISSION-RESULT.json", + "sha256": "259c1a9da2ebfceb4b4cea2732b5a6d144cc85d7d8a92f4474d29ee3a5c75fc2", + "git_blob": "4ceb18a8494d9444ba59483257dd207d32ccb83c", + "diff_blob": "4ceb18a849", + "bytes": 6812, + "utc": "2026-10-15T23:07:29.316Z" + }, + { + "path": "evidence/retired7/ADMISSION-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/ADMISSION-STAGES.json", + "sha256": "f86a0c1ff418c3da14f573dbf900eae96657a33b4d3829c7c5da8036890c9f87", + "git_blob": "8b12d62f6fd80f03ef2d6ac2fefd589d59753fa1", + "diff_blob": "8b12d62f6f", + "bytes": 4125, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json", + "sha256": "ede02c0657d73229aa8943046aeb6c72f8300719f95b6a2f770935173287dca9", + "git_blob": "0205988129b4376b220054cb4b43badfe3a50a68", + "diff_blob": "0205988129", + "bytes": 1380, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/CONTROLS-RETIRED7-43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CONTROLS-RETIRED7-43base.json", + "sha256": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "git_blob": "45cecc552baa0f4b968bb05a425cdd6e77868e06", + "diff_blob": "45cecc552b", + "bytes": 4178, + "utc": "2026-10-15T23:07:29.509Z" + }, + { + "path": "evidence/retired7/CONTROLS-RETIRED7-43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CONTROLS-RETIRED7-43extra.json", + "sha256": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "git_blob": "45cecc552baa0f4b968bb05a425cdd6e77868e06", + "diff_blob": "45cecc552b", + "bytes": 4178, + "utc": "2026-10-15T23:07:29.481Z" + }, + { + "path": "evidence/retired7/FULL-REPLAY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/FULL-REPLAY-RESULT.json", + "sha256": "3b480daeb9f2e09eeefe787d99eef9143a90ac5136faf5f9285affc65e90030d", + "git_blob": "5cced4b2db357d72c1d92cd15324b0fbbddceb64", + "diff_blob": "5cced4b2db", + "bytes": 12079, + "utc": "2026-10-15T23:07:29.518Z" + }, + { + "path": "evidence/retired7/FULL-REPLAY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/FULL-REPLAY-STAGES.json", + "sha256": "9498e69c1c927751b3dadad8bfd887f9afff107424f0987ece9df9c17e1f5412", + "git_blob": "4d4b3a7915fc9e417faf04dbe54fd5c27e767f0f", + "diff_blob": "4d4b3a7915", + "bytes": 4767, + "utc": "2026-10-15T23:07:29.513Z" + }, + { + "path": "evidence/retired7/HOOK-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/HOOK-RESULT.json", + "sha256": "95d8169d828b0c3b7ccc02f205aa63bb33e54da95b7279c58775711ceb88df8e", + "git_blob": "e29b039fd33f34cd4c874b34a1202ceb16838126", + "diff_blob": "e29b039fd3", + "bytes": 16009, + "utc": "2026-10-15T23:07:29.709Z" + }, + { + "path": "evidence/retired7/NATIVE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/NATIVE-RECEIPT.json", + "sha256": "baba1153f79b8de0f52273194f8fb86df7c65b51bafc9bac1504074f7c6cb982", + "git_blob": "a82fb1ff375d14db2f1db67c18f95877746bb139", + "diff_blob": "a82fb1ff37", + "bytes": 15623, + "utc": "2026-10-15T23:07:29.701Z" + }, + { + "path": "evidence/retired7/NATIVE-STANDALONE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/NATIVE-STANDALONE.json", + "sha256": "49ee5ec3f791392555a6218e5f5cc80bf004b706ba697a298f9701ea8c4765a0", + "git_blob": "6646251c6ffad60be277f02d1654f6ead6fcb16a", + "diff_blob": "6646251c6f", + "bytes": 482, + "utc": "2026-10-15T23:07:29.749Z" + }, + { + "path": "evidence/retired7/OWNER-CHECK.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/OWNER-CHECK.json", + "sha256": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "git_blob": "d6c74e2ba08250c30574c035ac89a5a8f5532196", + "diff_blob": "d6c74e2ba0", + "bytes": 1298, + "utc": "2026-10-15T23:07:29.701Z" + }, + { + "path": "evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "59dec80790bee9a132d92ec64db08e93ee000994ac4e0188da7b1829dac8ccab", + "git_blob": "065d3aa6532a970ab13b0044a8ed4749abd65360", + "diff_blob": "065d3aa653", + "bytes": 4367, + "utc": "2026-10-15T23:07:29.938Z" + }, + { + "path": "evidence/retired7/REGISTERED-HOOK-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/REGISTERED-HOOK-LOG.txt", + "sha256": "16ec70f1c8191c18aa8f6422f972519b99df01002ffde5b12ac4febe0be22f46", + "git_blob": "4a2aa3c2d09d331f408cfb09e3d347cb682244ec", + "diff_blob": "4a2aa3c2d0", + "bytes": 18966, + "utc": "2026-10-15T23:07:29.885Z" + }, + { + "path": "evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "d9977346de4ceb88d152ac8e892fdb65af572933aa967fd726a7620fa3e29074", + "git_blob": "b5157e14f384f8133bd74fdbd6d1b703c5282ff7", + "diff_blob": "b5157e14f3", + "bytes": 4420, + "utc": "2026-10-15T23:07:29.895Z" + }, + { + "path": "evidence/retired7/RELEASE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-RECEIPT.json", + "sha256": "8698b42e6239cffcd92ae4a87605451d799b7b751bcf4a432fd851a548ceff48", + "git_blob": "37735f2254fd26b5aa55826ab8cc995d181308ec", + "diff_blob": "37735f2254", + "bytes": 2236, + "utc": "2026-10-15T23:07:29.938Z" + }, + { + "path": "evidence/retired7/RELEASE-VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-VERIFY-RESULT.json", + "sha256": "4eee4b247783eceb62c785385e5d6965241655e963eabad33ee64a26964fcd49", + "git_blob": "680f2d73e5a9dcb7c319e966cceaf36282dc5b74", + "diff_blob": "680f2d73e5", + "bytes": 3116, + "utc": "2026-10-15T23:07:30.091Z" + }, + { + "path": "evidence/retired7/RELEASE-VERIFY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-VERIFY-STAGES.json", + "sha256": "8278e1e93057f1f7e19b9c4058a249597a80c78b8dfa0e15bb6f206aefaf5f6e", + "git_blob": "3686810428862426cb5bd3dbe895bbdfc166919b", + "diff_blob": "3686810428", + "bytes": 2079, + "utc": "2026-10-15T23:07:30.127Z" + }, + { + "path": "evidence/retired7/RESEARCH-TESTS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RESEARCH-TESTS-LOG.txt", + "sha256": "e7eb21fea3fd1e55b60ea4f7013b4bc13db048043e733c5b1c09273cf1a43f63", + "git_blob": "b0448692e46dbb256d4f5e51c834f2bab5f368eb", + "diff_blob": "b0448692e4", + "bytes": 400, + "utc": "2026-10-15T23:07:30.138Z" + }, + { + "path": "evidence/retired7/RUNTIME-PATCHES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RUNTIME-PATCHES.json", + "sha256": "f9cf016d89b318398a0737cb304f1f9a32098589b9fb3b89ab79bb10e3f9bbe5", + "git_blob": "ce6e8881de73df6d90e548bf274de8d5320cb7aa", + "diff_blob": "ce6e8881de", + "bytes": 1156, + "utc": "2026-10-15T23:07:30.091Z" + }, + { + "path": "evidence/retired7/STAGES7.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/STAGES7.json", + "sha256": "ab5fd9336ae23174cdee523d7c46a5eda201e04ce5391170d00963783a3d71c8", + "git_blob": "1e3fe61a7dbde68163c817be0b57604bcd2e14eb", + "diff_blob": "1e3fe61a7d", + "bytes": 1534, + "utc": "2026-10-15T23:07:30.368Z" + }, + { + "path": "evidence/retired7/VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/VERIFY-RESULT.json", + "sha256": "7f404f3d4638142ba3a77fc2a18d34d4926abcae528ce0ed1af0c4b4dad71a0a", + "git_blob": "8b8cb29852ab4fa36750f4be4be0211b184150e7", + "diff_blob": "8b8cb29852", + "bytes": 437, + "utc": "2026-10-15T23:07:30.417Z" + }, + { + "path": "exact_moment.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/exact_moment.py", + "sha256": "f170292f7983773d4f142afdac4677c1615fb7b781dbabf395200aea886dcade", + "git_blob": "30dc8aa22939ea377d893462a863bc7c37b4e210", + "diff_blob": "30dc8aa229", + "bytes": 1522, + "utc": "2026-10-15T23:07:30.309Z" + }, + { + "path": "full_replay.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/full_replay.py", + "sha256": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b", + "git_blob": "d9718b8b5b173ab81efaee24c04e5c99b6e70e94", + "diff_blob": "d9718b8b5b", + "bytes": 12140, + "utc": "2026-10-15T23:07:30.349Z" + }, + { + "path": "generate.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/generate.py", + "sha256": "24b90102b48ed9adf2621412fbff594b9e231041ca385258794881054d67f7a3", + "git_blob": "dafca20149f2e24ef82e266ee08db494dbeb78f3", + "diff_blob": "dafca20149", + "bytes": 4265, + "utc": "2026-10-15T23:07:30.576Z" + }, + { + "path": "GENERATOR-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/GENERATOR-PINS.json", + "sha256": "8823d9ad809cdd2e469f21ae1982a379f302bb9bf177cff069ef99a52163c286", + "git_blob": "53cbe5b14d7556b53e494144f4bf6b7531a24a33", + "diff_blob": "53cbe5b14d", + "bytes": 808, + "utc": "2026-10-15T23:07:27.246Z" + }, + { + "path": "independent_local.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/independent_local.py", + "sha256": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "git_blob": "e0b556adc3d05c8f97e94992e0f872916154202d", + "diff_blob": "e0b556adc3", + "bytes": 7322, + "utc": "2026-10-15T23:07:31.227Z" + }, + { + "path": "independent_owners.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/independent_owners.py", + "sha256": "219e16a7f35c5c9e9640760c28ad49a17b546c9f32bdf57dd76c30b5dd096aa6", + "git_blob": "b196522f05f4249c06cc75feae42613acee5cb1e", + "diff_blob": "b196522f05", + "bytes": 5170, + "utc": "2026-10-15T23:07:30.617Z" + }, + { + "path": "INPUT-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/INPUT-PINS.json", + "sha256": "c59957b3a312c643e8de6fa12c57adc0683ef29d8d74b051d0087a7c64232d21", + "git_blob": "db68544ada4ef515257e6f1e0dbb46991e7ca3d2", + "diff_blob": "db68544ada", + "bytes": 3893, + "utc": "2026-10-15T23:07:27.312Z" + }, + { + "path": "inputs/alias5_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias5_43base.json", + "sha256": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "git_blob": "be4b73559fd42d6a0be59940e02e7505a815a363", + "diff_blob": "be4b73559f", + "bytes": 245671, + "utc": "2026-10-15T23:07:35.446Z" + }, + { + "path": "inputs/alias5_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias5_43extra.json", + "sha256": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "git_blob": "adc0d05913357b8c7931a82434318ee5a275dcb4", + "diff_blob": "adc0d05913", + "bytes": 245659, + "utc": "2026-10-15T23:07:35.639Z" + }, + { + "path": "inputs/alias7_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias7_43base.json", + "sha256": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "git_blob": "0a198a786a5b06e462d175d0bda611b8f3145fbd", + "diff_blob": "0a198a786a", + "bytes": 82808, + "utc": "2026-10-15T23:07:35.444Z" + }, + { + "path": "inputs/alias7_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias7_43extra.json", + "sha256": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "git_blob": "902a5c32aba01004347461a2866f844f82f3f279", + "diff_blob": "902a5c32ab", + "bytes": 82796, + "utc": "2026-10-15T23:07:35.478Z" + }, + { + "path": "inputs/DISPATCH.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/DISPATCH.json.gz", + "sha256": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "git_blob": "4f4c2138d6be71dc649b8ee746385f059c242f21", + "diff_blob": "4f4c2138d6", + "bytes": 1637, + "utc": "2026-10-15T23:07:30.736Z" + }, + { + "path": "inputs/FILL.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "git_blob": "6441c0be4d116e1248d6cf0e163312e70db3a7e9", + "diff_blob": "6441c0be4d", + "bytes": 1268295, + "utc": "2026-10-15T23:07:31.639Z" + }, + { + "path": "inputs/FILL2751.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/FILL2751.json.gz", + "sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "git_blob": "17129e917b31b15625c53181d303b68e17ffed55", + "diff_blob": "17129e917b", + "bytes": 1263865, + "utc": "2026-10-15T23:07:32.944Z" + }, + { + "path": "inputs/GLOBAL-TEMPLATE.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/GLOBAL-TEMPLATE.json.gz", + "sha256": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "git_blob": "114808c32b1799da53524bdc25cea67efb60009e", + "diff_blob": "114808c32b", + "bytes": 1124331, + "utc": "2026-10-15T23:07:31.585Z" + }, + { + "path": "inputs/hostmove2_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/hostmove2_43base.json", + "sha256": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "git_blob": "a20eeb8f4a07ee82abd38186ad8b5ee11cac56dc", + "diff_blob": "a20eeb8f4a", + "bytes": 83147, + "utc": "2026-10-15T23:07:35.808Z" + }, + { + "path": "inputs/hostmove2_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/hostmove2_43extra.json", + "sha256": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "git_blob": "e65144f5ec357d7f1940495d216c82921bfabea2", + "diff_blob": "e65144f5ec", + "bytes": 83135, + "utc": "2026-10-15T23:07:36.287Z" + }, + { + "path": "inputs/ORDER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "git_blob": "c202d6ec222a257a64b2017eb1bbb0f9d2682669", + "diff_blob": "c202d6ec22", + "bytes": 4574, + "utc": "2026-10-15T23:07:31.424Z" + }, + { + "path": "inputs/PLAN.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PLAN.json.gz", + "sha256": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "git_blob": "973f576bccc4b8021bfa9b4fff815b0949fe5932", + "diff_blob": "973f576bcc", + "bytes": 29584, + "utc": "2026-10-15T23:07:33.128Z" + }, + { + "path": "inputs/POSITIVE2462-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/POSITIVE2462-base.json.gz", + "sha256": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "git_blob": "0bc4e8c167de63931e5cc208527ad684573a373c", + "diff_blob": "0bc4e8c167", + "bytes": 70505, + "utc": "2026-10-15T23:07:33.297Z" + }, + { + "path": "inputs/POSITIVE2462-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/POSITIVE2462-extra.json.gz", + "sha256": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "git_blob": "33f39e6826d181f4e0aead30b427e8de3c107a9a", + "diff_blob": "33f39e6826", + "bytes": 70509, + "utc": "2026-10-15T23:07:33.147Z" + }, + { + "path": "inputs/PROVIDERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PROVIDERS.json", + "sha256": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "git_blob": "b28e97eead8576399f069775aa72ba1e1078e62b", + "diff_blob": "b28e97eead", + "bytes": 5180, + "utc": "2026-10-15T23:07:33.110Z" + }, + { + "path": "inputs/PROVIDERS2751.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PROVIDERS2751.json", + "sha256": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "git_blob": "26be26b6d25be67327ae77623c2eaa0a9fe463dc", + "diff_blob": "26be26b6d2", + "bytes": 1846, + "utc": "2026-10-15T23:07:33.476Z" + }, + { + "path": "inputs/refit5_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5_43base.json", + "sha256": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "git_blob": "73fa6c445adff08869ece8e36e804ca8227b641a", + "diff_blob": "73fa6c445a", + "bytes": 4025, + "utc": "2026-10-15T23:07:35.789Z" + }, + { + "path": "inputs/refit5_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5_43extra.json", + "sha256": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "git_blob": "73fa6c445adff08869ece8e36e804ca8227b641a", + "diff_blob": "73fa6c445a", + "bytes": 4025, + "utc": "2026-10-15T23:07:35.801Z" + }, + { + "path": "inputs/refit5c_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5c_43base.json", + "sha256": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "git_blob": "6779edb0aafd7a7f8ebe29dd57ea91f2d64e9b56", + "diff_blob": "6779edb0aa", + "bytes": 2349, + "utc": "2026-10-15T23:07:36.423Z" + }, + { + "path": "inputs/refit5c_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5c_43extra.json", + "sha256": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "git_blob": "6779edb0aafd7a7f8ebe29dd57ea91f2d64e9b56", + "diff_blob": "6779edb0aa", + "bytes": 2349, + "utc": "2026-10-15T23:07:36.633Z" + }, + { + "path": "inputs/refit7_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7_43base.json", + "sha256": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "git_blob": "0095915f00d673b7d9c5085fcb728d624f96db53", + "diff_blob": "0095915f00", + "bytes": 573, + "utc": "2026-10-15T23:07:36.435Z" + }, + { + "path": "inputs/refit7_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7_43extra.json", + "sha256": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "git_blob": "0095915f00d673b7d9c5085fcb728d624f96db53", + "diff_blob": "0095915f00", + "bytes": 573, + "utc": "2026-10-15T23:07:36.442Z" + }, + { + "path": "inputs/refit7c_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7c_43base.json", + "sha256": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "git_blob": "acd4d17dc2fb436c58171acaf3f140d25b1f6b2a", + "diff_blob": "acd4d17dc2", + "bytes": 488, + "utc": "2026-10-15T23:07:36.777Z" + }, + { + "path": "inputs/refit7c_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7c_43extra.json", + "sha256": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "git_blob": "acd4d17dc2fb436c58171acaf3f140d25b1f6b2a", + "diff_blob": "acd4d17dc2", + "bytes": 488, + "utc": "2026-10-15T23:07:36.984Z" + }, + { + "path": "inputs/SOURCE-FILL.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-FILL.json.gz", + "sha256": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "git_blob": "4a0d605902453ca2eb8bb2e318274022c136ab81", + "diff_blob": "4a0d605902", + "bytes": 1285267, + "utc": "2026-10-15T23:07:34.656Z" + }, + { + "path": "inputs/SOURCE-ORDER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-ORDER.json", + "sha256": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "git_blob": "7141bd58cc465e28f0189345713ddd366c814ca4", + "diff_blob": "7141bd58cc", + "bytes": 5904, + "utc": "2026-10-15T23:07:33.517Z" + }, + { + "path": "inputs/SOURCE-PROVIDERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-PROVIDERS.json", + "sha256": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "git_blob": "d49a003505049499afb213c09e1011cb511ebbcc", + "diff_blob": "d49a003505", + "bytes": 1873, + "utc": "2026-10-15T23:07:33.536Z" + }, + { + "path": "inputs/WORD-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD-base.json.gz", + "sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "git_blob": "91bd9c68f209ac29e27cac566ff7a78339788553", + "diff_blob": "91bd9c68f2", + "bytes": 72444, + "utc": "2026-10-15T23:07:34.816Z" + }, + { + "path": "inputs/WORD-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD-extra.json.gz", + "sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "git_blob": "6c4a9a4395cfd407b435833908f783db4b3c6a4b", + "diff_blob": "6c4a9a4395", + "bytes": 72443, + "utc": "2026-10-15T23:07:35.281Z" + }, + { + "path": "inputs/WORD2751-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD2751-base.json.gz", + "sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "git_blob": "f1fc67a6eaf4bcc5dfa852b448aa2659070fa5f8", + "diff_blob": "f1fc67a6ea", + "bytes": 72468, + "utc": "2026-10-15T23:07:34.854Z" + }, + { + "path": "inputs/WORD2751-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD2751-extra.json.gz", + "sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "git_blob": "f06e80c4dddb9741d0051cb85a57d356e673f687", + "diff_blob": "f06e80c4dd", + "bytes": 72468, + "utc": "2026-10-15T23:07:34.852Z" + }, + { + "path": "joint_engine.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/joint_engine.py", + "sha256": "1411acf2903cad468e3618eefec7032ea04232af740134416d42d74aa1ea4945", + "git_blob": "e76585f43f18c641ac551ed19d3c1be86d112e33", + "diff_blob": "e76585f43f", + "bytes": 7467, + "utc": "2026-10-15T23:07:36.767Z" + }, + { + "path": "LICENSE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "diff_blob": "261eeb9e9f", + "bytes": 11357, + "utc": "2026-10-15T23:07:27.205Z" + }, + { + "path": "NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/NOTICE", + "sha256": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "git_blob": "4f946d97736bcc10e56fd3648f0035de3eda63f0", + "diff_blob": "4f946d9773", + "bytes": 1192, + "utc": "2026-10-15T23:07:27.213Z" + }, + { + "path": "OVERLAY-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/OVERLAY-PINS.json", + "sha256": "496f1daf28d46a0b7aafe5a8968a2078b7bc9c2fa29089d16092c2f5041813bb", + "git_blob": "4c1a0ca6ee4bb4ea878cb21af85e11b218fe5833", + "diff_blob": "4c1a0ca6ee", + "bytes": 4260, + "utc": "2026-10-15T23:07:27.473Z" + }, + { + "path": "packing_cap.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/packing_cap.py", + "sha256": "b292694b0862db3393ce02e1e07a922ded6f746b18ab8faca69eb93ed7a2e522", + "git_blob": "fe937f866716fafa5b02b19dd0f191b00c1fd4f8", + "diff_blob": "fe937f8667", + "bytes": 3413, + "utc": "2026-10-15T23:07:36.804Z" + }, + { + "path": "PROFILE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/PROFILE.json", + "sha256": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "git_blob": "c8b3bc89984bb71b5369a5d87bddbd98c055b32d", + "diff_blob": "c8b3bc8998", + "bytes": 116, + "utc": "2026-10-15T23:07:27.490Z" + }, + { + "path": "PROOF.md", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/PROOF.md", + "sha256": "6ecefda5d853e3ede1ee06aab08de24dfde960d98178a71844340ed86ae0d9b9", + "git_blob": "d2b1a96ba8ea6f20e87e12cf2817e0c3ce4c5f30", + "diff_blob": "d2b1a96ba8", + "bytes": 3777, + "utc": "2026-10-15T23:07:27.492Z" + }, + { + "path": "README.md", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/README.md", + "sha256": "8ea1568d186bdf5086aa2efff6c24fe6b34a6d4790393e763a4ddf683541df69", + "git_blob": "0d79a15325d582eb41655c21f3bbe021e5b2d470", + "diff_blob": "0d79a15325", + "bytes": 14109, + "utc": "2026-10-15T23:07:27.455Z" + }, + { + "path": "requirements.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/requirements.txt", + "sha256": "f95b588f39c53b58fa36c3b65b65cc770e3a051a6a12555a9188808e771d1d13", + "git_blob": "816d0c8e917cfe51c9c7f78f70761ec728f94534", + "diff_blob": "816d0c8e91", + "bytes": 55, + "utc": "2026-10-15T23:07:37.121Z" + }, + { + "path": "RETIRED5-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/RETIRED5-CODE.patch", + "sha256": "c94370f5e40631012709f038762126c88678f45e441a201d9156a56d53524ec8", + "git_blob": "732313f3ca8d9137b2541aa3a035608d1494b51d", + "diff_blob": "732313f3ca", + "bytes": 21178, + "utc": "2026-10-15T23:07:27.680Z" + }, + { + "path": "retired7_controls.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/retired7_controls.py", + "sha256": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "git_blob": "67a9818ac7a31236626d59f0e5c4bb9c74f028d5", + "diff_blob": "67a9818ac7", + "bytes": 5691, + "utc": "2026-10-15T23:07:37.323Z" + }, + { + "path": "RETIRED7-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/RETIRED7-CODE.patch", + "sha256": "5fe86a963cf0e68ca9a48704910be58d76b48d966c2d6026edbce785796a0fcf", + "git_blob": "4cf31da68bdef7ed23f0b3918f8296bd17000d9e", + "diff_blob": "4cf31da68b", + "bytes": 33341, + "utc": "2026-10-15T23:07:27.635Z" + }, + { + "path": "REUSE-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/REUSE-PINS.json", + "sha256": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "git_blob": "ff0b83bf69653b7c4df308b0fbda39db5061e641", + "diff_blob": "ff0b83bf69", + "bytes": 22675, + "utc": "2026-10-15T23:07:27.647Z" + }, + { + "path": "SOURCE-FILES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCE-FILES.json", + "sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "git_blob": "7e8a64069e63f405f26ab045eabd3d9bf602e377", + "diff_blob": "7e8a64069e", + "bytes": 61747, + "utc": "2026-10-15T23:07:27.680Z" + }, + { + "path": "SOURCE-NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCE-NOTICE", + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "diff_blob": "380e979f0e", + "bytes": 2456, + "utc": "2026-10-15T23:07:27.822Z" + }, + { + "path": "SOURCES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCES.json", + "sha256": "ede36d6b940094ea7f27e9a8f7ba4d320ca99b97843e9de03ef68c5c93306ed5", + "git_blob": "aa59a560ca79c4e6e05252cd42b763e883ecb9f4", + "diff_blob": "aa59a560ca", + "bytes": 5192, + "utc": "2026-10-15T23:07:27.827Z" + }, + { + "path": "TASK.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/TASK.json", + "sha256": "c725b9fb1acbbff8c4d0a72e63a4e81e7b0fd12926d5ddb37d0fd4a52b3f2e55", + "git_blob": "61c622f03fcd274d0a491f0adcb0cf20c72c07eb", + "diff_blob": "61c622f03f", + "bytes": 6703, + "utc": "2026-10-15T23:07:27.828Z" + }, + { + "path": "test_integrity.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/test_integrity.py", + "sha256": "67f17c8df3614d582ac2c4d272ceba90d47116af4c6989a1a2e2b5f13e7bc2ee", + "git_blob": "eedb99e86ab7815f688f5550f0a426a32cdddfff", + "diff_blob": "eedb99e86a", + "bytes": 1844, + "utc": "2026-10-15T23:07:37.161Z" + }, + { + "path": "vendor/audit_local_pr2679.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/audit_local_pr2679.py", + "sha256": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "git_blob": "8224873d0497cf0b4c202f31b145fa273553d978", + "diff_blob": "8224873d04", + "bytes": 29363, + "utc": "2026-10-15T23:07:37.475Z" + }, + { + "path": "vendor/ceiling.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/ceiling.py", + "sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "git_blob": "6c0f54527d879396f689523bfde19928a9b6157c", + "diff_blob": "6c0f54527d", + "bytes": 5903, + "utc": "2026-10-15T23:07:37.815Z" + }, + { + "path": "vendor/generate_words.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/generate_words.py", + "sha256": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "git_blob": "94bf0d8f29b9e70a6633a03cb8398d0fec76c60f", + "diff_blob": "94bf0d8f29", + "bytes": 15758, + "utc": "2026-10-15T23:07:38.128Z" + }, + { + "path": "vendor/GENERATOR-NOTICE.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/GENERATOR-NOTICE.txt", + "sha256": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "git_blob": "b075f7180eb541df4bcd2f5df982cd4a6584426b", + "diff_blob": "b075f7180e", + "bytes": 7989, + "utc": "2026-10-15T23:07:37.130Z" + }, + { + "path": "vendor/gf_chart.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/gf_chart.py", + "sha256": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "git_blob": "11f5bfd882669ca30f62b5b4f7677f6bbbc438e2", + "diff_blob": "11f5bfd882", + "bytes": 939, + "utc": "2026-10-15T23:07:37.831Z" + }, + { + "path": "vendor/LICENSE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "diff_blob": "261eeb9e9f", + "bytes": 11357, + "utc": "2026-10-15T23:07:37.505Z" + }, + { + "path": "vendor/target_transport.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/target_transport.py", + "sha256": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "git_blob": "89ee0168c62df976553af08ea6a5a7e802856a5a", + "diff_blob": "89ee0168c6", + "bytes": 2727, + "utc": "2026-10-15T23:07:37.813Z" + }, + { + "path": "vendor/UPSTREAM-NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/UPSTREAM-NOTICE", + "sha256": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "git_blob": "46411b80b277d7dcd653a6d1999eaf12975b1103", + "diff_blob": "46411b80b2", + "bytes": 1439, + "utc": "2026-10-15T23:07:37.665Z" + }, + { + "path": "vendor/UPSTREAM-VENDOR-SOURCES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/UPSTREAM-VENDOR-SOURCES.json", + "sha256": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "git_blob": "cd19eda259c09afee6e737096e6d00305c84fd13", + "diff_blob": "cd19eda259", + "bytes": 1227, + "utc": "2026-10-15T23:07:37.473Z" + }, + { + "path": "vendor/word_patch_pr2679.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/word_patch_pr2679.py", + "sha256": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "git_blob": "492a3ef8314796c82ecedf8bfcda525ff04c45e1", + "diff_blob": "492a3ef831", + "bytes": 3896, + "utc": "2026-10-15T23:07:38.317Z" + }, + { + "path": "verify_retired7.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/verify_retired7.py", + "sha256": "1d3754ccf91029aa239affe0233de4821d960f654514ceeb3445d464933aba0f", + "git_blob": "0f2c1ee50f9307a1ae5fbb5e71eac856cd930e4e", + "diff_blob": "0f2c1ee50f", + "bytes": 16670, + "utc": "2026-10-15T23:07:38.273Z" + }, + { + "path": "VERIFY.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/VERIFY.json", + "sha256": "e32cfbc20fcd9e1ed43b920fcdc9eacc8106c1e35f3b3d33303a700582657ac4", + "git_blob": "a4c9fb33d00b42db6accf43938e76d9c19e21c17", + "diff_blob": "a4c9fb33d0", + "bytes": 2019, + "utc": "2026-10-15T23:07:27.835Z" + }, + { + "path": "verify.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/verify.py", + "sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "git_blob": "d8101f1a282fb4d4513a10fc307d7d748a1b588b", + "diff_blob": "d8101f1a28", + "bytes": 6694, + "utc": "2026-10-15T23:07:38.450Z" + }, + { + "path": "workflow/admit.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/workflow/admit.py", + "sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "git_blob": "282ff24766c57f93e8d49debacb02aead0861cbe", + "diff_blob": "282ff24766", + "bytes": 14803, + "utc": "2026-10-15T23:07:38.269Z" + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/GENERATOR-PINS.json b/research/replica-tail-gain/vendor/frontier/GENERATOR-PINS.json new file mode 100644 index 0000000000..53cbe5b14d --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/GENERATOR-PINS.json @@ -0,0 +1,12 @@ +{ + "pr2679_manifest": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "vendor": { + "vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + } +} diff --git a/research/replica-tail-gain/vendor/frontier/INPUT-PINS.json b/research/replica-tail-gain/vendor/frontier/INPUT-PINS.json new file mode 100644 index 0000000000..db68544ada --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/INPUT-PINS.json @@ -0,0 +1,41 @@ +{ + "inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904" +} diff --git a/research/replica-tail-gain/vendor/frontier/LICENSE b/research/replica-tail-gain/vendor/frontier/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/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/replica-tail-gain/vendor/frontier/NOTICE b/research/replica-tail-gain/vendor/frontier/NOTICE new file mode 100644 index 0000000000..4f946d9773 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/NOTICE @@ -0,0 +1,14 @@ + +research/t74-joint-twelve-retired7 + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. + +This package derives from PR2751 (Tekalign, @tekuuu, Apache-2.0, with substantial OpenAI Codex assistance) and retains its +source notices unchanged in SOURCE-NOTICE. It contains the local retired5 construction (five retired-lender aliases 606<-550, +635<-551, 637<-552, 638<-553, 639<-562 with their exact refits, certified frames and stage inputs; RETIRED5-CODE.patch; +evidence/retired5) and adds the retired7 stages: two hostee moves (the PR2226 borrows of warps 30/31 move from lenders 401/403 +onto 564/565) enabling the retired-lender aliases 667<-401 and 669<-403, with their exact refits, certified frames, stage +inputs, compacted owner fill, checker adaptations (RETIRED7-CODE.patch), retired7_controls.py, verify_retired7.py and +evidence/retired7. Re-used mechanism: PR2679's retired-lender alias 653<-563 (Philippe Van Velzen). Frame refit of PR2751's +words included in the certified frames: PR2766 (DavidAriasC). Vendored byte-identical: vendor/audit_local_pr2679.py and +vendor/word_patch_pr2679.py from the pinned PR2679 package. diff --git a/research/replica-tail-gain/vendor/frontier/OVERLAY-PINS.json b/research/replica-tail-gain/vendor/frontier/OVERLAY-PINS.json new file mode 100644 index 0000000000..4c1a0ca6ee --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/OVERLAY-PINS.json @@ -0,0 +1,43 @@ +{ + "original_manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "derived_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "archive_sha256": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "files": { + "MANIFEST.json": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "audit_mixed.py": "b8a319f580adf417384a13a996ca82ab674fae7917c2ae971aa4025bb2305e78", + "independent_core.py": "a747bf36a4c005398e71300005a5733bb9fa70fcdb0d00f306c894361c1b2a39", + "new/BORROW-PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "new/borrow-fill/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "new/borrow-fill/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "new/borrow/inputs/alias1_43base.json": "20abad50afc6f75b01ba312687ef27c2ef3c41d8afc1429d8c8c8536384cf508", + "new/borrow/inputs/alias1_43extra.json": "df0739086556744574be9c574ae0cca3b1b7c1409d12647829999ffe9d3bed10", + "new/borrow/inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "new/borrow/inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "new/borrow/inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "new/borrow/inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "new/borrow/inputs/alias8_43base.json": "564a2576b3748847cbf5f0e9d22e4d96d159d65f654b5e02e317b05c186775dd", + "new/borrow/inputs/alias8_43extra.json": "9e437b3f6bd36f0e96bf41435a3698ffd42a17fb372492b144097bd59637d53c", + "new/borrow/inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "new/borrow/inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "new/borrow/inputs/lowfour_43base.json": "9f80e059f3b68eaf2682b162110a75091df98e73eb8d70fb442e5c6fad3363e7", + "new/borrow/inputs/lowfour_43extra.json": "9a726ea6bfd3c7d1452377e4be70ab986195ee184f82eb754906def0d08606fc", + "new/borrow/inputs/prelife_43base.json": "77a9a5e0fdfefe861171e46d370d0797356d99e1302d0b2c676d7a619804216d", + "new/borrow/inputs/prelife_43extra.json": "4b2a805cb82d0c8036d7217979ffe1ff984d29b399066585c6b2502597a386f9", + "new/borrow/inputs/refit563_43base.json": "2f4a008bae24f8112dcb8a2fe27bb3fdecbe9478675f19ffc5b662153c606061", + "new/borrow/inputs/refit563_43extra.json": "2f4a008bae24f8112dcb8a2fe27bb3fdecbe9478675f19ffc5b662153c606061", + "new/borrow/inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "new/borrow/inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "new/borrow/inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "new/borrow/inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "new/borrow/inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "new/borrow/inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "new/borrow/inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "new/borrow/inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "new/borrow/lowfour_controls.py": "157d05da7842ba3939290e874cc9f784f351cbfc897275aa1f19a500532ce89d", + "new/borrow/retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "new/borrow/words/BORROW-WORD-43base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "new/code/borrow/bw_audit_local.py": "08d5864d9b77902fc5ab5a062a8ea843fe1e572243b8c580abb0a421b2e46d07", + "new/rebuild_borrow.py": "ab499d468d49b115af3c1e08b891e43d273e7d4cbd359e0b22d532c5ed253124" + } +} diff --git a/research/replica-tail-gain/vendor/frontier/PROFILE.json b/research/replica-tail-gain/vendor/frontier/PROFILE.json new file mode 100644 index 0000000000..c8b3bc8998 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/PROFILE.json @@ -0,0 +1,10 @@ +{ + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 +} diff --git a/research/replica-tail-gain/vendor/frontier/PROOF.md b/research/replica-tail-gain/vendor/frontier/PROOF.md new file mode 100644 index 0000000000..d2b1a96ba8 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/PROOF.md @@ -0,0 +1,25 @@ +# Changed recovery contract and complete moment + +The exact object is the two finite T74 words reconstructed by `generate.py`. The experiment uses a single explicit assignment, not a search over all assignments. Starting before PR2462's lowfour transformation is essential: applying the old lowfour patch first is a positive control reproducing its complete original words. + +The new `(removed helper, recovered source, partner)` assignments are: + +``` +(696,33,49), (697,55,101), (698,74,83), (700,85,98), +(680,49,33), (681,83,74), (682,98,85), (684,101,55), +(688,68,4), (689,80,88), (690,88,80), (692,31,12). +``` + +The last eight are PR2696's assignment. For each of the pairs33/49,55/101,74/83,85/98, let `(x,y)` denote the values after their last original uses, in their shared frame. The two added gates are `x += y/2` followed by `y -= x`, hence the linear map is `(x+y/2, y/2-x)`. For the actual predecessor state these restore the two original source values. The proof of that word-specific premise is the full arbitrary-input exact symbolic replay, not a claim that this map is the identity on arbitrary `(x,y)`. + +These restorations precede the new alias handoffs. Original operator IDs remain stable; twelve new chart transformations are appended. Removed-helper echoes are deleted only where they are target additions. For each new source, the generator computes the complete symbolic residual, transports its negative through precondition/compensation, and emits explicit initial correction gates and inverse source warps. Every residual must consist of a single new operator applied to its recovered source. Independent forward/dual propagation checks the resulting arbitrary-input identity, including dirty registers, and separately checks inverse cleanup. + +All lifted targets have frame `[45]`; their offsets are14,21,37,41,43,47,52,78,99,104,106,110. None is a target read by any cut gate. Actual frame propagation therefore leaves all eight centre children rank8. This changes the old-four recovery/target paths fixed in PR2720; its obstruction is respected within its stated domain. + +Apply the six PR2679 pre-life substitutions to the actual resulting state, refit the unique `515 += 563` gate (now B904), then alias653 into563. The complete generator checks semantic equality of both resulting words. The source-bound original checks and negative controls are rerun. No helper saving is inferred solely from nominal register labels. + +The complete local profile is `{1:2366,2:646,3:297,4:120,5:26,8:8}`. Compared with the PR2733 composition it changes by `4*(H8-H7-H1)` per local word. The same415-helper inventory admits the explicit complete allocation; `independent_owners.py` checks276390 roles, strict temporal windows, every physical cell, family masks and all remainders. There are666 call equivalents, giving global delta `2664*(H8-H7-H1)` and rank mass4816512 unchanged. + +At exponent `0 alias5 -> refit5c`. +2. **New here: two hostee moves that free two more lenders.** + - The hostees of B-warps 30 and 31 currently live on the lenders 401 and 403. Those lenders' own lives end in A, before + helpers 667 and 669 enter at B259 and B262. + - Each hostee moves onto a free retired lender: 401 -> 564 and 403 -> 565. Lenders 564 and 565 last act at B911 and B912, + before the hostees enter at B941 and B944. Each moved warp record is replaced in place, so op ids 30 and 31 are kept. + - This frees 401 and 403 for two more retired-lender aliases of PR2679's kind: **667<-401 and 669<-403**. + +**What makes the moves feasible.** An exact frame refit: the last gates of 564 and 565 are lowered from rank 6 to rank 5, which is +their exact propagated frame floor. The moved hostees enter at rank 5 already, so no follower raise is needed. The new aliases are +fixed-frame: lender frame dim 4 = follower entrance dim 4. The certified optimal frames of the final program also lower B1170/B1171, +the next gates of 504/505, from rank 6 to rank 5. + +**Exact claim.** The exact rational κ is `C - 10^-46 - 10^-70`, with `C = 0.001717794984118634663827` (in `CLAIM.json`). Larger κ is +better in `O(n (log n)^(1-κ))`. No selected frontier is edited, and PR2751's own directory is unchanged. + +| compared with | its exact κ (pinned in `evidence/`) | margin of this package | +|---|---|---| +| PR2751 (tekuuu) | `0.001717141586348426338109 - 10^-46 - 10^-70` | `+6.53397770208325718E-7` (exact `326698885104162859/500000000000000000000000`) | +| PR2766 (DavidAriasC) | `0.001717256973467002308270 - 10^-46 - 10^-70` | `+5.38010651632355557E-7` (exact `538010651632355557/1000000000000000000000000`) | +| PR2767 (jeremykothe2) | `0.0017172569734670023082709447…` (3000-digit outer claim) | `+5.38010651632355556055E-7` | +| retired5 (local, unpublished) | `0.001717409316335491643448 - 10^-46 - 10^-70` | `+3.85667783143E-7` | + +**What is new here, and what is credited.** +- The certified frames include PR2766's frame refit of PR2751's words, unchanged: B1151 rank 6 -> 5, plus A0-A11, B771-788 and + restore 60. PR2767 reaches the same κ by another route. +- The five retired-lender aliases are the retired5 construction, worth `+1.52342868489E-7` over PR2766/PR2767. +- The **new contribution of this package is the two hostee moves and the two aliases they enable**, worth `+3.85667783143E-7` over + retired5. + +## Reproduce + +From the repository root, with Python 3.12 and no third-party dependencies, run the registered hook. It completes in about two +minutes and is limited to 17 minutes: + +```sh +python3.12 -B scripts/research_package.py --package research/t74-joint-twelve-retired7 +``` + +It runs four commands: +- `verify.py`: PR2751's literal review, adapted below. It prints `PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY` and checks 271728 owner roles. +- `verify_retired7.py`: the seven-stage rebuild, the pinned PR2679 auditor on all eight states, 142 tamper controls, the literal owner + fill, the 80-digit root, and κ against PR2751, PR2766 and PR2767. +- `packing_cap.py`: the generic packing ceiling. +- `test_integrity.py`: relocation and fail-closed controls. + +Full cold release: install `requirements.txt`, then use a fresh directory outside the repository: + +```sh +python3 -B research/t74-joint-twelve-retired7/full_replay.py --source /path/to/pr2679/research/gmx-t74-borrow43-handoff --work /tmp/FRESH-retired7 +``` + +Without `--source`, the 491 pinned PR2679 files are downloaded and authenticated, exactly as in PR2751. The run then: +- applies this package's 36-file overlay: PR2751's 21 files, retired5's six stage inputs, the eight retired7 stage inputs and + `new/borrow/retired7_controls.py`; +- builds four fresh native providers and the retained-parent admission; +- runs the complete admission: owner reconstruction, parent lift, rebind, discovery/unpin/freeze at PR2751's 24-digit endpoint + precision, the outer ledger and the package's own `verify_release.py` (strict T74 replay and all controls). + +Expected result: `PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE 0.0017177949841186346638269999999999999999999998999999999999999999999999` (recorded cold run of the committed package: 411 s; see `evidence/retired7/FULL-REPLAY-RESULT.json`). +`--prepared-native-cache` is not supported: `REUSE-PINS.json` is PR2751's and describes PR2751's cache. + +To regenerate all four words (PR2751's two, then this package's two through the declared stages) from source: + +```sh +python3 -B research/t74-joint-twelve-retired7/generate.py --source /path/to/pr2679/research/gmx-t74-borrow43-handoff --out /tmp/FRESH-retired7-words +``` + +Expected: `PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS`. + +## Construction and cost + +**Census** (on the retired5 words, with PR2679's exact frame lattice `new/borrow/refit/search` and the `pairs.py` rule): +- 52 followers remain. 48 enter at rank 1 (width 8) and 4 at rank 4 with ceiling 5 (width 5): 667, 669, 670 and 671. There are 404 + lenders, and no direct pair or chain is feasible. +- Every rank-1 follower stays infeasible, because every lender's exact floor is at least rank 4. +- Every existing B-warp hosting is treated as movable. 24 hosted lenders (warps 1-4 and 22-41) end their own lives before B259, with + floor rank 4, and could take a rank-4 follower if their hostee moves to a free lender. Only two free lenders have floor <= 5 and + retire before the hostees enter: 564 and 565. +- That gives 192 augmenting paths and at most **two** extra aliases. +- Warps 30 and 31 are chosen because their hostees already enter at rank 5. Moves of warps 1-4 or 22-29 need a 16-gate raise closure + and price lower. + +**Stages.** These are new stages of `new/rebuild_borrow.py` inside the overlay, run after retired5's `refit5c`: +- `refit7_43*.json`: two frames per word. The last gates of 564/565 (B911/B912) go from dim 6 to 5, recorded with their previous frames. +- `hostmove2_43*.json`: two warp records replaced in place (op 30: 401 -> 564 at B941; op 31: 403 -> 565 at B944; dim 5, explicit + invertible `G`, `G(U)=E`), and 28 declared gate edits, which relabel the 14 hostee gates. Nothing else changes. +- `alias7_43*.json`: `alias_build.alias` 667<-401 and 669<-403, with dim 4 warps appended, 28 declared gate edits, and both helpers removed. +- `refit7c_43*.json`: the certified optimal frames of the final program, two frames (B1170/B1171, dim 6 -> 5), computed with the + #1186 exact frame toolkit (`optimal_frames`, borrow-word model, certified). + +Every one of the eight states passes the auditor. + +**Inventory and profile.** +- 408 helpers {4:26, 5:2, 7:62, 8:78, 9:240}, 72 private buffers, 666 calls and 271728 hosted roles. +- live 66304; physical 66794 = 66304+408+8+72+2. +- Local profile `{1:2382,2:648,3:268,4:128,5:26,8:8}` on both words, against `{1:2386,2:642,3:274,4:128,5:26,8:8}` for retired5. + +**Owner fill.** It is PR2751's fill with the seven removed helpers' roles dropped, renumbered and re-tiled as bin prefixes (`verify.py` +`compact`). The 1332 cells freed beyond retired5 become idle 5-remainders. +- Complete profile `{1:1603728,2:431568,3:185082,4:85248,5:27194,8:5328,32:1,48:26558}`; rank mass 4816512; idle `{1:17316,3:6594,5:9878,32:1,48:26558}`. +- The pattern relaxation of the owner fill (8/16/32/48 bins, the r8 model) has the same optimum as this realized compaction. +- The exact moment root lies strictly between `0.001717794984118634663827` and `0.001717794984118634663828`. +- The 80-digit root is `0.00171779498411863466382722991842817890408858438546231220090092725676198114516931`. + +**Packing ceiling.** The generic coverage-law ceiling (`packing_cap.py`, the pinned `ceiling.ceiling()`) is about `0.00175808593463`, +with realized fraction `0.9770824908`. It is a packing cap, not a sharp optimum. + +## Checker adaptations (diffs in `RETIRED7-CODE.patch`; the retired5 adaptations are in `RETIRED5-CODE.patch`) + +1. **`verify.py`.** The candidate profile and endpoint are re-pinned. The declared stage chain gains `refit7 -> hostmove2 -> alias7 -> refit7c`. + The compaction now removes seven helpers: the five retired5 ones plus 667 and 669. +2. **`verify_retired7.py`** (replaces `verify_retired5.py`). It adds the retired7 stage-structure checks and audits all eight states. + It also runs `retired7_controls.py`, 25 controls per word, on top of retired5's 46 per word. The owner fill size is R 408. +3. **`retired7_controls.py`** (new; also in the overlay as `new/borrow/retired7_controls.py`, called by `rebuild_borrow.py`). Every + mutant has its inverse-reverse cleanup re-derived, and a rejection for a stale-cleanup reason counts as a failure. The controls are: + - each lender refit undone, which must be rejected by `warp frame mismatch`; + - per move: warp lender reverted, move undone, warp before the new lender retires, and `G` wrong; + - PR2679's alias suite on each new alias: borrowed read sign flipped, read doubled, write sign flipped, warp dropped, `G` wrong, + warp after the follower's first gate, and helper kept with an entrance frame. "Warp after the first gate" replaces "warp before + lender retirement", because these lenders retire in A, which leaves no B position before retirement; + - one certified frame corrupted. +4. **`workflow/admit.py`.** + - The derived-source pin is `9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451`, with 506 files instead of 497. + - The physical stock is 66794 instead of 66796 (R 408). +5. **`new/rebuild_borrow.py`** (overlay). It has the four stages with exact structure checks, and the retired7 controls call. + +`generate.py`, `packing_cap.py` and `test_integrity.py` change only the stage list, the expected candidate values and the markers. +`independent_owners.py` is unchanged from retired5: it reads `R` from the providers. + +## Verification and controls + +**Full cold release.** `evidence/retired7/FULL-REPLAY-*.json`. +- All four native providers are fresh, with five stages each. +- The retained-parent admission passed. +- The complete admission passed: owners, parent lift, rebind, discovery, outer ledger and independent derivation. +- The package's own `verify_release.py` returned `PASS_RELEASE`. Its `rebuild-borrow-words` stage includes the retired5 and + retired7 stage checks and controls. + +**Registered hook.** It repeats the seven-stage rebuild with the vendored, byte-identical PR2679 auditor and all 142 tamper controls, +plus the literal owner fill and the exact arithmetic. + +**Precision.** The endpoint is certified at `10^-24`: accept at `C`, reject at `C+10^-24`, with exact rationals. That is 16 orders of +magnitude below the `3.86e-7` margin over retired5. κ = `C - 10^-46 - 10^-70` exactly. + +## Scope and inherited obligations + +Finite exact admission is conditional evidence, not a formal proof of the complete multiplication theorem. The following remain +inherited from PR2751 and its lineage unchanged: +- all-size compiler and machine realization; +- common labels and source access; +- physical hosting and routing; +- precision and fixed-tape contracts; +- exact recovery and analytic transfer; +- recurrence; +- the bit-supplier and modern outer obligations. + +No new discharge of those universal obligations is claimed. The selected accepted result and this pending derivative are distinct. +The census searched retired-lender aliases, with every existing B-warp hosting movable onto a free retired lender. No optimality is +claimed over other mechanisms. + +## Credits + +- **Tekalign (@tekuuu), PR2751:** the joint twelve-source construction, words, fill transform, independent checkers and full replay (the parent). +- **Cinna Davis (1337isnot1337), PR2226:** anticipatory dirty borrowing. Warps 30/31 are its borrows: helpers 603 and 605 borrow + from lenders 401 and 403, as adapted to the T74 words. +- **Philippe Van Velzen (philippeVV), PR2679 (and PR2559):** the six pre-life hostings, the one-gate frame refit and the retired-lender + alias 653<-563, which is the mechanism re-used for all seven aliases; also the exact refit/search frame tools and the alias builder. +- **Jeremy Kothe (jeremykothe2), PR2673/PR2745:** + - the priority call order and window-optimal owner fill; + - the composition of PR2696 with PR2679; + - the gmx-t74-borrow43 package machinery, entrance raises and BORROW-WORD lineage (PR2588, PR2575, PR2526, PR2474, PR2462, PR2447, + PR2435), including the T74 adaptation of PR2226's borrows and the base-word lenders 564/565. +- **Mason Hale, PR2696:** the eight-lender assignment. +- **DavidAriasC, PR2766:** the frame refit of PR2751's words, which is included in the certified frames. +- **Vlado Vojdanovski (Vlado-V), PR2322:** the coherent handoff. +- **Our PR1625:** the pivot-kernel shape. **Our PR1186:** the exact frame toolkit. **Our retired5 package:** the five aliases. + +All notices and the lineage these packages retain are kept: see `SOURCE-NOTICE`, PR2751's `README.md` and `PROOF.md`. + +## Open next questions + +1. **Gate-level edits.** Can a gate-level (kernel) edit make the 48 rank-1-entrance followers alias-feasible? Every lender's exact floor is at least rank 4. +2. **Followers 670 and 671.** Both still lack a lender: the only free floor-5 lenders (564/565) are used by the moves. A third free + lender would need a frame floor of at most 5 and retirement before B941. +3. **Stacking with PR2767.** Do these stages stack with PR2767's post-cut partner correction, or with other post-PR2751 constructions? + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. diff --git a/research/replica-tail-gain/vendor/frontier/RETIRED5-CODE.patch b/research/replica-tail-gain/vendor/frontier/RETIRED5-CODE.patch new file mode 100644 index 0000000000..732313f3ca --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/RETIRED5-CODE.patch @@ -0,0 +1,260 @@ +--- research/t74-joint-twelve/verify.py ++++ research/t74-joint-twelve-retired5/verify.py +@@ -15,6 +15,30 @@ + import exact_moment as M + HERE=Path(__file__).resolve().parent +-PROFILE={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +-LOW=F('0.001717141586348426338109') ++PROFILE={1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} ++LOW=F('0.001717409316335491643448') ++PROFILE2751={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} ++LOW2751=F('0.001717141586348426338109') ++ALIASES=[(606,550),(635,551),(637,552),(638,553),(639,562)] # retired5 ++import importlib.util as _iu ++_s=_iu.spec_from_file_location('word_patch_pr2679',Path(__file__).resolve().parent/'vendor/word_patch_pr2679.py');WP=_iu.module_from_spec(_s);_s.loader.exec_module(WP) ++def refit_apply(w0,p): ++ w=copy.deepcopy(w0) ++ for sec,i,fr in p['frames']: ++ need(w[sec][i][:-1]==w0[sec][i][:-1],'refit changes a gate');w[sec][i][-1]=fr ++ w['report']['local_profile']=p['local_profile'];return w ++def compact(fill,old_words,new_words,old_prov,new_prov,order,dispatch): ++ live=lambda w:[r for r in range(224,704) if r not in set(w['removed'])] ++ L0=live(old_words['gauge44']);L1=live(new_words['gauge44']);need(L0==live(old_words['extra']) and L1==live(new_words['extra']),'live helper sets') ++ gone=set(L0)-set(L1);need(set(L1)<=set(L0) and sorted(gone)==sorted(h for h,_ in ALIASES),'removed helpers') ++ i1={r:i for i,r in enumerate(L1)};bins={} ++ for pid in ('gauge44','extra'):need([old_prov[pid]['widths'][L0.index(r)] for r in L1]==new_prov[pid]['widths'],'renumbered widths') ++ for t,h,o,c,p,off in fill['rows']: ++ if L0[h] in gone:continue ++ bins.setdefault((o,c,p),[]).append([t,i1[L0[h]],o,c,p,off]) ++ rows=[] ++ for key,rs in bins.items(): ++ rs.sort(key=lambda x:x[5]);pos=0 ++ for x in rs:x[5]=pos;pos+=new_prov[dispatch[tuple(order[x[0]])]]['widths'][x[1]];rows.append(x) ++ rows.sort(key=lambda x:(x[0],x[1]));return dict(fill,rows=rows) + def need(ok,msg): + if not ok:raise ValueError(msg) +@@ -29,6 +53,6 @@ + need(F(claim['complex_lower'])==LOW and F(claim['complex_upper'])==LOW+F(1,10**24),'claim bracket') + need(F(claim['kappa'])==LOW-F(1,10**46)-F(1,10**70),'claim outer endpoint') +- for name in ('PR2733','PR2745'): +- previous=json.loads((HERE/'evidence'/f'{name}-CLAIM.json').read_text()) ++ for name in ('PR2733','PR2745','PR2751','PR2766','PR2767'): ++ previous=json.loads((HERE/'evidence'/(f'{name}-OUTER-CLAIM.json' if name=='PR2767' else f'{name}-CLAIM.json')).read_text()) + need(F(claim['kappa'])>F(previous['kappa']),'strict improvement over '+name) + words={} +@@ -49,6 +73,16 @@ + dispatch={(s,r):p for s,r,p in rd('DISPATCH.json.gz')} + need(order==rd('SOURCE-ORDER.json'),'source order') +- constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),providers,rd('SOURCE-FILL.json.gz'),order,dispatch,words) +- need(constructed==fill,'complete deterministic fill') ++ # retired5: PR2751's own construction (its words, providers and fill) is reproduced first ... ++ words51={'gauge44':rd('WORD2751-base.json.gz'),'extra':rd('WORD2751-extra.json.gz')};prov51=rd('PROVIDERS2751.json');fill51=rd('FILL2751.json.gz') ++ constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),prov51,rd('SOURCE-FILL.json.gz'),order,dispatch,words51) ++ need(constructed==fill51,'complete deterministic PR2751 fill') ++ # ... then the declared stages turn its words into the candidate words exactly ... ++ for tag,pid in [('base','gauge44'),('extra','extra')]: ++ w=refit_apply(words51[pid],rd('refit5_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias5_43'+tag+'.json'));w=refit_apply(w,rd('refit5c_43'+tag+'.json')) ++ need(w==words[pid],'declared stages reproduce the candidate word '+tag) ++ d2=dict(dispatch) ++ for s,r,p in fill['dispatch_overrides']:d2[s,r]=p ++ # ... and the candidate fill is PR2751's fill with the five removed helpers' roles dropped, renumbered and re-tiled as bin prefixes ++ need(compact(fill51,words51,words,prov51,providers,order,d2)==fill,'complete deterministic candidate fill') + owner=I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,fill,providers,dispatch,PROFILE) + bad=copy.deepcopy(fill);bad['rows'][0][5]=999 +@@ -57,6 +91,5 @@ + else:raise ValueError('accepted out-of-bin placement') + _,a=M.moment_bounds(PROFILE,LOW);b,_=M.moment_bounds(PROFILE,LOW+F(1,10**24));need(a<6630466304,'PR2733 rejects candidate endpoint') +- return {'status':'PASS_JOINT_TWELVE_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} ++ x,_=M.moment_bounds(PROFILE2751,LOW);need(x>66304,'PR2751 rejects candidate endpoint') ++ return {'status':'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} + if __name__=='__main__':print(json.dumps(run(),indent=2)) +--- research/t74-joint-twelve/independent_owners.py ++++ research/t74-joint-twelve-retired5/independent_owners.py +@@ -67,11 +67,12 @@ + need(set(dispatch)==set(map(tuple,order)),'dispatch coverage') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'role columns') +- need(len(fill['rows'])==666*415,'role count') +- need(all(len(p['widths'])==415 for p in providers.values()),'helper widths') ++ R=len(next(iter(providers.values()))['widths']) # retired5: helper count from the providers (was 415) ++ need(len(fill['rows'])==666*R,'role count') ++ need(all(len(p['widths'])==R for p in providers.values()),'helper widths') + helper_bits=[0]*666;family_bits=[0]*666;occupied={} + for row in fill['rows']: + need(len(row)==6 and all(type(v) is int for v in row),'role shape') + t,h,o,c,port,offset=row +- need(0<=t<666 and 0<=h<415 and 0<=port<112,'role bounds') ++ need(0<=t<666 and 0<=h previous, ++ need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous and kappa > Q('17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000'), # retired5: also strictly above PR2751 + 'candidate must strictly improve pinned COMPOSED before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') +--- research/t74-joint-twelve/generate.py ++++ research/t74-joint-twelve-retired5/generate.py +@@ -45,5 +45,15 @@ + w,_=AB.alias(w,653,563);lp,wi=AB.profile(w);w['report'].update(local_profile=lp,width_inventory=wi) + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') +- need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated word equality') +- print('PASS_REGENERATED_JOINT_TWELVE_BOTH_WORDS') ++ need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') ++ # retired5: the declared stages refit5 -> alias5 -> refit5c turn the regenerated PR2751 word into the candidate word ++ for st in ('refit5','alias5','refit5c'): ++ p_=rd(HERE/f'inputs/{st}_43{tag}.json') ++ if st=='alias5':w=W.apply_lowfour(w,p_) ++ else: ++ w=copy.deepcopy(w) ++ for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st=='refit5c','refit gate');w[sec][i][-1]=frame ++ w['report']['local_profile']=p_['local_profile'] ++ f=out/f'WORD-retired5-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired5-{tag}.json') ++ need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') ++ print('PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS') + if __name__=='__main__':main() +--- research/t74-joint-twelve/packing_cap.py ++++ research/t74-joint-twelve-retired5/packing_cap.py +@@ -11,7 +11,7 @@ + sys.dont_write_bytecode = True + ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +-IDLE = {1:17316,3:6594,5:5216,32:1,48:26558} +-CANDIDATE = {1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +-ENDPOINT = Q('0.001717141586348426338109') ++IDLE = {1:17316,3:6594,5:8546,32:1,48:26558} ++CANDIDATE = {1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} ++ENDPOINT = Q('0.001717409316335491643448') + + def need(ok, message): +@@ -28,7 +28,7 @@ + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} +- need(local == {1:2366,2:646,3:297,4:120,5:26,8:8}, 'complete local profile') ++ need(local == {1:2386,2:642,3:274,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) +- need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5223, 'coverage identity') ++ need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5198, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') +--- research/t74-joint-twelve/test_integrity.py ++++ research/t74-joint-twelve-retired5/test_integrity.py +@@ -10,9 +10,9 @@ + def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} + def main(): +- with tempfile.TemporaryDirectory(prefix='joint-twelve-controls-') as t: ++ with tempfile.TemporaryDirectory(prefix='joint-twelve-retired5-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) +- r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') ++ r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') +--- PR2751 overlay: new/rebuild_borrow.py ++++ retired5 overlay: new/rebuild_borrow.py +@@ -1,3 +1,3 @@ +-"""rebuild_borrow.py: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), ++"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), + check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. + usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +@@ -121,4 +121,35 @@ + (RCP/f'ALIAS-ENUMERATION-43{wt}.json').write_text(json.dumps(dict(prelife_refit_state=dict(counts=s0,pairs=[{k_:x_[k_] for k_ in('h','L','p1','d','s','f1','width','dprof')} for x_ in e0]),shipped=dict(counts=s1,pairs=len(e1)), + note='counts: h_used_in_A_or_early = helpers first used before B (needs the prelude/lifted-target mechanism); the other counts are (h,L) pairs failing that condition'),indent=1)+'\n') ++ A5=[(606,550),(635,551),(637,552),(638,553),(639,562)];H5=[h_ for h_,_ in A5];L5=[L_ for _,L_ in A5] ++ def regs_(e_):return e_[1:3] if e_[0]=='add' else e_[1:2] ++ def frames_only(x,y): # same gate lists in A/B/restore, every other field equal (report aside); returns the changed (section,index) set ++ assert all(len(x[k_])==len(y[k_]) and all(a_[:-1]==b_[:-1] for a_,b_ in zip(x[k_],y[k_])) for k_ in ('A','B','restore')) ++ assert all(x[k_]==y[k_] for k_ in x if k_ not in ('A','B','restore','report')) and set(x)==set(y) ++ return {(k_,i_) for k_ in ('A','B','restore') for i_,(a_,b_) in enumerate(zip(x[k_],y[k_])) if a_!=b_} ++ r5f=D/'inputs'/f'refit5_43{wt}.json';r5patch=None ++ if r5f.exists(): # retired5: exact minimal-change refit for five retired-lender aliases (refit/search: lenders' last gates to their exact floors, followers' first gates to their exact ceilings) ++ r5patch=json.loads(r5f.read_text());prev_r5=chain[-1];chain.append(refit_apply(prev_r5,r5patch));steps.append('refit5');nr5=chain[-1] ++ try:ch5=frames_only(prev_r5,nr5);kok&=ch5=={(s_,i_) for s_,i_,_ in r5patch['frames']} ++ except AssertionError:kok=False ++ lastL={L_:max(p_ for p_,e_ in enumerate(prev_r5['B']) if L_ in regs_(e_)) for L_ in L5};firstH={h_:min(p_ for p_,e_ in enumerate(prev_r5['B']) if h_ in regs_(e_)) for h_ in H5} ++ kok&=all(lastL[L_]66304,'PR2751 rejects candidate endpoint') +- return {'status':'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} ++ return {'status':'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} + if __name__=='__main__':print(json.dumps(run(),indent=2)) +diff --git a/packing_cap.py b/packing_cap.py +index 435b62e..fe937f8 100644 +--- a/packing_cap.py ++++ b/packing_cap.py +@@ -11,7 +11,7 @@ HERE = Path(__file__).resolve().parent + sys.dont_write_bytecode = True + ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +-IDLE = {1:17316,3:6594,5:8546,32:1,48:26558} +-CANDIDATE = {1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} +-ENDPOINT = Q('0.001717409316335491643448') ++IDLE = {1:17316,3:6594,5:9878,32:1,48:26558} ++CANDIDATE = {1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} ++ENDPOINT = Q('0.001717794984118634663827') + + def need(ok, message): +@@ -28,7 +28,7 @@ def calculate(profile_path=None): + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} +- need(local == {1:2386,2:642,3:274,4:128,5:26,8:8}, 'complete local profile') ++ need(local == {1:2382,2:648,3:268,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) +- need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5198, 'coverage identity') ++ need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5188, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') +diff --git a/generate.py b/generate.py +index 7c6f2dc..dafca20 100644 +--- a/generate.py ++++ b/generate.py +@@ -46,14 +46,14 @@ def main(): + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') +- # retired5: the declared stages refit5 -> alias5 -> refit5c turn the regenerated PR2751 word into the candidate word +- for st in ('refit5','alias5','refit5c'): ++ # retired5 + retired7: the declared stages refit5 -> alias5 -> refit5c -> refit7 -> hostmove2 -> alias7 -> refit7c turn the regenerated PR2751 word into the candidate word ++ for st in ('refit5','alias5','refit5c','refit7','hostmove2','alias7','refit7c'): + p_=rd(HERE/f'inputs/{st}_43{tag}.json') +- if st=='alias5':w=W.apply_lowfour(w,p_) ++ if st in ('alias5','hostmove2','alias7'):w=W.apply_lowfour(w,p_) + else: + w=copy.deepcopy(w) +- for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st=='refit5c','refit gate');w[sec][i][-1]=frame ++ for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st in ('refit5c','refit7','refit7c'),'refit gate');w[sec][i][-1]=frame + w['report']['local_profile']=p_['local_profile'] +- f=out/f'WORD-retired5-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired5-{tag}.json') ++ f=out/f'WORD-retired7-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired7-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') +- print('PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS') ++ print('PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS') + if __name__=='__main__':main() +diff --git a/test_integrity.py b/test_integrity.py +index 85d1f86..eedb99e 100644 +--- a/test_integrity.py ++++ b/test_integrity.py +@@ -10,9 +10,9 @@ def need(ok,msg): + def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} + def main(): +- with tempfile.TemporaryDirectory(prefix='joint-twelve-retired5-controls-') as t: ++ with tempfile.TemporaryDirectory(prefix='joint-twelve-retired7-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) +- r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') ++ r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') +diff --git a/workflow/admit.py b/workflow/admit.py +index 37dc6e3..282ff24 100644 +--- a/workflow/admit.py ++++ b/workflow/admit.py +@@ -23,5 +23,5 @@ import time + + SOURCE_COMMIT = 'local-joint12-pr2733' +-SOURCE_MANIFEST = '0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3' # retired5 derived source: PR2751 overlay + five retired-lender aliases ++SOURCE_MANIFEST = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' # retired7 derived source: PR2751 overlay + five retired-lender aliases + two hostee moves and two aliases + PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' + PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +@@ -70,5 +70,5 @@ def main(): + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') +- need(len(source_files) == 497 and tree(source, ('MANIFEST.json',)) == source_files, ++ need(len(source_files) == 506 and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + native_receipt = read(a.native_receipt) +@@ -170,5 +170,5 @@ def main(): + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') +- need(spec['expected']['physical'] == 66796, 'complete physical cost including 72 buffers (R 410)') ++ need(spec['expected']['physical'] == 66794, 'complete physical cost including 72 buffers (R 408)') + layout = work / 'layout' + layout.mkdir() +diff --git a/verify_retired5.py b/verify_retired7.py +index 720b3e1..0f2c1ee 100644 +--- a/verify_retired5.py ++++ b/verify_retired7.py +@@ -2,8 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +-"""Bounded replay of the five retired-lender aliases on PR2751's words (read-only, standard library only). ++# retired7 extension of verify_retired5.py (same author). ++"""Bounded replay of retired7 on PR2751's words: the five retired-lender aliases (retired5 stages) plus two hostee moves that free ++two more retired lenders (retired7 stages refit7 -> hostmove2 -> alias7 -> refit7c). Read-only, standard library only. + +-1. Rebuilds both candidate words from PR2751's words through the three declared stages (refit5, alias5, refit5c) and checks +- each stage's declared structure exactly. ++1. Rebuilds both candidate words from PR2751's words through the seven declared stages (refit5, alias5, refit5c, refit7, hostmove2, ++ alias7, refit7c) and checks each stage's declared structure exactly. + 2. Runs the pinned PR2679 BORROW-WORD auditor (vendor/audit_local_pr2679.py, byte-identical) on every state. + 3. Tamper controls, each rejected by that auditor for a real reason: every lender refit undone (warp frame mismatch), every +@@ -21,4 +23,6 @@ sys.dont_write_bytecode = True + sys.path.insert(0, str(HERE)) + ALIASES = [(606, 550), (635, 551), (637, 552), (638, 553), (639, 562)] ++MOVES = [(30, 401, 564, 911), (31, 403, 565, 912)] # retired7: (warp op, old lender, new lender, new lender's last B gate) ++NEW7 = [(667, 401), (669, 403)] + H5 = [h for h, _ in ALIASES]; L5 = [L for _, L in ALIASES] + def need(ok, msg): +@@ -45,5 +49,5 @@ def main(): + need(hashlib.sha256((HERE / name).read_bytes()).hexdigest() == digest, 'vendored source pin ' + name) + AU = load('audit_local_pr2679', HERE / 'vendor/audit_local_pr2679.py'); WP = load('word_patch_pr2679', HERE / 'vendor/word_patch_pr2679.py') +- import independent_owners as I, exact_moment as M ++ import independent_owners as I, exact_moment as M, retired7_controls as R7 + tmp = Path(tempfile.mkdtemp(prefix='retired5-')) + def audit(w, name): +@@ -72,6 +76,30 @@ def main(): + need(all(s2[k] == s1[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias5 changes nothing else') + s3 = refit_apply(s2, p3); ch3 = frames_only(s2, s3); need(ch3 == {(s, i) for s, i, _ in p3['frames']}, 'refit5c declared frames') +- need(s3 == final, 'declared stages rebuild the candidate word ' + tag) +- for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('candidate', s3))): ++ p4, p5, p6, p7 = (rd(f'inputs/{n}_43{tag}.json') for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')) ++ s4 = refit_apply(s3, p4); ch4 = frames_only(s3, s4); need(ch4 == {('B', g) for _, _, _, g in MOVES} == {(s, i) for s, i, _ in p4['frames']}, 'refit7 declared frames') ++ need(all(len(s3['B'][g][-1]) == 6 and len(s4['B'][g][-1]) == 5 and L1 in regs(s3['B'][g]) and max(p for p, e in enumerate(s3['B']) if L1 in regs(e)) == g for _, _, L1, g in MOVES), 'new lenders: last gates lowered 6 -> 5') ++ need(not any(L1 in regs(e) for _, _, L1, _ in MOVES for e in s3['restore']) and p4['previous_frames'] == [[s, i, s3[s][i][-1]] for s, i, _ in p4['frames']], 'new lenders retired; previous frames recorded') ++ s5 = WP.apply_lowfour(s4, p5) ++ need(WP.kernel_gate_edit(s4['B'], s5['B']) == p5['declared_gate_edit'] and s5['removed'] == s4['removed'] and s5['start_extra'] == s4['start_extra'], 'hostmove2 declared edit') ++ for i, (a, b) in enumerate(zip(s4['B'], s5['B'])): ++ c = list(a) ++ for op, L0, L1, _ in MOVES: ++ if i >= s4['warps'][op - 1][0]: c = [L1 if (j in (1, 2) if c[0] == 'add' else j == 1) and x == L0 else x for j, x in enumerate(c)] ++ need(c[:-1] == b[:-1], 'hostmove2 is exactly the relabel of the hostees from their warp positions') ++ need([i for i, (x, y) in enumerate(zip(s4['warps'], s5['warps'])) if x != y] == [op - 1 for op, _, _, _ in MOVES] and len(s5['warps']) == len(s4['warps']), 'hostmove2 replaces exactly warps 30 and 31 in place') ++ need(all(s4['warps'][op - 1][1] == L0 and s5['warps'][op - 1][1] == L1 and len(s5['warps'][op - 1][3]) == len(s5['warps'][op - 1][4]) == 5 and s5['warps'][op - 1][0] > g for op, L0, L1, g in MOVES), 'moved warps: new lenders, dim 5, after the lenders retire') ++ need([[m['pos'], m['L_new'], m['G'], m['U'], m['E']] for m in p5['moves']] == [s5['warps'][op - 1] for op, _, _, _ in MOVES] and [m['old_record'] for m in p5['moves']] == [s4['warps'][op - 1] for op, _, _, _ in MOVES], 'hostmove2 records') ++ need(all(not any(L0 in regs(e) for e in s5['B'] + s5['restore']) for _, L0, _, _ in MOVES), 'old lenders untouched after their A lives') ++ need(all(s5[k] == s4[k] for k in ('A', 'restore', 'helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'hostmove2 changes nothing else') ++ s6 = WP.apply_lowfour(s5, p6); H7 = [h for h, _ in NEW7]; L7 = [L for _, L in NEW7] ++ need(WP.kernel_gate_edit(s5['B'], s6['B']) == p6['declared_gate_edit'] and s6['removed'] == s5['removed'] + H7, 'alias7 declared edit and removed helpers') ++ need(s6['warps'][:len(s5['warps'])] == s5['warps'] and [x[1] for x in s6['warps'][len(s5['warps']):]] == L7 and all(len(x[3]) == len(x[4]) == 4 for x in s6['warps'][-2:]), 'alias7 warps') ++ need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p6['aliases']] == s6['warps'][-2:] and [a['h'] for a in p6['aliases']] == H7 and s6['A'] == s5['A'] and s6['restore'] == s5['restore'], 'alias7 records') ++ need(all(max([p for p, e in enumerate(s5['B']) if L in regs(e)], default=-1) < min(p for p, e in enumerate(s5['B']) if h in regs(e)) for h, L in NEW7) and not any(L in regs(e) for L in L7 for e in s5['restore']), 'alias7 lenders retired before their followers enter') ++ need(s6['start_extra'] == {k: v for k, v in s5['start_extra'].items() if int(k) not in H7} and not any(h in regs(e) for h in H7 for e in s6['B'] + s6['restore']), 'alias7 helpers fully removed') ++ need(all(s6[k] == s5[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias7 changes nothing else') ++ s7 = refit_apply(s6, p7); ch7 = frames_only(s6, s7); need(ch7 == {(s, i) for s, i, _ in p7['frames']}, 'refit7c declared frames') ++ need(s7 == final, 'declared stages rebuild the candidate word ' + tag) ++ for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('retired5', s3), ('refit7', s4), ('hostmove2', s5), ('alias7', s6), ('candidate', s7))): + r = audit(w, f'{tag}-{name}'); need(r is None, f'auditor rejects {tag} {name}: {r}') + c = {} +@@ -99,5 +127,7 @@ def main(): + need(r is not None and not r.split(': ', 1)[-1].startswith(('explicit cleanup differs', 'warp operator id')), f'{tag} {h}<-{L} {nm}: not rejected for a real reason: {r}') + sec, i, fr = p3['frames'][len(p3['frames']) // 2]; m = copy.deepcopy(final); m[sec][i][-1] = [1]; r = audit(m, f'{tag}-refit5c-tamper'); c['certified frame corrupted'] = r; need(r is not None, f'{tag} refit5c tamper accepted') +- out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), local_profile=final['report']['local_profile']) ++ ok7, c7 = R7.controls(final, p4, p5, p6, p7, lambda w: audit(w, f'{tag}-r7'), WP); need(ok7, f'{tag} retired7 controls: ' + json.dumps({k: v['reason'] for k, v in c7.items() if not v['real_reason']})[:300]) ++ c.update({k: v['reason'] for k, v in c7.items()}) ++ out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), refit7_frames=len(ch4), hostmove2_gate_edits=len(p5['declared_gate_edit']), alias7_gate_edits=len(p6['declared_gate_edit']), refit7c_frames=len(ch7), retired7_controls=len(c7), local_profile=final['report']['local_profile']) + out['controls'][tag] = {k: v[:90] for k, v in c.items()} + # literal owner check of the complete candidate fill +@@ -106,5 +136,5 @@ def main(): + profile = {int(k): v for k, v in rd('CLAIM.json')['profile'].items()} + owner = I.check(rd('inputs/PLAN.json.gz'), rd('inputs/GLOBAL-TEMPLATE.json.gz'), order, fill, providers, dispatch, profile) +- need(owner['roles'] == 666 * 410 and owner['helpers_per_call'] == 410, 'owner fill size') ++ need(owner['roles'] == 666 * 408 and owner['helpers_per_call'] == 408, 'owner fill size') + # exact endpoint and kappa + claim = rd('CLAIM.json'); C = F(claim['complex_lower']) +@@ -122,5 +152,5 @@ def main(): + k = F(rd(rel)['kappa']); need(K > k, 'strict improvement over ' + name); d = K - k + margins[name] = dict(decimal=str(Decimal(d.numerator) / Decimal(d.denominator))[:40], exact=str(d) if len(str(d)) < 120 else 'K - kappa(' + rel + ')') +- out.update(status='PASS_T74_JOINT_TWELVE_RETIRED5_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), ++ out.update(status='PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), + complex_lower=str(C), root_80_digits=str(+z)[:82], kappa=str(K), margins=margins, + scope='Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py).') +diff --git a/new/rebuild_borrow.py b/new/rebuild_borrow.py +index d7cac67..157c371 100644 +--- a/new/rebuild_borrow.py ++++ b/new/rebuild_borrow.py +@@ -1,3 +1,3 @@ +-"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), ++"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls; retired7: + refit7/hostmove2/alias7/refit7c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), + check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. + usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +@@ -152,4 +152,48 @@ for canon,wt,h in CASES: + try:chc=frames_only(prev_c5,nc5);kok&=chc=={(s_,i_) for s_,i_,_ in r5cpatch['frames']} + except AssertionError:kok=False ++ M7=[(30,401,564,911),(31,403,565,912)];N7=[(667,401),(669,403)];H7=[h_ for h_,_ in N7];L7=[L_ for _,L_ in N7] # retired7: hostee moves (warp op, old lender, new lender, new lender's last B gate) and two new aliases ++ def relabel_ok(x,y,pairs): # y's B section is x's with old->new lender relabelled from each pair's start, nothing else ++ for i_,(a_,b_) in enumerate(zip(x,y)): ++ c_=list(a_) ++ for st_,o_,n_ in pairs: ++ if i_>=st_: ++ if c_[0]=='add':c_[1]=n_ if c_[1]==o_ else c_[1];c_[2]=n_ if c_[2]==o_ else c_[2] ++ elif c_[1]==o_:c_[1]=n_ ++ if c_[:-1]!=b_[:-1]:return False ++ return len(x)==len(y) ++ r7f=D/'inputs'/f'refit7_43{wt}.json';r7patch=None ++ if r7f.exists(): # retired7: the free retired lenders 564/565 get their last gates (B911/B912) at the exact frame floor, dim 6 -> 5 ++ r7patch=json.loads(r7f.read_text());prev_r7=chain[-1];chain.append(refit_apply(prev_r7,r7patch));steps.append('refit7');nr7=chain[-1] ++ try:ch7=frames_only(prev_r7,nr7);kok&=ch7=={('B',g_) for _,_,_,g_ in M7}=={(s_,i_) for s_,i_,_ in r7patch['frames']} ++ except AssertionError:kok=False ++ kok&=all(len(prev_r7['B'][g_][-1])==6 and len(nr7['B'][g_][-1])==5 and L1_ in regs_(prev_r7['B'][g_]) and max(p_ for p_,e_ in enumerate(prev_r7['B']) if L1_ in regs_(e_))==g_ for _,_,L1_,g_ in M7) ++ kok&=not any(L1_ in regs_(e_) for _,_,L1_,_ in M7 for e_ in prev_r7['restore']) and r7patch['previous_frames']==[[s_,i_,prev_r7[s_][i_][-1]] for s_,i_,_ in r7patch['frames']] ++ h7f=D/'inputs'/f'hostmove2_43{wt}.json';h7patch=None ++ if h7f.exists(): # retired7: the hostees of warps 30/31 (lenders 401/403, whose own lives end in A) move onto 564/565; warp records replaced in place ++ h7patch=json.loads(h7f.read_text());prev_h7=chain[-1];chain.append(word_patch.apply_lowfour(prev_h7,h7patch));steps.append('hostmove2');nh7=chain[-1] ++ kok&=word_patch.kernel_gate_edit(prev_h7['B'],nh7['B'])==h7patch['declared_gate_edit'] and nh7['removed']==prev_h7['removed'] and nh7['start_extra']==prev_h7['start_extra'] ++ kok&=relabel_ok(prev_h7['B'],nh7['B'],[(prev_h7['warps'][op_-1][0],L0_,L1_) for op_,L0_,L1_,_ in M7]) ++ kok&=[i_ for i_,(x_,y_) in enumerate(zip(prev_h7['warps'],nh7['warps'])) if x_!=y_]==[op_-1 for op_,_,_,_ in M7] and len(nh7['warps'])==len(prev_h7['warps']) ++ kok&=all(prev_h7['warps'][op_-1][1]==L0_ and nh7['warps'][op_-1][1]==L1_ and len(nh7['warps'][op_-1][3])==len(nh7['warps'][op_-1][4])==5 for op_,L0_,L1_,_ in M7) ++ kok&=[[m_['pos'],m_['L_new'],m_['G'],m_['U'],m_['E']] for m_ in h7patch['moves']]==[nh7['warps'][op_-1] for op_,_,_,_ in M7] and [m_['old_record'] for m_ in h7patch['moves']]==[prev_h7['warps'][op_-1] for op_,_,_,_ in M7] ++ kok&=all(not any(L0_ in regs_(e_) for e_ in nh7['B']+nh7['restore']) for _,L0_,_,_ in M7) and all(nh7['warps'][op_-1][0]>g_ for op_,_,_,g_ in M7) ++ kok&=all(nh7[k_]==prev_h7[k_] for k_ in ('A','restore','helper_final','compensation','initial_corrections','precondition','cut','target_levels','centers','center_frames','ports','prelude_events')) ++ a7f=D/'inputs'/f'alias7_43{wt}.json';a7patch=None ++ if a7f.exists(): # retired7: retired-lender aliases 667<-401 and 669<-403 (the PR2679 kind) after the hostee moves ++ a7patch=json.loads(a7f.read_text());prev_a7=chain[-1];chain.append(word_patch.apply_lowfour(prev_a7,a7patch));steps.append('alias7');na7=chain[-1] ++ kok&=word_patch.kernel_gate_edit(prev_a7['B'],na7['B'])==a7patch['declared_gate_edit'] and na7['removed']==prev_a7['removed']+H7 ++ kok&=relabel_ok(prev_a7['B'],na7['B'],[(min(p_ for p_,e_ in enumerate(prev_a7['B']) if h_ in regs_(e_)),h_,L_) for h_,L_ in N7]) ++ kok&=na7['warps'][:len(prev_a7['warps'])]==prev_a7['warps'] and [x_[1] for x_ in na7['warps'][len(prev_a7['warps']):]]==L7 and all(len(x_[3])==len(x_[4])==4 for x_ in na7['warps'][-2:]) ++ kok&=[[a_['pos'],a_['L'],a_['G'],a_['U'],a_['E']] for a_ in a7patch['aliases']]==na7['warps'][-2:] and [a_['h'] for a_ in a7patch['aliases']]==H7 ++ kok&=all(max([p_ for p_,e_ in enumerate(prev_a7['B']) if L_ in regs_(e_)],default=-1) None (accepted) or the rejection reason; returns (all_ok, results)""" ++ def rederive(m): ++ m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(w0)); m2['A'] = A; return m2 ++ res = {} ++ def expect(name, m, reason=None, fresh=True): ++ r = audit(rederive(m) if fresh else m) ++ ok = r is not None and not r.split(': ', 1)[-1].startswith(VACUOUS) and (reason is None or reason in r) ++ res[name] = dict(rejected=r is not None, reason=(r or '')[:160], real_reason=ok) ++ need = audit(w0); assert need is None, ('unmutated final word rejected', need) ++ for sec, i, fr in p7['previous_frames']: ++ m = copy.deepcopy(w0); m[sec][i][-1] = fr; expect(f'refit7 {sec}{i} lender refit undone', m, 'warp frame mismatch') ++ for mv in ph['moves']: ++ k = mv['op'] - 1; tag = f"move{mv['op']} {mv['L_old']}->{mv['L_new']}" ++ m = copy.deepcopy(w0); m['warps'][k][1] = mv['L_old']; expect(tag + ' warp lender reverted', m) ++ m = copy.deepcopy(w0); m['warps'][k] = copy.deepcopy(mv['old_record']); relabel(m, mv['old_pos'], mv['L_new'], mv['L_old']); expect(tag + ' move undone', m) ++ m = copy.deepcopy(w0); m['warps'][k][0] = mv['pos'] - 400; expect(tag + ' warp before lender retirement', m) ++ m = copy.deepcopy(w0); m['warps'][k][2][0] ^= m['warps'][k][2][1]; expect(tag + ' G wrong', m) ++ for a in pa['aliases']: ++ h, L = a['h'], a['L']; op = next(i for i, r in enumerate(w0['warps']) if r[1] == L and r[0] == a['pos']); tag = f'{h}<-{L}' ++ reads = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] ++ writes = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] ++ m = copy.deepcopy(w0); m['B'][reads[0]][3] *= -1; expect(tag + ' borrowed read sign flipped', m) ++ m = copy.deepcopy(w0); m['B'][reads[0]][3] *= 2; expect(tag + ' borrowed read doubled', m) ++ if writes: m = copy.deepcopy(w0); m['B'][writes[0]][3] *= -1; expect(tag + ' borrowed write sign flipped', m) ++ m = copy.deepcopy(w0); del m['warps'][op] ++ for e in m['A'][:m['prelude_events']]: ++ if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 ++ expect(tag + ' warp dropped', m) ++ m = copy.deepcopy(w0); m['warps'][op][2][0] ^= m['warps'][op][2][1]; expect(tag + ' G wrong', m) ++ m = copy.deepcopy(w0); m['warps'][op][0] = a['pos'] + 1; expect(tag + " warp after the follower's first gate", m) ++ m = copy.deepcopy(w0); m['start_extra'][str(h)] = a['E']; expect(f'{h} kept with an entrance frame', m) ++ sec, i, fr = pc['frames'][0]; m = copy.deepcopy(w0); m[sec][i][-1] = [1]; expect('refit7c certified frame corrupted', m, fresh=False) ++ return all(r['real_reason'] for r in res.values()), res ++if __name__ == '__main__': ++ here = Path(__file__).resolve().parent; sys.path.insert(0, str(here)) ++ import audit_local as al, word_patch as WP ++ w0 = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())); D = Path(sys.argv[2]); tag = sys.argv[3]; tmp = Path(tempfile.mkdtemp()) ++ p = {n: json.loads((D / f'{n}_43{tag}.json').read_text()) for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')} ++ def audit(w): ++ q = tmp / 'm.json.gz'; q.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode())) ++ try: ++ with contextlib.redirect_stdout(io.StringIO()): al.run(q, tmp / 'm.out.json', None, None) ++ return None ++ except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as e: ++ return (type(e).__name__ + ': ' + str(e))[:200] ++ ok, res = controls(w0, p['refit7'], p['hostmove2'], p['alias7'], p['refit7c'], audit, WP) ++ Path(sys.argv[4]).write_text(json.dumps(dict(all_rejected_for_real_reasons=ok, controls=res), indent=1) + '\n') ++ print(('ALL RETIRED7 CONTROLS REJECTED' if ok else 'RETIRED7 CONTROL FAILURE'), sum(r['real_reason'] for r in res.values()), 'of', len(res)); sys.exit(0 if ok else 1) diff --git a/research/replica-tail-gain/vendor/frontier/REUSE-PINS.json b/research/replica-tail-gain/vendor/frontier/REUSE-PINS.json new file mode 100644 index 0000000000..ff0b83bf69 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/REUSE-PINS.json @@ -0,0 +1,200 @@ +{ + "cache_files": { + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/CACHE.json": "134bdacc4a766dbc67df01704d4a279e29c0bea56350c75b2a0436b9ba8666d0", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/STEPS.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CANONICAL-WORD.json.gz": "dacaaa72961e8bcfefa5f5125aa79b2bae33d4faead01a651bd44a8ea5ab2412", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CLIFFORD-RECIPES.json": "a9641c6cbc4e05677e7559bf1764468f3dbcd9efe0ae710205590c381f6b5f08", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CLIFFORD-REVIEW.json": "9622789fd43d2c3e14d98ae3df48765d1faeb8f5664136f48384dcd603e215fe", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/FULL-WORD.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/INDEPENDENT-LOCAL-REPLAY.json": "1ca177b1b78a0faaaaeeb05d44ccef50810d20d9f5607b3fa7dd493067f69ef1", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/RESIDUAL-ADAPTERS.json": "c4dd3cf0ce67c9ef6ab86b051026c0d884c3548dfc6118f047d6f56bb7331352", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/SCALAR-FRAME-AUDIT.json": "abbfa5baf5228072679d6ac08b873115ef3a00c39e6632e110d1f94a5f7657da", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/WARP-RECIPE-CHECKS.json": "32c3480dd0f953237f567a5e1c66eb15de9cee5b57c219b571bcc9cb993042dd", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/native.log": "8ac1d92e1e84f39a5865ae78d0894249995335c1734a450a53ce65998b59d57b", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/phases.log": "4f02722e71e03c4998f7c5b625ed5a7afdc7500ebfb0aa7e6f53b177cc08a645", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/CACHE.json": "069df513a95cdc93095aaecf5714ea2183c1735cc5bec65bd38e469adccdbff6", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/STEPS.json": "4637ff6d5767aae404ccc9251bef35e5961afa2ba2fd846527b93dca05c5fd2d", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/ledgers.log": "8a5910fbfadd88e164b84d65115ca356a932df55501dbbc9e102333b17688e77", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CANONICAL-WORD.json.gz": "c0fc324db76506cd9f0f88d830f28b8d18a0870a6dbcd31362e01f2683ffc065", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CLIFFORD-RECIPES.json": "d3efa2a7199bb2113f8232bb0e78deb8144f44856d6b03a1069e75d775245d6b", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CLIFFORD-REVIEW.json": "76a38ecba56ecdb28bc60ea8558a535533e5da6ead2de4fce92e80949e93ee0a", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/FULL-WORD.json.gz": "4f980df67440c0d0b87186b88a816301896f277068bec0295b67a5c06f43e8bd", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/INDEPENDENT-LOCAL-REPLAY.json": "1503f00082d7f94f6ac1765a143fcdf6e780f9e4a19d4cb018ce8f1930b009f4", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/LOCAL-CHECKS.json": "d9743b22c746403097ac2e4430f8c0c3edca6a325a1b14c7978fb94b2047b890", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/LOCAL-PROGRAMS.json.gz": "5f89cf546f6d5969a065256404a3c902c52217f3b79bddd740e33058907cdf16", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/RESIDUAL-ADAPTERS.json": "82f5e5cf37c8ec3cce707e7d152b23f6fff2fddd771ff43317b5a446ef81fc00", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/SCALAR-FRAME-AUDIT.json": "dd659103a97b2313c947f4ab6a44ef5dc6244e9cef57864d2cc1cc7d232ae6d7", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/WARP-RECIPE-CHECKS.json": "9ccdb18e1c1eb5a8f386d17b08a36e6b4338a34b15e49e9509acd2e866c12ee8", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/WRAPPER-CHECKS.json": "727c9a1dd1c85a6ced726f1ff03ff7399bd6a20db5ce53faf452ad242da73a5c", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/native.log": "99f4a9ed755532566debf2ec91da35981093f02538691889ca4201c266ae7194", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/phases.log": "27e8e39b604d3422bf02ad3512aa1301b1686fc81e3ab3b56d6e501129f58037", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "78a3b23d31d62f6fec7bfd448c0062dcacabd0e0e416957ce506839e94fb0eb7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "6b18a21ef3bfb8e96d26d60f2db702eb9e4e5fd4aae5f5113380074235ed85c4", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "16fa3177ea9496dea606f56623dfd69a1799075ec8bb9bba6258e35b7d865481", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "e6d01761d6a48c6d0e861194ba13515002e3d9ea6ac1b531b359bff5b2ed2459", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "b23f983d52700ff84a5d2303916f6e9a909937d301e4a308204702e756e9635c", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "633faa7fd015f93a5b6193598c45e70c41838655b4ad60b5ea98dbdedf601390", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "9f1805608ebc5fc68a4758cc781f37deb26490a800077357b7a91f1436a38872", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "03b6a2503949708d090f5338006662172324fe66502452e8da0c3b1454b27262", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "88c98295140810288ff552fdc8cfc3741b11ee6d80ce01e8d2c8f2c9b7a73e31", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "c7b917a0a452672d08f817a57eea0db1cf237c142371936e9f483f28f4428e54", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "a9c86b5209f35cad3be26f74f70a4962c48f3cb7021c696621beb1794d5c1278", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "e00871b9295253310a4145ebb4786af72a347a0a6015590c4779a29e20826608", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "2a58e55283a5d74adf38a8c4b78f21793b619ee885ccf64dc18af7b0d5f8a96d", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/CACHE.json": "41cc27c91f3610959ef3166a90484bd65bce0c663b420ecee0fd42725af2ca2c", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/STEPS.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CANONICAL-WORD.json.gz": "dd1f277eafbde7fbc68c51fad396a64e8afe389a8529bbe61e187014a8a48215", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CLIFFORD-RECIPES.json": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CLIFFORD-REVIEW.json": "255cf6f3d1105e9c60e2b589e3445a6b7e69af575abcfe4f6a0aba971fdb4195", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/FULL-WORD.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/INDEPENDENT-LOCAL-REPLAY.json": "26adad9d1cd317e8e6c2f5db0f42e5f35ef4220e84280c80ac273aa2a329903a", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/RESIDUAL-ADAPTERS.json": "6a807c59d857faed1140f9d7dd4dee863553f7a00a95ddd4601ef4dc8ea93b12", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/SCALAR-FRAME-AUDIT.json": "10347acf893d70592ca4af8ee1cdf58a06510a444992feffcddf5c03bdf63e42", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/WARP-RECIPE-CHECKS.json": "95bc1e29bae8210542423d7b0d6b4c07b29d3948a2c987507a97cf085f963252", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/native.log": "0da891ab0e4bfeb32b3b73fbc03b0456ffb06e159906b2013938ad65e13b0585", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/phases.log": "cb01cc9d0f1831fc202ee5ab21ed9ccbcef52a3c369b7ca1390b64d99f070ecc", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/CACHE.json": "29b075f5e59eaea78a3d8386f8be8485fdac4629404087ca57f8d8a6505fb18f", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/STEPS.json": "6bec0227ce64490c9e6384464d9a8a778c54755a67f3a276c279faafb7a02981", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/ledgers.log": "8a5910fbfadd88e164b84d65115ca356a932df55501dbbc9e102333b17688e77", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CANONICAL-WORD.json.gz": "52c263e6936b4dd1eb009617e5df5fd0f39cae44e06683904194223d34052262", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CLIFFORD-RECIPES.json": "afc22bbc53821f3d4412afa81fa787be68672395a3432fed3c3740bb7708f4bb", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CLIFFORD-REVIEW.json": "8793f34c12e30884e17caefc7c898f83fe06ec6a07578c9783fed325d6db48a4", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/FULL-WORD.json.gz": "56252cf9c875ca56f5dee42c38c838fa0320662ff7f724a15f06145ff5cd5854", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/INDEPENDENT-LOCAL-REPLAY.json": "4139c7bd22c3cf55e58749f81b0013b7e824fdd82c3c701921a23fb2391db990", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/LOCAL-CHECKS.json": "d9743b22c746403097ac2e4430f8c0c3edca6a325a1b14c7978fb94b2047b890", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/LOCAL-PROGRAMS.json.gz": "5f89cf546f6d5969a065256404a3c902c52217f3b79bddd740e33058907cdf16", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/RESIDUAL-ADAPTERS.json": "ba41be347d33fad9b5d6af16457e92dd9ee507dc4589bafc63a903986e733d2c", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/SCALAR-FRAME-AUDIT.json": "a96f78833f2e7285ed8248510bf091c86c2918d3df4413307b83136231bdd406", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/WARP-RECIPE-CHECKS.json": "0fa3b603d74af3c9853df200e0ae3a0e71f910e1c3620415b7072f5553d7b918", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/WRAPPER-CHECKS.json": "727c9a1dd1c85a6ced726f1ff03ff7399bd6a20db5ce53faf452ad242da73a5c", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/native.log": "d4d096f7186024d29f919438ae4a25d50f157f642a2b84f6202851b1d768ee03", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/phases.log": "e6dbb20f1bdc7a8b014b307066e8598a365aae6e65701ab16b3a3c242a2bb907", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "56cbbc829163f32f3b2a3b6c413b8202aff367cfacd57fb88a1b9b7cf0c3470d", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "a5c02d0d6347aefd558e287fa581362a9b89adfd7eaf4a1c003dae47e1b1874e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "d0eb80da0f54f7444421c577a688e28cebc23d4abd8e431f5bf38526d3335d77", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "303767d1ff2550e4a10443b0d5ed705a8461c76f06bb7074762c02a0f54f339b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e6bafd6741e865e85b9ad8941b87b7c4e4c4a7debb78cd256e12a4b39ec3b586", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "32096efe8e8b986247bb8f434cee48cd29e209d2602125683ca91dbac242fa44", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "1f91b781e43e70b24ff14f2007cb767d30a9520411d222e49d7870981043dfb2", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "8945a81137262aa1ee8e2cf159dbd59838b58adf4b2f66a812a92406088111ed", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "44ae449a4ab0ea50c4bd377b38c12e4c73b5858391304e38d7f8bf46171b8866", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "458754a81eeabcd677a30b4c3e5a8393d7535bc21e02d4b0c75f3732d362c944", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "providers": { + "base": { + "R": 415, + "complete_native_files": { + "STEPS.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "local/CANONICAL-WORD.json.gz": "dd1f277eafbde7fbc68c51fad396a64e8afe389a8529bbe61e187014a8a48215", + "local/CLIFFORD-RECIPES.json": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3", + "local/CLIFFORD-REVIEW.json": "255cf6f3d1105e9c60e2b589e3445a6b7e69af575abcfe4f6a0aba971fdb4195", + "local/FULL-WORD.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "local/INDEPENDENT-LOCAL-REPLAY.json": "26adad9d1cd317e8e6c2f5db0f42e5f35ef4220e84280c80ac273aa2a329903a", + "local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "local/RESIDUAL-ADAPTERS.json": "6a807c59d857faed1140f9d7dd4dee863553f7a00a95ddd4601ef4dc8ea93b12", + "local/SCALAR-FRAME-AUDIT.json": "10347acf893d70592ca4af8ee1cdf58a06510a444992feffcddf5c03bdf63e42", + "local/WARP-RECIPE-CHECKS.json": "95bc1e29bae8210542423d7b0d6b4c07b29d3948a2c987507a97cf085f963252", + "local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "native.log": "0da891ab0e4bfeb32b3b73fbc03b0456ffb06e159906b2013938ad65e13b0585", + "phases.log": "cb01cc9d0f1831fc202ee5ab21ed9ccbcef52a3c369b7ca1390b64d99f070ecc", + "wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa" + }, + "fresh_stage_seconds": 316.8524922529905, + "paid_profile": { + "1": 2374, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 8 + }, + "widths": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "word_sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "zero_buffers": 72 + }, + "extra": { + "R": 415, + "complete_native_files": { + "STEPS.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "local/CANONICAL-WORD.json.gz": "dacaaa72961e8bcfefa5f5125aa79b2bae33d4faead01a651bd44a8ea5ab2412", + "local/CLIFFORD-RECIPES.json": "a9641c6cbc4e05677e7559bf1764468f3dbcd9efe0ae710205590c381f6b5f08", + "local/CLIFFORD-REVIEW.json": "9622789fd43d2c3e14d98ae3df48765d1faeb8f5664136f48384dcd603e215fe", + "local/FULL-WORD.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1ca177b1b78a0faaaaeeb05d44ccef50810d20d9f5607b3fa7dd493067f69ef1", + "local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "local/RESIDUAL-ADAPTERS.json": "c4dd3cf0ce67c9ef6ab86b051026c0d884c3548dfc6118f047d6f56bb7331352", + "local/SCALAR-FRAME-AUDIT.json": "abbfa5baf5228072679d6ac08b873115ef3a00c39e6632e110d1f94a5f7657da", + "local/WARP-RECIPE-CHECKS.json": "32c3480dd0f953237f567a5e1c66eb15de9cee5b57c219b571bcc9cb993042dd", + "local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "native.log": "8ac1d92e1e84f39a5865ae78d0894249995335c1734a450a53ce65998b59d57b", + "phases.log": "4f02722e71e03c4998f7c5b625ed5a7afdc7500ebfb0aa7e6f53b177cc08a645", + "wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa" + }, + "fresh_stage_seconds": 320.795613839, + "paid_profile": { + "1": 2374, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 8 + }, + "widths": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "word_sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "zero_buffers": 72 + } + }, + "retained_parent_receipt_sha256": "a9c86b5209f35cad3be26f74f70a4962c48f3cb7021c696621beb1794d5c1278", + "scope": "Both changed PR2679 native providers freshly executed all five stages. Exact retained PR1297 native providers and full parent-admission receipt reused from the authenticated earlier cache; all cache files pinned.", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/SOURCE-FILES.json b/research/replica-tail-gain/vendor/frontier/SOURCE-FILES.json new file mode 100644 index 0000000000..7e8a64069e --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/SOURCE-FILES.json @@ -0,0 +1,501 @@ +{ + "base_url": "https://raw.githubusercontent.com/philippeVV/integer-mult-bounds/2e2cf56521df8a2b816b2689144765ee00b69a24/research/gmx-t74-borrow43-handoff/", + "commit": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "count": 491, + "files": { + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "ADMISSION-DERIVATION.patch": "7021000d75635fc5806af821640c02f9d7cbbbe1cf314dacfcc743fc6875fdd8", + "CLAIM.json": "bc893bde9d0605e793844dca14e8f8e175b839b890c6f9c15e3a147f6db0cb36", + "CONSTRUCTION.json": "ff5c0516714e3220468b84583ec0bb25d39c0832a179268b929699e5b1bd5508", + "DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "EXACT-ARITHMETIC-DERIVATION.json": "c0d40deaa495a7365e91aa5d9e6a846f91e0cb6daff98bb3b7f2acef84d64ec4", + "GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "ORDER.json": "e37e607973be543331ce19a3ee49f79ea22cda484a3dcdcf897719412db221be", + "OWNERS.json.gz": "e5a46f423debb846c49f8ed97202ba3919d417e237e22cb7b805c1df592e0e1d", + "PARENT-LIFT-RECEIPT.json": "cea858499dceda9dd6a77ebd1b39cf4598b237b1701cc01841481f2ebc4b5d33", + "PLAN.json": "abc47a9fffdb2079de0386a50c43b0f71f705f59fe71d3f9683031b4357560ce", + "PRICE.json": "c5ec535fd9edbdec7b64edd5a8b862edb1a7f173d411dacb279172659573e16a", + "PROFILE.json": "0dd9a8afa9eb343a12cab29bca16b2579c2ab4bec50ab7a1c539b20ae5d265ac", + "README.md": "7bbef7c9ebf7a1dbee4df8956a54fe799a0e2682935c6d919388be22e8254f5a", + "RELEASE.json": "2a4f17684f0e2666313b8e13c90e92640880164a8dc2a9d9396fe375aae0ece4", + "SOURCE-PIN-REFINEMENT.json": "8c0bad79978decd6f8aba0932c0a94c7f61c64bf9ce5a19a36f67cc1390bf74f", + "SOURCE-PIN.json": "66faac1fd4e79bb6d9fc774fd8ba63522ad3309456be1c81405794b284c55c83", + "SPEC.json": "81676590c26018aa95082e3252f394ac99c61c0c4e5578f59501401700e38033", + "audit_fast.py": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "audit_mixed.py": "defdb5f1d33dd6b0eee9b84c00b5cc01e5283ec41308b520df714e1caffb9916", + "code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "code/assembly_controls.py": "d7675ff0b0994b29541d37eaa3010c5f39bb1447700c9f8e750522bf8c951f56", + "code/audit_allcold.py": "fa3488b62efdf8a0c37de0ca0caba587b4b036c5f068e002eb04c71c12b9e9b4", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "549603ca6d28b163a43b2dfaaaa788161c73d7952ab9190289407caca5418c71", + "code/exact_coarse.py": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "code/fine_cache.py": "89282a83ab102893a4fc1e663ad2137d891d81e843b1c9ea140d13e58b7c7dbd", + "code/fine_mercator.py": "6cf29658b5c1618de4aae8bd49d6d890be06d57ead1ad0f2d41bc8d25cc578d3", + "code/fine_moment.py": "bdfc492be6a663b219d76beff444db14bd67bb53c7c8ec4086ab0f56e48323c0", + "code/freeze_spec.py": "e9132a9d195c66123f2747a17f7ef404b4d1e3ef6263ab4c28c983a052cf10bd", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/lemmag_checks.py": "cc753c5953e58f5900ce580ece8f814a352d672bcee6d4566c7dd52647912393", + "code/lemmag_stage.py": "5158e1e95e46b3119de9f4add7d849c8ad2d2dd92b17a79b0f93b86e7d4e6049", + "code/oracle_check.py": "4836046db4bec939515a5a272559f92192b56612b98f635910fd81ea754ce2e1", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "evidence/ADMISSION-CONTROLS.json": "5cdefeff2516a67c4dd60e609019b3e2e38eb3d43142df2d3c7ed9a6822d5050", + "evidence/ASSEMBLY.json": "5d9eb1ce551386024b5b6894836f81ed03a83d2e0c0bd0e02e3f6410a596bb2c", + "evidence/BIT-CONTROLS.json": "d74d9d2ba363c3709e9a3b33abf6d14abd6b9c68d950b35b7669d8e6edefa59e", + "evidence/FULL-ADMISSION.json": "cda48de718d060b8ca329f1254f4f999a5a5bade5cecabb265f0a9bef1135089", + "evidence/GEOMETRY-CONTROLS.json": "13a50b2f2448931ca302a55e5839c082f651331f20402448fe6ff29d1eb2f481", + "evidence/INDEPENDENT.json": "7150546e840e859268c40c11c2c79ba4fd646fc632fced68e3c19355b292fa61", + "evidence/OUTER-DISCOVERY.json": "413ef3e9eb1c3ff680cff1e600dc7160afda228e0b6b021c1a4e4a37ee486cc1", + "evidence/REGRESSION37-CONTROLS.json": "0196ae228d583f2bac3c42d3576a8d378fe622592e377c4c1921b5ae81351854", + "evidence/pr1377/CLAIM.json": "cd089b08077e0151b9ed917a5c33aa7aa6b0de790bd9567442531b48729da8d3", + "evidence/pr1377/PROOF-NOTE.md": "dafd8286b1c9224ed6f50bf71bc34b77918323b936ea7427a4b71c3b644b2264", + "evidence/pr1377/RELEASE.json": "a4fa2ca0f79a11dcdc3227ad16a408d4d22d83b7401c894cb0e31eb2c9c5f7df", + "evidence/pr1377/RESULT.json": "1cdadc74fef4cddeb2bae5e32fff7bc27456740150440ae8fda8822f569c2492", + "freeze_spec.py": "1d965b7a329b98008fcc67e73d03dcf6e75f0f33c2858a39f1182bb3d0ed0ea1", + "geometry_controls.py": "7edb4732b34e5814b27650a55c938626cb50d68f06397744dd4fe451437e90e0", + "independent_core.py": "c4bcd06a6f761e8b298f23ff3da81053cf47a7126fa1322f732a685cdb58b517", + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "inputs/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "lift_parent.py": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "new/BORROW-PROVIDERS.json": "392dd6da6e6da7ceadab046e7b6ad656f46ea5693e7ebc3291707d74fde99c87", + "new/CHAIN.json": "f18804a71bef7005e892b0b7baac818d5362fff685fe5b5aadfe8de6e442446d", + "new/EDITS-1.json": "dffa640c04d71111d3e4bdd7f5a991450ba07049a1d434edeef84791c0cc2d05", + "new/EDITS.json": "d5f9a0444dddcccd35c0217f60dbd6863486241629a747c3bbe4140b3d55eea1", + "new/PLAN.json": "a31260c7718bda6c0ed55ea1a4ee6873dfcdfef9bec033c5f0416c5e704bf292", + "new/PROFILE.json": "4b002d61fc50861df1c85e517b0466a063ad9a85464cec247a99ab5c92bbf38f", + "new/SPEC.json": "7485e560bd810d6eac962b16295f730545a0341dd2ab1f072a0682c376fa1ff9", + "new/borrow-fill/DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "new/borrow-fill/FILL.json.gz": "8f324b0e4e57f2089d805b34dd10e814e868211a018cf8ebb8538ba9c40778d7", + "new/borrow-fill/ORDER.json": "e48b51a7d6a315971fff8b8e51748251750ff4ed8fe30b8b023de1a1a8019783", + "new/borrow-fill/search/agg.py": "267a66287336b72731b897508073dae1a7c85fa72cd86093a7340ddfc12af04c", + "new/borrow-fill/search/base74.py": "acc99c57730fe50f88538e4061e7165a7f278ed7499728c24b0522d479be8b8c", + "new/borrow-fill/search/ceil74.py": "99df541abe458fb6154755d9c67066b2ba0430b06f879a7b5a43e30618f4c1d7", + "new/borrow-fill/search/evac.py": "7c6ce4e8aa9833a9d451c5d4b891bbd1927315bcbf112d3c15845f0ede2d9dc3", + "new/borrow-fill/search/fillbase.py": "4fc6fa920d8703ccec860bee0e1187a0a8b1e37b245789256f7a4d01ae8a2b00", + "new/borrow-fill/search/inv.py": "eec279ea8e8d9d1dccc2733a88129351678c73fb51f06a4604a9c1da1d771387", + "new/borrow-fill/search/lattice.py": "8f2ee194fa4992d1f45394b09b5151ec699b28e4c950b9d40b826f33cbb635ba", + "new/borrow-fill/search/lnstime.py": "3a1ff558f10b0b935389137627359f875ca484717ffa3ced7de8d8b588836755", + "new/borrow/alias1_controls.py": "f4cc82312af891ea48956d9953a061196a8c3b113ef6d81e5848fe95745147b2", + "new/borrow/alias_build.py": "40b97536c8347733eaae24a3c4a13f5d21711e983106454777837be487959f1b", + "new/borrow/alias_enumerate.py": "7324f2569e6b76981d8c964a16ff9a3bc9e770e41b9cc6ec1c9defe8e662c153", + "new/borrow/audit_local.diff": "202f6f2032552eba069b9ec7e33b729d4af2ffc20974a9e82e444d906d7137b4", + "new/borrow/audit_local.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "new/borrow/borrow_controls.py": "07fbbf8e2f06df063dc9d88e5e4f721222a9fcf30b983bf9127cd5aa4b611627", + "new/borrow/build_word.py": "40047409dd9f9c406bb37a2ed0b4c8159797e0e4a114d525a368355418128707", + "new/borrow/emit_word.py": "a057ed0c81fbb07dabf38247e0ce0cec6c5fbfa31d8bf1b38838bd3758e41f87", + "new/borrow/guard_cut_centres.py": "5df204597697756808e6c959f5bba81cf35a2f0e7a0f1f75748dca1814373b72", + "new/borrow/guard_helper_indices.py": "d93aeb2d51d77ca93ecbf9e566d9000bb436c279e2a25b699a867e9697f782fd", + "new/borrow/inputs/alias1_43base.json": "3b7bb0fea555d65a3b53c408ad3caab1d322b0a1635bdd14cfb45cf76693a345", + "new/borrow/inputs/alias1_43extra.json": "42e509a4ffa5c55d8bb1541bb483f3b6e81e04e2fc6df0cfb85796f9dc9e58e1", + "new/borrow/inputs/alias8_43base.json": "8210fbaa107744fe09fa02d3abdd5982b68a8af4710d4c3c3d604f8ade18f8e4", + "new/borrow/inputs/alias8_43extra.json": "e5fcc94a2511d73749f9cd1b4e4eaec0602bebf85b8c58144bebc9c4206b30f6", + "new/borrow/inputs/blocks.json": "ddfac1dae1fe7cc0a91e7c7205c6d9d0c07c682880aa34eed83bf4ad7384da9f", + "new/borrow/inputs/entrance_43base.json": "1b3c09f9558c50e7f299aa10fb21dcbd1b5ff397794838d8629c80d4c7a565f5", + "new/borrow/inputs/entrance_43extra.json": "e57ec67fa0a3fca63bf9e4bb9edf4e6be48db0bd7c9e092cddad29b26b897463", + "new/borrow/inputs/extra.canonical.json.gz": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "new/borrow/inputs/gauge44.canonical.json.gz": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "new/borrow/inputs/handoff_43base.json": "5ae3062bcce666c8c3a3a650e345adf15c22a2800fa0e17d79ad6e8b97208a2f", + "new/borrow/inputs/handoff_43extra.json": "4238a7c5093a4347fe69adf4f76e507d2f43c4e727d91b2c4705039e1cbaa06a", + "new/borrow/inputs/kernel_43base.json": "7f06b4b08a49192a27e8f4132ad0c93521dad90f97ca985a173944ba02c5442b", + "new/borrow/inputs/kernel_43extra.json": "ef95eae03915f0222bcd486959c6dfe307a9a0a856702420fa35491abfae4c84", + "new/borrow/inputs/lowfour_43base.json": "a8df0a2acf85e96febb35d24ae047c370d179095b46142bae968f06348bf1c18", + "new/borrow/inputs/lowfour_43extra.json": "9dbfb49fb3c04a0652dcae9a962d973489679f5d1ee2baf4e65c58d2e8ef578c", + "new/borrow/inputs/prelife_43base.json": "0c901b689b4d12c1f50a61ec5b99e6cc38f1bbd524f036203e5a250d44c0f21a", + "new/borrow/inputs/prelife_43extra.json": "ae67d2bc3873a3f08d7cb46bfbd4e4d54f9e7f471b695b28f69907c6b18a69b3", + "new/borrow/inputs/refit563_43base.json": "0662e4800279890f565c0ee5668ed97e8ea25d6ea4a8697b4c1d9a4715716cc7", + "new/borrow/inputs/refit563_43extra.json": "0662e4800279890f565c0ee5668ed97e8ea25d6ea4a8697b4c1d9a4715716cc7", + "new/borrow/inputs/refit_43base.json": "19a97e80b0ee3146e0244e6bc36bd365d89e9c1cd0f885c4e06be4193606a323", + "new/borrow/inputs/refit_43extra.json": "1349d54f704847fdcd4a00e323cdc9e1118fac7fedb0c7573e9b2b3f0169a7eb", + "new/borrow/inputs/witness_43_base.json": "65ee52604e2e49a30c1e978b7ce829482a694a20a8744f37b9bf40dad1ff3a2e", + "new/borrow/inputs/witness_43_extra.json": "19c652db80d5215c958c63b5d6f2de96d9cf34a0e4d56dab5c13e556c57f7467", + "new/borrow/lowfour_controls.py": "cc2d102a3cf1cc1063ea39ab7b22c4231445dfd485705661b1da38bcc6da8066", + "new/borrow/prelife/results/gap-base.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/gap-extra.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/prelo-base.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/prelo-extra.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/tryE-base.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/results/tryE-extra.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/search/chains.py": "588d6cdb2312febfee5f3d576295f2edff53ca74c14d21ed9bffed3312dfa32c", + "new/borrow/prelife/search/edit.py": "8e5eea35d0bb83aa60bd066ae9ddf3f4b0ad46cf9ac9d31d8fc5777f49013713", + "new/borrow/prelife/search/fm.py": "36174e2b7e012726964282af926fdf541332556bcc548af5b41502cdb8b198e2", + "new/borrow/prelife/search/gapbound.py": "a0fa0fbd079a456bf5f9b75352eb68c4b7e2febad0c99e66b7553bdc744772c8", + "new/borrow/prelife/search/mk1.py": "4bab66a4e1514a067572c7854731a4fbd29681300e95a4384fdb68e0eb140575", + "new/borrow/prelife/search/prelife2.py": "db1fc5eea7bd70066188d7c7f52cf4be8991e61b821d3fe4b779ee30c7f3c9eb", + "new/borrow/prelife/search/prelo.py": "157dc45b5fcc421d26507d6d7fca6d4caeff6c73efcd679fd28e906f600ea886", + "new/borrow/prelife/search/propbound.py": "735cd4d1a6a43c96f397eb5ae2972e86ab71c2c232e6d14ac6cbf1eb7f638c1c", + "new/borrow/prelife/search/repair2.py": "410ddd6f9b3e14be6b9247cc5792d1a893175e843a0c21bf667e71a6e3a9710f", + "new/borrow/prelife/search/tryE.py": "130a859c0ad20623943b25800dd2f1d0355cf03b8520fc493ec870baa010b2ae", + "new/borrow/prelife/search/wordmodel.py": "215e678d3f3711b4291f9da5d7937cdbb0b091390bba089e6949b8c42a29f6f4", + "new/borrow/prelife_controls.py": "c24398bdc407aaf6713201100d27ba851233525a9dfd747b641d99e1cde66cba", + "new/borrow/receipts/AUDIT-43base-pinned.json": "8dc6daa8929c1137c1e37fa5a1bf869afafe94c3e65ed2705ea9f41f2dc8cee8", + "new/borrow/receipts/AUDIT-43base-prekernel.json": "fb6f40a1d117bd304cc0757ac21915bd8558e8d3f31b8709129f395033fc534e", + "new/borrow/receipts/AUDIT-43base.json": "07b8a4836fe2659d0d46957ed0973ba3334f6752b5c1235d03b961a107fb95d5", + "new/borrow/receipts/AUDIT-43extra-pinned.json": "4176a6190fb1a224d45797064cde2aa758970bce7c1ed2a009ecb2fc7839d26e", + "new/borrow/receipts/AUDIT-43extra-prekernel.json": "09041e49888a1360b7ddee29d54d82836a875ecb6547c7ad1eb92427e7f3b384", + "new/borrow/receipts/AUDIT-43extra.json": "a01ae6847449ddb88c56fa8e44d10bc0b005f1b24daa283d38ba00089d8f89f2", + "new/borrow/receipts/CONTROLS-43base.json": "02b73bfbf72c63926ebb244bbd6bf87a03201ee1487e2c15292ad52684fb4d69", + "new/borrow/receipts/CONTROLS-43extra.json": "f8b93901ef5b4810bb39a7b5ccdc62497612c2efba67920a8d6119ae8a898126", + "new/borrow/receipts/CONTROLS-KERNEL-43base.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-KERNEL-43extra.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-LOWFOUR-43base.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/refit/results/pairs-base.json": "8178d2a34be82601f2361afbc63b37294255a435b243e65295bf7b641edfc4a3", + "new/borrow/refit/results/pairs-extra.json": "3a64b6ace504a5d410a4cfd87ae2fc04576df61883ce56e3f7eb38d4b26df8af", + "new/borrow/refit/search/bounds.py": "690986e69e3125723b12255cc5aa135fceec93894d589eb196ab7fa5da37e9fb", + "new/borrow/refit/search/eval1.py": "0547e606468ad4670512ea83fb3d6e7f39fda9b66537fdf791ad22a3bf4aeeee", + "new/borrow/refit/search/mkcand.py": "c5b437f6a991de674bd781d610d98a43d9f84179beb1187340354e55f42ceaa4", + "new/borrow/refit/search/pairs.py": "7922404bf942eff2dda0125b78ff1234bfdfda5101ff428b11f8a5ed73ce4882", + "new/borrow/refit/search/refit.py": "c036d0d4cc91360e583a7ed01d6c69c17a69f16c5838062c2b9de83a616d2e23", + "new/borrow/refit/search/why.py": "209a95a62a95c06138f0b5af2d1dd1f9c60c403c4da294d39663928c2312425e", + "new/borrow/word_patch.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "new/borrow/words/BORROW-WORD-43base.json.gz": "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc", + "new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/code/borrow/bw_audit_local.py": "6bc8a07942a027a52ede46521f6b5dab755643eb693efc7dcb829496050fde09", + "new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/extra-word-566.json.gz": "cd417b904408c221d9840d08faff8af040cc4207f9804284f2f5375d21298a62", + "new/gauge44-word-566.json.gz": "eeb6a236ed0ea8873b8800947d0cd19c36a6fcfdf857fc42913cb45cd984f219", + "new/pivotcheck.py": "6eb1752f077df108c908974413fc71abc751356b07c6e650e75d2075f1a51391", + "new/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "new/rebuild.py": "7391a7228d6b5afc2f88afd5d5a987565d78a100386c1f03b8696bcde2e8ef3e", + "new/rebuild_borrow.py": "9cef11a627dc197d68845efec25ec22c9af69a132978d8db13f6cfc0d1841b30", + "new/rebuild_chain.py": "3a5739f94f0fea1aa267e7d12e1c986210e483c841a8855e11020128a017510f", + "new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/steps/0/extra.json.gz": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "new/steps/0/gauge44.json.gz": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "new/unpin_spec.py": "03901dbb881fa608b6540a0541b26311dd4bab23bd8768e9ed48b8b355e1b36b", + "outer/B.json": "2a6ed1fe7f601146af00ddcde61776a9db8d787d3e43c13f4c0436b529a4180e", + "outer/CLASSICAL-BOUNDARY.md": "6647d5a71d9f6c3f628ac71a7be2e63bcb0cac9618cd4fee7493dcc4ef02529a", + "outer/FINE-PADDING-COMPOSITION.md": "d20d8e5f84a9e33cc9996f875be06c24c74ea53874cc76564953785ff29c5c6c", + "outer/GAUGEFREE-INTERIORS.md": "a3f67d945eada51cc93c69438b1fa3173dd6dd0f7bb4e76cbf5116fcc496edd9", + "outer/INDEPENDENT.json": "dd27ba85431ba0b4297ab906166adb4ad5ca5883af1ec9173e056cf3d5231b21", + "outer/LEDGER.json": "31d72437d30aa6a8b8a327700196f0ce6e7b327d37239578fd5d9248f6888e9b", + "outer/OUTER-CLAIM.json": "df0d5121f0955f2c9743621e3a259c4a34d9177aa818cf5a21dc1edd849fad64", + "outer/PROOF-GRID-MAX.md": "19dc50ad398993d156f9366fc752321a88a7337dc016c00b0d5a53eceff93cf6", + "outer/RECT-BOUNDARY.md": "17ece1cc1eb4a02df4d8433e3612231768633e6674d315acbcf880f36e30bdc7", + "outer/RETUNED-SLACKS.md": "d87beb3869fb60143c2c3872d7c427ee16174aa51b5e6f42689312fbd40d3d42", + "outer/STRUCTURED-BOUNDARY.md": "ceef915be6462a8ad81449eefb86bf4d97db6ac41c87660e9dd7cfd2c2bc1efa", + "outer/UNION-SCHEDULE.md": "bc8e9cf7c178bb39b092ab5aafc4eeb523e72b1f69639bfcb9f27d0f74109357", + "outer/check_fine_padding.py": "a0ae691251cc50ba20b7f23f89fffaed802d62f9192a441131476914a5bdfae8", + "outer/check_gaugefree.py": "2957d2aafc56e3b757c5734bb29c3258cdf0ab167bd06ee0daf95281b5207e10", + "outer/check_ledger.py": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "outer/replay_evidence.py": "d3bdcfc8ce29865b3a76d64d99b5177e73fe994a2eb915f35fa233c5ab81df65", + "outer/run_outer.py": "9d5dc0a7ea38973ce52a1cda02d311c235bc7c39c4d20921d5811cab1a57ef8c", + "outer/sched_review.py": "f440a57f1f46119ee8c2934c8f0d618ca1c85c73cda8cfb8453c2aa1b9fc40fb", + "outer/sched_test.py": "f96d09b5990931e3df8cea291520bf17c424215748cd9ec068214c58309a21c8", + "outer/struct_check.py": "f1df92bb6247034a22e141dcb39c1e8b6b9df6eb9791493be25a3911f7add8d4", + "reconstruct.py": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "replay.py": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "requirements.txt": "255a2ee4a60637759d4d5c89448c55849153e81ec1d1383555c6697784d9dc97", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/CLAIM.json": "bc9e90a475333b957a8c4eae8b950988caea89e20e9b44a919e83415fb76b1b8", + "vendor/pr1297/COMPOSITION.json": "6fb74e73fd298b356402eb2fbcd625463b2fa540a6be4ef2d6335ddfa31d70f6", + "vendor/pr1297/CONSTRUCTION.json": "fb5f74f59c89b93c63ec47e32e2c9264658e115d1f21eed3eceefec7dc7a0cde", + "vendor/pr1297/CONTROL-SITES-base.json": "b41361f5a2f6ab3d223c146269c8027a0537f1a6e3c963f28cf1ebbe05c5d7e2", + "vendor/pr1297/CONTROL-SITES-extra.json": "f1aada769389ec410b41bc9e2082826bb916b8332c915ee9e07045135c30393b", + "vendor/pr1297/DEPENDENCIES.json": "9c9fff3ac059da4d4e2f13e655afb9e42ada1a57987f5b47b68dda4b64797966", + "vendor/pr1297/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "vendor/pr1297/EXACT-RELATIONS.json": "6864f378d917d0ecfd8cd53cc26303217ebb48f47f2987bbc01cf1e2c9a28093", + "vendor/pr1297/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/pr1297/INDEPENDENT-DERIVATION.patch": "6b3af098ec1c9e2360a366933eb7fbf0e16ebb37d43809d26b275e66fb5ee779", + "vendor/pr1297/KERNEL-CONTROLS-base.json": "cbe755333f469a1f01258b65f2b273763212dba6642edabfb58f7490f326abda", + "vendor/pr1297/KERNEL-CONTROLS-extra.json": "cf255deb866ecaefca4b6ecb72f105d6b08dc8ea907a8381d45aedc39b2022cf", + "vendor/pr1297/MANIFEST.json": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "vendor/pr1297/MAPPED-RECIPE.json": "09aca649da97a37116262827cbd3ebe0addcd2b1a33c08e8347f3daf3394176a", + "vendor/pr1297/NATIVE-VALIDATION.json": "755b7087e0ae964c538e9378311e07dba2867c16b568d1bf6ae9051657f9f5cb", + "vendor/pr1297/NOTICE": "b352129a07fc8693f57c77cbb0ea92230b2fa77439f86c9f35b828213f9c42db", + "vendor/pr1297/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/pr1297/PRICE.json": "e19f9f9e70e4fda2bc4a39fae93ea44555945cdaea59728864c5a44dcc5522e6", + "vendor/pr1297/PROFILE.json": "d9bbe0d73ba005749615915a2d884819a6b141e3402d9e7f87f4592a2d27af99", + "vendor/pr1297/README.md": "102ac7f080c1799aaedd5345ffb3631845215e8ab770e2af34750c25f667686d", + "vendor/pr1297/RECIPE-base.json.gz": "0f2db2c658e9732fdd1aeb7bbbb5c786d6045de8a2575b7654b9e6fddc71b03d", + "vendor/pr1297/RECIPE-extra.json.gz": "9e6f58570b0a8f9e8271bfbc73a339fce42f1cf28bf14d4db93f246b8f63a3c9", + "vendor/pr1297/SEARCH-RESULT.json": "7cdacadcbbf83b81f9f91668fcc707f8a238c6025f35a8bdc36758619c2591c4", + "vendor/pr1297/SOURCE-PIN.json": "e93f303f4de383757e50d612ada5e379533d46737a32281aa6879fb4b6138e09", + "vendor/pr1297/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "vendor/pr1297/UPSTREAM-NOTICE.md": "b97fb4731e84aef736c58a9c126334eb5b8d3a057a8d9d45b4ffff24af65c38b", + "vendor/pr1297/VALIDATION.json": "1008f637a22f954ee774920a8362931ca7cfed63ca146e725768c0f39803c0a5", + "vendor/pr1297/audit_mixed.py": "7466461cc15cbb12135d94f2d904d4e90e78cbf4755d0293ab9bd55e3568d4b0", + "vendor/pr1297/build_word.py": "ff08af2851b4813c113ef63113566cbd79625e9310611292913d51be554b5aa9", + "vendor/pr1297/construct.py": "71aff454291d4a35068c43dbb65c00ff511f48e91ab7cdada462833f04ac73e3", + "vendor/pr1297/controls.py": "935cf39ed6601eb6ac411b7b1a4adf5d4238589cad9fd5969d7dca967ace4c4b", + "vendor/pr1297/extra-word.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "vendor/pr1297/freeze_spec.py": "0f5c8ad43180a633a2cbbd11f7832729039402c68f593679552c43a1693d69fa", + "vendor/pr1297/gauge44-word.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "vendor/pr1297/independent_core.py": "d1dcd5593a05cf647b485db38891984f829abea5f95c6cc91e37d554bf163d48", + "vendor/pr1297/inputs/base.json.gz": "b87c706d14a7e1972514ee901002a930908073811ef38761def31c8e36351916", + "vendor/pr1297/inputs/extra.json.gz": "ded6903e00deb9e158fa700b03ccc9b8bfaae6c8bad8ca4842f0ad9b963234ab", + "vendor/pr1297/kernel543_controls.py": "ac16d605e773197e3664643d40b36c15a7130a45e95e36bfe7b42d939644367c", + "vendor/pr1297/kernel_controls.py": "436e3f3d9974da7c1968ef99fdde5ad203a61544d8195493e3150eb25869f4dc", + "vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/premise/inputs/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "vendor/pr1297/premise/premise_check.py": "28a7f881a988b29b8ed3c927dd142ac3d4ee273dedab3a65bb02c01a64eb2639", + "vendor/pr1297/premise/verify_1049.py": "a1736324c6db161733d8e11f608defd87b7f97cacd611203d22499e4c7de5545", + "vendor/pr1297/replay.py": "d3ea7c2e74ff6df9d14969f994eaa85f825372cee92dafb77bec4767edb242e7", + "vendor/pr1297/search_relations.py": "58f3bd092cb8592a070d7879918ff318a658a6fa02bfad7b5b8f4cb0fe16691c", + "vendor/pr1297/upstream-layout.tar.gz": "a0cc229bb0fc9ab8ee5c14d5de87b3de31d1fcb793e99192c9cdc63781e794a0", + "vendor/pr1297/vendor/pr1193/CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "vendor/pr1297/vendor/pr1193/MANIFEST.json": "4837d070679d9e70218c7cfa2d3e70d7d742a5b74dc66d224840b1a3a4ac4a31", + "vendor/pr1297/vendor/pr1193/NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "vendor/pr1297/vendor/pr1193/PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "vendor/pr1297/vendor/pr1193/README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "vendor/pr1297/vendor/pr1193/SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "vendor/pr1297/vendor/pr1193/audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "vendor/pr1297/vendor/pr1193/build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "vendor/pr1297/vendor/pr1193/common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "vendor/pr1297/vendor/pr1193/construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "vendor/pr1297/vendor/pr1193/controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "vendor/pr1297/vendor/pr1193/controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "vendor/pr1297/vendor/pr1193/data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "vendor/pr1297/vendor/pr1193/data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "vendor/pr1297/vendor/pr1193/data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/vendor/pr1193/data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "vendor/pr1297/vendor/pr1193/data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "vendor/pr1297/vendor/pr1193/evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "vendor/pr1297/vendor/pr1193/evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "vendor/pr1297/vendor/pr1193/evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "vendor/pr1297/vendor/pr1193/local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "vendor/pr1297/vendor/pr1193/native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "vendor/pr1297/vendor/pr1193/package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "vendor/pr1297/vendor/pr1193/prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "vendor/pr1297/vendor/pr1193/price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1297/vendor/pr1193/verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29", + "vendor/pr1297/verify.py": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "vendor/pr1297/x54_controls.py": "82f91b81be9173dca546345dbdaddfc71e6d21e626fb84a8b4d1b4ba0d673814", + "vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "vendor/pr1673/capped-phase-fusion/MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "vendor/pr1673/capped-phase-fusion/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json": "298f1eaf79b5d5d57cb96fb3abb422174b78c31c14491a878f6176431d731d04", + "vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "vendor/pr1673/capped-phase-fusion/README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "vendor/pr1673/capped-phase-fusion/VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "vendor/pr1673/capped-phase-fusion/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "vendor/pr1673/capped-phase-fusion/make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "vendor/pr1673/capped-phase-fusion/verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "vendor/pr1786/FINE-PRIME-PADDING.md": "47d1b1b4df28aadda3cd6bdeb1fbc47290595e9208cd09c1a1f338520d33fdce", + "vendor/pr1786/NOTICE.md": "dcc1adb2461aa93ca62b6a912dbd8b215599e6af8053dfbacb7423b544dd659a", + "verify.py": "4dbb80917a2324b5f7bd89485963a009e54db98f99e91469811e1d36101bea95", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_release.py": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800" + }, + "manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "package": "research/gmx-t74-borrow43-handoff", + "repo": "philippeVV/integer-mult-bounds" +} diff --git a/research/replica-tail-gain/vendor/frontier/SOURCE-NOTICE b/research/replica-tail-gain/vendor/frontier/SOURCE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/SOURCE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/replica-tail-gain/vendor/frontier/SOURCES.json b/research/replica-tail-gain/vendor/frontier/SOURCES.json new file mode 100644 index 0000000000..aa59a560ca --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/SOURCES.json @@ -0,0 +1,132 @@ +{ + "schema_version": 1, + "base_commit": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "files": [ + { + "path": "AGENTS.md", + "usage": "provenance", + "git_blob": "00c96932e109c701310f4910057bae2d6cec0c0f", + "sha256": "2d47ee25f6900efa3bac76f66f59cc6d6e077ed1e7301497ab332668ad288d4c" + }, + { + "path": "CONTRIBUTING.md", + "usage": "provenance", + "git_blob": "e51435543687f1bd88ab22248082dc689ce8b853", + "sha256": "df5b5646602f42cb5da5844f04ac925182ddcd0f627b9de1c96a5095bb7a277a" + }, + { + "path": "autoresearch.md", + "usage": "provenance", + "git_blob": "0515a31cd888a18e5830987da12d4051f552c8cc", + "sha256": "e3e85885c27919c4f603954ef25339e9c1be4bd107f829921078b8134b366044" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "889b95d936746df124872133ae1e7cc339adcb92", + "sha256": "7d185cd8c2af35988d638d969748ad7b670f902606444dbfc748e4402c340df6" + }, + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/current-status.md", + "usage": "provenance", + "git_blob": "d73b4ff9da41f044e793422db4318be17e234a6c", + "sha256": "adb54af005eb11edaf84d782fe729338680ff908f6d4fbf39ba1062d2e7d8a77" + }, + { + "path": "research/t74-joint-twelve/README.md", + "usage": "provenance", + "git_blob": "77ab0d3121069a8aa365bf0f6c35ee8e5ac15ac8", + "sha256": "d8501fbc11b3dc87fc618122c83f10a56cd4457c7abdab792e2f9506bab4666e" + }, + { + "path": "research/t74-joint-twelve/CLAIM.json", + "usage": "provenance", + "git_blob": "48ad23a430def28e485ee311ac92828ac9664a0c", + "sha256": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438" + }, + { + "path": "research/t74-joint-twelve/verify.py", + "usage": "provenance", + "git_blob": "bae5b71ecc554b787deab407b1beb394124cf86a", + "sha256": "d97bcc7208abd7e2f6f836c5558dae93e92ebbf6b17b0f413bc6e78ac68d62fc" + }, + { + "path": "research/t74-joint-twelve/independent_owners.py", + "usage": "provenance", + "git_blob": "93270b725a4efd56b283b02f9abf7a5d0e66c55f", + "sha256": "4e0785a659b4a6516581f15476c054de1581aa4b3763ce45b1fd20e45c2bb5af" + }, + { + "path": "research/t74-joint-twelve/workflow/admit.py", + "usage": "provenance", + "git_blob": "4606a5024ee5fe12ecaf18d983f010ebd944acdd", + "sha256": "f0d510b46a5f05b033b13fecb706389ab374b783bd46ef30e7386195d9e56d3e" + }, + { + "path": "research/t74-joint-twelve/generate.py", + "usage": "provenance", + "git_blob": "82ca3d20a5e2fd8c4b67b19e9b9ecd5fca423853", + "sha256": "55d87e7490a7011d881e48f3ab946b7f8b95e0b1b3e91987a8ff8129f18d5869" + }, + { + "path": "research/t74-joint-twelve/packing_cap.py", + "usage": "provenance", + "git_blob": "dd97566afb7ac6686606b50dc644fd14a559d301", + "sha256": "86b768616359b43a4a4fe4135370c7713f9436b5009553bb8e7b984367f54593" + }, + { + "path": "research/t74-joint-twelve/test_integrity.py", + "usage": "provenance", + "git_blob": "73c4e96005f0699a05642dcc39308d4b279e2707", + "sha256": "f2cabdb261761ebfa6f9b6ed2f3aae1a0853c79bc6ddc2808c6e8bbe5b46e68b" + }, + { + "path": "research/t74-joint-twelve/full_replay.py", + "usage": "provenance", + "git_blob": "d9718b8b5b173ab81efaee24c04e5c99b6e70e94", + "sha256": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b" + }, + { + "path": "research/t74-joint-twelve/OVERLAY-PINS.json", + "usage": "provenance", + "git_blob": "ec223bdbe25510166f6bad3bf21d039512dc5177", + "sha256": "c5aab657b189d1324b75c2a35dd21063877229ebfd58b4b64261fdf0e5861e75" + }, + { + "path": "research/t74-joint-twelve/DERIVATIVE-OVERLAY.tar.gz", + "usage": "provenance", + "git_blob": "46f7ce76d81b9c46fde6b0fb204bcad4763e1a87", + "sha256": "16468f7428c6e01522fcb15a8e3040d13de6cb8856428e32dcfbce8dbe46b8ec" + }, + { + "path": "research/t74-joint-twelve/inputs/WORD-base.json.gz", + "usage": "provenance", + "git_blob": "f1fc67a6eaf4bcc5dfa852b448aa2659070fa5f8", + "sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a" + }, + { + "path": "research/t74-joint-twelve/inputs/WORD-extra.json.gz", + "usage": "provenance", + "git_blob": "f06e80c4dddb9741d0051cb85a57d356e673f687", + "sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127" + }, + { + "path": "research/t74-joint-twelve/inputs/PROVIDERS.json", + "usage": "provenance", + "git_blob": "26be26b6d25be67327ae77623c2eaa0a9fe463dc", + "sha256": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66" + }, + { + "path": "research/t74-joint-twelve/inputs/FILL.json.gz", + "usage": "provenance", + "git_blob": "17129e917b31b15625c53181d303b68e17ffed55", + "sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1" + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/TASK.json b/research/replica-tail-gain/vendor/frontier/TASK.json new file mode 100644 index 0000000000..61c622f03f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/TASK.json @@ -0,0 +1,82 @@ +{ + "schema_version": 1, + "task_id": "selected-packing", + "priority_revision": 5, + "base_commit": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "original_card": { + "id": "selected-packing", + "question": "Is there a genuinely unsearched, explicitly bounded improvement to the selected packing?", + "starting_points": [ + "certificates/selected-result.json", + "research/heterogeneous-owner-assembly/README.md", + "research/complex-local-word-ceiling/README.md" + ], + "methods": [ + "Search a named unclaimed canonical candidate domain with a reproducible partition.", + "Prove a stronger scoped relaxation or exact optimum for one named residual subproblem." + ], + "acceptance_gate": "Check live PR overlap first, price both suppliers and distinguish a search best from an optimum. Report the word's packing cap from ceiling.ceiling() and the fraction of it realized; label packing gains as such.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Locate the selected packing source in the review and check live PRs for the same residual problem.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Define an unclaimed canonical domain and a favorable bound before starting a new search.", + "bottleneck_link": "An actual paid-profile gain can improve the frontier up to the other supplier cap.", + "allowed_variations": [ + "One bounded residual packing instance or exact relaxation.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Rerunning an existing search with only a different seed as a separate mathematical contribution." + ], + "overlap_terms": [ + "T16", + "owner exchange", + "packing" + ] + }, + "task_classification": "Explicit coordinator assignment (joint retired-lender / lender assignment on our local retired5 words, every existing hosting movable), not a random card draw.", + "scope_status": "changed", + "actual_scope": "Extended retired-lender census on the retired5 words (PR2751 + five retired-lender aliases) treating every existing B-warp hosting as movable; two hostee moves (warps 30/31: 401->564, 403->565) with exact refits enable two more PR2679-type aliases 667<-401, 669<-403; certified frames; compacted owner fill; complete release through PR2751's own full replay.", + "scope_change_reason": "No retired lender with frame floor <= 5 retires before the four remaining rank-4 followers enter, but 24 hosted lenders do once their hostees move to the two free floor-5 lenders 564/565, which retire before the hostees enter; an exact one-rank refit of those lenders' last gates makes the moves and two more aliases feasible.", + "bottleneck_link": "Removing two more width-5 helpers per call frees 1332 hosted cells as idle 5-remainders while the certified frames merge jumps (local {1:-4,2:+6,3:-6}); the paid moment drops and the complex endpoint rises by 3.86e-7 over retired5 (6.53e-7 over PR2751, 5.38e-7 over PR2766/PR2767).", + "stop_rule": "One explicit pair of hostee moves and two aliases on both providers after an exact augmenting-path census (192 paths, at most two extra aliases); no exhaustive search over other mechanisms claimed. Stop after complete release and handoff.", + "declared_milestone": "Integrated conditional kappa, subject to the inherited all-size/interface/analytic assumptions.", + "obligation_ledger": { + "native_words": "Two new words; fresh five-stage native runs passed; PR2679/PR2751 and retired5 stage controls retained and the new refit7/hostmove2/alias7/refit7c stages carry their own tamper controls (retired7_controls.py).", + "physical_hosting": "Complete literal owner fill (271728 roles, R 408) checked by reconstruct.py and the independent integer-chronology/bit-mask checker.", + "supplier_and_outer": "Discovery/unpin/freeze, strict T74 replay and the package's own verify_release.py passed in the full cold release.", + "inherited": "All universal obligations of PR2751 and its lineage are inherited unchanged." + }, + "family_expansion_decision": "Explicit request to improve the latest pending construction; the retired-lender alias family (PR2679) is extended by an exact refit census on the new words, not reopened unchanged.", + "outcome": "completed", + "evidence": "Full cold release (four fresh native providers, retained parent, complete admission, PASS_RELEASE) and registered hook (seven-stage rebuild, pinned PR2679 auditor on eight states, 142 tamper controls, literal owner fill, exact 1e-24 bracket, 80-digit root, kappa above PR2751, PR2766, PR2767). Evidence in evidence/retired7.", + "author": "Marius-Paul Dumitrean (@mdumitrean)", + "ai_assistance": "Substantial AI assistance (Anthropic Claude, via Claude Code) in the census, augmenting-path search, pricing, stage construction, checker adaptations, certification runs and documentation. No independent human review or formal theorem claimed.", + "open_questions": [ + { + "question": "Can a gate-level (kernel) edit make the rank-1-entrance followers alias-feasible?", + "why_it_matters": "The 48 rank-1 followers are width-8 helpers (about 1e-6 relaxed value each), but every lender's exact frame floor is at least rank 4.", + "first_step": "Price single-gate kernel edits that lower one candidate lender's retirement frame floor below rank 2, with the auditor and native chain.", + "blocked_by": "No retired lender reaches rank <= 1 under any refit of the fixed gate lists." + }, + { + "question": "Can a third free floor-5 lender be opened for followers 670 and 671?", + "why_it_matters": "Each further width-5 alias of this kind priced about +1.9e-7 here.", + "first_step": "Search frame refits or gate moves that lower a free lender's floor to rank 5 with retirement before B941.", + "blocked_by": "Only 564 and 565 are free lenders with floor <= 5; both now host the moved warps." + }, + { + "question": "Do the retired5 and retired7 stages stack with PR2767's post-cut partner correction?", + "why_it_matters": "Both improve PR2751 independently; a stack could add their gains.", + "first_step": "Apply the seven stages to PR2767's words and re-run the census and the certified frames.", + "blocked_by": "PR2767's words differ from PR2751's; the stage inputs are word-specific." + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/VERIFY.json b/research/replica-tail-gain/vendor/frontier/VERIFY.json new file mode 100644 index 0000000000..a4c9fb33d0 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/VERIFY.json @@ -0,0 +1,50 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 300, + "checks": "Literal review: PR2751 construction reproduced, the seven declared stages (retired5 refit5/alias5/refit5c, retired7 refit7/hostmove2/alias7/refit7c) rebuild both candidate words, candidate fill = declared compaction (seven removed helpers), independent symbolic/frame/cleanup checks with six mutations, literal owner fill (R 408) with one mutation, exact adjacent root bracket, claim binding and strict improvement over PR2733, PR2745, PR2751, PR2766 and PR2767." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify_retired7.py" + ], + "timeout_seconds": 300, + "checks": "Seven-stage structure, the pinned PR2679 auditor on all eight states, 142 tamper controls (retired5: lender refit undone by warp frame mismatch, follower raise undone, 35 alias mutations, corrupted certified frame; retired7: new-lender refit undone by warp frame mismatch, 4 controls per hostee move, the PR2679 alias suite per new alias, corrupted certified frame; every mutant re-derives its cleanup and must be rejected for a real reason), literal owner fill (R 408), 80-digit root and kappa = C - 1e-46 - 1e-70 above PR2751, PR2766 and PR2767." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "{package}/packing_cap.py" + ], + "timeout_seconds": 120, + "checks": "Pinned generic coverage-law ceiling and realized fraction for the candidate, not a sharp packing optimum." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/test_integrity.py" + ], + "timeout_seconds": 300, + "checks": "Git-free read-only relocation; altered claim/input and optimized execution refusals." + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/composition.py b/research/replica-tail-gain/vendor/frontier/composition.py new file mode 100644 index 0000000000..bb455e907d --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/composition.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Deterministic PR2673 priority-fill / PR2679 pre-life-word composition. + +No solver and no native execution. Match helper indices in increasing order +within each width queue, delete seven surplus width-4 roles per call, then +compact each physical bin. Helper indices are width-registry positions, not +register identities. Final whole-call geometry is checked separately by both +literal implementations in verify.py; full_replay.py binds actual natives. + +Credit Jeremy Kothe's PR2673 fill and PR2621's priority scheduling idea, +PR2679's pre-life/refit words, PR2588/PR2530 and retained supplier lineage. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import importlib.util +import json +from pathlib import Path +import sys +sys.dont_write_bytecode = True + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def transform(old, new, fill, order, initial_dispatch, words): + """Reconstruct the full candidate and mapping from authenticated inputs.""" + need(set(old) == set(new) == set(words) == {'gauge44', 'extra'}, 'provider identities') + need(len(order) == 666 and len(set(map(tuple, order))) == 666, 'composition call count') + need(len(fill['rows']) == 281052, 'source role count') + dispatch = dict(initial_dispatch) + for s, r, pid in fill['dispatch_overrides']: + need((s, r) in dispatch and pid in new, 'source dispatch override') + dispatch[s, r] = pid + need(set(dispatch) == set(map(tuple, order)), 'source dispatch coverage') + maps, dropped, bindings = {}, {}, {} + for pid in sorted(new): + oldq, newq = defaultdict(list), defaultdict(list) + for i, width in enumerate(old[pid]['widths']): + oldq[width].append(i) + for i, width in enumerate(new[pid]['widths']): + newq[width].append(i) + need(len(old[pid]['widths']) == 422 and len(new[pid]['widths']) == 415, 'old/new helper counts') + need(set(oldq) == set(newq) == {4, 5, 7, 8, 9}, 'width support') + need({w:len(oldq[w])-len(newq[w]) for w in oldq} == {4:7, 5:0, 7:0, 8:0, 9:0}, 'seven surplus width-4 roles') + maps[pid] = {i:j for w in sorted(newq) for i,j in zip(oldq[w], newq[w])} + dropped[pid] = sorted(set(range(422)) - set(maps[pid])) + need(len(maps[pid]) == 415 and set(maps[pid].values()) == set(range(415)), 'new helper bijection') + need(all(old[pid]['widths'][i] == new[pid]['widths'][j] for i,j in maps[pid].items()), 'width-preserving bijection') + need(len(dropped[pid]) == 7 and all(old[pid]['widths'][i] == 4 for i in dropped[pid]), 'deleted widths') + # This binds declared widths/report to the raw word, without claiming + # that reading its report proves the actual native program semantics. + word = words[pid] + remaining = [r for r in range(224, 704) if r not in set(word['removed'])] + final = {int(k):v for k,v in word['helper_final'].items()} + extra = {int(k):v for k,v in word['start_extra'].items()} + actual = [len(final.get(r, range(9))) - len(extra.get(r, [])) for r in remaining] + need(actual == new[pid]['widths'], 'raw-word ordered width binding') + need(word['report']['local_profile'] == new[pid]['actual_paid_profile'], 'raw-word reported profile binding') + bindings[pid] = dict(helpers=len(remaining), + width_inventory=dict(sorted(Counter(actual).items()))) + rows, removed, bins, oldbins, per_call = [], [], defaultdict(list), defaultdict(list), defaultdict(set) + for i, row in enumerate(fill['rows']): + need(len(row) == 6 and all(type(v) is int for v in row), 'source role shape') + t, h, owner, child, port, offset = row + need(0 <= t < 666 and 0 <= h < 422, 'source role bounds') + need(h not in per_call[t], 'source duplicate helper') + per_call[t].add(h) + pid = dispatch[tuple(order[t])] + oldbins[owner, child, port].append(old[pid]['widths'][h]) + if h not in maps[pid]: + removed.append((owner, child, port)) + continue + bins[owner, child, port].append(len(rows)) + rows.append([t, maps[pid][h], owner, child, port, offset]) + need(set(per_call) == set(range(666)) and all(x == set(range(422)) for x in per_call.values()), 'source helper coverage') + need(len(removed) == 4662 and len(set(removed)) == 4662, '4662 distinct affected bins') + need(all(sorted(oldbins[key]) == [4, 9, 9, 9] for key in removed), 'source deletion-bin patterns') + for indices in bins.values(): + offset = 0 + for i in sorted(indices, key=lambda j:rows[j][5]): + row = rows[i] + row[5] = offset + offset += new[dispatch[tuple(order[row[0]])]]['widths'][row[1]] + need(len(rows) == 276390, 'composed role count') + candidate = dict(fill, rows=rows) + mapping = dict(keep_maps=maps, dropped=dropped) + report = dict(status='PASS_DETERMINISTIC_WIDTH_QUEUE_COMPOSITION', removed_roles=4662, + affected_bins=4662, source_bin_widths=[4, 9, 9, 9], remaining_bin_widths=[9, 9, 9], + roles=len(rows), calls=666, helpers_per_call=415, width_bindings=bindings, + fill_canonical_sha256=hashlib.sha256(canonical(candidate)).hexdigest()) + return candidate, mapping, report + + +def check(data): + obj = data['objects'] + original_order = obj['source/pr2673/ORDER.json'] + initial = {(s,r):p for s,r,p in obj['source/pr2673/DISPATCH.json.gz']} + need(initial == data['dispatch'], 'unchanged source dispatch') + candidate, mapping, report = transform( + obj['source/pr2673/PROVIDERS.json'], data['providers'], + obj['source/pr2673/FILL.json.gz'], original_order, initial, + {'gauge44':obj['source/pr2679/WORD-base.json.gz'], 'extra':obj['source/pr2679/WORD-extra.json.gz']}) + need(data['candidate_order'] == original_order, 'unchanged priority order') + need(candidate == data['candidate_fill'], 'complete deterministic candidate equality') + need(json.loads(canonical(mapping)) == obj['candidate/MAPPING.json'], 'complete deterministic mapping equality') + report['mapping_canonical_sha256'] = hashlib.sha256(canonical(json.loads(canonical(mapping)))).hexdigest() + return report diff --git a/research/replica-tail-gain/vendor/frontier/evidence/ADMISSION.json b/research/replica-tail-gain/vendor/frontier/evidence/ADMISSION.json new file mode 100644 index 0000000000..df8d10716f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/ADMISSION.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "1717141586348426338109/1000000000000000000000000", + "fill_sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "gain": "6257252193655137/6250000000000000000000", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "native_receipt_sha256": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "32": 1, + "4": 79920, + "48": 26558, + "5": 22532, + "8": 5328 + }, + "release_receipt_sha256": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/reconstruct.py", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/owners" + ], + "exit_code": 0, + "log_sha256": "ea77455da769b04c89d99695cb56a77c635a8ff46c760b826bf79e9689baa3db", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 7.02489157000673 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/lift_parent.py", + "--owners", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/owners", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 10.359581939002965 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/new/rebind.py", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "2bebde6c85961ee26457f1a7d2fe6e6672a95aeebcd81194c7ecf30804f6346b", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.542834171996219 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/layout/packing74/replay.py", + "--data", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/layout/packing74/candidate", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/discovery", + "--local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "7259104fe82131c1dd33d27a26f074197ddae0190425675ba761a62c8155de98", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 117.20071977899352 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "b148cd9ee46327427df78e9e351d4d7144b62dc180fae092d82c8e51bf62b2cd", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.08087540300039109 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "edfd0610e9edc82ff330651fed281fb6e5f3b8dec5a3e48feea760009ae3c21a", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.07375459698960185 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/verify_release.py", + "--main", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/source-fixed", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/release", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "94711a507533c0e2cb36f1f9fb66dfb4f06957aa76f4f83b667e1e4e5260661f", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 395.8588478729944 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/INDEPENDENT.json b/research/replica-tail-gain/vendor/frontier/evidence/INDEPENDENT.json new file mode 100644 index 0000000000..750227462f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/INDEPENDENT.json @@ -0,0 +1,662 @@ +{ + "source_checker_sha256": "ab384bca6be86e5cef39b88c313113a33b4c225534f833d8fcd97b9de58cfd53", + "providers": { + "base": { + "profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "section_profiles": { + "A": { + "1": 924, + "2": 24, + "4": 56 + }, + "cut": { + "8": 8 + }, + "B": { + "1": 1078, + "2": 510, + "4": 64, + "3": 226, + "5": 26 + }, + "restore": { + "1": 47, + "2": 38, + "3": 8 + }, + "ends": { + "1": 317, + "2": 74, + "3": 63 + } + }, + "inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "center_paths": [ + { + "center": 92, + "start_rank": 8, + "target_offsets": [ + 12, + 100, + 103, + 17, + 72, + 94, + 70, + 62, + 101, + 54, + 18, + 40, + 0, + 57, + 98, + 48, + 45, + 107, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 57, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 72, + 94, + 70, + 62, + 83, + 73, + 59, + 30, + 0, + 57, + 80, + 67, + 8, + 95, + 68, + 5, + 96, + 64 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 81, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 12, + 100, + 103, + 17, + 101, + 54, + 18, + 40, + 83, + 73, + 59, + 30, + 27, + 7, + 13, + 16, + 15, + 42 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 224, + "start_rank": 8, + "target_offsets": [ + 27, + 7, + 98, + 48, + 45, + 107, + 80, + 67, + 8, + 95, + 13, + 16, + 15, + 42, + 68, + 5, + 96, + 64, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 11, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 56, + 31, + 38, + 77, + 91, + 10, + 36, + 20, + 32, + 85, + 24, + 35, + 3, + 88, + 66, + 26, + 53, + 105 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 240, + "start_rank": 8, + "target_offsets": [ + 91, + 10, + 102, + 55, + 19, + 39, + 84, + 74, + 60, + 29, + 36, + 20, + 53, + 105, + 69, + 4, + 97, + 65, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 9, + "start_rank": 8, + "target_offsets": [ + 56, + 31, + 38, + 77, + 89, + 79, + 84, + 74, + 60, + 29, + 111, + 46, + 3, + 88, + 66, + 26, + 51, + 44, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 256, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 89, + 79, + 102, + 55, + 19, + 39, + 111, + 46, + 32, + 85, + 24, + 35, + 51, + 44, + 69, + 4, + 97, + 65 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + } + ], + "cleanup": 4540, + "algebra": { + "forward": "PASS", + "dual": "PASS" + }, + "rejecting_controls": [ + "drop_anticipatory", + "reverse_anticipatory", + "drop_source_restoration" + ] + }, + "extra": { + "profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "section_profiles": { + "A": { + "1": 924, + "2": 24, + "4": 56 + }, + "cut": { + "8": 8 + }, + "B": { + "1": 1078, + "2": 510, + "4": 64, + "3": 226, + "5": 26 + }, + "restore": { + "1": 47, + "2": 38, + "3": 8 + }, + "ends": { + "1": 317, + "2": 74, + "3": 63 + } + }, + "inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "center_paths": [ + { + "center": 92, + "start_rank": 8, + "target_offsets": [ + 12, + 100, + 103, + 17, + 72, + 94, + 70, + 62, + 101, + 54, + 18, + 40, + 0, + 57, + 98, + 48, + 45, + 107, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 57, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 72, + 94, + 70, + 62, + 83, + 73, + 59, + 30, + 0, + 57, + 80, + 67, + 8, + 95, + 68, + 5, + 96, + 64 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 81, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 12, + 100, + 103, + 17, + 101, + 54, + 18, + 40, + 83, + 73, + 59, + 30, + 27, + 7, + 13, + 16, + 15, + 42 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 224, + "start_rank": 8, + "target_offsets": [ + 27, + 7, + 98, + 48, + 45, + 107, + 80, + 67, + 8, + 95, + 13, + 16, + 15, + 42, + 68, + 5, + 96, + 64, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 11, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 56, + 31, + 38, + 77, + 91, + 10, + 36, + 20, + 32, + 85, + 24, + 35, + 3, + 88, + 66, + 26, + 53, + 105 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 240, + "start_rank": 8, + "target_offsets": [ + 91, + 10, + 102, + 55, + 19, + 39, + 84, + 74, + 60, + 29, + 36, + 20, + 53, + 105, + 69, + 4, + 97, + 65, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 9, + "start_rank": 8, + "target_offsets": [ + 56, + 31, + 38, + 77, + 89, + 79, + 84, + 74, + 60, + 29, + 111, + 46, + 3, + 88, + 66, + 26, + 51, + 44, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 256, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 89, + 79, + 102, + 55, + 19, + 39, + 111, + 46, + 32, + 85, + 24, + 35, + 51, + 44, + 69, + 4, + 97, + 65 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + } + ], + "cleanup": 4540, + "algebra": { + "forward": "PASS", + "dual": "PASS" + }, + "rejecting_controls": [ + "drop_anticipatory", + "reverse_anticipatory", + "drop_source_restoration" + ] + } + }, + "status": "PASS_INDEPENDENT_LOCAL_COMPOSITION_WITH_CONTROLS" +} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-BASE.json b/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-BASE.json new file mode 100644 index 0000000000..fd79ad2f2a --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-BASE.json @@ -0,0 +1,27 @@ +[ + { + "step": "native", + "exit_code": 0, + "seconds": 1.093574318991159 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.2534982020006282 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 36.74402106899652 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 6.469144934992073 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 284.8359740910091 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-EXTRA.json b/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-EXTRA.json new file mode 100644 index 0000000000..930bbf3cd1 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/NATIVE-EXTRA.json @@ -0,0 +1,27 @@ +[ + { + "step": "native", + "exit_code": 0, + "seconds": 1.1837458390073152 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.2502824249968398 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 38.17951157900097 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 6.418584338010987 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 281.4837235180021 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/OWNERS.json b/research/replica-tail-gain/vendor/frontier/evidence/OWNERS.json new file mode 100644 index 0000000000..00ff9fe9e4 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/OWNERS.json @@ -0,0 +1,26 @@ +{ + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 276390, + "calls": 666, + "helpers_per_call": 415, + "windows": 1332, + "window_sha256": "d301aa0d102381aecc3dd746c424d55ea6f4ade9f87b833c8db6d643e205c846", + "idle": { + "1": 17316, + "3": 6594, + "5": 5216, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512 +} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PACKING-CAP.json b/research/replica-tail-gain/vendor/frontier/evidence/PACKING-CAP.json new file mode 100644 index 0000000000..e304fa1a3a --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PACKING-CAP.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FIXED_WORD_PACKING_CEILING", + "source_sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "local_per_call": { + "1": "2366", + "2": "646", + "3": "297", + "4": "120", + "5": "26", + "8": "8" + }, + "dimension": 73, + "families": 896, + "stages": 9, + "centre_rank_per_call": 64, + "max_idle_rank": 51, + "complex_cap_bracket": [ + "1750373331783/1000000000000000", + "218796666473/125000000000000" + ], + "complex_cap_upper_decimal": "0.001750373331784", + "realized_fraction_lower": "1717141586348426338109/1750373331784000000000", + "realized_fraction_decimal": "0.98101448140683022362961556380933079811273967260851", + "scope": "Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PR2733-CLAIM.json b/research/replica-tail-gain/vendor/frontier/evidence/PR2733-CLAIM.json new file mode 100644 index 0000000000..e97166d501 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PR2733-CLAIM.json @@ -0,0 +1,75 @@ +{ + "status": "PASS_COMPLETE_CONDITIONAL_COMPOSITION", + "kappa": "17161404259974415161889999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017161404259974415161889999999999999999999998999999999999999999999999", + "complex_lower": "1716140425997441516189/1000000000000000000000000", + "complex_upper": "171614042599744151619/100000000000000000000000", + "global_profile": { + "1": 1595736, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "7": 2664, + "8": 2664, + "32": 1, + "48": 26558 + }, + "local_profile": { + "1": 2370, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 4, + "8": 4 + }, + "comparison": { + "pr": 2696, + "head": "5a42add713e09a8798a84d0be7a8276626d9e785", + "kappa": "1715599770234969498857/1000000000000000000000000" + }, + "gain": "5406557624720173319999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "gain_percent": "0.0315140962275816123491750493328909085601430052934617650373906", + "helpers": 415, + "calls": 666, + "roles": 276390, + "private_zero_buffers": 72, + "live": 66304, + "physical": 66801, + "rank_mass": 4816512, + "full_receipt": "evidence/full/RESULT.json", + "full_receipt_sha256": "5fdf5db9538e113011ed8f9a6b824658fa21e0444f51e9256521d0c9ad585c68", + "source2679_head": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "source2679_manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "source2696_head": "5a42add713e09a8798a84d0be7a8276626d9e785", + "candidate_manifest_sha256": "f9b8b8cbed9e55b32d821c50ab76fef0afb1466f29d11204254fb50d2533e680", + "coverage": { + "current_stages": 18, + "retained_parent_stages": 18, + "strict_steps": 8, + "supplier_inequalities": 47, + "modern_inequalities": 63, + "modern_negative_controls": 17, + "evidence_replays": 19, + "admission_controls": 114, + "bit_controls": 12, + "current_controller_mutations": 25, + "independent_owner_controls": 8, + "geometry_controls": 6, + "prelife_mutations_per_provider": 78, + "alias_mutations_per_provider": 7, + "native_recipe_mutations_per_provider": 13, + "dirty_columns_each_orientation": 639, + "native_operator_count": 65, + "native_physical_classes": 166, + "native_columns_per_class": 512, + "ordinary_sufficient_stages": 37 + }, + "native_and_parent_receipt_reuse": false, + "inherited_parent_geometry_reuse": true, + "selected_main_changed": false, + "human_review": false, + "proof_assistant_verified": false, + "scope": "Finite conditional construction and exact outer inequalities; inherited all-size, machine, analytic and bit assumptions remain." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PR2745-CLAIM.json b/research/replica-tail-gain/vendor/frontier/evidence/PR2745-CLAIM.json new file mode 100644 index 0000000000..abec1247c3 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PR2745-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017161404259974415161896013041594543449983294017148473346276661102545764922636862044436515522027985344855150098983775041629263547163125251675447485565747834806239987578441798524484107323821701155622513700644347867401071725594568449315612515905509495884766777581839230346402338825584407497351281622158523841356428865401099338720394236958852711790336260146409872571430665117721061110787229662189541453346975519235175074214477852592724575176166998622326679703333110937366407386120214229951631808518138363267905219813176599566097495754886721517267608875850230494908103506213162350791792331441348765518613305970280449654319065477042690202246342215539071518651408763289495785152089370669825080936842027153325568738439807598194885970251801409980086488948376188447193890829832107433406905825705915805396663182725240672176836077304022063208695113974303331915673309845548803340773541582855377159749875816944631212718991851923170152142435905798890231819219511903192222342830815515007978720397740590172699682116121332914982675237191807778248656942621543376826831174051827492854427715467348053277451337090533404165485527518485679836878102147066380869160639898847390703384489759823584393568428907697605006663034567580331614359947761732591931622309384133441737507681841821011957259754052851823112401129848773767009687002041129258012185486237367939005884767039702540144053399361647325610251525609642619783749057193121726684680919138377929721804998916785273913752644037950482372045322071573538992195433777074257109555074353721999902013276517157169940561568178386620728836049772478450854453389987158727572804602321996019260738152156757161348267887911191286780813615476385696509733698463920053360075825699816566817800871673208690336294749647427947527499679407036440023012434171281046642426063654970939957181652265529443590787097461531801386011463743969975862780264085637768256289418782679823530263960075114664371507347732276812969864267561045514124389130733313432877811559115885025512526570171968931566958796992173385070063858597422249224774059391355832669440787433006251720806671766291989349470710554806666610191428287150962949669966874896220499275076889892936459607089678667559585864417586998756676345103422137383436139164074064413916005285172972434222534980758037678651337185451875937225517472532035922749947894047044307464181536443210914044182443803479301179986710313174104876273478382938568847726302351705419077804666452283789684993513210200088330639281177607666875663921738211690621348879356694620400978434606801942412927215162093602305185615637438642656133240614451101846652516809817309035289035489847973460879066277497551043498065469308439704045371771254463714675858553654131998769759361591778931496023325741201834604057378735990243836231494186018058285686722518542636221903820347998951060107655579200518923393481166710944469301744664814911217117960681084006650202202241059630268904883784070678343948707778708019904797605161781920696887549836082383733184920473162729765214804978776850316187016051529352187958399999999999999999999998999999999999999999999999", + "kappa_rational": "17161404259974415161896013041594543449983294017148473346276661102545764922636862044436515522027985344855150098983775041629263547163125251675447485565747834806239987578441798524484107323821701155622513700644347867401071725594568449315612515905509495884766777581839230346402338825584407497351281622158523841356428865401099338720394236958852711790336260146409872571430665117721061110787229662189541453346975519235175074214477852592724575176166998622326679703333110937366407386120214229951631808518138363267905219813176599566097495754886721517267608875850230494908103506213162350791792331441348765518613305970280449654319065477042690202246342215539071518651408763289495785152089370669825080936842027153325568738439807598194885970251801409980086488948376188447193890829832107433406905825705915805396663182725240672176836077304022063208695113974303331915673309845548803340773541582855377159749875816944631212718991851923170152142435905798890231819219511903192222342830815515007978720397740590172699682116121332914982675237191807778248656942621543376826831174051827492854427715467348053277451337090533404165485527518485679836878102147066380869160639898847390703384489759823584393568428907697605006663034567580331614359947761732591931622309384133441737507681841821011957259754052851823112401129848773767009687002041129258012185486237367939005884767039702540144053399361647325610251525609642619783749057193121726684680919138377929721804998916785273913752644037950482372045322071573538992195433777074257109555074353721999902013276517157169940561568178386620728836049772478450854453389987158727572804602321996019260738152156757161348267887911191286780813615476385696509733698463920053360075825699816566817800871673208690336294749647427947527499679407036440023012434171281046642426063654970939957181652265529443590787097461531801386011463743969975862780264085637768256289418782679823530263960075114664371507347732276812969864267561045514124389130733313432877811559115885025512526570171968931566958796992173385070063858597422249224774059391355832669440787433006251720806671766291989349470710554806666610191428287150962949669966874896220499275076889892936459607089678667559585864417586998756676345103422137383436139164074064413916005285172972434222534980758037678651337185451875937225517472532035922749947894047044307464181536443210914044182443803479301179986710313174104876273478382938568847726302351705419077804666452283789684993513210200088330639281177607666875663921738211690621348879356694620400978434606801942412927215162093602305185615637438642656133240614451101846652516809817309035289035489847973460879066277497551043498065469308439704045371771254463714675858553654131998769759361591778931496023325741201834604057378735990243836231494186018058285686722518542636221903820347998951060107655579200518923393481166710944469301744664814911217117960681084006650202202241059630268904883784070678343948707778708019904797605161781920696887549836082383733184920473162729765214804978776850316187016051529352187958399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PR2751-CLAIM.json b/research/replica-tail-gain/vendor/frontier/evidence/PR2751-CLAIM.json new file mode 100644 index 0000000000..48ad23a430 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PR2751-CLAIM.json @@ -0,0 +1,24 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717141586348426338109", + "complex_upper": "0.001717141586348426338110", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": 2733, + "comparison_head": "2761b52b17590b8cf94f2e410004a8252d5592dc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2745, + "head": "4f485de05544884fa0f2edf6063bb9259decad30", + "exact_claim": "evidence/PR2745-CLAIM.json" + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PR2766-CLAIM.json b/research/replica-tail-gain/vendor/frontier/evidence/PR2766-CLAIM.json new file mode 100644 index 0000000000..d352e67b80 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PR2766-CLAIM.json @@ -0,0 +1,26 @@ +{ + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA", + "complex_lower": "0.001717256973467002308270", + "complex_upper": "0.001717256973467002308271", + "kappa": "17172569734670023082699999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017172569734670023082699999999999999999999998999999999999999999999999", + "profile": { + "1": 1591740, + "2": 430902, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": 2751, + "comparison_head": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "comparison_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "absolute_gain": "115387118575970161/1000000000000000000000000", + "relative_gain": "1153871185759701610000000000000000000000000000000000000000000000/17171415863484263381089999999999999999999998999999999999999999999999", + "relative_gain_percent_decimal": "0.006719720697076920262999344663512072867487887126182086416724216655132904", + "credited_refit_pr": 2733, + "credited_refit_head": "a63c55ff56aaa8645d64d1162d1f017b59ded42a", + "scope": "New composition of the credited PR2733 frame refit with PR2751 joint twelve-source recovery. Complete finite native, supplier and modern outer release passed; inherited universal hypotheses and selected frontier unchanged." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json b/research/replica-tail-gain/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json new file mode 100644 index 0000000000..2bb218a750 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999", + "kappa_rational": "17172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/PUBLIC-WRAPPER.json b/research/replica-tail-gain/vendor/frontier/evidence/PUBLIC-WRAPPER.json new file mode 100644 index 0000000000..e705eabcff --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/PUBLIC-WRAPPER.json @@ -0,0 +1,221 @@ +{ + "cold_seconds": 543.6799636979995, + "cold_stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/verify.py" + ], + "exit_code": 0, + "log_sha256": "fdbe439b439749750ed8d662d003744807c114453487bc07699dd997bbeb3786", + "name": "literal-review", + "script_sha256": "3dfcdde58f1695878668f140efc512fc06c2a30c70c78b65334a15e81844f213", + "seconds": 8.92684423099854 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/workflow/admit.py", + "--source", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/source", + "--fill", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/inputs/FILL.json.gz", + "--order", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/inputs/ORDER.json", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache", + "--native-receipt", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/NATIVE-RECEIPT.json", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "77e1a3852e31ca96cc7b7050bfe6f4876bb74db16aa8bbb901c92872344cd014", + "name": "complete-admission", + "script_sha256": "f0d510b46a5f05b033b13fecb706389ab374b783bd46ef30e7386195d9e56d3e", + "seconds": 534.4106610509916 + } + ], + "complex_lower": "1717141586348426338109/1000000000000000000000000", + "environment": { + "executable": "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.5.4", + "scipy": "1.18.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": true, + "fill_sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "gain": "6257252193655137/6250000000000000000000", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "native_receipt_sha256": "c2559bc69911798aeb62a49aef185c0aaf28e48ad2b08041b76ee8478d27dd5c", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "32": 1, + "4": 79920, + "48": 26558, + "5": 22532, + "8": 5328 + }, + "release_receipt_sha256": "7e6114c63c133769c21ea79bb13a5cd96fe6ba0ef6a9389ea91ed1f1d206a5a4", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/reconstruct.py", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/owners" + ], + "exit_code": 0, + "log_sha256": "ea77455da769b04c89d99695cb56a77c635a8ff46c760b826bf79e9689baa3db", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 7.053403829995659 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/lift_parent.py", + "--owners", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/owners", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 10.136882726001204 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/new/rebind.py", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "2bebde6c85961ee26457f1a7d2fe6e6672a95aeebcd81194c7ecf30804f6346b", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.5739846880023833 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/layout/packing74/replay.py", + "--data", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/layout/packing74/candidate", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/discovery", + "--local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "7259104fe82131c1dd33d27a26f074197ddae0190425675ba761a62c8155de98", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 116.71028798099724 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "b148cd9ee46327427df78e9e351d4d7144b62dc180fae092d82c8e51bf62b2cd", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.07842145599715877 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "edfd0610e9edc82ff330651fed281fb6e5f3b8dec5a3e48feea760009ae3c21a", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.05850559000100475 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/verify_release.py", + "--main", + "/home/zoe/MP/maths/mult/t74-joint12-experiment", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/release", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "94711a507533c0e2cb36f1f9fb66dfb4f06957aa76f4f83b667e1e4e5260661f", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 397.45473003099323 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/RELEASE.json b/research/replica-tail-gain/vendor/frontier/evidence/RELEASE.json new file mode 100644 index 0000000000..e44dc7c69b --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/RELEASE.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 1717141586348426338109/1000000... brackets the ledger's b = 171714158634842633810899999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017171415863484263381089999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 395.76 +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json new file mode 100644 index 0000000000..51fc187607 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "214676164541936455431/125000000000000000000000", + "fill_sha256": "3501f6bd9d56d9da9fdc912d957d08077434525a804bb647df1e630fc30b6a3f", + "gain": "1268890338050127259/1000000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "native_receipt_sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "release_receipt_sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json new file mode 100644 index 0000000000..a5d5bc1130 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json @@ -0,0 +1,111 @@ +[ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/CERT2751.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CERT2751.json new file mode 100644 index 0000000000..dde7a0f3d0 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CERT2751.json @@ -0,0 +1,199 @@ +{ + "target": "PR2751 (tekuuu, head 4cfbb0cc) words + five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "census": { + "followers": 57, + "lenders": 409, + "live_pairs": 3747, + "fixed_ok": 0, + "refit_ok": 35, + "helpers": [ + 606, + 635, + 637, + 638, + 639 + ], + "lenders_ok": [ + 550, + 551, + 552, + 553, + 562, + 564, + 565 + ] + }, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "literal_fill": { + "checkers": [ + "PR2745-package reconstruct.py + lift_parent.py (construction run)", + "independent_owners.py (R 410) in verify.py and verify_retired5.py", + "reconstruct.py inside the complete admission" + ], + "root80": "0.0017174093163354916434484584775411722292820274055897657035793607344277615998944" + }, + "stages": [ + { + "stage": "literal-review", + "exit_code": 0, + "seconds": 3.1 + }, + { + "stage": "native-extra", + "exit_code": 0, + "seconds": 105.6 + }, + { + "stage": "native-base", + "exit_code": 0, + "seconds": 106.5 + }, + { + "stage": "native-retained-base", + "exit_code": 0, + "seconds": 86.9 + }, + { + "stage": "native-retained-extra", + "exit_code": 0, + "seconds": 87.1 + }, + { + "stage": "retained-parent", + "exit_code": 0, + "seconds": 67.4 + }, + { + "stage": "complete-admission", + "exit_code": 0, + "seconds": 209.5 + }, + { + "stage": "admission:owners", + "exit_code": 0, + "seconds": 2.6 + }, + { + "stage": "admission:parent-lift", + "exit_code": 0, + "seconds": 3.4 + }, + { + "stage": "admission:rebind", + "exit_code": 0, + "seconds": 0.5 + }, + { + "stage": "admission:discovery", + "exit_code": 0, + "seconds": 42.9 + }, + { + "stage": "admission:outer-check_ledger.py", + "exit_code": 0, + "seconds": 0.0 + }, + { + "stage": "admission:outer-independent_check.py", + "exit_code": 0, + "seconds": 0.0 + }, + { + "stage": "admission:release", + "exit_code": 0, + "seconds": 159.6 + }, + { + "stage": "release:verify:fine-engine-oracle", + "exit_code": 0 + }, + { + "stage": "release:verify:retained-provider-and-parent-admission", + "exit_code": 0 + }, + { + "stage": "release:verify:rebuild-words-566", + "exit_code": 0 + }, + { + "stage": "release:verify:reconstruct-owners", + "exit_code": 0 + }, + { + "stage": "release:verify:lift-parent", + "exit_code": 0 + }, + { + "stage": "release:verify:rebuild-borrow-words", + "exit_code": 0 + }, + { + "stage": "release:verify:audit-local-566-base", + "exit_code": 0 + }, + { + "stage": "release:verify:audit-local-566-extra", + "exit_code": 0 + }, + { + "stage": "release:verify:rebind-566", + "exit_code": 0 + }, + { + "stage": "release:verify:lemmag-labels", + "exit_code": 0 + }, + { + "stage": "release:verify:strict-t74", + "exit_code": 0 + }, + { + "stage": "release:verify:geometry-controls", + "exit_code": 0 + } + ], + "result": { + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE", + "release": "PASS_RELEASE", + "complex_lower": "214676164541936455431/125000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "precision": "endpoint certified at 1e-24 (accept at C, reject at C+1e-24); kappa = C - 1e-46 - 1e-70 exactly", + "margins": { + "PR2751": "267729987065305339/1000000000000000000000000", + "PR2766": "76171434244667589/500000000000000000000000", + "PR2767": "1.5234286848933516942947e-07" + }, + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "cold_seconds": 473.9 + }, + "package": { + "path": "research/t74-joint-twelve-retired5", + "overlay_sha256": "4305a3b9e98145d00417ae1b27caa4d9c7eed263a29ad52389fa5ffd33714ef0", + "derived_manifest": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "claim_sha256": "405e5840859b64209687b2c58d0097d9bbbdc0e007da88d91a001ccd093a79f1" + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json new file mode 100644 index 0000000000..9785264a78 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json @@ -0,0 +1,180 @@ +{ + "all_rejected": true, + "controls": { + "606<-550 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 63", + "real_reason": true + }, + "606<-550 warp dropped": { + "rejected": true, + "reason": "frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "real_reason": true + }, + "606<-550 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "606<-550 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "real_reason": true + }, + "606 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "635<-551 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 warp dropped": { + "rejected": true, + "reason": "frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "635<-551 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "635<-551 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "real_reason": true + }, + "635 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "637<-552 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 35", + "real_reason": true + }, + "637<-552 warp dropped": { + "rejected": true, + "reason": "frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "637<-552 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "637<-552 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "real_reason": true + }, + "637 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "638<-553 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "638<-553 warp dropped": { + "rejected": true, + "reason": "frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "638<-553 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "638<-553 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "real_reason": true + }, + "638 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "639<-562 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "639<-562 warp dropped": { + "rejected": true, + "reason": "frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "639<-562 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "639<-562 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "real_reason": true + }, + "639 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json new file mode 100644 index 0000000000..9785264a78 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json @@ -0,0 +1,180 @@ +{ + "all_rejected": true, + "controls": { + "606<-550 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 63", + "real_reason": true + }, + "606<-550 warp dropped": { + "rejected": true, + "reason": "frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "real_reason": true + }, + "606<-550 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "606<-550 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "real_reason": true + }, + "606 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "635<-551 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 warp dropped": { + "rejected": true, + "reason": "frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "635<-551 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "635<-551 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "real_reason": true + }, + "635 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "637<-552 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 35", + "real_reason": true + }, + "637<-552 warp dropped": { + "rejected": true, + "reason": "frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "637<-552 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "637<-552 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "real_reason": true + }, + "637 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "638<-553 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "638<-553 warp dropped": { + "rejected": true, + "reason": "frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "638<-553 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "638<-553 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "real_reason": true + }, + "638 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "639<-562 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "639<-562 warp dropped": { + "rejected": true, + "reason": "frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "639<-562 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "639<-562 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "real_reason": true + }, + "639 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json new file mode 100644 index 0000000000..d276ca96c5 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json @@ -0,0 +1,295 @@ +{ + "cold_seconds": 473.86783904209733, + "cold_stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/verify.py" + ], + "exit_code": 0, + "log_sha256": "f29e2b1e3f365895dbbb150a0c809a8fa8f6bd31fefe2a95d156b9ab38b1d1ac", + "name": "literal-review", + "script_sha256": "9e2255942bf283cc7402f3f2dfe9b1068004d83e54aa093680697bce5fa002e4", + "seconds": 3.138666331768036 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + ], + "exit_code": 0, + "log_sha256": "d4978b408406e14a9589e8f130cafe93ca108c61e7a1988021582d627e9ecd88", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 105.63651245832443 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + ], + "exit_code": 0, + "log_sha256": "e46f44d5369c79f4b7479bc9834993bf11a8c0a2c6c04ad6c354e4ed149533fc", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 106.45441208221018 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/gauge44-word.json.gz", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 86.9097792096436 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/extra-word.json.gz", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 87.08368291519582 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/vendor/pr1297/verify.py", + "--work", + "$WORK/retained-parent", + "--base-native-from", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 67.37584125064313 + }, + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/workflow/admit.py", + "--source", + "$WORK/source", + "--fill", + "$PACKAGE/inputs/FILL.json.gz", + "--order", + "$PACKAGE/inputs/ORDER.json", + "--native-cache", + "$WORK/native-cache", + "--native-receipt", + "$WORK/NATIVE-RECEIPT.json", + "--work", + "$WORK/admission", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "78e003fec9be06b771f97b231364c81db916f005cd61b3e4676375b18b3d42d8", + "name": "complete-admission", + "script_sha256": "68c8eda7343ba8119cfe98f464aeaf27ba61d913a2088ac4aaa74ac3b1a26ea8", + "seconds": 209.51657162606716 + } + ], + "complex_lower": "214676164541936455431/125000000000000000000000", + "environment": { + "executable": "$PYTHON", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.4.4", + "scipy": "1.17.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": false, + "fill_sha256": "3501f6bd9d56d9da9fdc912d957d08077434525a804bb647df1e630fc30b6a3f", + "gain": "1268890338050127259/1000000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "native_receipt_sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "release_receipt_sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json new file mode 100644 index 0000000000..384e4a8a7e --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json @@ -0,0 +1,114 @@ +[ + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/verify.py" + ], + "exit_code": 0, + "log_sha256": "f29e2b1e3f365895dbbb150a0c809a8fa8f6bd31fefe2a95d156b9ab38b1d1ac", + "name": "literal-review", + "script_sha256": "9e2255942bf283cc7402f3f2dfe9b1068004d83e54aa093680697bce5fa002e4", + "seconds": 3.138666331768036 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + ], + "exit_code": 0, + "log_sha256": "d4978b408406e14a9589e8f130cafe93ca108c61e7a1988021582d627e9ecd88", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 105.63651245832443 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + ], + "exit_code": 0, + "log_sha256": "e46f44d5369c79f4b7479bc9834993bf11a8c0a2c6c04ad6c354e4ed149533fc", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 106.45441208221018 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/gauge44-word.json.gz", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 86.9097792096436 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/extra-word.json.gz", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 87.08368291519582 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/vendor/pr1297/verify.py", + "--work", + "$WORK/retained-parent", + "--base-native-from", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 67.37584125064313 + }, + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/workflow/admit.py", + "--source", + "$WORK/source", + "--fill", + "$PACKAGE/inputs/FILL.json.gz", + "--order", + "$PACKAGE/inputs/ORDER.json", + "--native-cache", + "$WORK/native-cache", + "--native-receipt", + "$WORK/NATIVE-RECEIPT.json", + "--work", + "$WORK/admission", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "78e003fec9be06b771f97b231364c81db916f005cd61b3e4676375b18b3d42d8", + "name": "complete-admission", + "script_sha256": "68c8eda7343ba8119cfe98f464aeaf27ba61d913a2088ac4aaa74ac3b1a26ea8", + "seconds": 209.51657162606716 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/GENERATE-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired5/GENERATE-LOG.txt new file mode 100644 index 0000000000..58bf5e8244 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/GENERATE-LOG.txt @@ -0,0 +1,270 @@ +wrote $OUT/gen-out2/canonical-base.json.gz 1901 4504 42 78 +BUILT base newops 12 targets {126: [45], 153: [45], 218: [45], 164: [45], 133: [45], 149: [45], 222: [45], 159: [45], 155: [45], 190: [45], 216: [45], 211: [45]} file $OUT/gen-out2/joint/eight-alias-base.json.gz +warps 58 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 646 independent inputs +free-algebra dual PASS 646 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "eight-alias-base.json.gz", + "content_sha256": "3b3f4257310076afeb608d249a1b070ea256c6764a2a865b533876873d4d2f25", + "compressed_sha256": "fe6107728d9534ea7514c01ad1c055ed5ef281eb6f1636c3c51345e532517065", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2359, + "2": 632, + "3": 318, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.35123725049197674, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 65 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 639 independent inputs +free-algebra dual PASS 639 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-base.json.gz", + "content_sha256": "f5dc7b45551de05ac239bab283dd6b73c365c7f1a132d480c70d878eb9a41de1", + "compressed_sha256": "675cd7471865da6e762af662d0aad46c73751051a2451d4aa52bc675ea79ed89", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 65, + "independent_inputs": 639, + "warps": 65, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 133, + "local_profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5223, + "width_inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 639, + "elapsed_seconds": 0.3255330827087164, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 70 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 634 independent inputs +free-algebra dual PASS 634 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-retired5-base.json.gz", + "content_sha256": "9e290bc9f46951a66869d90036e771c6071f52198437879be33c08c05d7ad7d5", + "compressed_sha256": "30583d34f5668a0e3ff808ed49893656b027bb83e75da132f2cbd01b439cd8dd", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 70, + "independent_inputs": 634, + "warps": 70, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 128, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5198, + "width_inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 634, + "elapsed_seconds": 0.33066937513649464, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +wrote $OUT/gen-out2/canonical-extra.json.gz 1901 4504 42 78 +BUILT extra newops 12 targets {126: [45], 153: [45], 218: [45], 164: [45], 133: [45], 149: [45], 222: [45], 159: [45], 155: [45], 190: [45], 216: [45], 211: [45]} file $OUT/gen-out2/joint/eight-alias-extra.json.gz +warps 58 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 646 independent inputs +free-algebra dual PASS 646 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "eight-alias-extra.json.gz", + "content_sha256": "f4d06b9b54a124eb82083ad7720c547f9624b053283081f06e3c9dd1fc00c63f", + "compressed_sha256": "0fa262b62c1e954f6b3305c6da479e8d2d126d910c981809ed226f0d02348961", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2359, + "2": 632, + "3": 318, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.32189466804265976, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 65 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 639 independent inputs +free-algebra dual PASS 639 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-extra.json.gz", + "content_sha256": "57a1598881750f3ba3d262bb577142b723208d687f29bec848381ac8bf9487f6", + "compressed_sha256": "b7cd725e8486d0cf600aa9c3a50588c4f02bc481de404db8e7d32be3fcefcbd9", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 65, + "independent_inputs": 639, + "warps": 65, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 133, + "local_profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5223, + "width_inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 639, + "elapsed_seconds": 0.3282842505723238, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 70 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 634 independent inputs +free-algebra dual PASS 634 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-retired5-extra.json.gz", + "content_sha256": "69b82b55690b5107021947b14ab81b9bb169848667063920cc5c72d17d1d9f91", + "compressed_sha256": "e2e99424ff650e90b254981e358885ff515b43e650cd7930ba660d02e807d83d", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 70, + "independent_inputs": 634, + "warps": 70, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 128, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5198, + "width_inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 634, + "elapsed_seconds": 0.33145875111222267, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS +exit 0 diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/HOOK-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/HOOK-RESULT.json new file mode 100644 index 0000000000..c2f514c451 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/HOOK-RESULT.json @@ -0,0 +1,151 @@ +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED5_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 273060 + }, + "complex_lower": "214676164541936455431/125000000000000000000000", + "root_80_digits": "0.00171740931633549164344845847754117222928202740558976570357936073442776159989441", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "2.67729987065305339E-7", + "exact": "267729987065305339/1000000000000000000000000" + }, + "PR2766": { + "decimal": "1.52342868489335178E-7", + "exact": "76171434244667589/500000000000000000000000" + }, + "PR2767": { + "decimal": "1.52342868489335177055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json new file mode 100644 index 0000000000..b30f12f22c --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json @@ -0,0 +1,127 @@ +{ + "cache_files": { + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/CACHE.json": "3a8e1a43fdffa349ce9118cfdd8aaef605b69ccfc1ae1af8f35d71c3aa9a197e", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/STEPS.json": "96a871833ed290b21e6adf82bb9b3f48d2713180a1b0ccfb2d2c1b5dc0ef7ab0", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CANONICAL-WORD.json.gz": "a43a2d003b1f5599738510bbfcd0b99df5dbcb8c6365bba9e444dee8cd87ebfc", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CLIFFORD-RECIPES.json": "4da93cfd42d30cab4e4ab0b1e7fbf531584a667e738fa3fdbcf6d6f1ef40bcbb", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CLIFFORD-REVIEW.json": "362cc95a9464f00a42c114e979207ebe1faacc4e361e50c2336ba66b14dc8b36", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/FULL-WORD.json.gz": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/INDEPENDENT-LOCAL-REPLAY.json": "3fe075d088dad87ff4476300a6aa3526c001b2825a9048b31e0ae5c218145b08", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/RESIDUAL-ADAPTERS.json": "af733093f55c810dfc709d1862c786708c600f45b0319a53879c05fbca3e7fbd", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/SCALAR-FRAME-AUDIT.json": "d5313b030f3fa5220d35f89f8f8fc86b2e6602cabd379d7bd5f36ed44bfe350e", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/WARP-RECIPE-CHECKS.json": "77bf18ae4cb3a8bedf850660a29eb51310bc55d527729f773c5d77c4594faf63", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/native.log": "7524fe7dcc731a784dd413eac9cec1315cfbf106e6b01bf50821575711f544f2", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/phases.log": "9d87e97edbc1e9f7c7efe52ae5157d71c043a7a87c04e38658497dce98ffb6bb", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "6575f1c713149ac6ff3bf393c52d5e6dbc2eb452400c170431fb1a4edeb1f96b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "5a490ae4444dd0d46b6e1896b2c4aaa08c47b450b2cac39db73e7cf82a661c0d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "129d7ec37b2ff33d6986f23a6aab15ad8a5be3f3162d757c54d46d139885f8d9", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "f2f24a52e5ae920e4af9322ad0d94c9ea88ca408f1a1027e2433792255986b91", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "521b0a7de15c7b843436cf267cf3b33d157ad4ef1b1a94ef24e13668e5b058df", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "215f3f3acc8c02be35ec408984e6d9e7261c41a4c089af2671fe133323b1d869", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "ff50f7fe4101be80eb824b0ca5353edda38fc569a97db317a26a2768aa6d145f", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "5e3d10375a0a5540e8f2082797953fc02c1322a008c35f6c5149e2e752932635", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "d4e22101ed0a9e7af148b8fa2fa82f3e3133b2b6d4c9f07a73be071f5607ff6b", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/CACHE.json": "578d98897d675277781be661ed0515d24c7c4fe880ed593bf2fc8e2cfcf7e8fd", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/STEPS.json": "38cae98ac7b55cd316360467d1af056d7bd02caee0e9f85cad2995ddb7934ede", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CANONICAL-WORD.json.gz": "af947314ca54dcb046c8e7b5c9f6b5e599ccff6bae47f7e61752b168c67364ea", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CLIFFORD-RECIPES.json": "0bc2e47fcdceb7c4ade7a4e63547dae76b903b1b413eda2b83fa145343b22685", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CLIFFORD-REVIEW.json": "62c6b6edc9f5a5a6f3607c26d883a68b01132bd1702c4e40d058797877045f41", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/FULL-WORD.json.gz": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/INDEPENDENT-LOCAL-REPLAY.json": "a8853fd4a8c875cd032634de84f3079e4ff7acdf32e9cbe71b5d9f57a0515cf6", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/RESIDUAL-ADAPTERS.json": "fc9a31c8e7e76d6ee300c63fe67bffd5e36f29a495f4298877947eddbf7598e8", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/SCALAR-FRAME-AUDIT.json": "ca4d2e2f61247d608939b9447842fc2862c32864134e2cc15194b60d7698ffc5", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/WARP-RECIPE-CHECKS.json": "b458da602728252c4e45dc66278b1769364f1dc192d01e6d4b4c3e6d8a1ef8ba", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/native.log": "0914ca423784c0625f4468df4f2a7e78089a6bc8b38865ec27196dcd33d6266f", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/phases.log": "b4ce593a37eb15ad871d51fcab31c4ccdbcd079ebab95bc534cc2a5b1b1c31a6", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "6636a564339c2fd6b2b2a668029c8d3e422a460a5bc8418deab1de523a8c7cf2", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "3d4f52362da2e9cc28995cd46268c82ae803076a94a3270161102c1d0170e07a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "8c3dead2f3403ac3da93d75b553a57a5551228ed393ee837c380a0de9872c71c", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "fc0c6c4182159069af394f13210a0db0c98cb0182c2293bc8477f65ac077eb42", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "a4afe4dea39737eb033756d09217457ead4be1794e6f4f75730722c22bd0d615", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "93da0be182661d2c88fd25dd3107a05687829f75f225ad9ea537cd2b94874002", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "38cae98ac7b55cd316360467d1af056d7bd02caee0e9f85cad2995ddb7934ede", + "ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "af947314ca54dcb046c8e7b5c9f6b5e599ccff6bae47f7e61752b168c67364ea", + "local/CLIFFORD-RECIPES.json": "0bc2e47fcdceb7c4ade7a4e63547dae76b903b1b413eda2b83fa145343b22685", + "local/CLIFFORD-REVIEW.json": "62c6b6edc9f5a5a6f3607c26d883a68b01132bd1702c4e40d058797877045f41", + "local/FULL-WORD.json.gz": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b", + "local/INDEPENDENT-LOCAL-REPLAY.json": "a8853fd4a8c875cd032634de84f3079e4ff7acdf32e9cbe71b5d9f57a0515cf6", + "local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "local/RESIDUAL-ADAPTERS.json": "fc9a31c8e7e76d6ee300c63fe67bffd5e36f29a495f4298877947eddbf7598e8", + "local/SCALAR-FRAME-AUDIT.json": "ca4d2e2f61247d608939b9447842fc2862c32864134e2cc15194b60d7698ffc5", + "local/WARP-RECIPE-CHECKS.json": "b458da602728252c4e45dc66278b1769364f1dc192d01e6d4b4c3e6d8a1ef8ba", + "local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "native.log": "0914ca423784c0625f4468df4f2a7e78089a6bc8b38865ec27196dcd33d6266f", + "phases.log": "b4ce593a37eb15ad871d51fcab31c4ccdbcd079ebab95bc534cc2a5b1b1c31a6", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "96a871833ed290b21e6adf82bb9b3f48d2713180a1b0ccfb2d2c1b5dc0ef7ab0", + "ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "a43a2d003b1f5599738510bbfcd0b99df5dbcb8c6365bba9e444dee8cd87ebfc", + "local/CLIFFORD-RECIPES.json": "4da93cfd42d30cab4e4ab0b1e7fbf531584a667e738fa3fdbcf6d6f1ef40bcbb", + "local/CLIFFORD-REVIEW.json": "362cc95a9464f00a42c114e979207ebe1faacc4e361e50c2336ba66b14dc8b36", + "local/FULL-WORD.json.gz": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8", + "local/INDEPENDENT-LOCAL-REPLAY.json": "3fe075d088dad87ff4476300a6aa3526c001b2825a9048b31e0ae5c218145b08", + "local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "local/RESIDUAL-ADAPTERS.json": "af733093f55c810dfc709d1862c786708c600f45b0319a53879c05fbca3e7fbd", + "local/SCALAR-FRAME-AUDIT.json": "d5313b030f3fa5220d35f89f8f8fc86b2e6602cabd379d7bd5f36ed44bfe350e", + "local/WARP-RECIPE-CHECKS.json": "77bf18ae4cb3a8bedf850660a29eb51310bc55d527729f773c5d77c4594faf63", + "local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "native.log": "7524fe7dcc731a784dd413eac9cec1315cfbf106e6b01bf50821575711f544f2", + "phases.log": "9d87e97edbc1e9f7c7efe52ae5157d71c043a7a87c04e38658497dce98ffb6bb", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + } + }, + "retained_parent_receipt_sha256": "ff50f7fe4101be80eb824b0ca5353edda38fc569a97db317a26a2768aa6d145f", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..9119865da2 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,13 @@ +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json new file mode 100644 index 0000000000..b4684a573d --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 214676164541936455431/12500000... brackets the ledger's b = 171740931633549164344799999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017174093163354916434479999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 159.58 +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json new file mode 100644 index 0000000000..7caccd3f8f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json @@ -0,0 +1,98 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "171446487838083/100000000000000000", + "kappa_decimal": "0.00171446487838083", + "manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 273060, + "prefix_bits": 1443, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.7939643766731024, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.1763007901608944 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4441820420324802, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.665369501337409, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.473093580454588, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 97.6485572103411, + "log_sha256": "9fde2d3b4e631660ebb5848638bb4e7bd6697fa665b2ae0560cd36c3b7e431e3" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.5301409177482128, + "log_sha256": "2b03816ce8bbfde22d7aade223f5b504ff5dd05b5fd8f789d25f1ee965152ab5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.5267670825123787, + "log_sha256": "37d013a62a467be5fceb14c22e9e7ca30259dbc78378633fb65304f1fd59686b" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.4506230838596821, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.428194791078568, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 43.606457874178886, + "log_sha256": "8c2319cf48a02955e33740c7dd082c3b8eb08f445f13bdf921a1e5d3d339d66f" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.23889125138521194, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json new file mode 100644 index 0000000000..aff147d9ed --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json @@ -0,0 +1,74 @@ +[ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.7939643766731024, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.1763007901608944 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4441820420324802, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.665369501337409, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.473093580454588, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 97.6485572103411, + "log_sha256": "9fde2d3b4e631660ebb5848638bb4e7bd6697fa665b2ae0560cd36c3b7e431e3" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.5301409177482128, + "log_sha256": "2b03816ce8bbfde22d7aade223f5b504ff5dd05b5fd8f789d25f1ee965152ab5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.5267670825123787, + "log_sha256": "37d013a62a467be5fceb14c22e9e7ca30259dbc78378633fb65304f1fd59686b" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.4506230838596821, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.428194791078568, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 43.606457874178886, + "log_sha256": "8c2319cf48a02955e33740c7dd082c3b8eb08f445f13bdf921a1e5d3d339d66f" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.23889125138521194, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } +] \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json new file mode 100644 index 0000000000..2fea51a3dd --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json @@ -0,0 +1,32 @@ +[ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json new file mode 100644 index 0000000000..4ceb18a849 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "fill_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "gain": "827279060596573819/500000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "native_receipt_sha256": "5b017e61828c567bc3093df8a3e7e57230cac97c9177bd6154d2cf80ed99ba4e", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "32": 1, + "4": 85248, + "48": 26558, + "5": 27194, + "8": 5328 + }, + "release_receipt_sha256": "bc68e064840769ee819bbba0213cd7cad3c82f8b60dbe3e1c49c2e079cc33445", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json new file mode 100644 index 0000000000..8b12d62f6f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json @@ -0,0 +1,111 @@ +[ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json new file mode 100644 index 0000000000..0205988129 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json @@ -0,0 +1,66 @@ +{ + "words": "retired5 candidate words (PR2751 + five retired-lender aliases)", + "rule": "new/borrow/refit/search pairs.py: lender last event before the follower first B gate, lender untouched later, dim lo(lender last) <= dim hi(follower first); chains counted", + "helper_status": { + "touched-before-B": 286, + "restored-cold": 72, + "follower": 52 + }, + "follower_hist": { + "(1, 1, 8)": 48, + "(4, 5, 5)": 4 + }, + "lenders": 404, + "lender_lo_hist": { + "(6, 'gate', False)": 124, + "(8, 'gate', True)": 70, + "(8, 'gate', False)": 194, + "(7, 'gate', False)": 14, + "(5, 'gate', False)": 2 + }, + "direct_pairs": 0, + "chain_edges": 0, + "augmenting_paths": 192, + "paths_by_follower": { + "667": 48, + "669": 48, + "670": 48, + "671": 48 + }, + "paths_by_free_lender": { + "564": 96, + "565": 96 + }, + "movable_hosted_warps": [ + 1, + 2, + 3, + 4, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ], + "max_extra_aliases": 2, + "certified_singles": { + "warps 30/31/32/41 (hostee entrance already rank 5), any follower 667/669/670/671": "local {1:-2,2:+3,3:-3}, +1.928e-7 realized over retired5", + "warp 1 (hostee raise closure 16 gates)": "local {1:+2,2:+11,3:-15,4:+4}, -3.30e-7" + }, + "chosen": "warps 30 (401->564) and 31 (403->565); aliases 667<-401, 669<-403: local {1:-4,2:+6,3:-6}, +3.857e-7 over retired5" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json new file mode 100644 index 0000000000..45cecc552b --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json @@ -0,0 +1,130 @@ +{ + "all_rejected_for_real_reasons": true, + "controls": { + "refit7 B911 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "refit7 B912 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move30 401->564 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move30 401->564 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "move31 403->565 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move31 403->565 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667<-401 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "669<-403 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 26", + "real_reason": true + }, + "669<-403 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669<-403 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "669<-403 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "refit7c certified frame corrupted": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))", + "real_reason": true + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json new file mode 100644 index 0000000000..45cecc552b --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json @@ -0,0 +1,130 @@ +{ + "all_rejected_for_real_reasons": true, + "controls": { + "refit7 B911 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "refit7 B912 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move30 401->564 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move30 401->564 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "move31 403->565 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move31 403->565 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667<-401 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "669<-403 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 26", + "real_reason": true + }, + "669<-403 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669<-403 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "669<-403 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "refit7c certified frame corrupted": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))", + "real_reason": true + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json new file mode 100644 index 0000000000..5cced4b2db --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json @@ -0,0 +1,295 @@ +{ + "cold_seconds": 410.72115191817284, + "cold_stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/verify.py" + ], + "exit_code": 0, + "log_sha256": "2c74f838e832460b1cc61ba99ae2b041c8ada28597985d1190c703f81d5eb19b", + "name": "literal-review", + "script_sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "seconds": 3.4852952491492033 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/extra-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.01782804168761 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/gauge44-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.23545237630606 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + ], + "exit_code": 0, + "log_sha256": "f9d3dd98f95cd1b5358cb889c34965e40b4422712ed3682ff507175f74ba2b42", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 107.73961633443832 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + ], + "exit_code": 0, + "log_sha256": "c9003f19404118e12ef149d3bfbbeae7ffa0fd3b7e18ad408ff172625619880a", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 109.27364500053227 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/verify.py", + "--work", + "/r10/agents/F-lenders/full7/work/retained-parent", + "--base-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 70.37898799963295 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/workflow/admit.py", + "--source", + "/r10/agents/F-lenders/full7/work/source", + "--fill", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "--order", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--native-receipt", + "/r10/agents/F-lenders/full7/work/NATIVE-RECEIPT.json", + "--work", + "/r10/agents/F-lenders/full7/work/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "eba644f08e808bfd8acb0cac6376f6064d095516bc7773d0337bf416bc406d5c", + "name": "complete-admission", + "script_sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "seconds": 227.28487924858928 + } + ], + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "environment": { + "executable": "~/Desktop/dev/aigent/agi/.venv/bin/python", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.4.4", + "scipy": "1.17.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": false, + "fill_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "gain": "827279060596573819/500000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "native_receipt_sha256": "5b017e61828c567bc3093df8a3e7e57230cac97c9177bd6154d2cf80ed99ba4e", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "32": 1, + "4": 85248, + "48": 26558, + "5": 27194, + "8": 5328 + }, + "release_receipt_sha256": "bc68e064840769ee819bbba0213cd7cad3c82f8b60dbe3e1c49c2e079cc33445", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json new file mode 100644 index 0000000000..4d4b3a7915 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json @@ -0,0 +1,114 @@ +[ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/verify.py" + ], + "exit_code": 0, + "log_sha256": "2c74f838e832460b1cc61ba99ae2b041c8ada28597985d1190c703f81d5eb19b", + "name": "literal-review", + "script_sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "seconds": 3.4852952491492033 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/extra-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.01782804168761 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/gauge44-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.23545237630606 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + ], + "exit_code": 0, + "log_sha256": "f9d3dd98f95cd1b5358cb889c34965e40b4422712ed3682ff507175f74ba2b42", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 107.73961633443832 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + ], + "exit_code": 0, + "log_sha256": "c9003f19404118e12ef149d3bfbbeae7ffa0fd3b7e18ad408ff172625619880a", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 109.27364500053227 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/verify.py", + "--work", + "/r10/agents/F-lenders/full7/work/retained-parent", + "--base-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 70.37898799963295 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/workflow/admit.py", + "--source", + "/r10/agents/F-lenders/full7/work/source", + "--fill", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "--order", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--native-receipt", + "/r10/agents/F-lenders/full7/work/NATIVE-RECEIPT.json", + "--work", + "/r10/agents/F-lenders/full7/work/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "eba644f08e808bfd8acb0cac6376f6064d095516bc7773d0337bf416bc406d5c", + "name": "complete-admission", + "script_sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "seconds": 227.28487924858928 + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/HOOK-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/HOOK-RESULT.json new file mode 100644 index 0000000000..e29b039fd3 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/HOOK-RESULT.json @@ -0,0 +1,211 @@ +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728 + }, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "root_80_digits": "0.00171779498411863466382722991842817890408858438546231220090092725676198114516931", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "6.53397770208325718E-7", + "exact": "326698885104162859/500000000000000000000000" + }, + "PR2766": { + "decimal": "5.38010651632355557E-7", + "exact": "538010651632355557/1000000000000000000000000" + }, + "PR2767": { + "decimal": "5.38010651632355556055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json new file mode 100644 index 0000000000..a82fb1ff37 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json @@ -0,0 +1,127 @@ +{ + "cache_files": { + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/CACHE.json": "f365738d4a566219463896730ddc6442e9a3692eec745021d9dc049ff1a21b79", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/STEPS.json": "1575294f54a7cd088abbca743e87b79931ca736b71bd2326859522d55a1f4501", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-REVIEW.json": "dc9166e75871d21e7d7e23508b204a1d77205fa24684112cd12752d26f9ed89b", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/SCALAR-FRAME-AUDIT.json": "9ebdc3ef10740edd0be047ba35d9f8508d567737a28c555f5747210ad5bf2edb", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/native.log": "66ab85b104998334f95b0078b8e6fe859d5d6005f39308d78e8e77e3b38da795", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/phases.log": "c4eeb90b233202d2cbb5a8d98b7e659b252f6603795132f07c30d15be19d9a8c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "7158575db76d8c0016aa45b8c51d33a5cd65485fd6d75ee559f1e4f6492fbf94", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "0500d5d2f2b977db012398e5a1d7aee1a48d5ba45b47d8eccfbe526e9e2c671c", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "a9d93d0bb1b3d01bb4966bd660d91094f4ba7d6e52ee19aa3550866abfd6085d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "fcbc50a1ca25c8cd8776c32efc03728c529c52ab7c5e83453a034ff0a5884732", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "9ae59372e93cf456e807ff2cbd824457f92e30f36728ec943800ca1bf7d838df", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "6c3a02ede486e8157693db43b4b117335751e31c4749f13f3c281d671861666e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "8e23031a5729041e46882e654b8ea1dba44fc01682cc3bbc354d7e0a126a1d75", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "7bbf85e49e334b5bf56227d3f0ea536ad7a60a1497316c1322108ea98b4eb924", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "531ad818e1982231b906cb2a1ff4648a8f119ef4043ac1e8abda216c63d51017", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/CACHE.json": "de531be30d5b8266573f0a20391ff5d9c246986e3dca04f3ee4808ac9f5c5fc0", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/STEPS.json": "b9a277e320cfc24843057bc977b8c855cb579340d1c396281ea2af44134a9724", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-REVIEW.json": "8838336b5dac50f7a6b1271f4653fc0e09f6aa1d1cc8104edfadfdb3a9c3cd2d", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/SCALAR-FRAME-AUDIT.json": "80a20a57c2f389c35dd1871a927febfa8b970493c6f1fa2882e758b8427f3819", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/native.log": "9743caaa1bcf00835cb3da5614f08f2bcc5954211201cdb8016dfd72fe986ed3", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/phases.log": "cb955c070e5e839c3822dabd9bf38e5c99367a7835eeb1fd9c3f20c8c5b2b81b", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "1491080d42c36a4a9ebdb8405f03acc9f01b475a643dacab7fdbaba0b3aab0bf", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "eae11302beadc4c53cbecd4121491dbea883b13c53aaca14905416eb506df070", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "5c3679733c9b5790c7e8ef7fe980ae0725ec92f111c4c5178896cbe42a659ee6", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "72e3af5880fe75aebdb880cd46e2ad75d50b3f58818e0a999f13ee5d5ace04cc", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "5fb0494d5f2dfeb1372dcff4940380703f3f927ae24f38009ee511825a5dbebc", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "7f2738850affa652cc3245a29580bc9d3ed4a040fe5a80049b1975b5b337b94c", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "b9a277e320cfc24843057bc977b8c855cb579340d1c396281ea2af44134a9724", + "ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "local/CLIFFORD-REVIEW.json": "8838336b5dac50f7a6b1271f4653fc0e09f6aa1d1cc8104edfadfdb3a9c3cd2d", + "local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "local/SCALAR-FRAME-AUDIT.json": "80a20a57c2f389c35dd1871a927febfa8b970493c6f1fa2882e758b8427f3819", + "local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "9743caaa1bcf00835cb3da5614f08f2bcc5954211201cdb8016dfd72fe986ed3", + "phases.log": "cb955c070e5e839c3822dabd9bf38e5c99367a7835eeb1fd9c3f20c8c5b2b81b", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "1575294f54a7cd088abbca743e87b79931ca736b71bd2326859522d55a1f4501", + "ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "local/CLIFFORD-REVIEW.json": "dc9166e75871d21e7d7e23508b204a1d77205fa24684112cd12752d26f9ed89b", + "local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "local/SCALAR-FRAME-AUDIT.json": "9ebdc3ef10740edd0be047ba35d9f8508d567737a28c555f5747210ad5bf2edb", + "local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "66ab85b104998334f95b0078b8e6fe859d5d6005f39308d78e8e77e3b38da795", + "phases.log": "c4eeb90b233202d2cbb5a8d98b7e659b252f6603795132f07c30d15be19d9a8c", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + } + }, + "retained_parent_receipt_sha256": "8e23031a5729041e46882e654b8ea1dba44fc01682cc3bbc354d7e0a126a1d75", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json new file mode 100644 index 0000000000..6646251c6f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json @@ -0,0 +1,25 @@ +{ + "runner": "new/run_native_borrow.py (PR2745 copy with PR2751 pinned bw_audit_local.py overlay 08d5864d)", + "words": { + "base": { + "steps": [ + "PASS native 0.4", + "PASS ledgers 0.5", + "PASS local-replay 10.1", + "PASS wrappers 2.0", + "PASS phases 94.9" + ], + "rc": "rc 0" + }, + "extra": { + "steps": [ + "PASS native 0.4", + "PASS ledgers 0.5", + "PASS local-replay 10.0", + "PASS wrappers 2.0", + "PASS phases 94.1" + ], + "rc": "rc 0" + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/OWNER-CHECK.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/OWNER-CHECK.json new file mode 100644 index 0000000000..d6c74e2ba0 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/OWNER-CHECK.json @@ -0,0 +1,65 @@ +{ + "removed": [ + 667, + 669 + ], + "dropped_roles": 1332, + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728, + "calls": 666, + "helpers_per_call": 408, + "windows": 1332, + "window_sha256": "d301aa0d102381aecc3dd746c424d55ea6f4ade9f87b833c8db6d643e205c846", + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "8": 0, + "16": 0, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "root80": "0.0017177949841186346638272299184281789040885843854623122009009272567619811451693129", + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.001717794984118634663827", + "margin_over_candidate": "3.85667783143e-7" +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..065d3aa653 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,18 @@ +wrote /55/_ntn26sn71d4_4mtlsn7_v200000gn/T/tmpfv9jr2nd/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS base rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +wrote /55/_ntn26sn71d4_4mtlsn7_v200000gn/T/tmpxwxk_b0g/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS extra rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW +rc 0 diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt new file mode 100644 index 0000000000..4a2aa3c2d0 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt @@ -0,0 +1,252 @@ +CHECK Literal review: PR2751 construction reproduced, the seven declared stages (retired5 refit5/alias5/refit5c, retired7 refit7/hostmove2/alias7/refit7c) rebuild both candidate words, candidate fill = declared compaction (seven removed helpers), independent symbolic/frame/cleanup checks with six mutations, literal owner fill (R 408) with one mutation, exact adjacent root bracket, claim binding and strict improvement over PR2733, PR2745, PR2751, PR2766 and PR2767. +{ + "status": "PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY", + "roles": 271728, + "local_mutations_rejected": 6, + "owner_mutations_rejected": 1, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "complex_upper": "429448746029658665957/250000000000000000000000", + "scope": "Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate." +} +CHECK Seven-stage structure, the pinned PR2679 auditor on all eight states, 142 tamper controls (retired5: lender refit undone by warp frame mismatch, follower raise undone, 35 alias mutations, corrupted certified frame; retired7: new-lender refit undone by warp frame mismatch, 4 controls per hostee move, the PR2679 alias suite per new alias, corrupted certified frame; every mutant re-derives its cleanup and must be rejected for a real reason), literal owner fill (R 408), 80-digit root and kappa = C - 1e-46 - 1e-70 above PR2751, PR2766 and PR2767. +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728 + }, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "root_80_digits": "0.00171779498411863466382722991842817890408858438546231220090092725676198114516931", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "6.53397770208325718E-7", + "exact": "326698885104162859/500000000000000000000000" + }, + "PR2766": { + "decimal": "5.38010651632355557E-7", + "exact": "538010651632355557/1000000000000000000000000" + }, + "PR2767": { + "decimal": "5.38010651632355556055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} +CHECK Pinned generic coverage-law ceiling and realized fraction for the candidate, not a sharp packing optimum. +{ + "status": "PASS_FIXED_WORD_PACKING_CEILING", + "source_sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "local_per_call": { + "1": "2382", + "2": "648", + "3": "268", + "4": "128", + "5": "26", + "8": "8" + }, + "dimension": 73, + "families": 896, + "stages": 9, + "centre_rank_per_call": 64, + "max_idle_rank": 51, + "complex_cap_bracket": [ + "1758085934629/1000000000000000", + "175808593463/100000000000000" + ], + "complex_cap_upper_decimal": "0.00175808593463", + "realized_fraction_lower": "1717794984118634663827/1758085934630000000000", + "realized_fraction_decimal": "0.97708249083976386253139135041007810556867284138782", + "scope": "Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used." +} +CHECK Git-free read-only relocation; altered claim/input and optimized execution refusals. +PASS_JOINT_TWELVE_RELOCATED_READ_ONLY_AND_INTEGRITY_CONTROLS +PASS_REGISTERED_RESEARCH_PACKAGE research/t74-joint-twelve-retired7 outcome=completed +rc 0 diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..b5157e14f3 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,17 @@ +wrote /r10/agents/F-lenders/full7/work/admission/release/verify/tmp/tmp5q5z4d_j/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS base rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +wrote /r10/agents/F-lenders/full7/work/admission/release/verify/tmp/tmpws2cgamq/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS extra rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json new file mode 100644 index 0000000000..37735f2254 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 1717794984118634663827/1000000... brackets the ledger's b = 171779498411863466382699999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017177949841186346638269999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 178.29 +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json new file mode 100644 index 0000000000..680f2d73e5 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json @@ -0,0 +1,98 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "1714849224721887/1000000000000000000", + "kappa_decimal": "0.001714849224721887", + "manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 271728, + "prefix_bits": 1443, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.803630419075489, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.18620125018060207 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4626617915928364, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.719976831227541, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.5223765429109335, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 119.44411616958678, + "log_sha256": "f5a192c4bc04d9f0e5dfd66d7637bd407e1b2246b97b3834897addc53628dfd6" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.6294267904013395, + "log_sha256": "4f0c4a586307535773c34b72711598f9a4f87eb530567d16b41c59ac69779af5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.6089366264641285, + "log_sha256": "005e1643b19a9951e0c5715153a44c62abdf540719ec725ae8230081c5f42335" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.5283321235328913, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.94623183272779, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 39.691487001255155, + "log_sha256": "920307b299933c8879b991b2293674236e8cbab497bbf2bfc1bb3af8bdaa4821" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.24792424961924553, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json new file mode 100644 index 0000000000..3686810428 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json @@ -0,0 +1,74 @@ +[ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.803630419075489, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.18620125018060207 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4626617915928364, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.719976831227541, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.5223765429109335, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 119.44411616958678, + "log_sha256": "f5a192c4bc04d9f0e5dfd66d7637bd407e1b2246b97b3834897addc53628dfd6" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.6294267904013395, + "log_sha256": "4f0c4a586307535773c34b72711598f9a4f87eb530567d16b41c59ac69779af5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.6089366264641285, + "log_sha256": "005e1643b19a9951e0c5715153a44c62abdf540719ec725ae8230081c5f42335" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.5283321235328913, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.94623183272779, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 39.691487001255155, + "log_sha256": "920307b299933c8879b991b2293674236e8cbab497bbf2bfc1bb3af8bdaa4821" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.24792424961924553, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt new file mode 100644 index 0000000000..b0448692e4 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt @@ -0,0 +1,13 @@ +le> +AssertionError: invalid fixture +Traceback (most recent call last): + File "", line 1, in +AssertionError: invalid fixture +....CHECK Scoped test fixture +PASS_REGISTERED_RESEARCH_PACKAGE research/fixture outcome=partial +CHECK Scoped test fixture +................sss...... +---------------------------------------------------------------------- +Ran 69 tests in 5.817s + +OK (skipped=3) diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json new file mode 100644 index 0000000000..ce6e8881de --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json @@ -0,0 +1,32 @@ +[ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } +] diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/STAGES7.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/STAGES7.json new file mode 100644 index 0000000000..1e3fe61a7d --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/STAGES7.json @@ -0,0 +1,136 @@ +{ + "base": { + "refit7": 2, + "hostmove2_edits": 28, + "alias2_edits": 28, + "refit7c": [ + [ + "B", + 1170 + ], + [ + "B", + 1171 + ] + ], + "profiles": { + "refit7": { + "1": 2388, + "2": 646, + "3": 268, + "4": 130, + "5": 26, + "8": 8 + }, + "hostmove2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 28, + "8": 8 + }, + "alias2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "retired7": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "audits": { + "refit7": [ + 0, + "PASS" + ], + "hostmove2": [ + 0, + "PASS" + ], + "alias2": [ + 0, + "PASS" + ], + "retired7": [ + 0, + "PASS" + ] + } + }, + "extra": { + "refit7": 2, + "hostmove2_edits": 28, + "alias2_edits": 28, + "refit7c": [ + [ + "B", + 1170 + ], + [ + "B", + 1171 + ] + ], + "profiles": { + "refit7": { + "1": 2388, + "2": 646, + "3": 268, + "4": 130, + "5": 26, + "8": 8 + }, + "hostmove2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 28, + "8": 8 + }, + "alias2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "retired7": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "audits": { + "refit7": [ + 0, + "PASS" + ], + "hostmove2": [ + 0, + "PASS" + ], + "alias2": [ + 0, + "PASS" + ], + "retired7": [ + 0, + "PASS" + ] + } + } +} diff --git a/research/replica-tail-gain/vendor/frontier/evidence/retired7/VERIFY-RESULT.json b/research/replica-tail-gain/vendor/frontier/evidence/retired7/VERIFY-RESULT.json new file mode 100644 index 0000000000..8b8cb29852 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/evidence/retired7/VERIFY-RESULT.json @@ -0,0 +1,9 @@ +{ + "status": "PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY", + "roles": 271728, + "local_mutations_rejected": 6, + "owner_mutations_rejected": 1, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "complex_upper": "429448746029658665957/250000000000000000000000", + "scope": "Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate." +} diff --git a/research/replica-tail-gain/vendor/frontier/exact_moment.py b/research/replica-tail-gain/vendor/frontier/exact_moment.py new file mode 100644 index 0000000000..30dc8aa229 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/exact_moment.py @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: Apache-2.0 +# Tekalign with substantial OpenAI Codex assistance. +from fractions import Fraction as F +DIMENSION=73 +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_reduced(x): + """Forty atanh terms with their positive geometric tail.""" + require(1 <= x <= 2, 'log reduction range') + t = (x - 1) / (x + 1) + lower = sum((2 * t ** (2 * j + 1) / (2 * j + 1) + for j in range(40)), F(0)) + tail = 2 * t ** 81 / (81 * (1 - t * t)) + return lower, lower + tail + + +def log_bounds(x): + require(x >= 1, 'positive logarithm range') + power = 0 + while x >= 2: + x /= 2 + power += 1 + a, b = log_reduced(x) + c, d = log_reduced(F(2)) + return a + power * c, b + power * d + + +def exp_bounds(x): + """Taylor terms 0..15; later term ratios are bounded by x/17.""" + require(0 <= x < F(1, 100), 'exponential argument range') + term, lower = F(1), F(1) + for n in range(1, 16): + term = term * x / n + lower += term + tail = term * x / 16 / (1 - x / 17) + return lower, lower + tail + + +def moment_bounds(profile, exponent): + lower = upper = F(0) + for rank, count in sorted(profile.items()): + log_lo, log_hi = log_bounds(F(DIMENSION, rank)) + exp_lo, _ = exp_bounds(exponent * log_lo) + _, exp_hi = exp_bounds(exponent * log_hi) + weight = F(count * rank, DIMENSION) + lower += weight * exp_lo + upper += weight * exp_hi + return lower, upper diff --git a/research/replica-tail-gain/vendor/frontier/full_replay.py b/research/replica-tail-gain/vendor/frontier/full_replay.py new file mode 100644 index 0000000000..d9718b8b5b --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/full_replay.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Cold reproduction of the joint twelve-source/pre-life composition. + +Default: authenticated source download, fresh native providers and retained +parent admission, then the complete original supplier/release verifier. An +explicit --prepared-native-cache must match every published reuse file hash. +All large/generated artifacts remain under a fresh external --work directory. +""" +import argparse +from concurrent.futures import ThreadPoolExecutor +from fractions import Fraction as Q +import gzip +import hashlib +import importlib +import json +import os +from pathlib import Path, PurePosixPath +import platform +import shutil +import subprocess +import sys +import tarfile +import threading +import time +from urllib.parse import quote +from urllib.request import Request, urlopen + +HERE = Path(__file__).resolve().parent +REPOSITORY = HERE.parents[1] +STEPS = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n') + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unauthenticated symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def safe(name): + path = PurePosixPath(name) + need(isinstance(name, str) and '\\' not in name and path.parts and not path.is_absolute() + and '..' not in path.parts and path.as_posix() == name, 'unsafe source path') + + +def download(url, expected): + for attempt in range(3): + try: + req = Request(url, headers={'User-Agent': 'integer-mult-prelife-priority/1', 'Accept-Encoding': 'identity'}) + with urlopen(req, timeout=90) as response: + body = response.read() + need(hashlib.sha256(body).hexdigest() == expected, 'download hash mismatch') + return body + except (OSError, RuntimeError): + if attempt == 2: + raise + time.sleep(attempt + 1) + + +def source_copy(source, destination, pins, jobs): + destination.mkdir() + entries = {'MANIFEST.json': pins['manifest_sha256'], **pins['files']} + need(len(pins['files']) == pins['count'] == 491, 'source file count') + + def copy(item): + name, digest = item + safe(name) + target = destination / name + target.parent.mkdir(parents=True, exist_ok=True) + if source: + need(not (source / name).is_symlink(), 'source symlink') + body = (source / name).read_bytes() + need(hashlib.sha256(body).hexdigest() == digest, 'source bytes: ' + name) + else: + body = download(pins['base_url'] + quote(name, safe='/'), digest) + target.write_bytes(body) + + with ThreadPoolExecutor(max_workers=min(jobs, 8)) as pool: + for _ in pool.map(copy, sorted(entries.items())): + pass + need(read(destination / 'MANIFEST.json') == pins['files'] + and tree(destination) == entries, 'complete source authentication') + + +def bind_native(entry, word): + need(gzip.decompress((entry / 'local/FULL-WORD.json.gz').read_bytes()) == gzip.decompress(word.read_bytes()), + 'native complete word binding') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == STEPS and all(s['exit_code'] == 0 for s in stages), 'native stage coverage') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source', type=Path, help='Exact original PR2679 package directory; otherwise download pinned files.') + ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--prepared-native-cache', type=Path, help='Explicit reuse of the complete published pinned cache.') + ap.add_argument('--jobs', type=int, default=4) + a = ap.parse_args() + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + versions = {} + for name in ('numpy', 'sympy', 'scipy', 'mpmath'): + try: + versions[name] = str(importlib.import_module(name).__version__) + except ImportError as exc: + raise RuntimeError('install requirements.txt in this Python environment before full replay') from exc + need(versions['sympy'] == '1.14.0', 'pinned predecessor evidence requires sympy==1.14.0') + work = a.work.resolve() + need(not work.exists() and not work.is_relative_to(REPOSITORY), 'fresh external work required') + for path in (a.source, a.prepared_native_cache): + need(path is None or (path.is_dir() and not work.is_relative_to(path.resolve())), 'input/work separation') + pins, reuse, claim = read(HERE / 'SOURCE-FILES.json'), read(HERE / 'REUSE-PINS.json'), read(HERE / 'CLAIM.json') + work.mkdir(parents=True) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1') + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, lock = [], threading.Lock() + started = time.monotonic() + + def run(name, script, *args): + begin = time.monotonic() + log = work / (name + '.log') + command = [sys.executable, '-B', str(script), *map(str, args)] + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + with lock: + stages.append(dict(name=name, command=command, exit_code=result.returncode, + script_sha256=sha(script), seconds=time.monotonic()-begin, log_sha256=sha(log))) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + run('literal-review', HERE / 'verify.py') + source = work / 'source' + source_copy(a.source.resolve() if a.source else None, source, pins, a.jobs) + overlay = read(HERE / 'OVERLAY-PINS.json') + need(sha(source/'MANIFEST.json') == overlay['original_manifest_sha256'], 'overlay base manifest') + need(sha(HERE/'DERIVATIVE-OVERLAY.tar.gz') == overlay['archive_sha256'], 'overlay archive') + with tarfile.open(HERE/'DERIVATIVE-OVERLAY.tar.gz') as archive: + members=archive.getmembers() + need(set(m.name for m in members)==set(overlay['files']) and len(members)==len(overlay['files']), 'exact overlay paths') + for member in members: + safe(member.name);need(member.isfile(), 'regular overlay file') + body=archive.extractfile(member).read() + need(hashlib.sha256(body).hexdigest()==overlay['files'][member.name], 'overlay member hash') + (source/member.name).write_bytes(body) + need(sha(source/'MANIFEST.json')==overlay['derived_manifest_sha256'] and + tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'), 'complete derived source tree') + pins=dict(pins,commit='local-joint12-pr2733',manifest_sha256=overlay['derived_manifest_sha256']) + cache = work / 'native-cache' + if a.prepared_native_cache: + need(tree(a.prepared_native_cache.resolve()) == reuse['cache_files'], 'published complete cache pins') + shutil.copytree(a.prepared_native_cache.resolve(), cache) + native_receipt = reuse + else: + cache.mkdir() + layout = work / 'retained-layout' + layout.mkdir() + old = source / 'vendor/pr1297' + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + retained_driver = layout / 'joint1148-round45/source/research/k8-eight-ends/replay_native.py' + words = {'base': source / 'new/borrow/words/BORROW-WORD-43base.json.gz', + 'extra': source / 'new/borrow/words/BORROW-WORD-43extra.json.gz', + 'retained-base': old / 'gauge44-word.json.gz', 'retained-extra': old / 'extra-word.json.gz'} + + def fresh_native(tag): + word = words[tag] + entry = cache / sha(word) + script = retained_driver if tag.startswith('retained-') else source / 'new/run_native_borrow.py' + run('native-' + tag, script, word, entry) + bind_native(entry, word) + write(entry / 'CACHE.json', dict(word_sha256=sha(word), files=tree(entry))) + + with ThreadPoolExecutor(max_workers=min(a.jobs, 4)) as pool: + for _ in pool.map(fresh_native, words): + pass + run('retained-parent', old / 'verify.py', '--work', work / 'retained-parent', + '--base-native-from', cache / sha(words['retained-base']), + '--extra-native-from', cache / sha(words['retained-extra'])) + parent = read(work / 'retained-parent/RESULT.json') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'fresh retained parent admission') + pm = sha(old / 'MANIFEST.json') + receipts = cache / '_receipts' / pm + receipts.mkdir(parents=True) + for name in ('RESULT.json', 'STAGES.json'): + shutil.copy2(work / 'retained-parent' / name, receipts / name) + write(receipts / 'RECEIPT.json', dict(schema='parent-receipt/1', vendor_manifest_sha256=pm, + claim_sha256=sha(old / 'CLAIM.json'), words={tag:sha(words['retained-'+tag]) for tag in ('base','extra')}, + files={name:sha(receipts / name) for name in ('RESULT.json','STAGES.json')})) + providers = {tag:dict(word_sha256=sha(words[tag]), complete_native_files=tree(cache / sha(words[tag]), ('CACHE.json',))) + for tag in ('base','extra')} + native_receipt = dict(status='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE', + source_commit=pins['commit'], manifest_sha256=pins['manifest_sha256'], providers=providers, + retained_parent_receipt_sha256=sha(receipts / 'RECEIPT.json'), cache_files=tree(cache)) + write(work / 'NATIVE-RECEIPT.json', native_receipt) + run('complete-admission', HERE / 'workflow/admit.py', '--source', source, + '--fill', HERE / 'inputs/FILL.json.gz', '--order', HERE / 'inputs/ORDER.json', + '--native-cache', cache, '--native-receipt', work / 'NATIVE-RECEIPT.json', + '--work', work / 'admission', '--jobs', a.jobs) + result = read(work / 'admission/RESULT.json') + need(result['status'] == 'PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE' + and Q(result['kappa']) == Q(claim['kappa']) and Q(result['complex_lower']) == Q(claim['complex_lower']), + 'published complete claim binding') + need(result['profile'] == {str(k):v for k,v in read(HERE / 'CLAIM.json')['profile'].items()}, 'published complete profile binding') + result.update(status='PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE', explicit_native_cache_reuse=bool(a.prepared_native_cache), + source_files_sha256=sha(HERE / 'SOURCE-FILES.json'), native_receipt_sha256=sha(work / 'NATIVE-RECEIPT.json'), + cold_stages=stages, cold_seconds=time.monotonic()-started, + environment=dict(python=platform.python_version(), executable=sys.executable, versions=versions)) + write(work / 'RESULT.json', result) + print(result['status'], result['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/vendor/frontier/generate.py b/research/replica-tail-gain/vendor/frontier/generate.py new file mode 100644 index 0000000000..dafca20149 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/generate.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Rebuild the changed twelve-alias word and PR2679 pre-life/refit composition. +Pristine source is authenticated; only a fresh output directory is written. +""" +from pathlib import Path +import argparse,copy,gzip,hashlib,json,sys +sys.dont_write_bytecode=True +HERE=Path(__file__).resolve().parent +sys.path.insert(0,str(HERE)) +import joint_engine as J +ASSIGNMENTS=[(696,33,49),(697,55,101),(698,74,83),(700,85,98),(680,49,33),(681,83,74),(682,98,85),(684,101,55),(688,68,4),(689,80,88),(690,88,80),(692,31,12)] +def need(ok,msg): + if not ok:raise ValueError(msg) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def wr(p,w):p.write_bytes(gzip.compress((json.dumps(w,sort_keys=True,separators=(',',':'))+'\n').encode(),mtime=0)) +def main(): + need(__debug__,'assertions must be enabled') + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--source',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() + source=a.source.resolve();out=a.out.resolve();pins=rd(HERE/'GENERATOR-PINS.json') + sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() + need(sha(source/'MANIFEST.json')==pins['pr2679_manifest'],'PR2679 source manifest') + need(all(sha(source/k)==v for k,v in rd(source/'MANIFEST.json').items()),'complete source files') + need(all(sha(HERE/k)==v for k,v in pins['vendor'].items()),'vendor sources') + need(not out.exists() and not out.is_relative_to(source),'fresh separate output required');out.mkdir(parents=True) + S=source/'new/borrow';sys.path[:0]=[str(S),str(S/'prelife/search')] + import build_word,word_patch as W,prelife2 as P,repair2,alias_build as AB,audit_local as AU + for canon,tag,h in [('gauge44','base','eeb6a236'),('extra','extra','cd417b90')]: + f=out/f'canonical-{tag}.json.gz';build_word.main(str(S/f'inputs/{canon}.canonical.json.gz'),str(S/'inputs/blocks.json'),str(S/f'inputs/witness_43_{tag}.json'),str(f),h);w=rd(f) + patch=rd(S/f'inputs/refit_43{tag}.json') + for sec,i,frame in patch['frames']:w[sec][i][-1]=frame + w['report']['local_profile']=patch['local_profile'];w['cleanup']=W.derive_cleanup(w,W.restored_of(w)) + w=W.apply_kernel(w,rd(S/f'inputs/kernel_43{tag}.json')) + for name in ['handoff','entrance']:w=W.apply_handoff(w,rd(S/f'inputs/{name}_43{tag}.json')) + need(W.apply_lowfour(w,rd(S/f'inputs/lowfour_43{tag}.json'))==rd(HERE/f'inputs/POSITIVE2462-{tag}.json.gz'),'complete PR2462 positive reconstruction') + w['prelude_events']=0;w=J.make(source,out/'joint',tag,seed=w,assignments=ASSIGNMENTS) + patch=rd(S/f'inputs/prelife_43{tag}.json') + for pair in patch['pairs']: + host,borrower=pair['h'],pair['L'];E=next(x[4] for x in patch['fields']['warps'][58:] if x[1]==host) + P.TRACE,_=repair2.run(copy.deepcopy(w),None);w=P.build(w,borrower,host,E) + indices=[i for i,g in enumerate(w['B']) if g[:5]==['add',515,563,1,1]];need(len(indices)==1,'unique refit gate') + w['B'][indices[0]][-1]=rd(S/f'inputs/refit563_43{tag}.json')['frames'][0][-1] + w,_=AB.alias(w,653,563);lp,wi=AB.profile(w);w['report'].update(local_profile=lp,width_inventory=wi) + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') + # retired5 + retired7: the declared stages refit5 -> alias5 -> refit5c -> refit7 -> hostmove2 -> alias7 -> refit7c turn the regenerated PR2751 word into the candidate word + for st in ('refit5','alias5','refit5c','refit7','hostmove2','alias7','refit7c'): + p_=rd(HERE/f'inputs/{st}_43{tag}.json') + if st in ('alias5','hostmove2','alias7'):w=W.apply_lowfour(w,p_) + else: + w=copy.deepcopy(w) + for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st in ('refit5c','refit7','refit7c'),'refit gate');w[sec][i][-1]=frame + w['report']['local_profile']=p_['local_profile'] + f=out/f'WORD-retired7-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired7-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') + print('PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS') +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/vendor/frontier/independent_local.py b/research/replica-tail-gain/vendor/frontier/independent_local.py new file mode 100644 index 0000000000..e0b556adc3 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/independent_local.py @@ -0,0 +1,161 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Mason Hale/Codex PR2696 literal replay, extended by Tekalign/Codex. +Adds anticipatory corrections, checks six pre-life hosts and checks all twelve +source-recovery assertions at operator IDs47 through58. +""" +import json,gzip,hashlib +from collections import Counter,defaultdict +from fractions import Fraction as F +from functools import lru_cache +from pathlib import Path +@lru_cache(None) +def span(vs): + s={0} + for v in vs:s|={x^v for x in tuple(s)} + return frozenset(s) +def S(vs):return span(tuple(vs)) +def rank(vs):return len(S(vs)).bit_length()-1 +def dm(s):return len(s).bit_length()-1 +FULL=S([1<>i&1:a^=c + return a +def regs(g):return g[1:3] if g[0]=='add' else g[1:2] +def nt(r):return not 112<=r<224 +def load(p):return json.loads(gzip.decompress(p.read_bytes())) +def chronological(w): + d=defaultdict(list) + for op,(p,r,*_) in enumerate(w['warps'],1):d[p].append(['warp',r,op]) + b=[] + for i in range(len(w['B'])+1): + b+=d[i] + if i0 else (new,old) + assert frozenset(im(cols,x) for x in S(a))==S(b) + cur[r]=S(new) + for g in w['A']: + if g[0]=='warp':warp(*g[1:]) + else: + for r in regs(g):climb(r,g[-1]) + bysection['A']=dict(counts);prev=counts.copy() + lev={int(k):S(v) for k,v in w['target_levels'].items()} + assert all(cur[112+t]==lev.get(t,S([])) for t in range(112)) + paths=[] + for r,vs in zip(w['centers'],w['center_frames']): + s=S(vs);assert cur[r]==s + targets=[g[1]-112 for g in w['cut'] if g[2]==r] + frames=sorted({lev.get(t,S([])) for t in targets},key=lambda s:-len(s)) + ds=[] + for f in frames: + assert f<=s + d=dm(s)-dm(f) + if d:counts[d]+=1;ds.append(d) + s=f + paths.append({'center':r,'start_rank':rank(vs),'target_offsets':targets,'reader_lines':[sorted(f-{0}) for f in frames],'paid_degrees':ds}) + bysection['cut']=dict(counts-prev);prev=counts.copy() + ops=defaultdict(list) + for op,rec in enumerate(w['warps'],1):ops[rec[0]].append((op,rec)) + for i in range(len(w['B'])+1): + for op,(_,r,cols,old,new) in ops[i]:warp(r,op,old,new) + if i=224) + assert counts==Counter({int(k):v for k,v in w['report']['local_profile'].items()}) + assert inventory==Counter({int(k):v for k,v in w['report']['width_inventory'].items()}) + return {'profile':dict(sorted(counts.items())),'section_profiles':bysection,'inventory':dict(sorted(inventory.items())),'center_paths':paths},start,ends + +def check_cleanup(w): + restored=set(map(int,w['helper_final'])) + cold=lambda r:r+704 if r in restored else r + forward=w['A'][w['prelude_events']:]+chronological(w)+w['restore'] + expected=[] + for g in reversed(forward): + if g[0]=='warp':expected.append(['warp',cold(g[1]),-g[2]]) + elif nt(g[1]): + if g[0]=='add':expected.append(['add',cold(g[1]),cold(g[2]),-g[3],g[4]]) + else:expected.append(['scale',cold(g[1]),g[3],g[2]]) + assert expected==[g[:-1] for g in w['cleanup']] + assert all(S(g[-1])==FULL for g in w['cleanup']) + return len(expected) + +def algebra(w): + # A monomial records its operations oldest-first; appending an inverse + # cancels the newest symbol. No native/generator/audit modules imported. + live=set(range(704))-set(w['removed']);cold=set(map(int,w['helper_final'])) + assert all(112<=x['target']<224 and x['source'] in {273,275,289,291,305,321} for x in w['initial_corrections']) + program=[['correction',x] for x in w['initial_corrections']]+w['precondition']+w['compensation']+w['A']+w['cut']+chronological(w)+w['restore'] + result={} + for dual in [False,True]: + rows={r:{(r,()):F(1)} for r in live} + rows.update({704+r:{} for r in cold}) + def apply(g): + op=g[0] + if op=='correction': + x=g[1];t,s=x['target'],x['source'];q=F(x['coefficient']) + ops=list(reversed(x['operator_word'])) + if dual: + t,s,q=s,t,-q + ops=[-(abs(v)+1000)*(1 if v>0 else -1) for v in x['operator_word']] + for (r,word),c in list(rows[s].items()): + for v in ops:word=word[:-1] if word and word[-1]==-v else word+(v,) + key=(r,word);value=rows[t].get(key,F(0))+q*c + if value:rows[t][key]=value + else:rows[t].pop(key,None) + elif op=='add': + t,s=g[1:3];q=F(g[3],g[4]);assert t!=s + if dual:t,s,q=s,t,-q + for term,c in list(rows[s].items()): + v=rows[t].get(term,F(0))+q*c + if v:rows[t][term]=v + else:rows[t].pop(term,None) + elif op=='scale': + q=F(g[2],g[3]);q=1/q if dual else q + rows[g[1]]={term:q*c for term,c in rows[g[1]].items()} + elif op=='warp': + d=g[2] + if not dual and 460 else -1) + rows[g[1]]={(r,word[:-1] if word and word[-1]==-d else word+(d,)):c for (r,word),c in rows[g[1]].items()} + else:raise AssertionError(op) + for g in program:apply(g) + if not dual: + assert all(rows[112+t]=={(112+t,()):F(1),(t,()):F(1)} for t in range(112)) + assert all(rows[r]=={(r,()):F(1)} for r in cold) + assert all(not any(var in cold-{r} for (var,word) in rows[r]) for r in live) + for g in w['cleanup']:apply(g) + for r in live: + exp={(r,()):F(1)} + if dual and r<112:exp[(112+r,())]=F(-1) + if not dual and 112<=r<224:exp[(r-112,())]=F(1) + assert rows[r]==exp,(dual,r,rows[r]) + assert all(not rows[704+r] for r in cold) + result['dual' if dual else 'forward']='PASS' + return result diff --git a/research/replica-tail-gain/vendor/frontier/independent_owners.py b/research/replica-tail-gain/vendor/frontier/independent_owners.py new file mode 100644 index 0000000000..b196522f05 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/independent_owners.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Independent integer-time chronology and bit-mask whole-fill verification. + +No retained window code, donor generator, solver or native checker is imported. +Credit PR2679's pre-life/refit words, PR2673/PR2621 priority scheduling, +PR2588's swapped words, PR2559's evacuation, PR2530's source-partner +fill and the PR2462/PR2322/PR2436 lineage; +Hao Yan and the retained controller authors supply the underlying schedule. +This checks a finite hosting witness, not native circuitry or an exponent. +""" +import argparse +import sys +sys.dont_write_bytecode=True +import gzip +import hashlib +import json +from collections import Counter +from pathlib import Path + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def windows(template, order): + ranks={c['child']:c['rank'] for c in template['idle_children']} + pairs={e['stage']:e['pair'] for e in template['recipe'] if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind'] in ('bank_padding_cover_sweep','translate_every_live_family'): + continue + if event['kind']=='local_cover_sweep': + stage=event['stage'];blocks[stage]=[] + need(stage is not None,'event before first call') + blocks[stage].append(event) + progression=[0]*74;last={};result={} + for t,(stage,replica) in enumerate(order): + need(0<=replica<74 and stage==progression[replica],'order chronology') + progression[replica]+=1 + for j,event in enumerate(blocks[stage]): + kind=event['kind'] + if kind=='local_cover_sweep': + need(j==0,'local call position') + last[replica,pairs[stage]]=t + elif kind=='bridge': + last[replica,event['src']]=last[replica,event['dst']]=t + elif kind=='idle_cover_sweep': + need(j>0,'idle position') + start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks: + result[replica,child]=(ranks[child],start,t) + need(progression==[9]*74,'complete replica progression') + return result + + +def check(plan, template, order, fill, providers, initial_dispatch, expected_profile): + need(len(order)==666 and len(set(map(tuple,order)))==666,'call coverage') + win=windows(template,order) + dispatch=dict(initial_dispatch) + for s,r,pid in fill['dispatch_overrides']: + need((s,r) in dispatch and pid in providers,'dispatch override') + dispatch[s,r]=pid + need(set(dispatch)==set(map(tuple,order)),'dispatch coverage') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'role columns') + R=len(next(iter(providers.values()))['widths']) # retired5: helper count from the providers (was 415) + need(len(fill['rows'])==666*R,'role count') + need(all(len(p['widths'])==R for p in providers.values()),'helper widths') + helper_bits=[0]*666;family_bits=[0]*666;occupied={} + for row in fill['rows']: + need(len(row)==6 and all(type(v) is int for v in row),'role shape') + t,h,o,c,port,offset=row + need(0<=t<666 and 0<=h 5, the exact propagated floor) and raises each follower's first gate (606, 635, 637, 638, 639: dim 4 -> 5, the exact ceiling), with their meet/join closures; gates unchanged", + "frames": [ + [ + "B", + 901, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 902, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 903, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 909, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 910, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "B", + 947, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 948, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 949, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 951, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 952, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1024, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1025, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1026, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1027, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1028, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1029, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1030, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1031, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1032, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1033, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1034, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1035, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1040, + [ + 257, + 129, + 67, + 37, + 17, + 15 + ] + ], + [ + "B", + 1041, + [ + 257, + 129, + 68, + 34, + 22, + 8 + ] + ], + [ + "B", + 1042, + [ + 257, + 129, + 76, + 40, + 28, + 2 + ] + ], + [ + "B", + 1043, + [ + 257, + 129, + 73, + 42, + 27, + 5 + ] + ] + ], + "local_profile": { + "1": 2401, + "2": 639, + "3": 278, + "4": 129, + "5": 26, + "8": 8 + }, + "refit_log": [ + { + "h": 606, + "L": 550, + "lowered": [ + [ + 11940, + 6, + 5 + ] + ], + "raised": [ + [ + 11993, + 4, + 5 + ], + [ + 11994, + 4, + 5 + ], + [ + 11995, + 4, + 5 + ], + [ + 11997, + 4, + 5 + ], + [ + 11998, + 4, + 5 + ] + ] + }, + { + "h": 635, + "L": 551, + "lowered": [ + [ + 11941, + 6, + 5 + ] + ], + "raised": [ + [ + 12082, + 4, + 5 + ], + [ + 12083, + 4, + 5 + ], + [ + 12084, + 4, + 5 + ], + [ + 12085, + 4, + 5 + ], + [ + 12086, + 4, + 5 + ], + [ + 12087, + 4, + 5 + ], + [ + 12088, + 4, + 5 + ], + [ + 12089, + 4, + 5 + ], + [ + 12090, + 4, + 5 + ], + [ + 12091, + 4, + 5 + ], + [ + 12092, + 4, + 5 + ], + [ + 12093, + 4, + 5 + ], + [ + 12098, + 5, + 6 + ], + [ + 12099, + 5, + 6 + ], + [ + 12100, + 5, + 6 + ], + [ + 12101, + 5, + 6 + ] + ] + }, + { + "h": 637, + "L": 552, + "lowered": [ + [ + 11948, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 638, + "L": 553, + "lowered": [ + [ + 11949, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 639, + "L": 562, + "lowered": [ + [ + 11942, + 6, + 5 + ] + ], + "raised": [] + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit5_43extra.json b/research/replica-tail-gain/vendor/frontier/inputs/refit5_43extra.json new file mode 100644 index 0000000000..73fa6c445a --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit5_43extra.json @@ -0,0 +1,473 @@ +{ + "kind": "FRAME_REFIT_FOR_FIVE_ALIASES", + "credit": "exact minimal-change frame refit for the five retired-lender aliases (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): new/borrow/refit/search lowers each lender's last gate (550, 551, 552, 553, 562: dim 6 -> 5, the exact propagated floor) and raises each follower's first gate (606, 635, 637, 638, 639: dim 4 -> 5, the exact ceiling), with their meet/join closures; gates unchanged", + "frames": [ + [ + "B", + 901, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 902, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 903, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 909, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 910, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "B", + 947, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 948, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 949, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 951, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 952, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1024, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1025, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1026, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1027, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1028, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1029, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1030, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1031, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1032, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1033, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1034, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1035, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1040, + [ + 257, + 129, + 67, + 37, + 17, + 15 + ] + ], + [ + "B", + 1041, + [ + 257, + 129, + 68, + 34, + 22, + 8 + ] + ], + [ + "B", + 1042, + [ + 257, + 129, + 76, + 40, + 28, + 2 + ] + ], + [ + "B", + 1043, + [ + 257, + 129, + 73, + 42, + 27, + 5 + ] + ] + ], + "local_profile": { + "1": 2401, + "2": 639, + "3": 278, + "4": 129, + "5": 26, + "8": 8 + }, + "refit_log": [ + { + "h": 606, + "L": 550, + "lowered": [ + [ + 11940, + 6, + 5 + ] + ], + "raised": [ + [ + 11993, + 4, + 5 + ], + [ + 11994, + 4, + 5 + ], + [ + 11995, + 4, + 5 + ], + [ + 11997, + 4, + 5 + ], + [ + 11998, + 4, + 5 + ] + ] + }, + { + "h": 635, + "L": 551, + "lowered": [ + [ + 11941, + 6, + 5 + ] + ], + "raised": [ + [ + 12082, + 4, + 5 + ], + [ + 12083, + 4, + 5 + ], + [ + 12084, + 4, + 5 + ], + [ + 12085, + 4, + 5 + ], + [ + 12086, + 4, + 5 + ], + [ + 12087, + 4, + 5 + ], + [ + 12088, + 4, + 5 + ], + [ + 12089, + 4, + 5 + ], + [ + 12090, + 4, + 5 + ], + [ + 12091, + 4, + 5 + ], + [ + 12092, + 4, + 5 + ], + [ + 12093, + 4, + 5 + ], + [ + 12098, + 5, + 6 + ], + [ + 12099, + 5, + 6 + ], + [ + 12100, + 5, + 6 + ], + [ + 12101, + 5, + 6 + ] + ] + }, + { + "h": 637, + "L": 552, + "lowered": [ + [ + 11948, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 638, + "L": 553, + "lowered": [ + [ + 11949, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 639, + "L": 562, + "lowered": [ + [ + 11942, + 6, + 5 + ] + ], + "raised": [] + } + ] +} diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43base.json b/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43base.json new file mode 100644 index 0000000000..6779edb0aa --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43base.json @@ -0,0 +1,297 @@ +{ + "kind": "FRAME_REFIT_CERTIFIED_OPTIMAL_ALIASED", + "credit": "certified optimal frames of the aliased program (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): our #1186 toolkit optimal_frames on the borrow-word model of new/borrow/audit_local.py; gates, warps, start/final frames, compensation and widths unchanged", + "frames": [ + [ + "A", + 0, + [] + ], + [ + "A", + 1, + [] + ], + [ + "A", + 2, + [] + ], + [ + "A", + 3, + [] + ], + [ + "A", + 4, + [] + ], + [ + "A", + 5, + [] + ], + [ + "A", + 6, + [] + ], + [ + "A", + 7, + [] + ], + [ + "A", + 8, + [] + ], + [ + "A", + 9, + [] + ], + [ + "A", + 10, + [] + ], + [ + "A", + 11, + [] + ], + [ + "B", + 771, + [ + 392, + 64, + 33, + 17, + 3 + ] + ], + [ + "B", + 773, + [ + 395, + 64, + 33, + 18, + 4 + ] + ], + [ + "B", + 776, + [ + 259, + 132, + 76, + 33, + 18 + ] + ], + [ + "B", + 778, + [ + 260, + 131, + 76, + 33, + 18 + ] + ], + [ + "B", + 783, + [ + 390, + 65, + 33, + 19, + 13 + ] + ], + [ + "B", + 788, + [ + 257, + 134, + 64, + 33, + 30 + ] + ], + [ + "B", + 941, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 942, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 943, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 944, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 945, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 946, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 950, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1148, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 1149, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 1150, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 1151, + [ + 259, + 148, + 66, + 36, + 9 + ] + ], + [ + "B", + 1168, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 1169, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "restore", + 60, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } +} diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43extra.json b/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43extra.json new file mode 100644 index 0000000000..6779edb0aa --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit5c_43extra.json @@ -0,0 +1,297 @@ +{ + "kind": "FRAME_REFIT_CERTIFIED_OPTIMAL_ALIASED", + "credit": "certified optimal frames of the aliased program (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): our #1186 toolkit optimal_frames on the borrow-word model of new/borrow/audit_local.py; gates, warps, start/final frames, compensation and widths unchanged", + "frames": [ + [ + "A", + 0, + [] + ], + [ + "A", + 1, + [] + ], + [ + "A", + 2, + [] + ], + [ + "A", + 3, + [] + ], + [ + "A", + 4, + [] + ], + [ + "A", + 5, + [] + ], + [ + "A", + 6, + [] + ], + [ + "A", + 7, + [] + ], + [ + "A", + 8, + [] + ], + [ + "A", + 9, + [] + ], + [ + "A", + 10, + [] + ], + [ + "A", + 11, + [] + ], + [ + "B", + 771, + [ + 392, + 64, + 33, + 17, + 3 + ] + ], + [ + "B", + 773, + [ + 395, + 64, + 33, + 18, + 4 + ] + ], + [ + "B", + 776, + [ + 259, + 132, + 76, + 33, + 18 + ] + ], + [ + "B", + 778, + [ + 260, + 131, + 76, + 33, + 18 + ] + ], + [ + "B", + 783, + [ + 390, + 65, + 33, + 19, + 13 + ] + ], + [ + "B", + 788, + [ + 257, + 134, + 64, + 33, + 30 + ] + ], + [ + "B", + 941, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 942, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 943, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 944, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 945, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 946, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 950, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1148, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 1149, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 1150, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 1151, + [ + 259, + 148, + 66, + 36, + 9 + ] + ], + [ + "B", + 1168, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 1169, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "restore", + 60, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } +} diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit7_43base.json b/research/replica-tail-gain/vendor/frontier/inputs/refit7_43base.json new file mode 100644 index 0000000000..0095915f00 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit7_43base.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_FOR_TWO_HOSTEE_MOVES","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): new/borrow/refit/search lowers the last gates of the free retired lenders 564 (B911) and 565 (B912) from dim 6 to their exact propagated floor dim 5 (meet closure: no other gate changes); gates unchanged","frames":[["B",911,[258,130,84,44,1]],["B",912,[258,130,74,45,31]]],"local_profile":{"1":2388,"2":646,"3":268,"4":130,"5":26,"8":8},"previous_frames":[["B",911,[258,130,76,44,24,1]],["B",912,[258,130,74,43,25,6]]]} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit7_43extra.json b/research/replica-tail-gain/vendor/frontier/inputs/refit7_43extra.json new file mode 100644 index 0000000000..0095915f00 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit7_43extra.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_FOR_TWO_HOSTEE_MOVES","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): new/borrow/refit/search lowers the last gates of the free retired lenders 564 (B911) and 565 (B912) from dim 6 to their exact propagated floor dim 5 (meet closure: no other gate changes); gates unchanged","frames":[["B",911,[258,130,84,44,1]],["B",912,[258,130,74,45,31]]],"local_profile":{"1":2388,"2":646,"3":268,"4":130,"5":26,"8":8},"previous_frames":[["B",911,[258,130,76,44,24,1]],["B",912,[258,130,74,43,25,6]]]} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43base.json b/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43base.json new file mode 100644 index 0000000000..acd4d17dc2 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43base.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_CERTIFIED_OPTIMAL_RETIRED7","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): certified optimal frames of the aliased program (our #1186 toolkit optimal_frames on the borrow-word model, certified=True); gates, warps, start/final frames, compensation and widths unchanged","frames":[["B",1170,[258,130,84,44,1]],["B",1171,[258,130,74,45,31]]],"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8}} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43extra.json b/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43extra.json new file mode 100644 index 0000000000..acd4d17dc2 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/inputs/refit7c_43extra.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_CERTIFIED_OPTIMAL_RETIRED7","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): certified optimal frames of the aliased program (our #1186 toolkit optimal_frames on the borrow-word model, certified=True); gates, warps, start/final frames, compensation and widths unchanged","frames":[["B",1170,[258,130,84,44,1]],["B",1171,[258,130,74,45,31]]],"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8}} \ No newline at end of file diff --git a/research/replica-tail-gain/vendor/frontier/joint_engine.py b/research/replica-tail-gain/vendor/frontier/joint_engine.py new file mode 100644 index 0000000000..e76585f43f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/joint_engine.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Restore retired source pairs before handoff; generate twelve joint aliases. + +Derived from PR2462 (Jeremy Kothe), PR2436 lifted-target work (Tekalign), +and PR2322 generator utilities (Vlado Vojdanovski), all with AI assistance. +This derivative: OpenAI Codex at the user's direction. See README for scope. +""" +import sys,json,gzip,copy,importlib.util +from pathlib import Path +from fractions import Fraction as Q +from collections import defaultdict,Counter +HERE=Path(__file__).resolve().parent +sys.path.insert(0,str(HERE/'vendor')) +import generate_words as G +import gf_chart as C +from target_transport import step + +def mod(name,path): + spec=importlib.util.spec_from_file_location(name,path);module=importlib.util.module_from_spec(spec);spec.loader.exec_module(module);return module + +def paid_lifted(w): + src=Path(G.__file__).read_text();src=src[src.index('def paid_profile('):src.index('\ndef build(')] + src=src.replace("for event in word['A']:\n gate(event)","""for event in word['A']: + if event[0]=='warp': + _,r,op,U,V=event + cols=word['warps'][abs(op)-1][2] + if op<0: + back={mapped(cols,x):x for x in range(512)};cols=[back[1<len(a):a.append(x) + for x in F: + if len(b)len(b):b.append(x) + assert len(a)==len(b)==4 + cols=C.gf_change(a,b,9);E=[C.gf_linear(cols,x) for x in U] if hasattr(C,'gf_linear') else [G.mapped(cols,x) for x in U] + op=len(w['warps'])+len(newrecords)+1;newrecords.append([first,r,cols,list(U),E]);replace[h]=r + nw['removed'].append(h);del nw['start_extra'][str(h)];nw['helper_final'].pop(str(h),None) + # Keep preexisting operator IDs stable; extra warps are appended to the table. + newB=[];position={} + for i in range(len(w['B'])+1): + newB.extend(before[i]);position[i]=len(newB) + if ilen(w['warps']),(t,r,op,q) + groups[r,op[0]][t]=-q + prelude=[];targetlines={} + for (r,op),coeff in groups.items(): + for g in nw['precondition']+nw['compensation']:coeff=step(coeff,g,set(range(112,224))) + record=nw['warps'][op-1];line=[G.mapped(record[2],w['ports'][r])] + for t in coeff: + assert t not in targetlines or targetlines[t]==line,(t,r,op,line,targetlines.get(t),dict(groups)) + targetlines[t]=line + prelude.append(['warp',r,op,[w['ports'][r]],line]) + for t,q in sorted(coeff.items()):prelude.append(['add',t,r,q.numerator,q.denominator,line]) + prelude.append(['warp',r,-op,line,[w['ports'][r]]]) + lifts=[] + for t,line in sorted(targetlines.items()): + key=str(t-112);old=nw['target_levels'].get(key,[]);assert not old or G.basis(old)==G.basis(line) + if not old:lifts.append(['scale',t,1,1,line]);nw['target_levels'][key]=line + nw['A']=lifts+prelude+nw['A'];nw['prelude_events']+=len(lifts)+len(prelude) + tmp=copy.deepcopy(nw);tmp['A']=tmp['A'][nw['prelude_events']:];nw['cleanup']=WP.derive_cleanup(tmp,WP.restored_of(w)) + pp,iv=paid_lifted(nw);nw['report']['local_profile']=pp;nw['report']['width_inventory']=iv + out=BASE/f'eight-alias-{tag}.json.gz';out.write_bytes(gzip.compress(json.dumps(nw,separators=(',',':')).encode())) + print('BUILT',tag,'newops',len(newrecords),'targets',targetlines,'file',out,flush=True) + AU2.run(out,BASE/f'eight-alias-{tag}-audit.json') + return nw diff --git a/research/replica-tail-gain/vendor/frontier/packing_cap.py b/research/replica-tail-gain/vendor/frontier/packing_cap.py new file mode 100644 index 0000000000..fe937f8667 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/packing_cap.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Uses Douglas Colkitt's exact ceiling engine (Claude-assisted), pinned unchanged. +# Adapter by Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Fixed-word coverage-law ceiling; separate from physical and outer admission.""" +import argparse, hashlib, importlib.util, json, sys +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +HERE = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +IDLE = {1:17316,3:6594,5:9878,32:1,48:26558} +CANDIDATE = {1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} +ENDPOINT = Q('0.001717794984118634663827') + +def need(ok, message): + if not ok: + raise ValueError(message) + +def calculate(profile_path=None): + path = HERE / 'vendor/ceiling.py' + need(hashlib.sha256(path.read_bytes()).hexdigest() == ENGINE_SHA, 'ceiling source pin') + spec = importlib.util.spec_from_file_location('packing_ceiling', path) + engine = importlib.util.module_from_spec(spec); spec.loader.exec_module(engine) + h = {int(r): n for r,n in json.loads((profile_path or HERE/'PROFILE.json').read_text()).items()} + need(h == CANDIDATE and sum(r*n for r,n in h.items()) == 4816512, + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} + need(local == {1:2382,2:648,3:268,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) + need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5188, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') + c = Q(json.loads((HERE/'CLAIM.json').read_text())['complex_lower']) + need(c == ENDPOINT, 'certified candidate endpoint') + with localcontext() as ctx: + ctx.prec = 50 + dec = lambda x: str(Decimal(x.numerator)/Decimal(x.denominator)) + return dict(status='PASS_FIXED_WORD_PACKING_CEILING',source_sha256=ENGINE_SHA, + local_per_call={str(r):str(n) for r,n in local.items()}, + dimension=73,families=896,stages=9,centre_rank_per_call=64,max_idle_rank=model['R'], + complex_cap_bracket=[str(lo),str(hi)],complex_cap_upper_decimal=dec(hi), + realized_fraction_lower=str(c/hi),realized_fraction_decimal=dec(c/hi), + scope='Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used.') + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--output',type=Path) + ap.add_argument('--profile',type=Path,default=HERE/'PROFILE.json');a=ap.parse_args() + text=json.dumps(calculate(a.profile),indent=2)+'\n' + if a.output: + a.output.parent.mkdir(parents=True,exist_ok=True);a.output.write_text(text) + print(text,end='') +if __name__=='__main__': main() diff --git a/research/replica-tail-gain/vendor/frontier/requirements.txt b/research/replica-tail-gain/vendor/frontier/requirements.txt new file mode 100644 index 0000000000..816d0c8e91 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/requirements.txt @@ -0,0 +1,4 @@ +numpy==2.5.4 +sympy==1.14.0 +scipy==1.18.1 +mpmath==1.3.0 diff --git a/research/replica-tail-gain/vendor/frontier/retired7_controls.py b/research/replica-tail-gain/vendor/frontier/retired7_controls.py new file mode 100644 index 0000000000..67a9818ac7 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/retired7_controls.py @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: Apache-2.0 +# Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +"""retired7 tamper controls on a final BORROW-WORD (each mutant gets its inverse-reverse cleanup re-derived from its own forward +word; a rejection by a stale-cleanup/operator-id reason counts as a FAILURE): + refit7: each new lender's last-gate refit undone must be rejected by 'warp frame mismatch'; + hostmove2: per moved hostee - warp lender reverted, move undone (hostee back on its old lender, which now hosts the new alias), + warp before the new lender retires, G wrong; + alias7 (the PR2679 alias suite per new alias): borrowed read sign flipped, read doubled, write sign flipped, warp dropped, + G wrong, warp after the follower's first gate (the lender's own life ended in A, so 'before retirement' has no B position), + helper kept with an entrance frame; + refit7c: one certified frame corrupted. +usage: retired7_controls.py WORD INPUT_DIR TAG OUT (INPUT_DIR holds refit7/hostmove2/alias7/refit7c_43TAG.json; audit_local.py and +word_patch.py are imported from this directory)""" +import copy, contextlib, gzip, io, json, sys, tempfile +from pathlib import Path +VACUOUS = ('explicit cleanup differs', 'warp operator id') +def regs(e): return e[1:3] if e[0] == 'add' else e[1:2] +def relabel(m, start, a, b): + for i in range(start, len(m['B'])): + e = m['B'][i] + if e[0] == 'add': + if e[1] == a: e[1] = b + if e[2] == a: e[2] = b + elif e[1] == a: e[1] = b +def controls(w0, p7, ph, pa, pc, audit, WP): + """audit(word) -> None (accepted) or the rejection reason; returns (all_ok, results)""" + def rederive(m): + m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(w0)); m2['A'] = A; return m2 + res = {} + def expect(name, m, reason=None, fresh=True): + r = audit(rederive(m) if fresh else m) + ok = r is not None and not r.split(': ', 1)[-1].startswith(VACUOUS) and (reason is None or reason in r) + res[name] = dict(rejected=r is not None, reason=(r or '')[:160], real_reason=ok) + need = audit(w0); assert need is None, ('unmutated final word rejected', need) + for sec, i, fr in p7['previous_frames']: + m = copy.deepcopy(w0); m[sec][i][-1] = fr; expect(f'refit7 {sec}{i} lender refit undone', m, 'warp frame mismatch') + for mv in ph['moves']: + k = mv['op'] - 1; tag = f"move{mv['op']} {mv['L_old']}->{mv['L_new']}" + m = copy.deepcopy(w0); m['warps'][k][1] = mv['L_old']; expect(tag + ' warp lender reverted', m) + m = copy.deepcopy(w0); m['warps'][k] = copy.deepcopy(mv['old_record']); relabel(m, mv['old_pos'], mv['L_new'], mv['L_old']); expect(tag + ' move undone', m) + m = copy.deepcopy(w0); m['warps'][k][0] = mv['pos'] - 400; expect(tag + ' warp before lender retirement', m) + m = copy.deepcopy(w0); m['warps'][k][2][0] ^= m['warps'][k][2][1]; expect(tag + ' G wrong', m) + for a in pa['aliases']: + h, L = a['h'], a['L']; op = next(i for i, r in enumerate(w0['warps']) if r[1] == L and r[0] == a['pos']); tag = f'{h}<-{L}' + reads = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] + writes = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] + m = copy.deepcopy(w0); m['B'][reads[0]][3] *= -1; expect(tag + ' borrowed read sign flipped', m) + m = copy.deepcopy(w0); m['B'][reads[0]][3] *= 2; expect(tag + ' borrowed read doubled', m) + if writes: m = copy.deepcopy(w0); m['B'][writes[0]][3] *= -1; expect(tag + ' borrowed write sign flipped', m) + m = copy.deepcopy(w0); del m['warps'][op] + for e in m['A'][:m['prelude_events']]: + if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 + expect(tag + ' warp dropped', m) + m = copy.deepcopy(w0); m['warps'][op][2][0] ^= m['warps'][op][2][1]; expect(tag + ' G wrong', m) + m = copy.deepcopy(w0); m['warps'][op][0] = a['pos'] + 1; expect(tag + " warp after the follower's first gate", m) + m = copy.deepcopy(w0); m['start_extra'][str(h)] = a['E']; expect(f'{h} kept with an entrance frame', m) + sec, i, fr = pc['frames'][0]; m = copy.deepcopy(w0); m[sec][i][-1] = [1]; expect('refit7c certified frame corrupted', m, fresh=False) + return all(r['real_reason'] for r in res.values()), res +if __name__ == '__main__': + here = Path(__file__).resolve().parent; sys.path.insert(0, str(here)) + import audit_local as al, word_patch as WP + w0 = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())); D = Path(sys.argv[2]); tag = sys.argv[3]; tmp = Path(tempfile.mkdtemp()) + p = {n: json.loads((D / f'{n}_43{tag}.json').read_text()) for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')} + def audit(w): + q = tmp / 'm.json.gz'; q.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode())) + try: + with contextlib.redirect_stdout(io.StringIO()): al.run(q, tmp / 'm.out.json', None, None) + return None + except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as e: + return (type(e).__name__ + ': ' + str(e))[:200] + ok, res = controls(w0, p['refit7'], p['hostmove2'], p['alias7'], p['refit7c'], audit, WP) + Path(sys.argv[4]).write_text(json.dumps(dict(all_rejected_for_real_reasons=ok, controls=res), indent=1) + '\n') + print(('ALL RETIRED7 CONTROLS REJECTED' if ok else 'RETIRED7 CONTROL FAILURE'), sum(r['real_reason'] for r in res.values()), 'of', len(res)); sys.exit(0 if ok else 1) diff --git a/research/replica-tail-gain/vendor/frontier/test_integrity.py b/research/replica-tail-gain/vendor/frontier/test_integrity.py new file mode 100644 index 0000000000..eedb99e86a --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/test_integrity.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Git-free read-only replay and fail-closed input/claim/optimization controls.""" +import hashlib,json,os,shutil,subprocess,sys,tempfile +from pathlib import Path +HERE=Path(__file__).resolve().parent +def need(ok,msg): + if not ok:raise RuntimeError(msg) +def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} +def main(): + with tempfile.TemporaryDirectory(prefix='joint-twelve-retired7-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) + r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') + f=p/'CLAIM.json';b=f.read_bytes();c=json.loads(b);c['kappa']='1';f.write_text(json.dumps(c));r=run();need(r.returncode!=0 and 'claim outer endpoint' in r.stderr,'claim corruption rejection');f.write_bytes(b) + f=p/'inputs/WORD-base.json.gz';b=f.read_bytes();f.write_bytes(b+b'corruption');r=run();need(r.returncode!=0 and 'input digest' in r.stderr,'word authentication rejection');f.write_bytes(b) + need(hashes(p)==before,'controls restore exact files') + print('PASS_JOINT_TWELVE_RELOCATED_READ_ONLY_AND_INTEGRITY_CONTROLS') +if __name__=='__main__':main() diff --git a/research/replica-tail-gain/vendor/frontier/vendor/GENERATOR-NOTICE.txt b/research/replica-tail-gain/vendor/frontier/vendor/GENERATOR-NOTICE.txt new file mode 100644 index 0000000000..b075f7180e --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/GENERATOR-NOTICE.txt @@ -0,0 +1,129 @@ +Generator for PR2312 width exchange plus coherent four-handoff transformation +========================================================================== + +generate_words.py is new portable code prepared with substantial AI +assistance, under the repository Apache-2.0 license. It directly transforms +the pinned PR2312 width-exchange BORROW-WORDs and regenerates cleanup. The existing source +builder is not copied or imported at runtime. The independent native chain, +rather than the generator or its hashes, proves all-column circuit correctness +and exact physical Clifford phases. + +PR2312 width exchange is credited to Jeremy Kothe (@jeremykothe2), with +AI assistance: alias 651 is re-lent from lender 530 and alias 653 is dropped, +freeing register 554 for cold restoration and changing two width-8 helpers +to width 7. The exact frame re-solve of both borrowed words and the owner +fill for that source width inventory retain the source's credit to Jeremy +Kothe, with AI assistance. This generator consumes the resulting complete +source words; it does not reapply their kernels or width exchange. + +Consumed PR2312 source head: + fb76f799ccf078f51780076ebed3fd26b1db11c0 +Package: + research/gmx-t74-borrow43-width-exchange +Manifest SHA-256: + c545968fb8cf6e550b82ba631e92fd756484db75e621aee211347749cff55313 + +The two helper-donor kernels at pivots 518 and 506 are retained from +PR2302. Their kernel shape is credited to mdumitrean (PR1625); their search, +exact pricing and frame re-solve are credited to Jeremy Kothe +(@jeremykothe2), with AI assistance, as stated by the source. The PR2302 +source and this necessary derivative generator were prepared with AI +assistance. This generator composes the four block-616 handoffs after those +kernels, preserving all kernel scalar gates and their re-solved frames. + +Predecessor PR2302 source head: + d520b92d7bf18efcb7d84f12757face6fe9541f1 +Package: + research/gmx-t74-borrow43-k518-506 +Manifest SHA-256: + 74634d13d27026e2867973b58dfef5e31958d92c54454b29e52292b7fc2e1f0d + +WildIdeas is credited for the exact frame refits retained from PR2288. +The source's additional frame-solver credit to Jeremy Kothe, with AI +assistance, is retained. The predecessor's full credit and licensing notice +is reproduced below. + +Anticipatory dirty borrowing is credited first to Cinna Davis +(@1337isnot1337), PR2226, with substantial OpenAI Codex assistance. The +retired-register K_G handoff and inverse-reverse FULL cleanup with proper-ended +private zero buffers derive from that construction and its PR2288 realization. +PR2288 source head: 614c74a63b0f6d4a24c7740d7ddb90d37861b3c7. + +This code is licensed under Apache-2.0, inherited from the repository. +The original repository LICENSE and NOTICE remain in the predecessor source; +the consumed package NOTICE is reproduced verbatim below, along with the +additional PR2226 notice. The PR2312 and PR2302 package NOTICE files are byte-identical to the +PR2288 package NOTICE reproduced here. + +--- PR2288 package NOTICE (verbatim) --- + +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + + +--- PR2226 native-chain notice (verbatim) --- + +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the Borrow campaign's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. + + +Reproduction and equality +======================== + +Run: + python3 generate_words.py --source-root FETCHED_REPOSITORY --out NEW_DIRECTORY + +The generator checks the pinned source manifest and both consumed compressed +source-word hashes. It writes base.json.gz, extra.json.gz and GENERATION.json. +Canonical JSON hashes cover every output field, including frames, scalar +gates, operators, endpoints, cleanup and invoices. These hashes determine +regenerated circuit equality. The compressed container hashes are recorded +for provenance; Python/zlib changes can produce different gzip streams for +the same circuit. The OS header byte is normalized to 255. In the recorded generation +environment both output containers also exactly match the composed +word hashes. Recompression alone does not require repeating native phases. + +The four binary G maps are explicit construction constants, checked for +invertibility and the measured source-to-handoff chart identity on each run. +The native replay independently lowers their exact physical representatives. +Two old warp-basis representatives are rewritten only after verifying equal +GF(2) spans, preserving the frozen input serialization. No JSON patch file or +unrecorded local dependency is needed. + +Composition binding +=================== + +The source-manifest and source-word constants bind the consumed PR2312 +inputs. The canonical JSON target hashes cover every composed output field. +The literal base tag names PR2312 width exchange plus coherent joint616; +SOURCE_COMMIT and SOURCE_MANIFEST identify the consumed source. +This generation receipt does not establish native phases, owner admission, +or a new exponent; those require their separate independently replayed +native and global receipts. diff --git a/research/replica-tail-gain/vendor/frontier/vendor/LICENSE b/research/replica-tail-gain/vendor/frontier/vendor/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/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/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-NOTICE b/research/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json b/research/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json new file mode 100644 index 0000000000..cd19eda259 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json @@ -0,0 +1,26 @@ +{ + "vendor/gf_chart.py": { + "sha256": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "source_commit": "19d9366de79dc3125429c3912e4040331d125a27", + "source_path": "research/complex-structure-seed39/nonzero-lender-evidence/census.py", + "mode": "four unchanged gf_* functions" + }, + "vendor/target_transport.py": { + "sha256": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "source_commit": "19d9366de79dc3125429c3912e4040331d125a27", + "source_path": "research/complex-structure-seed39/nonzero-lender-evidence/target_transport.py", + "mode": "unchanged full file" + }, + "vendor/generate_words.py": { + "sha256": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "source_commit": "002304ef01c4416a127916169ae6d94c1bee052b", + "source_path": "research/t74-joint-owner-hillclimb/generate_words.py", + "mode": "unchanged full file" + }, + "vendor/GENERATOR-NOTICE.txt": { + "sha256": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "source_commit": "002304ef01c4416a127916169ae6d94c1bee052b", + "source_path": "research/t74-joint-owner-hillclimb/GENERATOR-NOTICE.txt", + "mode": "unchanged full file" + } +} diff --git a/research/replica-tail-gain/vendor/frontier/vendor/audit_local_pr2679.py b/research/replica-tail-gain/vendor/frontier/vendor/audit_local_pr2679.py new file mode 100644 index 0000000000..8224873d04 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/audit_local_pr2679.py @@ -0,0 +1,501 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1<>=1;i+=1 + return y + +def ginv(cols,h): + # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise + piv={}; + for i in range(h): + a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] + if a:return None + pre.append(b) + return pre # pre[t] = G^{-1}(e_t) + +def gtrans(cols,h): + # transpose: column j of G^T = row j of G + return [sum(((cols[i]>>j)&1)< E (used for B-phase warps and for A-phase prelude warps)""" + inv=ginv(cols,h);require(inv is not None,'G not invertible') + require(all(gmul(cols,inv[t])==1<(Gx, (G+G^-T)x + G^-T z) + GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} + # G^{-T}(z): via columns GiT + def M(vec): + x=vec&((1<>h + gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x + return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) + walg_add(rows[src],row,-c) + return + if e[0]=='warp': + op=e[2];s=(op>0)-(op<0) + if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol + rows[e[1]]=walg_warp(rows[e[1]],op);return + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + walg_add(rows[t],rows[s],q) + else: + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + +def invert_item(e,full): + if e[0]=='warp':return ['warp',e[1],-e[2]] + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def run_borrow(path,out,main,base,w,data,begin): + v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R + require((v,h)==(112,9),'wrong source geometry') + require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') + full=basis([1<=2*v,'correction source must be a remaining helper') + require(s not in entering,'correction source has nonzero entrance frame') + require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') + require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') + # the source is the lender of the operator it is read through + require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') + # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- + end=[full]*v+[basis([x for x in range(1,1<0 else list(to_),list(to_) if op_>0 else list(fr_),h) + require(cur[r_]==basis(fr_),'prelude warp frame mismatch '+str((r_,op_))) + cur[r_]=basis(to_) + else: + for q in registers(e):climb(q,e[-1]) + for e in Aord: + for q in registers(e):climb(q,e[-1]) + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + require(all(cur[v+t]==lev.get(t,()) for t in range(v)),'target centre levels') + for q,U in zip(w['centers'],w['center_frames']): + U=basis(U);require(cur[q]==U,'center frame') + served={lev.get(e[1]-v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(contained(T,U),'center path not nested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + byposition={} + for op,rec in enumerate(warps,1):byposition.setdefault(rec[0],[]).append(op) + B=w['B'];forward=[] # chronological program of the (recorded) non-target word + for e in Aord:forward.append(e) + for p in range(len(B)+1): + for op in byposition.get(p,[]): + _,lender,cols,U,E=warps[op-1] + require(cur[lender]==basis(U),'warp frame mismatch '+str((op,lender,cur[lender],basis(U)))) + cur[lender]=basis(E);forward.append(['warp',lender,op]) + if p 1 is a what-if for a changed coverage law only); + * the local word fixes its own paid child profile `local` (per call); + * every remaining unit of mass is an idle/remainder child of rank at most R, where the outer + recipe's halving guard m^2 > 2 R^2 bounds R (R = 51 for m = 73). + +Lemma. For a >= 0, a child of rank r costs (r/m)^(1-a) = r * c(r), with c(r) = r^(-a) m^(a-1) +non-increasing in r. Hence, with idle mass M fixed and idle ranks <= R, every idle histogram has +moment >= the relaxation that puts all of M into (possibly fractional) rank-R children: + + relax(a) = [ sum_local n_r (r/m)^(1-a) + (M/R) (R/m)^(1-a) ] / w (per call). + +The moment is increasing in a. So relax(a*) > 1 certifies that no hosting, owner packing or +idle-remainder change of the given local word, template and outer recipe certifies a saving +>= a*. Under the retained reduction kappa < a/(1+a) when the complex side binds, so +a*/(1+a*) also bounds kappa. This is a bound for the stated model, not for other local words, +templates, coverage laws or outer recipes. + +Exact rational intervals: ln k from atanh chains, exp by Taylor with Lagrange remainder, +outward rounding to 2^-PREC. Standard library only. Douglas Colkitt, with Claude (Anthropic) +assistance. +""" +from fractions import Fraction as Q +from functools import lru_cache +from math import isqrt + +PREC = 256 + + +def require(ok, why): + if not ok: + raise ValueError(why) + + +def down(x): + return Q((x.numerator << PREC) // x.denominator, 1 << PREC) + + +def up(x): + return -down(-x) + + +@lru_cache(None) +def atanh(t): + """Enclosure of atanh(t) for rational 0 < t <= 1/3.""" + require(0 < t <= Q(1, 3), 'atanh range') + s, p, k = Q(0), t, 0 + while True: + term = p / (2 * k + 1) + s += term + p *= t * t + k += 1 + tail = p / ((2 * k + 1) * (1 - t * t)) + if tail < Q(1, 1 << (PREC + 8)): + return down(s), up(s + tail) + + +@lru_cache(None) +def ln(k): + """Enclosure of ln k for an integer k >= 1: ln k = ln(k-1) + 2 atanh(1/(2k-1)).""" + require(isinstance(k, int) and k >= 1, 'ln domain') + if k == 1: + return Q(0), Q(0) + lo, hi = ln(k - 1) + a, b = atanh(Q(1, 2 * k - 1)) + return down(lo + 2 * a), up(hi + 2 * b) + + +def exp(lo, hi): + """Enclosure of exp([lo, hi]) for 0 <= lo <= hi <= 1/2.""" + require(0 <= lo <= hi <= Q(1, 2), 'exp range') + def series(y, upper): + s, t, k = Q(1), Q(1), 0 + while True: + k += 1 + t = t * y / k + s += t + if t * y < Q(1, 1 << (PREC + 8)): + return up(s + 2 * t * y / (k + 1)) if upper else down(s) + return series(lo, False), series(hi, True) + + +def child_cost(r, m, a): + """Enclosure of (r/m)^(1-a) = (r/m) exp(a ln(m/r)).""" + lm, um = ln(m) + lr, ur = ln(r) + e = exp(max(Q(0), a * (lm - ur)), a * (um - lr)) + return down(Q(r, m) * e[0]), up(Q(r, m) * e[1]) + + +def max_idle_rank(m): + """Largest R with m^2 > 2 R^2 (outer halving guard).""" + R = isqrt((m * m - 1) // 2) + while 2 * (R + 1) ** 2 < m * m: + R += 1 + while 2 * R * R >= m * m: + R -= 1 + return R + + +def model(local, m, families, stages, centre, R=None, unpaid=1): + """Per-call quantities. local: {rank: count per call (Fraction ok)}.""" + R = max_idle_rank(m) if R is None else R + require(2 * R * R < m * m, 'idle rank cap violates the halving guard') + require(all(0 < r < m for r in local) and all(n >= 0 for n in local.values()), 'local profile') + w = Q(families, stages) + require(1 <= unpaid < m, 'unpaid coordinates per family') + total = (m - unpaid) * w + centre + local_mass = sum(r * Q(n) for r, n in local.items()) + idle = total - local_mass + require(idle >= 0, 'local word pays more mass than the coverage law allows') + return dict(R=R, w=w, total_mass=total, local_mass=local_mass, idle_mass=idle, deficit=unpaid * w - centre) + + +def relax(local, m, families, stages, centre, a, R=None, unpaid=1): + """Enclosure of the per-call relaxation moment at saving a.""" + q = model(local, m, families, stages, centre, R, unpaid) + lo = hi = Q(0) + for r, n in local.items(): + c = child_cost(r, m, a) + lo, hi = lo + Q(n) * c[0], hi + Q(n) * c[1] + c = child_cost(q['R'], m, a) + k = q['idle_mass'] / q['R'] + lo, hi = lo + k * c[0], hi + k * c[1] + return down(lo / q['w']), up(hi / q['w']) + + +def ceiling(local, m, families, stages, centre, grid=Q(1, 10 ** 15), R=None, unpaid=1): + """Grid bracket [a_lo, a_hi]: relax(a_lo) < 1 < relax(a_hi), certified. a_hi is the ceiling.""" + lo, hi = Q(0), Q(1, 20) + require(relax(local, m, families, stages, centre, hi, R, unpaid)[0] > 1, 'search window too small') + require(relax(local, m, families, stages, centre, lo, R, unpaid)[1] < 1, 'relaxation has no positive saving') + while hi - lo > grid: + mid = Q(int((lo + hi) / 2 / grid)) * grid + if mid <= lo: + mid = lo + grid + v = relax(local, m, families, stages, centre, mid, R, unpaid) + if v[1] < 1: + lo = mid + elif v[0] > 1: + hi = mid + else: + raise ValueError('enclosure too wide to separate the grid point') + return lo, hi diff --git a/research/replica-tail-gain/vendor/frontier/vendor/generate_words.py b/research/replica-tail-gain/vendor/frontier/vendor/generate_words.py new file mode 100644 index 0000000000..94bf0d8f29 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/generate_words.py @@ -0,0 +1,335 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Construct four coherent handoffs on the pinned PR2312 width-exchange words. + +This is a direct circuit transformation, using Python's standard library only. +It moves the twelve block-616 correction gates, replaces four retired helper +roles by the source lenders (1,4,6,12), installs their explicit invertible chart +maps, and derives inverse-reverse cleanup from the changed non-target word. +The source and resulting word content are hash-bound. Hash equality is a +reproduction check; the independent all-column native chain proves correctness. +The input retains PR2312's width exchange (alias 651 re-lent from 530 and +alias 653 dropped), exact frame re-solve and the pivot-518/506 kernels. +Width exchange and its source frame/owner work are credited to Jeremy Kothe +(jeremykothe2), with AI assistance. The helper-donor kernels retain credit: +PR1625 shape by mdumitrean; PR2302 search, exact pricing and frame re-solve +by Jeremy Kothe (jeremykothe2), with AI assistance. This derivative was also +prepared with substantial AI assistance. See GENERATOR-NOTICE.txt for +inherited attribution and licensing. +""" +import argparse +import copy +import gzip +import hashlib +import json +import platform +import zlib +from collections import Counter, defaultdict +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PACKAGE = Path('research/gmx-t74-borrow43-width-exchange') +SOURCE_COMMIT = 'fb76f799ccf078f51780076ebed3fd26b1db11c0' +SOURCE_MANIFEST = 'c545968fb8cf6e550b82ba631e92fd756484db75e621aee211347749cff55313' +SOURCE_WORDS = { + 'base': '4244149b59b287344b0e91aa50c6fa2a2491ee6c7a76d61cd352684a8182d005', + 'extra': '01d510cc4ba912567f6b02ea50b6b0e741ed231a3608de9c36e7eeccbdaf6cda', +} +TARGET_WORDS = { + 'base': '93c32c9dc8ca18394b7f3afac2cb4fa8582a6cb77399441b5107b396e63ca0f9', + 'extra': 'aae6592eaa4cf8638f21d50c44d09d4f8a6bb079ddcf5e377711a10ee2ddb526', +} +TARGET_SEMANTICS = { + 'base': '3659c066d5cc2413a6f59bae8d5886e05feb8148333516f65365ad5235e14f2a', + 'extra': '9369702d158c34d594481a1789a2bddc029d03007253620cf3834ec60a88b1a5', +} +HIGH = (619, 621, 622, 623) +LOW = (616, 617, 618, 620) +LENDERS = (1, 4, 6, 12) +COMMON5 = (260, 132, 75, 42, 25) +COMMON4 = (260, 132, 75, 51) +# Literal G(e_i) columns of the four new rank-zero K_G handoffs. Each map is +# independently checked below, then physically lowered by the native auditor. +G_COLUMNS = ( + (1, 2, 4, 54, 72, 8, 130, 16, 284), + (1, 2, 4, 8, 16, 32, 64, 135, 263), + (1, 2, 4, 54, 72, 8, 130, 16, 284), + (1, 2, 4, 8, 57, 66, 143, 16, 272), +) +PROFILE = {1: 2335, 2: 512, 3: 426, 4: 120, 5: 38, 8: 8} +WIDTHS = {4: 33, 5: 9, 7: 38, 8: 114, 9: 240} + + +def require(ok, message): + if not ok: + raise RuntimeError(message) + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def semantic_sha(value): + # JSON object keys are strings; normalize integer invoice keys before sorting. + value = json.loads(json.dumps(value)) + return sha(json.dumps(value, sort_keys=True, separators=(',', ':')).encode()) + + +def basis(vectors): + """Canonical reduced GF(2) row basis, independent of set iteration order.""" + piv = {} + for value in vectors: + while value: + bit = value.bit_length() - 1 + if bit in piv: + value ^= piv[bit] + else: + piv[bit] = value + break + for bit in sorted(piv): + for higher in piv: + if higher > bit and (piv[higher] >> bit) & 1: + piv[higher] ^= piv[bit] + return tuple(piv[bit] for bit in sorted(piv, reverse=True)) + + +def incident(gate): + return gate[1:3] if gate[0] == 'add' else gate[1:2] + + +def mapped(columns, vector): + result = 0 + for bit, column in enumerate(columns): + if (vector >> bit) & 1: + result ^= column + return result + + +def derive_cleanup(word): + """PR2226/PR2288 inverse-reverse cleanup, retaining proper-end buffers.""" + v = word['report']['v'] + n = 2 * v + word['report']['R'] + restored = set(map(int, word['helper_final'])) + full = list(basis(1 << bit for bit in range(word['report']['h']))) + buffer = lambda role: role + n if role in restored else role + by_position = defaultdict(list) + for operator, record in enumerate(word['warps'], 1): + by_position[record[0]].append((record[1], operator)) + forward = list(word['A']) + for position in range(len(word['B']) + 1): + forward.extend(['warp', role, operator] + for role, operator in by_position[position]) + if position < len(word['B']): + forward.append(word['B'][position]) + forward += word['restore'] + cleanup = [] + for gate in reversed(forward): + if gate[0] == 'warp': + cleanup.append(['warp', buffer(gate[1]), -gate[2], full]) + elif not v <= gate[1] < 2 * v: + if gate[0] == 'add': + cleanup.append(['add', buffer(gate[1]), buffer(gate[2]), + -gate[3], gate[4], full]) + else: + cleanup.append(['scale', buffer(gate[1]), gate[3], gate[2], full]) + return cleanup + + +def paid_profile(word): + """Recount literal native climbs, cut copies and retained helper widths.""" + v, h, helpers = (word['report'][key] for key in ('v', 'h', 'R')) + n = 2 * v + helpers + cur = [(port,) for port in word['ports']] + [()] * (v + helpers) + for role, frame in word['start_extra'].items(): + cur[int(role)] = basis(frame) + full = basis(1 << bit for bit in range(h)) + ends = [full] * v + [basis(x for x in range(1, 1 << h) + if (x & port).bit_count() % 2 == 0) + for port in word['ports']] + [full] * helpers + for role, frame in word['helper_final'].items(): + ends[int(role)] = basis(frame) + paid = Counter() + + def climb(role, frame): + frame = basis(frame) + require(basis(cur[role] + frame) == frame, 'Nonmonotone frame chain') + degree = len(frame) - len(cur[role]) + if degree: + paid[degree] += 1 + cur[role] = frame + + def gate(event): + for role in incident(event): + climb(role, event[-1]) + + for event in word['A']: + gate(event) + levels = {int(t): basis(frame) for t, frame in word['target_levels'].items()} + require(all(cur[v+t] == levels.get(t, ()) for t in range(v)), 'Cut target frame') + for role, frame in zip(word['centers'], word['center_frames']): + frame = basis(frame) + require(cur[role] == frame, 'Cut producer frame') + readers = {levels.get(event[1]-v, ()) for event in word['cut'] + if event[2] == role} + for reader in sorted(readers, key=lambda x: -len(x)): + require(basis(reader + frame) == frame, 'Unnested private copy') + if reader != frame: + paid[len(frame)-len(reader)] += 1 + frame = reader + by_position = defaultdict(list) + for record in word['warps']: + by_position[record[0]].append(record) + for position in range(len(word['B']) + 1): + for _, role, columns, old, new in by_position[position]: + require(cur[role] == basis(old), 'Handoff source frame') + require(len(basis(columns)) == h, 'Singular chart map') + require(basis(mapped(columns, x) for x in old) == basis(new), + 'Chart map does not carry the measured source frame') + cur[role] = basis(new) + if position < len(word['B']): + gate(word['B'][position]) + for event in word['restore']: + gate(event) + live = set(range(n)) - set(word['removed']) + for role in live: + climb(role, ends[role]) + widths = Counter(len(ends[role]) - len(basis(word['start_extra'].get(str(role), []))) + for role in live if role >= 2 * v) + return dict(sorted(paid.items())), dict(sorted(widths.items())) + + +def build(source): + word = copy.deepcopy(source) + require(word['report']['v'] == 112 and word['report']['h'] == 9 + and word['report']['R'] == 480, 'Unexpected source geometry') + roles = set(LOW + HIGH) + prep = [i for i, event in enumerate(word['B']) + if set(incident(event)) <= roles] + # The only internal gates before source acquisition are the twelve M gates. + first = next(i for i, event in enumerate(word['B']) + if event[0] == 'add' and event[1] in roles + and event[2] not in roles and len(event[-1]) >= 6) + prep = [i for i in prep if i < first] + require(len(prep) == 12 and prep == list(range(prep[0], prep[0]+12)), + 'Expected twelve consecutive block-616 correction gates') + lo, hi = prep[0], prep[-1] + 1 + require(all(not roles.intersection(incident(event)) + for event in word['B'][hi:first]), 'Block is not idle before relocation') + require(all(basis(word['B'][i][-1]) == basis(COMMON5) for i in prep), + 'Unexpected correction chart') + require(all(event[0] == 'add' and event[1] in LOW and event[2] in HIGH + for event in (word['B'][i] for i in prep)), 'Unexpected correction payload') + require(all(basis(word['start_extra'][str(role)]) == basis(COMMON5) + for role in HIGH), 'Unexpected removed helper entrance') + require(not any(record[0] in range(lo, hi+1) or record[0] == first + for record in word['warps']), 'Warp inside relocation boundary') + replace = dict(zip(HIGH, LENDERS)) + moved = [event[:-1] + [list(COMMON4)] for event in word['B'][lo:hi]] + word['B'] = word['B'][:lo] + word['B'][hi:first] + moved + word['B'][first:] + handoff = first - len(moved) + for event in word['B']: + for index in range(1, 3 if event[0] == 'add' else 2): + event[index] = replace.get(event[index], event[index]) + for record in word['warps']: + if hi <= record[0] < first: + record[0] -= len(moved) + # Preserve the already-audited literal basis representatives emitted by + # the original builder. These replacements span precisely the same U. + rewrite = {(384, 134, 120, 30): (384, 134, 102, 30), + (448, 56, 21, 11): (448, 38, 21, 11)} + old = tuple(record[3]) + if old in rewrite: + require(basis(old) == basis(rewrite[old]), 'Basis serialization changed U') + record[3] = list(rewrite[old]) + # Measure each retired source at the chronological handoff, without trusting + # a lender chart copied from a generated target artifact. + cur = [(port,) for port in word['ports']] + [()] * (112 + 480) + for role, frame in word['start_extra'].items(): + cur[int(role)] = basis(frame) + for event in source['A']: + for role in incident(event): + cur[role] = basis(event[-1]) + old_warps = defaultdict(list) + for record in source['warps']: + old_warps[record[0]].append(record) + for position in range(first): + for record in old_warps[position]: + cur[record[1]] = basis(record[4]) + for role in incident(source['B'][position]): + cur[role] = basis(source['B'][position][-1]) + for role, columns in zip(LENDERS, G_COLUMNS): + require(len(cur[role]) == 4, 'Retired lender must be rank 4') + require(max(i for i, event in enumerate(source['B']) + if role in incident(event)) < first, 'Source lender still live') + old_literal = (384, 131, 75, 51) if role == 4 else cur[role] + new_literal = (384, 132, 75, 51) + require(basis(old_literal) == cur[role] + and basis(new_literal) == basis(COMMON4), + 'Literal handoff representative changed its subspace') + word['warps'].append([handoff, role, list(columns), + list(old_literal), list(new_literal)]) + for role in HIGH: + del word['start_extra'][str(role)] + word['removed'] = sorted(set(word['removed']).union(HIGH)) + word['base'] = 'PR2312-width-exchange-plus-coherent-joint616' + profile, widths = paid_profile(word) + require(profile == PROFILE and widths == WIDTHS, 'Unexpected generated invoice') + word['report']['local_profile'] = profile + word['report']['width_inventory'] = widths + word['cleanup'] = derive_cleanup(word) + return word, dict(old_correction_interval=[lo, hi], old_first_input=first, + relocated_correction_interval=[handoff, handoff+12], + removed_roles=list(HIGH), lenders=list(LENDERS)) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--source-root', type=Path, required=True, + help='Repository root containing the pinned PR2312 package') + parser.add_argument('--out', '--output', type=Path, required=True, + help='Destination for base.json.gz, extra.json.gz and GENERATION.json') + args = parser.parse_args() + package = args.source_root.resolve() / PACKAGE + manifest_bytes = (package / 'MANIFEST.json').read_bytes() + require(sha(manifest_bytes) == SOURCE_MANIFEST, 'Unpinned upstream manifest') + manifest = json.loads(manifest_bytes) + args.out.mkdir(parents=True, exist_ok=True) + reports = {} + for kind in ('base', 'extra'): + relative = f'new/borrow/words/BORROW-WORD-43{kind}.json.gz' + raw = (package / relative).read_bytes() + require(sha(raw) == SOURCE_WORDS[kind] == manifest[relative], + 'Unpinned '+kind+' source word') + word, changes = build(json.loads(gzip.decompress(raw))) + content = json.dumps(word, separators=(',', ':')).encode() + canonical_hash = semantic_sha(word) + require(canonical_hash == TARGET_SEMANTICS[kind], + 'Generated '+kind+' circuit differs from the frozen audited input') + compressed = bytearray(gzip.compress(content, compresslevel=9, mtime=0)) + compressed[9] = 255 # Normalize the Python 3.11/3.12 gzip OS header byte. + compressed = bytes(compressed) + destination = args.out / (kind+'.json.gz') + destination.write_bytes(compressed) + reports[kind] = dict(source_word_sha256=sha(raw), output=destination.name, + output_sha256=sha(compressed), content_sha256=sha(content), + canonical_json_sha256=canonical_hash, + frozen_container_sha256=TARGET_WORDS[kind], + container_matches_frozen=sha(compressed) == TARGET_WORDS[kind], + local_profile=word['report']['local_profile'], + width_inventory=word['report']['width_inventory'], + changes=changes) + print('PASS_GENERATED_AUDITED_WORD_SEMANTICS', kind, canonical_hash, flush=True) + receipt = dict(status='PASS_SOURCE_BOUND_EXACT_WORD_GENERATION', + source_commit=SOURCE_COMMIT, source_manifest_sha256=SOURCE_MANIFEST, + generator_sha256=sha(Path(__file__).read_bytes()), words=reports, + compression_environment=dict(python=platform.python_version(), + zlib=zlib.ZLIB_RUNTIME_VERSION), + equality='Canonical JSON of every field; gzip container hashes are metadata', + scope='Exact source-bound reproduction of the independently audited words. ' + 'Circuit correctness, physical phases and the global owner invoice ' + 'are established by their separate native and global receipts.') + (args.out / 'GENERATION.json').write_text(json.dumps(receipt, indent=2)+'\n') + + +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/vendor/frontier/vendor/gf_chart.py b/research/replica-tail-gain/vendor/frontier/vendor/gf_chart.py new file mode 100644 index 0000000000..11f5bfd882 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/gf_chart.py @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +# Exact GF(2) chart utilities extracted from PR2436 census.py; unchanged functions. + +def gf_rank(xs): + b = {} + for x in xs: + while x: + j = x.bit_length() + if j not in b: + b[j] = x + break + x ^= b[j] + return len(b) + +def gf_extend(xs, h): + out = list(xs) + for j in range(h): + if gf_rank(out + [1 << j]) > len(out): + out.append(1 << j) + assert len(out) == h + return out + +def gf_linear(cols, x): + out = 0 + for j, c in enumerate(cols): + if x >> j & 1: + out ^= c + return out + +def gf_change(source, target, h): + a, b = gf_extend(source, h), gf_extend(target, h) + back = {gf_linear(a, x): x for x in range(1 << h)} + assert len(back) == 1 << h + return [gf_linear(b, back[1 << j]) for j in range(h)] diff --git a/research/replica-tail-gain/vendor/frontier/vendor/target_transport.py b/research/replica-tail-gain/vendor/frontier/vendor/target_transport.py new file mode 100644 index 0000000000..89ee0168c6 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/target_transport.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Exact target-vector transport; no physical/native admission is implied. + +For a final correction c, compute the unique simultaneous correction at every +boundary of a target-affine gate word. Non-target source terms cancel from the +difference. Transport through target mixing, not only target scales. +""" +from fractions import Fraction as Q + + +def need(ok, msg): + if not ok: + raise RuntimeError(msg) + + +def step(c, gate, targets, inverse=False): + out=dict(c) + kind=gate[0] + if kind not in ('add','scale'): + return out + t=gate[1] + if kind=='add': + s=gate[2] + need(not (s in targets and t not in targets), 'non-target reads target') + if t in targets and s in targets: + a=Q(gate[3],gate[4])*(-1 if inverse else 1) + out[t]=out.get(t,Q(0))+a*out.get(s,Q(0)) + elif t in targets: + a=Q(gate[2],gate[3]);need(a!=0,'zero target scale') + out[t]=out.get(t,Q(0))*(1/a if inverse else a) + return {t:a for t,a in out.items() if a} + + +def suffix_corrections(gates, final, targets): + need(set(final)<=set(targets),'correction outside targets') + c={t:Q(a) for t,a in final.items() if a} + vectors=[c] + for g in reversed(gates): + c=step(c,g,targets,inverse=True) + vectors.append(c) + return list(reversed(vectors)) + + +def verify_transport(gates, final, targets): + vectors=suffix_corrections(gates,final,targets) + need(len(vectors)==len(gates)+1,'missing boundary') + for i,g in enumerate(gates): + need(step(vectors[i],g,targets)==vectors[i+1],f'transport boundary {i}') + need(vectors[-1]=={t:Q(a) for t,a in final.items() if a},'wrong final') + return vectors + + +def controls(): + # A correction on source target 11 is mixed into target 10 by an ADD; + # a scalar-only backward transport would miss this exact obstruction. + targets={10,11};gates=[['add',10,11,3,2,[]],['scale',11,-2,1,[]]] + final={10:Q(5),11:Q(4)} + v=verify_transport(gates,final,targets) + need(v[0]=={10:Q(8),11:Q(-2)},'known noncommuting two-target example') + wrong=dict(v[0]);wrong[10]=Q(5) + for g in gates:wrong=step(wrong,g,targets) + need(wrong!=final,'ignored-mixing control accepted') + try:step({10:Q(1)},['add',0,10,1,1,[]],targets) + except RuntimeError:pass + else:raise RuntimeError('target read into non-target not rejected') + return {'noncommuting_target_mix':'rejected_scalar_only_transport','non_target_read':'rejected'} + + +if __name__=='__main__': + need(__debug__,'assertions must remain enabled') + controls() + print('PASS_EXACT_TARGET_TRANSPORT_CONTROLS') diff --git a/research/replica-tail-gain/vendor/frontier/vendor/word_patch_pr2679.py b/research/replica-tail-gain/vendor/frontier/vendor/word_patch_pr2679.py new file mode 100644 index 0000000000..492a3ef831 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/vendor/word_patch_pr2679.py @@ -0,0 +1,65 @@ +"""word_patch.py: exact structural edits of a BORROW-WORD (kernel edits found on the borrowed words, applied on top of the pinned rebuild). +apply_kernel(word, patch) replaces the sections listed in patch['sections'] (B, warps, and frame-only A/restore changes) and re-derives the explicit inverse-reverse cleanup exactly as build_word.py does; +kernel_gate_edit(old_B, new_B) returns the gate-level edit (frames ignored) that turns the old B section into the new one, so the edit declared in the patch can be checked.""" +import copy,difflib,json +V=112;N=704;FULL=[256,128,64,32,16,8,4,2,1] +def _key(g):return json.dumps(g[:-1]) +def kernel_gate_edit(old_B,new_B): + """[('delete',i,gate) | ('insert',i_new,gate)] between the two B sections, ignoring the trailing frame of every gate""" + ka=[_key(g) for g in old_B];kb=[_key(g) for g in new_B];ed=[] + for t,i1,i2,j1,j2 in difflib.SequenceMatcher(None,ka,kb,autojunk=False).get_opcodes(): + if t in('delete','replace'):ed+=[['delete',i,old_B[i][:-1]] for i in range(i1,i2)] + if t in('insert','replace'):ed+=[['insert',j,new_B[j][:-1]] for j in range(j1,j2)] + return ed +def derive_cleanup(w,restored): + byp={} + for op,rec in enumerate(w['warps'],1):byp.setdefault(rec[0],[]).append((op,rec)) + fw=list(w['A']) + for p in range(len(w['B'])+1): + for op,rec in sorted(byp.get(p,[]),key=lambda x:x[0]):fw.append(['warp',rec[1],op]) + if p=N}|{g[2]-N for g in w['cleanup'] if g[0]=='add' and g[2]>=N} +def apply_kernel(w,patch): + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['sections'].items():r[k]=copy.deepcopy(v) + r['report']['local_profile']=patch['local_profile'] + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_handoff(w,patch): + """coherent multi-helper handoff edit (retired-source replacement of high roles): replace the listed top-level fields and the report, re-derive the cleanup from the changed word""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_lowfour(w,patch): + """four low aliases through lifted-target compensation (PR2436 mechanism): replace the listed fields; the A section starts with the + explicit prelude (patch fields['prelude_events'] leading items); the inverse-reverse cleanup is derived WITHOUT the prelude.""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r['prelude_events']:] + r['cleanup']=derive_cleanup(t,rs) + return r + +def apply_prelife(w,patch): + """pre-life hosting (this package): a cold host h, after it has restored itself and retired, hosts the whole life of a dim-0-start + helper L through one B warp; h stops being cold, so the restored (private-buffer) set of the derived cleanup is the NEW helper_final + key set (not the input word's). Replace the listed fields and the report; re-derive the inverse-reverse cleanup without the prelude.""" + r=copy.deepcopy(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r.get('prelude_events',0):] + r['cleanup']=derive_cleanup(t,{int(q) for q in r['helper_final']}) + return r diff --git a/research/replica-tail-gain/vendor/frontier/verify.py b/research/replica-tail-gain/vendor/frontier/verify.py new file mode 100644 index 0000000000..d8101f1a28 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/verify.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Read-only finite replay: words, corrections, cleanup, hosting and exact moment. +No assertion-optimized execution; full native/outer release is separate. +""" +import copy,gzip,hashlib,json +from pathlib import Path +from fractions import Fraction as F +import sys +sys.path.insert(0,str(Path(__file__).resolve().parent)) +import composition as C +import independent_local as L +import independent_owners as I +import exact_moment as M +HERE=Path(__file__).resolve().parent +PROFILE={1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} +LOW=F('0.001717794984118634663827') +PROFILE2751={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +LOW2751=F('0.001717141586348426338109') +ALIASES=[(606,550),(635,551),(637,552),(638,553),(639,562)] # retired5 +NEW7=[(667,401),(669,403)] # retired7: retired-lender aliases enabled by moving the hostees of warps 30/31 onto 564/565 +import importlib.util as _iu +_s=_iu.spec_from_file_location('word_patch_pr2679',Path(__file__).resolve().parent/'vendor/word_patch_pr2679.py');WP=_iu.module_from_spec(_s);_s.loader.exec_module(WP) +def refit_apply(w0,p): + w=copy.deepcopy(w0) + for sec,i,fr in p['frames']: + need(w[sec][i][:-1]==w0[sec][i][:-1],'refit changes a gate');w[sec][i][-1]=fr + w['report']['local_profile']=p['local_profile'];return w +def compact(fill,old_words,new_words,old_prov,new_prov,order,dispatch): + live=lambda w:[r for r in range(224,704) if r not in set(w['removed'])] + L0=live(old_words['gauge44']);L1=live(new_words['gauge44']);need(L0==live(old_words['extra']) and L1==live(new_words['extra']),'live helper sets') + gone=set(L0)-set(L1);need(set(L1)<=set(L0) and sorted(gone)==sorted([h for h,_ in ALIASES]+[h for h,_ in NEW7]),'removed helpers') + i1={r:i for i,r in enumerate(L1)};bins={} + for pid in ('gauge44','extra'):need([old_prov[pid]['widths'][L0.index(r)] for r in L1]==new_prov[pid]['widths'],'renumbered widths') + for t,h,o,c,p,off in fill['rows']: + if L0[h] in gone:continue + bins.setdefault((o,c,p),[]).append([t,i1[L0[h]],o,c,p,off]) + rows=[] + for key,rs in bins.items(): + rs.sort(key=lambda x:x[5]);pos=0 + for x in rs:x[5]=pos;pos+=new_prov[dispatch[tuple(order[x[0]])]]['widths'][x[1]];rows.append(x) + rows.sort(key=lambda x:(x[0],x[1]));return dict(fill,rows=rows) +def need(ok,msg): + if not ok:raise ValueError(msg) +def rd(name): + p=HERE/'inputs'/name;b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def run(): + need(__debug__,'run without -O: inherited independent local checker uses assertions') + pins=json.loads((HERE/'INPUT-PINS.json').read_text()) + for path,digest in pins.items():need(hashlib.sha256((HERE/path).read_bytes()).hexdigest()==digest,'input digest '+path) + claim=json.loads((HERE/'CLAIM.json').read_text()) + need({int(k):v for k,v in claim['profile'].items()}==PROFILE,'claim profile') + need(F(claim['complex_lower'])==LOW and F(claim['complex_upper'])==LOW+F(1,10**24),'claim bracket') + need(F(claim['kappa'])==LOW-F(1,10**46)-F(1,10**70),'claim outer endpoint') + for name in ('PR2733','PR2745','PR2751','PR2766','PR2767'): + previous=json.loads((HERE/'evidence'/(f'{name}-OUTER-CLAIM.json' if name=='PR2767' else f'{name}-CLAIM.json')).read_text()) + need(F(claim['kappa'])>F(previous['kappa']),'strict improvement over '+name) + words={} + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=rd('WORD-'+tag+'.json.gz');words[pid]=w + L.check_frames(w);L.check_cleanup(w);L.algebra(w) + need(set(int(t)+112 for t in w['target_levels']).isdisjoint(g[1] for g in w['cut']),'lifted targets avoid every cut read') + for label in ['drop_anticipatory','reverse_anticipatory','reverse_recovery']: + bad=copy.deepcopy(w) + if label=='drop_anticipatory':bad['initial_corrections'].pop() + elif label=='reverse_anticipatory':bad['initial_corrections'][0]['coefficient']=str(-F(bad['initial_corrections'][0]['coefficient'])) + else: + j=next(i for i,g in enumerate(bad['B']) if g[:5]==['add',49,33,-1,1]);bad['B'][j][3]=1 + try:L.algebra(bad) + except AssertionError:pass + else:raise ValueError('accepted mutation '+label) + order,fill,providers=rd('ORDER.json'),rd('FILL.json.gz'),rd('PROVIDERS.json') + dispatch={(s,r):p for s,r,p in rd('DISPATCH.json.gz')} + need(order==rd('SOURCE-ORDER.json'),'source order') + # retired5: PR2751's own construction (its words, providers and fill) is reproduced first ... + words51={'gauge44':rd('WORD2751-base.json.gz'),'extra':rd('WORD2751-extra.json.gz')};prov51=rd('PROVIDERS2751.json');fill51=rd('FILL2751.json.gz') + constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),prov51,rd('SOURCE-FILL.json.gz'),order,dispatch,words51) + need(constructed==fill51,'complete deterministic PR2751 fill') + # ... then the declared stages turn its words into the candidate words exactly ... + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=refit_apply(words51[pid],rd('refit5_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias5_43'+tag+'.json'));w=refit_apply(w,rd('refit5c_43'+tag+'.json')) + w=refit_apply(w,rd('refit7_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('hostmove2_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias7_43'+tag+'.json'));w=refit_apply(w,rd('refit7c_43'+tag+'.json')) # retired7 + need(w==words[pid],'declared stages reproduce the candidate word '+tag) + d2=dict(dispatch) + for s,r,p in fill['dispatch_overrides']:d2[s,r]=p + # ... and the candidate fill is PR2751's fill with the seven removed helpers' roles dropped, renumbered and re-tiled as bin prefixes + need(compact(fill51,words51,words,prov51,providers,order,d2)==fill,'complete deterministic candidate fill') + owner=I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,fill,providers,dispatch,PROFILE) + bad=copy.deepcopy(fill);bad['rows'][0][5]=999 + try:I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,bad,providers,dispatch,PROFILE) + except (ValueError,RuntimeError):pass + else:raise ValueError('accepted out-of-bin placement') + _,a=M.moment_bounds(PROFILE,LOW);b,_=M.moment_bounds(PROFILE,LOW+F(1,10**24));need(a<6630466304,'PR2751 rejects candidate endpoint') + return {'status':'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} +if __name__=='__main__':print(json.dumps(run(),indent=2)) diff --git a/research/replica-tail-gain/vendor/frontier/verify_retired7.py b/research/replica-tail-gain/vendor/frontier/verify_retired7.py new file mode 100644 index 0000000000..0f2c1ee50f --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/verify_retired7.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +# retired7 extension of verify_retired5.py (same author). +"""Bounded replay of retired7 on PR2751's words: the five retired-lender aliases (retired5 stages) plus two hostee moves that free +two more retired lenders (retired7 stages refit7 -> hostmove2 -> alias7 -> refit7c). Read-only, standard library only. + +1. Rebuilds both candidate words from PR2751's words through the seven declared stages (refit5, alias5, refit5c, refit7, hostmove2, + alias7, refit7c) and checks each stage's declared structure exactly. +2. Runs the pinned PR2679 BORROW-WORD auditor (vendor/audit_local_pr2679.py, byte-identical) on every state. +3. Tamper controls, each rejected by that auditor for a real reason: every lender refit undone (warp frame mismatch), every + follower raise undone, the PR2679 alias suite (7 mutations per alias, cleanup re-derived), one certified frame corrupted. +4. Literal owner check of the complete fill (independent_owners.py, integer chronology and bit-mask bins). +5. Exact endpoint: rational adjacent bracket of the moment root at 1e-24, an 80-digit decimal root, and + kappa = C - 10^-46 - 10^-70 strictly above the pinned exact claims of PR2751, PR2766 and PR2767. +""" +import contextlib, copy, gzip, hashlib, importlib.util, io, json, sys, tempfile +from decimal import Decimal, getcontext +from fractions import Fraction as F +from pathlib import Path +HERE = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +sys.path.insert(0, str(HERE)) +ALIASES = [(606, 550), (635, 551), (637, 552), (638, 553), (639, 562)] +MOVES = [(30, 401, 564, 911), (31, 403, 565, 912)] # retired7: (warp op, old lender, new lender, new lender's last B gate) +NEW7 = [(667, 401), (669, 403)] +H5 = [h for h, _ in ALIASES]; L5 = [L for _, L in ALIASES] +def need(ok, msg): + if not ok: raise ValueError(msg) +def rd(name): + p = HERE / name; b = p.read_bytes(); return json.loads(gzip.decompress(b) if p.suffix == '.gz' else b) +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m +def regs(e): return e[1:3] if e[0] == 'add' else e[1:2] +def refit_apply(w0, p): + w = copy.deepcopy(w0) + for sec, i, fr in p['frames']: + need(w[sec][i][:-1] == w0[sec][i][:-1], 'refit changes a gate'); w[sec][i][-1] = fr + w['report']['local_profile'] = p['local_profile']; return w +def frames_only(x, y): + need(set(x) == set(y) and all(x[k] == y[k] for k in x if k not in ('A', 'B', 'restore', 'report')), 'non-frame field changed') + need(all(len(x[k]) == len(y[k]) and all(a[:-1] == b[:-1] for a, b in zip(x[k], y[k])) for k in ('A', 'B', 'restore')), 'gate changed') + return {(k, i) for k in ('A', 'B', 'restore') for i, (a, b) in enumerate(zip(x[k], y[k])) if a != b} +def main(): + need(__debug__, 'run without -O: the pinned auditor and these checks use assertions') + pins = rd('INPUT-PINS.json') + for path, digest in pins.items(): need(hashlib.sha256((HERE / path).read_bytes()).hexdigest() == digest, 'input digest ' + path) + for name, digest in (('vendor/audit_local_pr2679.py', AUDITOR_SHA), ('vendor/word_patch_pr2679.py', WORD_PATCH_SHA)): + need(hashlib.sha256((HERE / name).read_bytes()).hexdigest() == digest, 'vendored source pin ' + name) + AU = load('audit_local_pr2679', HERE / 'vendor/audit_local_pr2679.py'); WP = load('word_patch_pr2679', HERE / 'vendor/word_patch_pr2679.py') + import independent_owners as I, exact_moment as M, retired7_controls as R7 + tmp = Path(tempfile.mkdtemp(prefix='retired5-')) + def audit(w, name): + p = tmp / (name + '.json.gz'); p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + try: + with contextlib.redirect_stdout(io.StringIO()): AU.run(p, tmp / (name + '.out.json'), None, None) + return None + except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as exc: + return (type(exc).__name__ + ': ' + str(exc))[:200] + def rederive(m, ref): + m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(ref)); m2['A'] = A; return m2 + out = dict(words={}, controls={}) + for tag in ('base', 'extra'): + w0 = rd(f'inputs/WORD2751-{tag}.json.gz'); final = rd(f'inputs/WORD-{tag}.json.gz') + p1, p2, p3 = rd(f'inputs/refit5_43{tag}.json'), rd(f'inputs/alias5_43{tag}.json'), rd(f'inputs/refit5c_43{tag}.json') + s1 = refit_apply(w0, p1); ch1 = frames_only(w0, s1); need(ch1 == {(s, i) for s, i, _ in p1['frames']}, 'refit5 declared frames') + lastL = {L: max(p for p, e in enumerate(w0['B']) if L in regs(e)) for L in L5}; firstH = {h: min(p for p, e in enumerate(w0['B']) if h in regs(e)) for h in H5} + need(all(lastL[L] < firstH[h] for h, L in ALIASES) and not any(L in regs(e) for L in L5 for e in w0['restore']), 'lenders retired before their followers enter') + need(all(len(s1['B'][p][-1]) == len(w0['B'][p][-1]) - 1 == 5 for p in lastL.values()), 'lender last gates lowered 6 -> 5') + need(all(len(s1['B'][p][-1]) == len(w0['B'][p][-1]) + 1 == 5 for p in firstH.values()), 'follower first gates raised 4 -> 5') + s2 = WP.apply_lowfour(s1, p2) + need(WP.kernel_gate_edit(s1['B'], s2['B']) == p2['declared_gate_edit'] and sorted(set(s2['removed']) - set(s1['removed'])) == H5, 'alias5 declared edit and removed helpers') + need(s2['warps'][:len(s1['warps'])] == s1['warps'] and [x[1] for x in s2['warps'][len(s1['warps']):]] == L5 and all(len(x[3]) == len(x[4]) == 5 for x in s2['warps'][-5:]), 'alias5 warps') + need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p2['aliases']] == s2['warps'][-5:] and s2['A'] == s1['A'] and s2['restore'] == s1['restore'], 'alias5 records') + need(s2['start_extra'] == {k: v for k, v in s1['start_extra'].items() if int(k) not in H5} and not any(h in regs(e) for h in H5 for e in s2['B'] + s2['restore']), 'helpers fully removed') + need(all(s2[k] == s1[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias5 changes nothing else') + s3 = refit_apply(s2, p3); ch3 = frames_only(s2, s3); need(ch3 == {(s, i) for s, i, _ in p3['frames']}, 'refit5c declared frames') + p4, p5, p6, p7 = (rd(f'inputs/{n}_43{tag}.json') for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')) + s4 = refit_apply(s3, p4); ch4 = frames_only(s3, s4); need(ch4 == {('B', g) for _, _, _, g in MOVES} == {(s, i) for s, i, _ in p4['frames']}, 'refit7 declared frames') + need(all(len(s3['B'][g][-1]) == 6 and len(s4['B'][g][-1]) == 5 and L1 in regs(s3['B'][g]) and max(p for p, e in enumerate(s3['B']) if L1 in regs(e)) == g for _, _, L1, g in MOVES), 'new lenders: last gates lowered 6 -> 5') + need(not any(L1 in regs(e) for _, _, L1, _ in MOVES for e in s3['restore']) and p4['previous_frames'] == [[s, i, s3[s][i][-1]] for s, i, _ in p4['frames']], 'new lenders retired; previous frames recorded') + s5 = WP.apply_lowfour(s4, p5) + need(WP.kernel_gate_edit(s4['B'], s5['B']) == p5['declared_gate_edit'] and s5['removed'] == s4['removed'] and s5['start_extra'] == s4['start_extra'], 'hostmove2 declared edit') + for i, (a, b) in enumerate(zip(s4['B'], s5['B'])): + c = list(a) + for op, L0, L1, _ in MOVES: + if i >= s4['warps'][op - 1][0]: c = [L1 if (j in (1, 2) if c[0] == 'add' else j == 1) and x == L0 else x for j, x in enumerate(c)] + need(c[:-1] == b[:-1], 'hostmove2 is exactly the relabel of the hostees from their warp positions') + need([i for i, (x, y) in enumerate(zip(s4['warps'], s5['warps'])) if x != y] == [op - 1 for op, _, _, _ in MOVES] and len(s5['warps']) == len(s4['warps']), 'hostmove2 replaces exactly warps 30 and 31 in place') + need(all(s4['warps'][op - 1][1] == L0 and s5['warps'][op - 1][1] == L1 and len(s5['warps'][op - 1][3]) == len(s5['warps'][op - 1][4]) == 5 and s5['warps'][op - 1][0] > g for op, L0, L1, g in MOVES), 'moved warps: new lenders, dim 5, after the lenders retire') + need([[m['pos'], m['L_new'], m['G'], m['U'], m['E']] for m in p5['moves']] == [s5['warps'][op - 1] for op, _, _, _ in MOVES] and [m['old_record'] for m in p5['moves']] == [s4['warps'][op - 1] for op, _, _, _ in MOVES], 'hostmove2 records') + need(all(not any(L0 in regs(e) for e in s5['B'] + s5['restore']) for _, L0, _, _ in MOVES), 'old lenders untouched after their A lives') + need(all(s5[k] == s4[k] for k in ('A', 'restore', 'helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'hostmove2 changes nothing else') + s6 = WP.apply_lowfour(s5, p6); H7 = [h for h, _ in NEW7]; L7 = [L for _, L in NEW7] + need(WP.kernel_gate_edit(s5['B'], s6['B']) == p6['declared_gate_edit'] and s6['removed'] == s5['removed'] + H7, 'alias7 declared edit and removed helpers') + need(s6['warps'][:len(s5['warps'])] == s5['warps'] and [x[1] for x in s6['warps'][len(s5['warps']):]] == L7 and all(len(x[3]) == len(x[4]) == 4 for x in s6['warps'][-2:]), 'alias7 warps') + need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p6['aliases']] == s6['warps'][-2:] and [a['h'] for a in p6['aliases']] == H7 and s6['A'] == s5['A'] and s6['restore'] == s5['restore'], 'alias7 records') + need(all(max([p for p, e in enumerate(s5['B']) if L in regs(e)], default=-1) < min(p for p, e in enumerate(s5['B']) if h in regs(e)) for h, L in NEW7) and not any(L in regs(e) for L in L7 for e in s5['restore']), 'alias7 lenders retired before their followers enter') + need(s6['start_extra'] == {k: v for k, v in s5['start_extra'].items() if int(k) not in H7} and not any(h in regs(e) for h in H7 for e in s6['B'] + s6['restore']), 'alias7 helpers fully removed') + need(all(s6[k] == s5[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias7 changes nothing else') + s7 = refit_apply(s6, p7); ch7 = frames_only(s6, s7); need(ch7 == {(s, i) for s, i, _ in p7['frames']}, 'refit7c declared frames') + need(s7 == final, 'declared stages rebuild the candidate word ' + tag) + for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('retired5', s3), ('refit7', s4), ('hostmove2', s5), ('alias7', s6), ('candidate', s7))): + r = audit(w, f'{tag}-{name}'); need(r is None, f'auditor rejects {tag} {name}: {r}') + c = {} + for L, p in lastL.items(): + m = copy.deepcopy(final); m['B'][p][-1] = w0['B'][p][-1]; r = audit(m, f'{tag}-lender{L}'); c[f'lender {L} refit undone'] = r; need(r is not None and 'warp frame mismatch' in r, f'{tag} lender {L} refit undone not rejected by warp frame mismatch: {r}') + for h, p in firstH.items(): + m = copy.deepcopy(final); m['B'][p][-1] = w0['B'][p][-1]; r = audit(m, f'{tag}-follower{h}'); c[f'follower {h} raise undone'] = r; need(r is not None, f'{tag} follower {h} raise undone accepted') + for a in p2['aliases']: + h, L = a['h'], a['L']; op = next(i for i, x in enumerate(final['warps']) if x[1] == L and x[0] == a['pos']) + reads = [i for i, g in enumerate(final['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] + writes = [i for i, g in enumerate(final['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] + muts = [] + m = copy.deepcopy(final); m['B'][reads[0]][3] *= -1; muts.append(('borrowed read sign flipped', m)) + m = copy.deepcopy(final); m['B'][reads[0]][3] *= 2; muts.append(('borrowed read doubled', m)) + if writes: m = copy.deepcopy(final); m['B'][writes[0]][3] *= -1; muts.append(('borrowed write sign flipped', m)) + m = copy.deepcopy(final); del m['warps'][op] + for e in m['A'][:m['prelude_events']]: + if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 + muts.append(('warp dropped', m)) + m = copy.deepcopy(final); m['warps'][op][2][0] ^= m['warps'][op][2][1]; muts.append(('G wrong', m)) + m = copy.deepcopy(final); m['warps'][op][0] = a['pos'] - 400; muts.append(('warp before lender retirement', m)) + m = copy.deepcopy(final); m['start_extra'][str(h)] = a['E']; muts.append(('helper kept with an entrance frame', m)) + for nm, m in muts: + r = audit(rederive(m, final), f'{tag}-{h}-{nm.replace(" ", "_")}'); c[f'{h}<-{L} {nm}'] = r + need(r is not None and not r.split(': ', 1)[-1].startswith(('explicit cleanup differs', 'warp operator id')), f'{tag} {h}<-{L} {nm}: not rejected for a real reason: {r}') + sec, i, fr = p3['frames'][len(p3['frames']) // 2]; m = copy.deepcopy(final); m[sec][i][-1] = [1]; r = audit(m, f'{tag}-refit5c-tamper'); c['certified frame corrupted'] = r; need(r is not None, f'{tag} refit5c tamper accepted') + ok7, c7 = R7.controls(final, p4, p5, p6, p7, lambda w: audit(w, f'{tag}-r7'), WP); need(ok7, f'{tag} retired7 controls: ' + json.dumps({k: v['reason'] for k, v in c7.items() if not v['real_reason']})[:300]) + c.update({k: v['reason'] for k, v in c7.items()}) + out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), refit7_frames=len(ch4), hostmove2_gate_edits=len(p5['declared_gate_edit']), alias7_gate_edits=len(p6['declared_gate_edit']), refit7c_frames=len(ch7), retired7_controls=len(c7), local_profile=final['report']['local_profile']) + out['controls'][tag] = {k: v[:90] for k, v in c.items()} + # literal owner check of the complete candidate fill + order, fill, providers = rd('inputs/ORDER.json'), rd('inputs/FILL.json.gz'), rd('inputs/PROVIDERS.json') + dispatch = {(s, r): p for s, r, p in rd('inputs/DISPATCH.json.gz')} + profile = {int(k): v for k, v in rd('CLAIM.json')['profile'].items()} + owner = I.check(rd('inputs/PLAN.json.gz'), rd('inputs/GLOBAL-TEMPLATE.json.gz'), order, fill, providers, dispatch, profile) + need(owner['roles'] == 666 * 408 and owner['helpers_per_call'] == 408, 'owner fill size') + # exact endpoint and kappa + claim = rd('CLAIM.json'); C = F(claim['complex_lower']) + need(F(claim['complex_upper']) == C + F(1, 10 ** 24) and C.denominator <= 10 ** 24 and (C * 10 ** 24).denominator == 1, 'endpoint is a 1e-24 grid point') + _, a = M.moment_bounds(profile, C); b, _ = M.moment_bounds(profile, C + F(1, 10 ** 24)); need(a < 66304 < b, 'exact adjacent root bracket') + getcontext().prec = 90 + def g(z): return sum(Decimal(n) * (Decimal(r) / 73) ** (1 - z) for r, n in profile.items()) - 66304 + def dg(z): return sum(-Decimal(n) * (Decimal(r) / 73) ** (1 - z) * (Decimal(r) / 73).ln() for r, n in profile.items()) + z = Decimal(C.numerator) / Decimal(C.denominator) + for _ in range(8): z -= g(z) / dg(z) + need(F(str(z)) >= C and F(str(z)) < C + F(1, 10 ** 24), '80-digit root inside the certified bracket') + K = F(claim['kappa']); need(K == C - F(1, 10 ** 46) - F(1, 10 ** 70), 'claim kappa = C - 1e-46 - 1e-70') + margins = {} + for name, rel in (('PR2751', 'evidence/PR2751-CLAIM.json'), ('PR2766', 'evidence/PR2766-CLAIM.json'), ('PR2767', 'evidence/PR2767-OUTER-CLAIM.json')): + k = F(rd(rel)['kappa']); need(K > k, 'strict improvement over ' + name); d = K - k + margins[name] = dict(decimal=str(Decimal(d.numerator) / Decimal(d.denominator))[:40], exact=str(d) if len(str(d)) < 120 else 'K - kappa(' + rel + ')') + out.update(status='PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), + complex_lower=str(C), root_80_digits=str(+z)[:82], kappa=str(K), margins=margins, + scope='Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py).') + print(json.dumps(out, indent=1)) +AUDITOR_SHA = 'a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90' +WORD_PATCH_SHA = '9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce' +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/vendor/frontier/workflow/admit.py b/research/replica-tail-gain/vendor/frontier/workflow/admit.py new file mode 100644 index 0000000000..282ff24766 --- /dev/null +++ b/research/replica-tail-gain/vendor/frontier/workflow/admit.py @@ -0,0 +1,248 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Prepare and fully admit a composed-word COMPOSED order/fill derivative. + +Research runtime only: native providers must already have passed freshly and +are authenticated by --native-receipt. --prepare-only stops before discovery. +Default complete admission preserves the original verify.py and release stages. +Source inputs and the native cache are read-only; all output uses fresh --work. +""" +import argparse +from fractions import Fraction as Q +import gzip +import hashlib +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import tarfile +import time + +SOURCE_COMMIT = 'local-joint12-pr2733' +SOURCE_MANIFEST = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' # retired7 derived source: PR2751 overlay + five retired-lender aliases + two hostee moves and two aliases +PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' +PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +NATIVE_STAGES = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n') + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'native-cache', 'native-receipt', 'work'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + a = ap.parse_args() + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == 506 and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + write(work / 'RUNTIME-PATCHES.json', patches) + shutil.copy2(a.fill, package / 'new/borrow-fill/FILL.json.gz') + shutil.copy2(a.order, package / 'new/borrow-fill/ORDER.json') + run('owners', package / 'reconstruct.py', '--out', work / 'owners') + run('parent-lift', package / 'lift_parent.py', '--owners', work / 'owners', '--out', work / 'parent-data') + for name in ('PLAN.json', 'OWNERS.json.gz', 'DISPATCH.json', 'PROFILE.json', 'CONSTRUCTION.json', + 'GLOBAL-TEMPLATE.json.gz', 'SPEC.json'): + shutil.copy2(work / 'parent-data' / name, package / name) + shutil.copy2(work / 'owners/ORDER.json', package / 'ORDER.json') + spec = read(package / 'SPEC.json') + spec['outer_refinement'] = PRECISION + spec['expected']['live'] = 66304 + # COMPOSED's pre-life mechanism changes which helper labels retain width8. + # Preserve its declared spot set; rebind and the original strict verifier + # still check the actual native widths, including every other helper. + source_spots = read(source / 'new/SPEC.json')['width_spot_helpers'] + need(source_spots == [278, 281, 284, 289], 'COMPOSED source spot-width pins') + spec['width_spot_helpers'] = source_spots + write(package / 'new/SPEC.json', spec) + run('rebind', package / 'new/rebind.py', package, natives['base'] / 'local', + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') + need(spec['expected']['physical'] == 66794, 'complete physical cost including 72 buffers (R 408)') + layout = work / 'layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + runtime = layout / 'packing74' + runtime.mkdir() + for name in ('replay.py', 'freeze_spec.py', 'audit_mixed.py', 'independent_core.py', 'geometry_controls.py', 'audit_fast.py'): + shutil.copy2(package / name, runtime / name) + for name in ('code', 'construction', 'inputs'): + shutil.copytree(package / name, runtime / name) + shutil.copytree(work / 'rebound', runtime / 'candidate') + shutil.copytree(natives['extra'], runtime / 'native-extra') + data = runtime / 'candidate' + result = dict(status='PREPARED_COMPOSED_SAME_WORD_DERIVATIVE_NOT_ADMITTED', source_commit=SOURCE_COMMIT, + source_manifest_sha256=SOURCE_MANIFEST, native_receipt_sha256=sha(a.native_receipt), + fill_sha256=sha(package / 'new/borrow-fill/FILL.json.gz'), + order_sha256=sha(package / 'new/borrow-fill/ORDER.json'), profile=read(work / 'rebound/PROFILE.json'), + patches=patches, scope='Prepared only; source/native/parent inputs authenticated and literal owner fill reconstructed.') + write(work / 'RESULT.json', result) + if a.prepare_only: + print(result['status'], flush=True) + return + run('discovery', runtime / 'replay.py', '--data', data, '--work', work / 'discovery', + '--local', natives['base'] / 'local', '--discover') + supplier = read(work / 'discovery/RESULT.json') + for name in ('PLAN.json', 'PROFILE.json', 'SPEC.json'): + shutil.copy2(data / name, package / 'new' / name) + spec = read(package / 'new/SPEC.json') + original_claim = read(source / 'CLAIM.json') + claim = dict(status='CONDITIONAL_CANDIDATE_EXPECTED_BY_REPLAY', kappa=supplier['kappa'], + kappa_decimal=supplier['kappa_decimal'], baseline_pr=2679, baseline_head=SOURCE_COMMIT, + baseline_kappa=read(source / 'outer/OUTER-CLAIM.json')['kappa'], outer_refinement=PRECISION, + scope=original_claim['scope'], kappa_layers=original_claim['kappa_layers'], + headline_kappa_source='outer/OUTER-CLAIM.json', + verification='Candidate discovered from literal fill; full original verification must pass separately.') + write(package / 'CLAIM.json', claim) + C = Q(spec['expected']['complex_lower']) + write(package / 'outer/B.json', dict(b=str(C-Q(1,10**104)), b_above_endpoint=str(C+Q(1,10**24)), + profile=spec['expected']['global_profile'], live=spec['expected']['live'])) + for name in ('check_ledger.py', 'independent_check.py'): + run('outer-' + name, package / 'outer' / name) + ledger = read(package / 'outer/LEDGER.json') + row = ledger['rows']['struct_boundary_radix_union']['kappa'] + kappa = Q(row['rational']) + previous = Q('0.0017161404259974415161889999999999999999999998999999999999999999999999') + need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous and kappa > Q('17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000'), # retired5: also strictly above PR2751 + 'candidate must strictly improve pinned COMPOSED before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=SOURCE_COMMIT, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + result.update(status='PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/replica-tail-gain/verify.py b/research/replica-tail-gain/verify.py new file mode 100644 index 0000000000..45a1f05225 --- /dev/null +++ b/research/replica-tail-gain/verify.py @@ -0,0 +1,79 @@ +"""Source inventory and independently replayed finite controls. Apache-2.0.""" +from __future__ import annotations +from hashlib import sha256 +import json +from pathlib import Path + +ALLOWED_AXIOMS = {"propext", "Classical.choice", "Quot.sound"} + +def need(condition, message): + if not condition: + raise ValueError(message) + +def digest(path): + return sha256(Path(path).read_bytes()).hexdigest() + +def inventory(root): + root = Path(root) + pins = json.loads((root / "MANIFEST.json").read_text(encoding="utf-8")) + actual = {p.relative_to(root).as_posix() for p in root.rglob("*") + if p.is_file() and ".lake" not in p.relative_to(root).parts + and "__pycache__" not in p.relative_to(root).parts + and p.relative_to(root).as_posix() != "MANIFEST.json"} + need(actual == set(pins), "exact package source inventory differs") + for name, expected in pins.items(): + p = root / name + need(not p.is_symlink() and p.resolve().is_relative_to(root.resolve()), "external source: " + name) + need(digest(p) == expected, "source hash differs: " + name) + return pins + +def validate_audit(rows, expected_names, expected_modules): + need(isinstance(rows, list) and rows, "empty declaration audit") + names = [r.get("name") for r in rows] + need(len(names) == len(set(names)), "duplicate declaration reports") + need(set(names) == set(expected_names), "missing or unexpected declaration reports") + need(all(r.get("module") in expected_modules for r in rows), "foreign defining module") + need(set(r["module"] for r in rows) == set(expected_modules), "missing defining module coverage") + for row in rows: + need(row.get("kind") in {"theorem", "definition", "opaque", "axiom", "other"}, "missing declaration kind") + need(row["kind"] != "axiom", "package declares its own axiom: " + row["name"]) + need(isinstance(row.get("axioms"), list), "missing axiom list") + need(set(row["axioms"]) <= ALLOWED_AXIOMS, "unapproved dependency: " + row["name"]) + need(any(r["kind"] == "theorem" for r in rows), "no actual theorem audit") + +def audit_controls(): + good = [{"name": "MultitapeToolkit.fixture", "module": "MultitapeToolkit.Model", "kind": "theorem", "axioms": ["propext"]}, + {"name": "_private.MultitapeToolkit.Model.0.helper", "module": "MultitapeToolkit.Model", "kind": "theorem", "axioms": []}] + expected = [r["name"] for r in good] + modules = {"MultitapeToolkit.Model"} + validate_audit(good, expected, modules) + cases = [([], "zero reports"), (good[:1], "missing report"), + (good + [good[0]], "duplicate report"), + (good + [dict(good[0], name="MultitapeToolkit.extra")], "unexpected report"), + ([dict(good[0], axioms=["sorryAx"]), good[1]], "unproved theorem"), + ([dict(good[0], axioms=["arbitraryOracle"]), good[1]], "unproved oracle"), + ([dict(r, kind="definition") for r in good], "no theorem"), + ([dict(good[0], axioms=None), good[1]], "absent axiom list"), + ([dict(good[0], kind="axiom", axioms=[]), good[1]], "forged empty own axiom"), + ([dict(good[0], module="Foreign.Model"), good[1]], "foreign ownership"), + ([dict(good[0], module="MultitapeToolkit.Trace"), good[1]], "unexpected module")] + for rows, label in cases: + try: + validate_audit(rows, expected, modules) + except (ValueError, TypeError): + continue + raise ValueError("accepted audit corruption: " + label) + return len(cases) + + +def main(): + import argparse + parser=argparse.ArgumentParser(description=__doc__) + parser.parse_args() + root=Path(__file__).resolve().parent + pins=inventory(root) + controls=audit_controls() + print(json.dumps(dict(status="PASS_SOURCE_INVENTORY_AND_AUDIT_CONTROLS",files=len(pins),audit_corruptions_rejected=controls,kernel_checked=False))) + +if __name__=="__main__": + main() diff --git a/research/superior-replica-kappa/CLAIM.json b/research/superior-replica-kappa/CLAIM.json new file mode 100644 index 0000000000..20bdb186ef --- /dev/null +++ b/research/superior-replica-kappa/CLAIM.json @@ -0,0 +1,34 @@ +{ + "calls": 936, + "comparison_claim_sha256": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "comparison_head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "comparison_kappa": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2824, + "comparison_pr2802": { + "gain": "238497953079371/1000000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "complex_lower": "858897611308293871599/500000000000000000000000", + "complex_upper": "1717795222616587743199/1000000000000000000000000", + "gain": "62584575635791/1000000000000000000000000", + "helpers_per_call": 408, + "kappa": "17177952226165877431979999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177952226165877431979999999999999999999998999999999999999999999999", + "live": 93184, + "physical": 93674, + "profile": { + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 + }, + "rank_mass": 6769152, + "replicas": 104, + "roles": 381888, + "scope": "Complete conditional finite supplier and modern outer release. Inherited all-size compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer contracts remain. Mathlib proves universal paid-cost inequalities, not the complete multiplication theorem.", + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA" +} diff --git a/research/superior-replica-kappa/FRONTIER.md b/research/superior-replica-kappa/FRONTIER.md new file mode 100644 index 0000000000..2a32fbc7a2 --- /dev/null +++ b/research/superior-replica-kappa/FRONTIER.md @@ -0,0 +1,39 @@ +# Frontier comparison and certificate scope + +The actual T104 allocation passes independent integer chronology, whole-owner masks and directed rational moment checks. The complete changed native/global/outer release **PASSES** (`PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE`, with `PASS_RELEASE`). Finite allocation and moment admission alone do not establish the inherited all-size multiplication implication. + +All changed T104 owner/source/controller/phase geometry, measured-prefix and ordinary finite invoices, outer arithmetic and strict release checks ran freshly. All unchanged native provider chains and retained parent evidence were reused only with authenticated source, artifact and receipt hashes. This is fresh changed-candidate admission with checked reuse, not a claim that unchanged native chains were rerun. Original full-result SHA256: `4caf2cd9d8f61728d718bb9f26709c6b7ed6e1d825daa2a9a4b9ea0f623ab0f3`. Original strict-release receipt SHA256: `5465eaa5fa836dd2679ad9030dd83147f8d50d5235470d431a42c6d48e09381b`. The exact admitted target is `0.001717795222616587743198 -10^-46 -10^-70`. + +## Current comparison + +Ordinary public repository HTML retrieved on 2026-10-16 at 00:03:35UTC identifies main `e24ccc79caa1943fb126c61b45032fefddf2d3f2`. Its pinned README and selected-result bytes remain unchanged: the maintainer-selected conditional record is `0.001672660197076918`, distinct from stronger pending submissions. + +Five updated-open-PR pages supplied 125 unique current titles. Actual primary bodies of [PR2824](https://github.com/CrocSwap/integer-mult-bounds/pull/2824), [PR2818](https://github.com/CrocSwap/integer-mult-bounds/pull/2818) and [PR2823](https://github.com/CrocSwap/integer-mult-bounds/pull/2823) were inspected. The highest complete-supplier claim found in this bounded refresh is PR2824, our preceding T94 construction, head `f1826afe1f487333f2c1e5bf862bae2211ce8dd9`. Its actual commit-pinned CLAIM was fetched at 00:12:38UTC and is byte-identical to the delivered T94 input: SHA256 `7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52`. See `references/PR2824-CLAIM.json` and `references/CURRENT-PINS.json`. + +PR2818, Jeremy Kothe's precision refinement at head `175822aee7a1858ec653f7f92d7a750aec2c2795`, explicitly retains PR2802's words, fill, order and dispatch. Its approximately `0.0017177949841186346638272299184281789` endpoint remains below the full T94 rational. Extra endpoint precision does not change that construction. + +PR2823, head `ca5eead6afd871614ceb635679edbcc3d04b9d8c`, supplies actual cold-host cancellation and bounded restoration obstructions. Its pinned README states that the full-width restoration component fails native transport and supplies no new kappa or admitted supplier. Staged/changed-basis recovery remains a lead requiring an actual paid profile and full admission. P104, BIT and other component titles do not supply a complete larger kappa in the inspected sources; their missing interfaces are not treated as free. + +A final ordinary-HTML supplement at 00:20:50UTC identified main `da4f4fec60a88d9187f8ffa02f0f787b8b2da527` and reviewed 25 updated-open-PR titles. Commit-pinned README and selected-result bytes fetched at 00:21:22UTC are unchanged. The new [PR2825](https://github.com/CrocSwap/integer-mult-bounds/pull/2825), head `b553e912bcddef550d9fae6033041ff683399ebe`, was inspected in its actual primary body: Ross Richardson's conditional BIT caller numerical envelope explicitly disclaims physical reserve, supplier admission and new kappa. No higher complete supplier was found in this supplement. `references/FINAL-FRONTIER-SUPPLEMENT.json` binds its limited coverage; the exact PR2824 comparison pin remains unchanged. + +REST quota remained exhausted after the preceding campaign; this refresh uses ordinary public HTML and pinned raw bytes. The earlier review's 723 open-PR bodies and 296 Discussion bodies, followed by 100 recent primary bodies, are historical coverage. This snapshot reviews 125 titles and only the three named primary bodies, plus pinned sources. No universal novelty or complete comment coverage is asserted. + +## Actual change and exact comparison + +The new literal allocation has 104 replicas, 936 calls, 408 helpers per call and 381888 whole-owner roles. Its independently derived paid profile is +`{1:2253888,2:606528,3:260115,4:119808,5:38219,8:7488,32:1,48:37325}`. +Live stock is 93184; charged physical stock is 93674, including 72 private buffers. Rank mass is 6769152 and deficit 33280. The owner checker binds actual inherited provider frames and endpoints, source windows, distinct physical families, compact prefixes and every helper role; seven semantic corruptions are rejected. + +The directed rational root bracket is +`[1717795222616587743198/10^24,1717795222616587743199/10^24]`. +The proposed outer target is its lower endpoint minus `10^-46 +10^-70`. Its exact gain over the full published PR2824 rational is +`62584575635791/10^24 =6.2584575635791e-11`. +The input is the entire exact published rational, not its rounded title. Pricing controls reject reversed endpoints, an inadmissible upper endpoint, changed normalization, one unpaid child and the unchanged T74 profile. The checker's retained historical field names mention PR2802; its recorded comparison hash and full rational here identify PR2824/T94 exactly. + +The prior admitted current-provider audit measures 70 local prefix bits backward and 63 forward. A conservative 128-bit reserve makes the T104 formula `128+37+18*104+4=2041`, below 2048. The fresh admission explicitly checks this measured local-prefix bound. The ordinary 20161 row ceiling remains unchanged. The old 192-bit reserve would require 4096 and fail that ceiling; no unproved direct-sum improvement or uncharged larger ordinary budget is used. + +## Attribution and limits + +PR2802's retired7 native construction is Marius-Paul Dumitrean's work, with substantial Anthropic Claude/Claude Code assistance recorded in its NOTICE. Its native words, seven retired width-five helpers, frame refits and restoration remain inherited. Further credit belongs to Tekalign/PR2751's joint twelve-source recovery, PR2766's frame refit, PR2733's frame-route work, Philippe Van Velzen/PR2679's hosting and retired-lender aliases, Mason Hale/PR2696's assignment, zxv/PR2530's source-partner loans, Jeremy Kothe/PR2588's helper-label exchange, and Cinna Davis/PR2226's anticipatory borrowing. Existing licenses and notices remain with the pinned sources. PR2824 is the preceding checked T94 tail-dilution construction; this work increases its actual allocation to 104 and uses a smaller sufficient local reserve without changing native words. + +The Mathlib-only proof certifies universal paid-cost/profile inequalities and their stated sufficient bounds. It does not formalize the whole inherited multiplication pipeline. Any multiplication implication retains the inherited all-size/compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer hypotheses. Historical vendored successes and their original execution-path strings are provenance inputs; only fresh source-bound checks can establish this candidate's release. PR2411 links Dan Brown and Kenny Daniel's complete asymptotic FinTM2 multiplication proof; no first-proof claim is made here. diff --git a/research/superior-replica-kappa/LICENSE b/research/superior-replica-kappa/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/superior-replica-kappa/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/superior-replica-kappa/MANIFEST.json b/research/superior-replica-kappa/MANIFEST.json new file mode 100644 index 0000000000..5f6447ca3c --- /dev/null +++ b/research/superior-replica-kappa/MANIFEST.json @@ -0,0 +1,181 @@ +{ + ".gitattributes": "769783a1399f134634fac029e86d9eed9a7f486f912a8541831f06486e586bc9", + "CLAIM.json": "f26209f7903557cf3dddd8e6d99b4b2b2f99bbd4b5eb0e6161150830e94b02d0", + "FRONTIER.md": "f9e95378c3b6e44a7216c51a0653181a24f27161bd621a374d6f3d397b2a3407", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "MODULES.json": "c0c963ced8ea2c9baca8c7a2d4b18d1dc2bcca30467211ef96a672f14adbbae6", + "PARENT-LIFT.md": "9fa28a213c33c313be0ebca6a479ede687b14cc5c752fe60419d1f38e6b16d48", + "PORTING.json": "5dbeb522e717b34b5e1624d1e1914bbe6bdd9c9d82fc3fc9b0615545e5932970", + "PROOF.md": "e9f00cb3738e92e1933fecdeb1029c14aa89cc191b69f61ef113494d757a8424", + "README.md": "1a43b6579031bb6f13025a7f22d68305de82cfeeabc155db9352443473519957", + "TASK.json": "2acfc2cafb40b83c1e603f281eca8fa2e5dce32b40bc34289a5cac78aeba02ba", + "VERIFY.json": "6d01e2f5e1d7aae12b2483a1a0f79d2d170fbd8bac24aa618ec63905f1ab2ade", + "admit_frontier_replica.py": "216d49d694e4b88a773be0b539c7bf51e5ee6c2cccfba31017251b52ace7782d", + "check_candidate.py": "4bb79d46f81e0d24423c2437dc5e5008d50309d47beed1d0afd9a0cb51c7c896", + "data/DISPATCH.json": "5360d34ca04cf4973f37dce872db1f36e57e3f40382da75e4e2676d412a8b509", + "data/FILL.json.gz": "2f43f57725a7b1d9293d8c4a9617ffc5bb413c4e1539a60e806fdcdecfd82588", + "data/ORDER.json": "b9b3eb71f8082a2349224a7a7cddab1cc0e4590ef27c3542755ff7c4c75c7fd0", + "data/PROFILE.json": "f8146c8703e5c865d45c618ff291ff542fb792cb6cda21e0feb45ad2c5c5ff62", + "expected/AXIOMS.json": "112479fa7cfb38940175aec7c5093bcbf0e8ba65a8b93603dff8aae7392071f7", + "independent_candidate_moment_retired7.py": "f6f38ef8e8fc1e634a2f89a45f3bf721f166a05313cec86c7a5cef9075e86be3", + "independent_candidate_owners_retired7.py": "77a848729159e271ba64f403dfd59dddb13044b17b2950fa56700f442e2fe461", + "lean/Check.lean": "68966f329982188c49a37c51753271ebc1c0afd321195e4aa595562275912aaa", + "lean/MultitapeToolkit.lean": "88d46b0d935acba19e7da5bf5dff6105c147545551e663670428c1b19f796b23", + "lean/MultitapeToolkit/ReplicaTailGain.lean": "c043cc6740a79b8a29d1519cb9e11c8e9bc52d6937f4317f630a28dce074e1d1", + "lean/MultitapeToolkit/SuperiorKappa.lean": "c366b3ee3123d24e87239ba00ebc32c102f19198080bbc5acd09b0e241d2a324", + "lean/lake-manifest.json": "ba2084428ea075a408191fd72f30bddaf19923c5e6ebd55e2bbe7528d4afef90", + "lean/lakefile.toml": "7882ef23598228f705e8abbecea6a1674f72f1386d297c4d24c73b75c89e595d", + "lean/lean-toolchain": "8152090414016dd5dc871752f8ce4ecdbd604d9845758e9b9047cb80101280b5", + "lift_parent.py": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282", + "portable_frontier_cold.py": "8000bb159f5c4e5fd4a312a4849b98f81630e306f84a33b901d8838fd8b7c7ad", + "portable_prepare_native.py": "cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012", + "provenance/ADMISSION-SOURCES.json": "f0d09616fb694bd6b3571550d9b3210ba66727152ef92f207773a0b72c6db1c9", + "provenance/SHARPENED-PREFIX-RESERVE.json": "4200c97d1370a56c589ec2bae844aa23be91d4a604f471e9a95211a1273c2521", + "reconstruct_replica.py": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15", + "references/CURRENT-PINS.json": "ddebe7be9a0933ab39f55f864ce33e5d4ebda0ad3d26257e56b4cbabccfca892", + "references/CURRENT-PRIMARY-BODIES.json": "65a6aaf3ab744bbfb539596372e6d25a3c9a13d01db69a40e08bdcba638629bd", + "references/CURRENT-RECENT-TITLES.json": "42977a2acfeec4b6372ee2c2a5f4743d6dff101d25c2847b6ea7029a485b2ab2", + "references/FINAL-FRONTIER-SUPPLEMENT.json": "2707cc4ba9280b596b3fd2d2e853945db5af383141002722490a7e2aaa10a6f8", + "references/PINS.json": "eba325ade41aed492ab9462cf13387b7fe608525b0170c6357c5920de2190754", + "references/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "references/PR2802-CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "references/PR2824-CLAIM.json": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "references/PREDECESSOR-T94-CLAIM.json": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "references/RECENT-PRS.json": "c56be4b596c83fe1a8c3d13172f34db8b90c85807822835647bc75606a26e045", + "replay.py": "ff899fcb325139b9322e9ccbfc65508f153956c25ae25f51c257fe1a274c61f9", + "replica_parent.py": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4", + "requirements.txt": "d0bb9e22d31263ae22e6bb9379e644a5e5489b12d2d639172c4bee162afe658f", + "validation/COMPLETE.json": "d3a8e237db21ee494b8c948f3e8c2f9742383ab981c6d624aa0d655f3f6fc161", + "validation/KERNEL.json": "ba472a9603b888684dc164478dfe83af7667c6b79a68eed4df832e65a566d5eb", + "validation/MOMENT.json": "423f984670376ef89fb314678cbb8c14ad4f67f23926b0f247ee90cdfa4e8823", + "validation/NATIVE.json": "9eceed24bcb417c9457731dee853332085b3342a5f9370e45ad32084ede1503a", + "validation/OWNERS.json": "b94dcd4cb263d05e3bfde06c1e7509a22370569435e5bfd62972f5ca91efbc24", + "validation/ROOT-ROUTE.json": "9ea63094074eb84d70f737b57329e99efd7cd098f22b91306858a3623a8a02c9", + "validation/SHARPENED-PREFIX-REVIEW.json": "8325455d38742d804d961bb64bd2bec8f60a63e77d22bfb1df0a0d2468284a53", + "vendor/frontier/.gitattributes": "12ab6f9af287290f2f2404907fdd114faa5a085fe9eae713294537ff6b45132e", + "vendor/frontier/CLAIM.json": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "vendor/frontier/DERIVATIVE-CODE.patch": "36fe5e24ecf22be987360647de1167185ffb92603bebb1959a065e56524586e1", + "vendor/frontier/DERIVATIVE-OVERLAY.tar.gz": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "vendor/frontier/DOWNLOAD-MANIFEST.json": "fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497", + "vendor/frontier/GENERATOR-PINS.json": "8823d9ad809cdd2e469f21ae1982a379f302bb9bf177cff069ef99a52163c286", + "vendor/frontier/INPUT-PINS.json": "c59957b3a312c643e8de6fa12c57adc0683ef29d8d74b051d0087a7c64232d21", + "vendor/frontier/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/NOTICE": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "vendor/frontier/OVERLAY-PINS.json": "496f1daf28d46a0b7aafe5a8968a2078b7bc9c2fa29089d16092c2f5041813bb", + "vendor/frontier/PROFILE.json": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "vendor/frontier/PROOF.md": "6ecefda5d853e3ede1ee06aab08de24dfde960d98178a71844340ed86ae0d9b9", + "vendor/frontier/README.md": "8ea1568d186bdf5086aa2efff6c24fe6b34a6d4790393e763a4ddf683541df69", + "vendor/frontier/RETIRED5-CODE.patch": "c94370f5e40631012709f038762126c88678f45e441a201d9156a56d53524ec8", + "vendor/frontier/RETIRED7-CODE.patch": "5fe86a963cf0e68ca9a48704910be58d76b48d966c2d6026edbce785796a0fcf", + "vendor/frontier/REUSE-PINS.json": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "vendor/frontier/SOURCE-FILES.json": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "vendor/frontier/SOURCE-NOTICE": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "vendor/frontier/SOURCES.json": "ede36d6b940094ea7f27e9a8f7ba4d320ca99b97843e9de03ef68c5c93306ed5", + "vendor/frontier/TASK.json": "c725b9fb1acbbff8c4d0a72e63a4e81e7b0fd12926d5ddb37d0fd4a52b3f2e55", + "vendor/frontier/VERIFY.json": "e32cfbc20fcd9e1ed43b920fcdc9eacc8106c1e35f3b3d33303a700582657ac4", + "vendor/frontier/composition.py": "f202f8ce9730b778c9ee1213d63d444d117df5ff7d47933037a924723a37e3f4", + "vendor/frontier/evidence/ADMISSION.json": "b85b5b339353ae2a1935afa2963fcde7db9f66b41f205ddd632210257a8be168", + "vendor/frontier/evidence/INDEPENDENT.json": "f9e4500e5cb1ab1b9e8189de6dfbcca8dd9f7e2ea1a9ffce6801d6530797c0d2", + "vendor/frontier/evidence/NATIVE-BASE.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "vendor/frontier/evidence/NATIVE-EXTRA.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "vendor/frontier/evidence/OWNERS.json": "4df2066f097e4b59edf7d7af0e7e234413b9d2a09de4302d02adb3869972f672", + "vendor/frontier/evidence/PACKING-CAP.json": "59deb044b1b46953cbfd2fcedd3026a901d4524d7d05c592b8e1420501f6e652", + "vendor/frontier/evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "vendor/frontier/evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "vendor/frontier/evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "vendor/frontier/evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "vendor/frontier/evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "vendor/frontier/evidence/PUBLIC-WRAPPER.json": "70acee53d90097edfa3e7c99ad68311f236bade5ee71a446bcc8935e9e7e3192", + "vendor/frontier/evidence/RELEASE.json": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "vendor/frontier/evidence/retired5/ADMISSION-RESULT.json": "e441d6bfef1554491087a5b4701a8b23b331af3b57f77a38f3de4a47d940a6bf", + "vendor/frontier/evidence/retired5/ADMISSION-STAGES.json": "be3bf7f8fb4208bdea8dae25a8db0beda8d31cd5ac8a61279b22928ededb58bb", + "vendor/frontier/evidence/retired5/CERT2751.json": "d2f63d1167e0e1811f8b2b62ee50353184ca0ed86ab2c0bc96bf37edccf1eeff", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json": "5d884e943ba270223218cac39e10b4355cd217802232c8363a03f2d15bb77bdf", + "vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json": "80ac023ea6c8e152d538f873855c3b917f1fb80fc34c9f2d4db19ee9cab76de8", + "vendor/frontier/evidence/retired5/GENERATE-LOG.txt": "18a234b13f2b7e7b98c59f1be8799fbfde2284a2a64a0eaf9be0aa53115ef5fa", + "vendor/frontier/evidence/retired5/HOOK-RESULT.json": "76b67d54df3a6da3bb7f6fe3402f11d2926cb48353bf068dc34eeb560784771a", + "vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt": "cf06397f5fdaf50f8e44af4ff64d6a97865b79d5bc86024ba7c6f653698a6d8e", + "vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json": "6a4d591c2c827a899cb9a3682ef3f05fd97fc58842e68ae9aead5d14d3f62654", + "vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json": "ed04eb3d4ec175b3b211cef890376529c1e9dc3f69974269106dbff9e52bcde0", + "vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json": "a20936449a1d23f79c8c040d47039e563d2bcdfc534d1c1de7d25d221a7f483c", + "vendor/frontier/evidence/retired7/ADMISSION-RESULT.json": "259c1a9da2ebfceb4b4cea2732b5a6d144cc85d7d8a92f4474d29ee3a5c75fc2", + "vendor/frontier/evidence/retired7/ADMISSION-STAGES.json": "f86a0c1ff418c3da14f573dbf900eae96657a33b4d3829c7c5da8036890c9f87", + "vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json": "ede02c0657d73229aa8943046aeb6c72f8300719f95b6a2f770935173287dca9", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json": "3b480daeb9f2e09eeefe787d99eef9143a90ac5136faf5f9285affc65e90030d", + "vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json": "9498e69c1c927751b3dadad8bfd887f9afff107424f0987ece9df9c17e1f5412", + "vendor/frontier/evidence/retired7/HOOK-RESULT.json": "95d8169d828b0c3b7ccc02f205aa63bb33e54da95b7279c58775711ceb88df8e", + "vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json": "baba1153f79b8de0f52273194f8fb86df7c65b51bafc9bac1504074f7c6cb982", + "vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json": "49ee5ec3f791392555a6218e5f5cc80bf004b706ba697a298f9701ea8c4765a0", + "vendor/frontier/evidence/retired7/OWNER-CHECK.json": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt": "59dec80790bee9a132d92ec64db08e93ee000994ac4e0188da7b1829dac8ccab", + "vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt": "16ec70f1c8191c18aa8f6422f972519b99df01002ffde5b12ac4febe0be22f46", + "vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt": "d9977346de4ceb88d152ac8e892fdb65af572933aa967fd726a7620fa3e29074", + "vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json": "8698b42e6239cffcd92ae4a87605451d799b7b751bcf4a432fd851a548ceff48", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json": "4eee4b247783eceb62c785385e5d6965241655e963eabad33ee64a26964fcd49", + "vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json": "8278e1e93057f1f7e19b9c4058a249597a80c78b8dfa0e15bb6f206aefaf5f6e", + "vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt": "e7eb21fea3fd1e55b60ea4f7013b4bc13db048043e733c5b1c09273cf1a43f63", + "vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json": "f9cf016d89b318398a0737cb304f1f9a32098589b9fb3b89ab79bb10e3f9bbe5", + "vendor/frontier/evidence/retired7/STAGES7.json": "ab5fd9336ae23174cdee523d7c46a5eda201e04ce5391170d00963783a3d71c8", + "vendor/frontier/evidence/retired7/VERIFY-RESULT.json": "7f404f3d4638142ba3a77fc2a18d34d4926abcae528ce0ed1af0c4b4dad71a0a", + "vendor/frontier/exact_moment.py": "f170292f7983773d4f142afdac4677c1615fb7b781dbabf395200aea886dcade", + "vendor/frontier/full_replay.py": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b", + "vendor/frontier/generate.py": "24b90102b48ed9adf2621412fbff594b9e231041ca385258794881054d67f7a3", + "vendor/frontier/independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "vendor/frontier/independent_owners.py": "219e16a7f35c5c9e9640760c28ad49a17b546c9f32bdf57dd76c30b5dd096aa6", + "vendor/frontier/inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "vendor/frontier/inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "vendor/frontier/inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "vendor/frontier/inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/frontier/inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "vendor/frontier/inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "vendor/frontier/inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "vendor/frontier/inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "vendor/frontier/inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "vendor/frontier/inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "vendor/frontier/inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "vendor/frontier/inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "vendor/frontier/inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "vendor/frontier/inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "vendor/frontier/inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "vendor/frontier/inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "vendor/frontier/inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "vendor/frontier/inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "vendor/frontier/inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "vendor/frontier/inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "vendor/frontier/inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "vendor/frontier/inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "vendor/frontier/inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "vendor/frontier/inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "vendor/frontier/inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "vendor/frontier/inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "vendor/frontier/inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "vendor/frontier/joint_engine.py": "1411acf2903cad468e3618eefec7032ea04232af740134416d42d74aa1ea4945", + "vendor/frontier/packing_cap.py": "b292694b0862db3393ce02e1e07a922ded6f746b18ab8faca69eb93ed7a2e522", + "vendor/frontier/requirements.txt": "f95b588f39c53b58fa36c3b65b65cc770e3a051a6a12555a9188808e771d1d13", + "vendor/frontier/retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "vendor/frontier/test_integrity.py": "67f17c8df3614d582ac2c4d272ceba90d47116af4c6989a1a2e2b5f13e7bc2ee", + "vendor/frontier/vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "vendor/frontier/vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/frontier/vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "vendor/frontier/vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "vendor/frontier/vendor/ceiling.py": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "vendor/frontier/vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "vendor/frontier/vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "vendor/frontier/vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "vendor/frontier/vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "vendor/frontier/verify.py": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "vendor/frontier/verify_retired7.py": "1d3754ccf91029aa239affe0233de4821d960f654514ceeb3445d464933aba0f", + "vendor/frontier/workflow/admit.py": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "verify.py": "aabd12f5edfe846891e4dbe3e4d6a21617c6240bc06d89b0a1ef5f9f34df209b" +} diff --git a/research/superior-replica-kappa/MODULES.json b/research/superior-replica-kappa/MODULES.json new file mode 100644 index 0000000000..096ea039ab --- /dev/null +++ b/research/superior-replica-kappa/MODULES.json @@ -0,0 +1,7 @@ +{ + "lean_version": "4.34.1", + "modules": [ + "MultitapeToolkit.ReplicaTailGain", + "MultitapeToolkit.SuperiorKappa" + ] +} diff --git a/research/superior-replica-kappa/PARENT-LIFT.md b/research/superior-replica-kappa/PARENT-LIFT.md new file mode 100644 index 0000000000..56ac2a2162 --- /dev/null +++ b/research/superior-replica-kappa/PARENT-LIFT.md @@ -0,0 +1,19 @@ +# Explicit arbitrary-replica dedicated parent extension + +This is a construction of the source envelope needed for a changed-T candidate. It is not an admitted improved multiplier or a new native phase proof. Full literal hosted-owner, finite invoice, analytic and outer admission remain necessary. + +Fix any positive T and any ordered partition q_0+...+q_(G-1)=T with 1<=q_g<=8. Number replicas consecutively within these groups; write r=b_g+lane, 0<=lane0 by setting t=1-p and bounding the expression below by 30*t-2404*t²>0. The logarithmic and exponential estimates, constants and domain are kernel checked. + +The complete ten-replica periodic sum for the credited PR2802 supplier is + + P(p) = 216720 + 58320*2^p + 25011*3^p + 11520*4^p + + 3675*5^p + 720*8^p + 3589*48^p. + +The full count expression is R(T,p) = T*P(p)/10 + D(p)/5. The positive residue D(p)/5 remains charged. The exact T74 predecessor identity and T94 application are inherited from the previous deliverable; they are retained with their proof source and attribution. + +The new `frontier_replica_monotone` proves for all real 0=_wr_deadline:raise TimeoutError('discovery record lock timeout; existing lock preserved') + _wr_time.sleep(.005) + try: + with _wr_path.open('a',encoding='utf-8',newline='\n')as _wr_out: + _wr_out.write(json.dumps([key,got],default=str)+chr(10)) + _wr_out.flush() + finally: + os.close(_wr_fd) + _wr_lock.unlink()''' + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + # All output targets belong to this fresh work tree; never unlink an open lock. + lock = path.with_name(path.name + '.lock') + descriptor = os.open(lock, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + try: + os.write(descriptor, str(os.getpid()).encode()) + os.close(descriptor) + descriptor = None + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', encoding='utf-8', newline='\n') + finally: + if descriptor is not None: + os.close(descriptor) + lock.unlink() + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'dispatch', 'native-cache', 'native-receipt', 'work', 'replica-helper-dir', 'reconstructor', 'comparison-claim'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + ap.add_argument('--source-profile', choices=sorted(SOURCE_PROFILES), default='pr2802') + ap.add_argument('--comparison-profile', choices=sorted(COMPARISONS), default='pr2802') + a = ap.parse_args() + global SOURCE_COMMIT, SOURCE_MANIFEST, COMPARISON_SHA, COMPARISON_HEAD + source_profile = SOURCE_PROFILES[a.source_profile] + comparison = COMPARISONS[a.comparison_profile] + SOURCE_COMMIT, SOURCE_MANIFEST = source_profile['commit'], source_profile['manifest'] + COMPARISON_SHA, COMPARISON_HEAD = comparison['sha256'], comparison['head'] + expected_helpers, comparison_pr = source_profile['helpers'], comparison['pr'] + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == source_profile['source_file_count'] and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + helper_dir = a.replica_helper_dir.resolve() + helper_paths = [helper_dir / n for n in ('lift_parent.py', 'replica_parent.py')] + [a.reconstructor.resolve()] + external_hashes = {str(p): sha(p) for p in helper_paths + [a.fill.resolve(), a.order.resolve(), a.dispatch.resolve(), a.comparison_claim.resolve()]} + need(sha(a.comparison_claim) == COMPARISON_SHA, 'exact pinned frontier headline comparison') + comparison_claim = read(a.comparison_claim) + need('headline_kappa_source' not in comparison_claim and comparison['field'] in comparison_claim, + 'comparison must be full headline outer claim, not supplier-only CLAIM') + previous = Q(comparison_claim[comparison['field']]) + need(previous == Q(comparison_claim['kappa']), 'comparison rational/decimal equality') + order_input = read(a.order) + need(order_input and all(isinstance(x,list) and len(x)==2 and all(type(v)is int for v in x) for x in order_input), 'literal integer call order') + T = 1 + max(r for st,r in order_input) + need(T > 0 and len(order_input)==9*T and set(map(tuple,order_input))=={(st,r) for st in range(9) for r in range(T)}, 'complete new replica coverage') + need(all([st for st,r in order_input if r==rep]==list(range(9)) for rep in range(T)), 'source stage projection') + dispatch_input = read(a.dispatch) + need(len(dispatch_input)==9*T and {(st,r) for st,r,pid in dispatch_input}==set(map(tuple,order_input)), 'complete explicit dispatch') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + # Only the fresh external clone changes. Immutable source/cache inventories remain pinned. + for hp in helper_paths[:2]: + shutil.copy2(hp, package / hp.name) + need(sha(package / hp.name)==external_hashes[str(hp)], 'helper copy hash') + shutil.copy2(a.reconstructor, package / 'reconstruct.py') + need(sha(package / 'reconstruct.py')==external_hashes[str(a.reconstructor.resolve())], 'reconstructor copy hash') + # The original subprocesses also write generated hash-bound source. Windows + # callers use a process-scoped LF adapter; no system configuration is changed. + lf_probe = work / '.lf-preflight.txt' + lf_probe.write_text('LF\n', encoding='utf-8') + need(lf_probe.read_bytes()==b'LF\n', 'process-scoped LF output required on Windows') + lf_probe.unlink() + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + # Keep the native dimension and paid moment ledger fixed; bind replica + # width to both the checked source geometry and the independent B invoice. + patch('outer/check_ledger.py', [ + ('assert (m,W)==(73,66304)', + "T=spec['geometry']['replicas']\nassert type(T) is int and T>0\nassert m==73 and W==896*T and W==BJ['live']")]) + patch('code/witness.py', [(DISCOVERY_APPEND_OLD, DISCOVERY_APPEND_NEW)]) + patch('verify.py', [ + ("run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')", + "run('lift-parent',P/'lift_parent.py','--package',P,'--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent')")]) + # A sharper local reserve is certified against actual scalar/Horner + # prefixes of BOTH orientations and BOTH providers. All sweep and physical + # row charges remain unchanged; this never omits an invocation or bridge. + patch('code/witness.py', [ + ("PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()", + "PAYLOAD==1<<(128+(GEO['dimension']+1)//2+2*CALLS+4).bit_length()")]) + patch('code/invoice_allcold.py', [ + (" required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4", + " assert localbits <= 128, 'actual native scalar/Horner prefix exceeds charged local reserve'\n required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4")]) + patch('independent_core.py', [ + (" payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()", + " require(localbits <= 128, 'measured native prefix exceeds local reserve')\n payload = 1 << (128 + (M+1)//2 + 2*len(c['order']) + 4).bit_length()")]) + write(work / 'RUNTIME-PATCHES.json', patches) + shutil.copy2(a.fill, package / 'new/borrow-fill/FILL.json.gz') + shutil.copy2(a.order, package / 'new/borrow-fill/ORDER.json') + shutil.copy2(a.dispatch, package / 'new/borrow-fill/DISPATCH.json') + run('owners', package / 'reconstruct.py', '--out', work / 'owners') + run('parent-lift', package / 'lift_parent.py', '--package', package, '--owners', work / 'owners', '--out', work / 'parent-data') + for name in ('PLAN.json', 'OWNERS.json.gz', 'DISPATCH.json', 'PROFILE.json', 'CONSTRUCTION.json', + 'GLOBAL-TEMPLATE.json.gz', 'SPEC.json'): + shutil.copy2(work / 'parent-data' / name, package / name) + shutil.copy2(work / 'owners/ORDER.json', package / 'ORDER.json') + spec = read(package / 'SPEC.json') + spec['outer_refinement'] = PRECISION + spec['expected']['live'] = 896*T + # COMPOSED's pre-life mechanism changes which helper labels retain width8. + # Preserve its declared spot set; rebind and the original strict verifier + # still check the actual native widths, including every other helper. + source_spots = read(source / 'new/SPEC.json')['width_spot_helpers'] + need(source_spots == [278, 281, 284, 289], 'COMPOSED source spot-width pins') + spec['width_spot_helpers'] = source_spots + write(package / 'new/SPEC.json', spec) + run('rebind', package / 'new/rebind.py', package, natives['base'] / 'local', + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') + for tag in ('base', 'extra'): + c = read(natives[tag] / 'local/CANONICAL-WORD.json.gz') + need(c['R']==expected_helpers and len(c['centers'])==8 and len(c.get('zero_buffers',[]))==72, 'unchanged full physical ABI including all private buffers') + need(spec['expected']['physical'] == 896*T+expected_helpers+8+72+2, 'complete physical cost including all actual helpers and 72 buffers') + layout = work / 'layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + runtime = layout / 'packing74' + runtime.mkdir() + for name in ('replay.py', 'freeze_spec.py', 'audit_mixed.py', 'independent_core.py', 'geometry_controls.py', 'audit_fast.py'): + shutil.copy2(package / name, runtime / name) + for name in ('code', 'construction', 'inputs'): + shutil.copytree(package / name, runtime / name) + shutil.copytree(work / 'rebound', runtime / 'candidate') + shutil.copytree(natives['extra'], runtime / 'native-extra') + data = runtime / 'candidate' + result = dict(status='PREPARED_REPLICA_SAME_WORD_DERIVATIVE_NOT_ADMITTED', source_commit=SOURCE_COMMIT, + source_manifest_sha256=SOURCE_MANIFEST, native_receipt_sha256=sha(a.native_receipt), + fill_sha256=sha(package / 'new/borrow-fill/FILL.json.gz'), + order_sha256=sha(package / 'new/borrow-fill/ORDER.json'), dispatch_sha256=sha(package / 'new/borrow-fill/DISPATCH.json'), replicas=T, source_profile=a.source_profile, source_file_count=source_profile['source_file_count'], source_upstream_head=source_profile['upstream_head'], actual_expected_helpers=expected_helpers, comparison_pr=comparison_pr, comparison_head=COMPARISON_HEAD, comparison_claim_sha256=COMPARISON_SHA, comparison_kappa=str(previous), external_input_sha256=external_hashes, profile=read(work / 'rebound/PROFILE.json'), + patches=patches, scope='Prepared only; source/native/parent inputs authenticated and literal owner fill reconstructed.') + write(work / 'RESULT.json', result) + # Preparation still authenticates every read-only input at its end. + need(tree(source, ('MANIFEST.json',))==source_files and tree(cache)==native_receipt['cache_files'], 'read-only inputs changed during preparation') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed') + if a.prepare_only: + print(result['status'], flush=True) + return + run('discovery', runtime / 'replay.py', '--data', data, '--work', work / 'discovery', + '--local', natives['base'] / 'local', '--discover') + supplier = read(work / 'discovery/RESULT.json') + for name in ('PLAN.json', 'PROFILE.json', 'SPEC.json'): + shutil.copy2(data / name, package / 'new' / name) + spec = read(package / 'new/SPEC.json') + original_claim = read(source / 'CLAIM.json') + claim = dict(status='CONDITIONAL_CANDIDATE_EXPECTED_BY_REPLAY', kappa=supplier['kappa'], + kappa_decimal=supplier['kappa_decimal'], baseline_pr=comparison_pr, baseline_head=COMPARISON_HEAD, + baseline_kappa=str(previous), outer_refinement=PRECISION, + scope=original_claim['scope'], kappa_layers=original_claim['kappa_layers'], + headline_kappa_source='outer/OUTER-CLAIM.json', + verification='Candidate discovered from literal fill; full original verification must pass separately.') + write(package / 'CLAIM.json', claim) + C = Q(spec['expected']['complex_lower']) + write(package / 'outer/B.json', dict(b=str(C-Q(1,10**104)), b_above_endpoint=str(C+Q(1,10**24)), + profile=spec['expected']['global_profile'], live=spec['expected']['live'])) + for name in ('check_ledger.py', 'independent_check.py'): + run('outer-' + name, package / 'outer' / name) + ledger = read(package / 'outer/LEDGER.json') + row = ledger['rows']['struct_boundary_radix_union']['kappa'] + kappa = Q(row['rational']) + need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous, + 'candidate must strictly improve full exact pinned frontier headline before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=COMPARISON_HEAD, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + (package / 'provenance').mkdir(exist_ok=True) + shutil.copy2(a.comparison_claim, package / ('provenance/PR' + str(comparison_pr) + '-HEADLINE-CLAIM.json')) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + need(all(sha(Path(p))==h for p,h in external_hashes.items()), 'external candidate/helper inputs changed during admission') + result.update(status='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/check_candidate.py b/research/superior-replica-kappa/check_candidate.py new file mode 100644 index 0000000000..2870742a25 --- /dev/null +++ b/research/superior-replica-kappa/check_candidate.py @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Replay independent literal-owner and directed-rational moment certificates. +This is finite admission only. Run portable_frontier_cold.py for complete release checks, +and replay.py for the independent Lean kernel/axiom audit. +""" +from pathlib import Path +from fractions import Fraction +import argparse,hashlib,json,os,subprocess,sys,tempfile +sys.dont_write_bytecode=True +import verify as V +P=Path(__file__).resolve().parent + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--out',type=Path,help='Fresh external output; default is a fresh system-temporary child.') + a=ap.parse_args() + V.need(__debug__,'enabled assertions required') + pins=V.inventory(P);mh=V.digest(P/'MANIFEST.json') + claim=json.loads((P/'CLAIM.json').read_text(encoding='utf8')) + V.need(claim['status']=='COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA','complete conditional claim required') + out=(a.out if a.out else Path(tempfile.mkdtemp(prefix='replica-independent-'))/'checked').resolve();V.need(not out.exists() and not out.is_relative_to(P),'fresh external output required') + out.mkdir(parents=True) + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1') + env.pop('PYTHONOPTIMIZE',None) + def run(name,script,*opts): + r=subprocess.run([sys.executable,'-B',str(P/script),*map(str,opts)],env=env,cwd=out,text=True,encoding='utf8',stdout=subprocess.PIPE,stderr=subprocess.STDOUT,timeout=240) + (out/(name+'.log')).write_text(r.stdout,encoding='utf8',newline='\n') + V.need(r.returncode==0,'failed '+name+': '+r.stdout[-3000:]) + print('PASS_'+name.upper(),flush=True) + run('owners','independent_candidate_owners_retired7.py','--replicas',claim['replicas'], + '--order',P/'data/ORDER.json','--fill',P/'data/FILL.json.gz', + '--dispatch',P/'data/DISPATCH.json','--profile',P/'data/PROFILE.json', + '--out',out/'owners.json') + run('moment','independent_candidate_moment_retired7.py','--owner-receipt',out/'owners.json', + '--best-claim',P/'references/PREDECESSOR-T94-CLAIM.json','--out',out/'moment.json') + own=json.loads((out/'owners.json').read_text());m=json.loads((out/'moment.json').read_text()) + V.need(Fraction(m['proposed_outer_target'])==Fraction(claim['kappa']),'published headline rational binding') + V.need(own['profile']==claim['profile'] and own['live']==claim['live'] and own['physical']==claim['physical'],'published complete profile/stock binding') + V.need(V.inventory(P)==pins and V.digest(P/'MANIFEST.json')==mh,'source drift during independent checks') + result=dict(status='PASS_INDEPENDENT_LITERAL_OWNERS_AND_EXACT_MOMENT',replicas=own['replicas'], + roles=own['roles'],kappa=claim['kappa'],profile=own['profile'], + rejected_owner_corruptions=len(own['controls']),rejected_moment_corruptions=len(m['controls']), + owner_receipt_sha256=V.digest(out/'owners.json'),moment_receipt_sha256=V.digest(out/'moment.json'), + manifest_sha256=mh,scope='Independent finite owner geometry and exact moment only; full native/global/outer release and formal audit are separate.') + (out/'RESULT.json').write_text(json.dumps(result,sort_keys=True,indent=2)+'\n',encoding='utf8',newline='\n') + print(result['status'],flush=True) +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/data/DISPATCH.json b/research/superior-replica-kappa/data/DISPATCH.json new file mode 100644 index 0000000000..42efa24293 --- /dev/null +++ b/research/superior-replica-kappa/data/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[0,5,"extra"],[0,6,"extra"],[0,7,"extra"],[0,8,"extra"],[1,0,"extra"],[0,9,"extra"],[1,1,"extra"],[0,10,"extra"],[1,2,"extra"],[2,0,"extra"],[0,11,"extra"],[1,3,"extra"],[2,1,"extra"],[0,12,"extra"],[1,4,"extra"],[2,2,"extra"],[0,13,"extra"],[3,0,"extra"],[1,5,"extra"],[2,3,"extra"],[0,14,"extra"],[3,1,"extra"],[1,6,"extra"],[2,4,"extra"],[0,15,"extra"],[3,2,"extra"],[1,7,"extra"],[2,5,"extra"],[0,16,"extra"],[3,3,"extra"],[1,8,"extra"],[2,6,"extra"],[0,17,"extra"],[3,4,"extra"],[1,9,"extra"],[2,7,"extra"],[0,18,"extra"],[3,5,"extra"],[1,10,"extra"],[2,8,"extra"],[0,19,"extra"],[3,6,"extra"],[1,11,"extra"],[2,9,"extra"],[0,20,"extra"],[3,7,"extra"],[1,12,"extra"],[2,10,"extra"],[0,21,"extra"],[3,8,"extra"],[1,13,"extra"],[2,11,"extra"],[4,0,"extra"],[0,22,"extra"],[3,9,"extra"],[1,14,"extra"],[2,12,"extra"],[4,1,"extra"],[0,23,"extra"],[3,10,"extra"],[1,15,"extra"],[2,13,"extra"],[4,2,"extra"],[0,24,"extra"],[3,11,"extra"],[1,16,"extra"],[2,14,"extra"],[4,3,"extra"],[0,25,"extra"],[3,12,"extra"],[5,0,"extra"],[1,17,"extra"],[2,15,"extra"],[4,4,"extra"],[0,26,"extra"],[3,13,"extra"],[5,1,"extra"],[1,18,"extra"],[2,16,"extra"],[4,5,"extra"],[0,27,"extra"],[3,14,"extra"],[5,2,"extra"],[1,19,"extra"],[2,17,"extra"],[4,6,"extra"],[0,28,"extra"],[3,15,"extra"],[5,3,"extra"],[1,20,"extra"],[2,18,"extra"],[4,7,"extra"],[0,29,"extra"],[3,16,"extra"],[5,4,"extra"],[6,0,"extra"],[1,21,"extra"],[2,19,"extra"],[4,8,"extra"],[0,30,"extra"],[3,17,"extra"],[5,5,"extra"],[6,1,"extra"],[1,22,"extra"],[2,20,"extra"],[4,9,"extra"],[0,31,"extra"],[3,18,"extra"],[5,6,"extra"],[6,2,"extra"],[1,23,"extra"],[2,21,"extra"],[4,10,"extra"],[0,32,"extra"],[3,19,"extra"],[5,7,"extra"],[6,3,"extra"],[1,24,"extra"],[2,22,"extra"],[4,11,"extra"],[0,33,"extra"],[3,20,"extra"],[5,8,"extra"],[6,4,"extra"],[7,0,"extra"],[1,25,"extra"],[2,23,"extra"],[4,12,"extra"],[0,34,"extra"],[3,21,"extra"],[5,9,"extra"],[6,5,"extra"],[7,1,"extra"],[1,26,"extra"],[2,24,"extra"],[4,13,"extra"],[0,35,"extra"],[3,22,"extra"],[5,10,"extra"],[6,6,"extra"],[7,2,"extra"],[1,27,"extra"],[2,25,"extra"],[4,14,"extra"],[0,36,"extra"],[3,23,"extra"],[5,11,"extra"],[6,7,"extra"],[7,3,"extra"],[1,28,"extra"],[2,26,"extra"],[4,15,"extra"],[0,37,"extra"],[3,24,"extra"],[5,12,"extra"],[6,8,"extra"],[7,4,"extra"],[8,0,"extra"],[1,29,"extra"],[2,27,"extra"],[4,16,"extra"],[0,38,"extra"],[3,25,"extra"],[5,13,"extra"],[6,9,"extra"],[7,5,"extra"],[8,1,"extra"],[1,30,"extra"],[2,28,"extra"],[4,17,"extra"],[0,39,"extra"],[3,26,"extra"],[5,14,"extra"],[6,10,"extra"],[7,6,"extra"],[8,2,"extra"],[1,31,"extra"],[2,29,"extra"],[4,18,"extra"],[0,40,"extra"],[3,27,"extra"],[5,15,"extra"],[6,11,"extra"],[7,7,"extra"],[8,3,"extra"],[1,32,"extra"],[2,30,"extra"],[4,19,"extra"],[0,41,"extra"],[3,28,"extra"],[5,16,"extra"],[6,12,"extra"],[7,8,"extra"],[8,4,"extra"],[1,33,"extra"],[2,31,"extra"],[4,20,"extra"],[0,42,"extra"],[3,29,"gauge44"],[5,17,"extra"],[6,13,"extra"],[7,9,"extra"],[8,5,"gauge44"],[1,34,"extra"],[2,32,"extra"],[4,21,"extra"],[0,43,"extra"],[3,30,"gauge44"],[5,18,"extra"],[6,14,"extra"],[7,10,"gauge44"],[8,6,"gauge44"],[1,35,"extra"],[2,33,"gauge44"],[4,22,"extra"],[0,44,"extra"],[3,31,"gauge44"],[5,19,"gauge44"],[6,15,"gauge44"],[7,11,"gauge44"],[8,7,"gauge44"],[1,36,"extra"],[2,34,"gauge44"],[4,23,"extra"],[0,45,"extra"],[3,32,"gauge44"],[5,20,"gauge44"],[6,16,"gauge44"],[7,12,"gauge44"],[8,8,"gauge44"],[1,37,"extra"],[2,35,"gauge44"],[4,24,"gauge44"],[0,46,"extra"],[3,33,"gauge44"],[5,21,"gauge44"],[6,17,"gauge44"],[7,13,"gauge44"],[8,9,"gauge44"],[1,38,"extra"],[2,36,"gauge44"],[4,25,"gauge44"],[0,47,"extra"],[3,34,"gauge44"],[5,22,"gauge44"],[6,18,"gauge44"],[7,14,"gauge44"],[8,10,"gauge44"],[1,39,"extra"],[2,37,"extra"],[4,26,"gauge44"],[0,48,"extra"],[3,35,"gauge44"],[5,23,"gauge44"],[6,19,"gauge44"],[7,15,"gauge44"],[8,11,"gauge44"],[1,40,"extra"],[2,38,"extra"],[4,27,"gauge44"],[0,49,"extra"],[3,36,"gauge44"],[5,24,"gauge44"],[6,20,"gauge44"],[7,16,"gauge44"],[8,12,"gauge44"],[1,41,"extra"],[2,39,"extra"],[4,28,"gauge44"],[0,50,"extra"],[3,37,"extra"],[5,25,"gauge44"],[6,21,"gauge44"],[7,17,"gauge44"],[8,13,"gauge44"],[1,42,"extra"],[2,40,"extra"],[4,29,"gauge44"],[0,51,"extra"],[3,38,"extra"],[5,26,"gauge44"],[6,22,"gauge44"],[7,18,"gauge44"],[8,14,"gauge44"],[1,43,"extra"],[2,41,"extra"],[4,30,"gauge44"],[0,52,"extra"],[3,39,"extra"],[5,27,"gauge44"],[6,23,"gauge44"],[7,19,"gauge44"],[8,15,"gauge44"],[1,44,"extra"],[2,42,"extra"],[4,31,"gauge44"],[0,53,"extra"],[3,40,"extra"],[5,28,"gauge44"],[6,24,"gauge44"],[7,20,"gauge44"],[8,16,"gauge44"],[1,45,"extra"],[2,43,"extra"],[4,32,"gauge44"],[0,54,"extra"],[3,41,"extra"],[5,29,"gauge44"],[6,25,"gauge44"],[7,21,"gauge44"],[8,17,"gauge44"],[1,46,"extra"],[2,44,"extra"],[4,33,"gauge44"],[0,55,"extra"],[3,42,"extra"],[5,30,"gauge44"],[6,26,"gauge44"],[7,22,"gauge44"],[8,18,"gauge44"],[1,47,"extra"],[2,45,"extra"],[4,34,"gauge44"],[0,56,"extra"],[3,43,"extra"],[5,31,"gauge44"],[6,27,"gauge44"],[7,23,"gauge44"],[8,19,"gauge44"],[1,48,"extra"],[2,46,"extra"],[4,35,"gauge44"],[0,57,"extra"],[3,44,"extra"],[5,32,"gauge44"],[6,28,"gauge44"],[7,24,"gauge44"],[8,20,"gauge44"],[1,49,"extra"],[2,47,"extra"],[4,36,"gauge44"],[0,58,"extra"],[3,45,"extra"],[5,33,"gauge44"],[6,29,"gauge44"],[7,25,"gauge44"],[8,21,"gauge44"],[1,50,"extra"],[2,48,"extra"],[4,37,"extra"],[0,59,"extra"],[3,46,"extra"],[5,34,"gauge44"],[6,30,"gauge44"],[7,26,"gauge44"],[8,22,"gauge44"],[1,51,"extra"],[2,49,"extra"],[4,38,"extra"],[0,60,"extra"],[3,47,"extra"],[5,35,"gauge44"],[6,31,"gauge44"],[7,27,"gauge44"],[8,23,"gauge44"],[1,52,"extra"],[2,50,"extra"],[4,39,"extra"],[0,61,"extra"],[3,48,"extra"],[5,36,"gauge44"],[6,32,"gauge44"],[7,28,"gauge44"],[8,24,"gauge44"],[1,53,"extra"],[2,51,"extra"],[4,40,"extra"],[0,62,"extra"],[3,49,"extra"],[5,37,"extra"],[6,33,"gauge44"],[7,29,"gauge44"],[8,25,"gauge44"],[1,54,"extra"],[2,52,"extra"],[4,41,"extra"],[0,63,"extra"],[3,50,"extra"],[5,38,"extra"],[6,34,"gauge44"],[7,30,"gauge44"],[8,26,"gauge44"],[1,55,"extra"],[2,53,"extra"],[4,42,"extra"],[0,64,"extra"],[3,51,"extra"],[5,39,"extra"],[6,35,"gauge44"],[7,31,"gauge44"],[8,27,"gauge44"],[1,56,"extra"],[2,54,"extra"],[4,43,"extra"],[0,65,"extra"],[3,52,"extra"],[5,40,"extra"],[6,36,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[1,57,"extra"],[2,55,"extra"],[4,44,"extra"],[0,66,"extra"],[3,53,"extra"],[5,41,"extra"],[6,37,"extra"],[7,33,"gauge44"],[8,29,"gauge44"],[1,58,"extra"],[2,56,"extra"],[4,45,"extra"],[0,67,"extra"],[3,54,"extra"],[5,42,"extra"],[6,38,"extra"],[7,34,"gauge44"],[8,30,"gauge44"],[1,59,"extra"],[2,57,"extra"],[4,46,"extra"],[0,68,"extra"],[3,55,"extra"],[5,43,"extra"],[6,39,"extra"],[7,35,"gauge44"],[8,31,"gauge44"],[1,60,"extra"],[2,58,"extra"],[4,47,"extra"],[0,69,"extra"],[3,56,"extra"],[5,44,"extra"],[6,40,"extra"],[7,36,"gauge44"],[8,32,"gauge44"],[1,61,"extra"],[2,59,"extra"],[4,48,"extra"],[0,70,"extra"],[3,57,"extra"],[5,45,"extra"],[6,41,"extra"],[7,37,"extra"],[8,33,"gauge44"],[1,62,"extra"],[2,60,"extra"],[4,49,"extra"],[0,71,"extra"],[3,58,"extra"],[5,46,"extra"],[6,42,"extra"],[7,38,"extra"],[8,34,"gauge44"],[1,63,"extra"],[2,61,"extra"],[4,50,"extra"],[0,72,"extra"],[3,59,"extra"],[5,47,"extra"],[6,43,"extra"],[7,39,"extra"],[8,35,"gauge44"],[1,64,"extra"],[2,62,"extra"],[4,51,"extra"],[0,73,"extra"],[3,60,"extra"],[5,48,"extra"],[6,44,"extra"],[7,40,"extra"],[8,36,"gauge44"],[1,65,"extra"],[2,63,"extra"],[4,52,"extra"],[0,74,"extra"],[3,61,"extra"],[5,49,"extra"],[6,45,"extra"],[7,41,"extra"],[8,37,"extra"],[1,66,"extra"],[2,64,"extra"],[4,53,"extra"],[0,75,"extra"],[3,62,"extra"],[5,50,"extra"],[6,46,"extra"],[7,42,"extra"],[8,38,"extra"],[1,67,"extra"],[2,65,"extra"],[4,54,"extra"],[0,76,"extra"],[3,63,"extra"],[5,51,"extra"],[6,47,"extra"],[7,43,"extra"],[8,39,"extra"],[1,68,"extra"],[2,66,"extra"],[4,55,"extra"],[0,77,"extra"],[3,64,"extra"],[5,52,"extra"],[6,48,"extra"],[7,44,"extra"],[8,40,"extra"],[1,69,"extra"],[2,67,"extra"],[4,56,"extra"],[0,78,"extra"],[3,65,"gauge44"],[5,53,"extra"],[6,49,"extra"],[7,45,"extra"],[8,41,"extra"],[1,70,"extra"],[2,68,"extra"],[4,57,"extra"],[0,79,"extra"],[3,66,"gauge44"],[5,54,"extra"],[6,50,"extra"],[7,46,"extra"],[8,42,"gauge44"],[1,71,"extra"],[2,69,"extra"],[4,58,"extra"],[0,80,"extra"],[3,67,"gauge44"],[5,55,"extra"],[6,51,"extra"],[7,47,"gauge44"],[8,43,"gauge44"],[1,72,"extra"],[2,70,"gauge44"],[4,59,"extra"],[0,81,"extra"],[3,68,"gauge44"],[5,56,"gauge44"],[6,52,"gauge44"],[7,48,"gauge44"],[8,44,"gauge44"],[1,73,"extra"],[2,71,"gauge44"],[4,60,"extra"],[0,82,"extra"],[3,69,"gauge44"],[5,57,"gauge44"],[6,53,"gauge44"],[7,49,"gauge44"],[8,45,"gauge44"],[1,74,"extra"],[2,72,"gauge44"],[4,61,"gauge44"],[0,83,"extra"],[3,70,"gauge44"],[5,58,"gauge44"],[6,54,"gauge44"],[7,50,"gauge44"],[8,46,"gauge44"],[1,75,"extra"],[2,73,"gauge44"],[4,62,"gauge44"],[0,84,"extra"],[3,71,"gauge44"],[5,59,"gauge44"],[6,55,"gauge44"],[7,51,"gauge44"],[8,47,"gauge44"],[1,76,"extra"],[2,74,"extra"],[4,63,"gauge44"],[0,85,"extra"],[3,72,"gauge44"],[5,60,"gauge44"],[6,56,"gauge44"],[7,52,"gauge44"],[8,48,"gauge44"],[1,77,"extra"],[2,75,"extra"],[4,64,"gauge44"],[0,86,"extra"],[3,73,"gauge44"],[5,61,"gauge44"],[6,57,"gauge44"],[7,53,"gauge44"],[8,49,"gauge44"],[1,78,"extra"],[2,76,"extra"],[4,65,"gauge44"],[0,87,"extra"],[3,74,"extra"],[5,62,"gauge44"],[6,58,"gauge44"],[7,54,"gauge44"],[8,50,"gauge44"],[1,79,"extra"],[2,77,"extra"],[4,66,"gauge44"],[0,88,"extra"],[3,75,"extra"],[5,63,"gauge44"],[6,59,"gauge44"],[7,55,"gauge44"],[8,51,"gauge44"],[1,80,"extra"],[2,78,"extra"],[4,67,"gauge44"],[0,89,"extra"],[3,76,"extra"],[5,64,"gauge44"],[6,60,"gauge44"],[7,56,"gauge44"],[8,52,"gauge44"],[1,81,"extra"],[2,79,"extra"],[4,68,"gauge44"],[0,90,"extra"],[3,77,"extra"],[5,65,"gauge44"],[6,61,"gauge44"],[7,57,"gauge44"],[8,53,"gauge44"],[1,82,"extra"],[2,80,"extra"],[4,69,"gauge44"],[0,91,"extra"],[3,78,"extra"],[5,66,"gauge44"],[6,62,"gauge44"],[7,58,"gauge44"],[8,54,"gauge44"],[1,83,"extra"],[2,81,"extra"],[4,70,"gauge44"],[0,92,"extra"],[3,79,"extra"],[5,67,"gauge44"],[6,63,"gauge44"],[7,59,"gauge44"],[8,55,"gauge44"],[1,84,"extra"],[2,82,"extra"],[4,71,"gauge44"],[0,93,"extra"],[3,80,"extra"],[5,68,"gauge44"],[6,64,"gauge44"],[7,60,"gauge44"],[8,56,"gauge44"],[1,85,"extra"],[2,83,"extra"],[4,72,"gauge44"],[0,94,"extra"],[3,81,"extra"],[5,69,"gauge44"],[6,65,"gauge44"],[7,61,"gauge44"],[8,57,"gauge44"],[1,86,"extra"],[2,84,"extra"],[4,73,"gauge44"],[0,95,"extra"],[3,82,"extra"],[5,70,"gauge44"],[6,66,"gauge44"],[7,62,"gauge44"],[8,58,"gauge44"],[1,87,"extra"],[2,85,"extra"],[4,74,"extra"],[0,96,"extra"],[3,83,"extra"],[5,71,"gauge44"],[6,67,"gauge44"],[7,63,"gauge44"],[8,59,"gauge44"],[1,88,"extra"],[2,86,"extra"],[4,75,"extra"],[0,97,"extra"],[3,84,"extra"],[5,72,"gauge44"],[6,68,"gauge44"],[7,64,"gauge44"],[8,60,"gauge44"],[1,89,"extra"],[2,87,"extra"],[4,76,"extra"],[0,98,"extra"],[3,85,"extra"],[5,73,"gauge44"],[6,69,"gauge44"],[7,65,"gauge44"],[8,61,"gauge44"],[1,90,"extra"],[2,88,"extra"],[4,77,"extra"],[0,99,"extra"],[3,86,"extra"],[5,74,"extra"],[6,70,"gauge44"],[7,66,"gauge44"],[8,62,"gauge44"],[1,91,"extra"],[2,89,"extra"],[4,78,"extra"],[0,100,"extra"],[3,87,"extra"],[5,75,"extra"],[6,71,"gauge44"],[7,67,"gauge44"],[8,63,"gauge44"],[1,92,"extra"],[2,90,"extra"],[4,79,"extra"],[0,101,"extra"],[3,88,"extra"],[5,76,"extra"],[6,72,"gauge44"],[7,68,"gauge44"],[8,64,"gauge44"],[1,93,"extra"],[2,91,"extra"],[4,80,"extra"],[0,102,"extra"],[3,89,"extra"],[5,77,"extra"],[6,73,"gauge44"],[7,69,"gauge44"],[8,65,"gauge44"],[1,94,"extra"],[2,92,"extra"],[4,81,"extra"],[0,103,"extra"],[3,90,"extra"],[5,78,"extra"],[6,74,"extra"],[7,70,"gauge44"],[8,66,"gauge44"],[1,95,"extra"],[2,93,"extra"],[4,82,"extra"],[3,91,"extra"],[5,79,"extra"],[6,75,"extra"],[7,71,"gauge44"],[8,67,"gauge44"],[1,96,"extra"],[2,94,"extra"],[4,83,"extra"],[3,92,"extra"],[5,80,"extra"],[6,76,"extra"],[7,72,"gauge44"],[8,68,"gauge44"],[1,97,"extra"],[2,95,"extra"],[4,84,"extra"],[3,93,"extra"],[5,81,"extra"],[6,77,"extra"],[7,73,"gauge44"],[8,69,"gauge44"],[1,98,"extra"],[2,96,"extra"],[4,85,"extra"],[3,94,"extra"],[5,82,"extra"],[6,78,"extra"],[7,74,"extra"],[8,70,"gauge44"],[1,99,"extra"],[2,97,"extra"],[4,86,"extra"],[3,95,"extra"],[5,83,"extra"],[6,79,"extra"],[7,75,"extra"],[8,71,"gauge44"],[1,100,"extra"],[2,98,"extra"],[4,87,"extra"],[3,96,"extra"],[5,84,"extra"],[6,80,"extra"],[7,76,"extra"],[8,72,"gauge44"],[1,101,"extra"],[2,99,"extra"],[4,88,"extra"],[3,97,"extra"],[5,85,"extra"],[6,81,"extra"],[7,77,"extra"],[8,73,"gauge44"],[1,102,"extra"],[2,100,"extra"],[4,89,"extra"],[3,98,"extra"],[5,86,"extra"],[6,82,"extra"],[7,78,"extra"],[8,74,"extra"],[1,103,"extra"],[2,101,"extra"],[4,90,"extra"],[3,99,"extra"],[5,87,"extra"],[6,83,"extra"],[7,79,"extra"],[8,75,"extra"],[2,102,"extra"],[4,91,"extra"],[3,100,"extra"],[5,88,"extra"],[6,84,"extra"],[7,80,"extra"],[8,76,"extra"],[2,103,"extra"],[4,92,"extra"],[3,101,"extra"],[5,89,"extra"],[6,85,"extra"],[7,81,"extra"],[8,77,"extra"],[4,93,"extra"],[3,102,"extra"],[5,90,"extra"],[6,86,"extra"],[7,82,"extra"],[8,78,"extra"],[4,94,"extra"],[3,103,"gauge44"],[5,91,"extra"],[6,87,"extra"],[7,83,"extra"],[8,79,"gauge44"],[4,95,"extra"],[5,92,"extra"],[6,88,"extra"],[7,84,"gauge44"],[8,80,"gauge44"],[4,96,"extra"],[5,93,"gauge44"],[6,89,"gauge44"],[7,85,"gauge44"],[8,81,"gauge44"],[4,97,"extra"],[5,94,"gauge44"],[6,90,"gauge44"],[7,86,"gauge44"],[8,82,"gauge44"],[4,98,"gauge44"],[5,95,"gauge44"],[6,91,"gauge44"],[7,87,"gauge44"],[8,83,"gauge44"],[4,99,"gauge44"],[5,96,"gauge44"],[6,92,"gauge44"],[7,88,"gauge44"],[8,84,"gauge44"],[4,100,"gauge44"],[5,97,"gauge44"],[6,93,"gauge44"],[7,89,"gauge44"],[8,85,"gauge44"],[4,101,"gauge44"],[5,98,"gauge44"],[6,94,"gauge44"],[7,90,"gauge44"],[8,86,"gauge44"],[4,102,"gauge44"],[5,99,"gauge44"],[6,95,"gauge44"],[7,91,"gauge44"],[8,87,"gauge44"],[4,103,"gauge44"],[5,100,"gauge44"],[6,96,"gauge44"],[7,92,"gauge44"],[8,88,"gauge44"],[5,101,"gauge44"],[6,97,"gauge44"],[7,93,"gauge44"],[8,89,"gauge44"],[5,102,"gauge44"],[6,98,"gauge44"],[7,94,"gauge44"],[8,90,"gauge44"],[5,103,"gauge44"],[6,99,"gauge44"],[7,95,"gauge44"],[8,91,"gauge44"],[6,100,"gauge44"],[7,96,"gauge44"],[8,92,"gauge44"],[6,101,"gauge44"],[7,97,"gauge44"],[8,93,"gauge44"],[6,102,"gauge44"],[7,98,"gauge44"],[8,94,"gauge44"],[6,103,"gauge44"],[7,99,"gauge44"],[8,95,"gauge44"],[7,100,"gauge44"],[8,96,"gauge44"],[7,101,"gauge44"],[8,97,"gauge44"],[7,102,"gauge44"],[8,98,"gauge44"],[7,103,"gauge44"],[8,99,"gauge44"],[8,100,"gauge44"],[8,101,"gauge44"],[8,102,"gauge44"],[8,103,"gauge44"]] \ No newline at end of file diff --git a/research/superior-replica-kappa/data/FILL.json.gz b/research/superior-replica-kappa/data/FILL.json.gz new file mode 100644 index 0000000000..b44262d71f Binary files /dev/null and b/research/superior-replica-kappa/data/FILL.json.gz differ diff --git a/research/superior-replica-kappa/data/ORDER.json b/research/superior-replica-kappa/data/ORDER.json new file mode 100644 index 0000000000..c5921d7ab2 --- /dev/null +++ b/research/superior-replica-kappa/data/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[1,0],[0,9],[1,1],[0,10],[1,2],[2,0],[0,11],[1,3],[2,1],[0,12],[1,4],[2,2],[0,13],[3,0],[1,5],[2,3],[0,14],[3,1],[1,6],[2,4],[0,15],[3,2],[1,7],[2,5],[0,16],[3,3],[1,8],[2,6],[0,17],[3,4],[1,9],[2,7],[0,18],[3,5],[1,10],[2,8],[0,19],[3,6],[1,11],[2,9],[0,20],[3,7],[1,12],[2,10],[0,21],[3,8],[1,13],[2,11],[4,0],[0,22],[3,9],[1,14],[2,12],[4,1],[0,23],[3,10],[1,15],[2,13],[4,2],[0,24],[3,11],[1,16],[2,14],[4,3],[0,25],[3,12],[5,0],[1,17],[2,15],[4,4],[0,26],[3,13],[5,1],[1,18],[2,16],[4,5],[0,27],[3,14],[5,2],[1,19],[2,17],[4,6],[0,28],[3,15],[5,3],[1,20],[2,18],[4,7],[0,29],[3,16],[5,4],[6,0],[1,21],[2,19],[4,8],[0,30],[3,17],[5,5],[6,1],[1,22],[2,20],[4,9],[0,31],[3,18],[5,6],[6,2],[1,23],[2,21],[4,10],[0,32],[3,19],[5,7],[6,3],[1,24],[2,22],[4,11],[0,33],[3,20],[5,8],[6,4],[7,0],[1,25],[2,23],[4,12],[0,34],[3,21],[5,9],[6,5],[7,1],[1,26],[2,24],[4,13],[0,35],[3,22],[5,10],[6,6],[7,2],[1,27],[2,25],[4,14],[0,36],[3,23],[5,11],[6,7],[7,3],[1,28],[2,26],[4,15],[0,37],[3,24],[5,12],[6,8],[7,4],[8,0],[1,29],[2,27],[4,16],[0,38],[3,25],[5,13],[6,9],[7,5],[8,1],[1,30],[2,28],[4,17],[0,39],[3,26],[5,14],[6,10],[7,6],[8,2],[1,31],[2,29],[4,18],[0,40],[3,27],[5,15],[6,11],[7,7],[8,3],[1,32],[2,30],[4,19],[0,41],[3,28],[5,16],[6,12],[7,8],[8,4],[1,33],[2,31],[4,20],[0,42],[3,29],[5,17],[6,13],[7,9],[8,5],[1,34],[2,32],[4,21],[0,43],[3,30],[5,18],[6,14],[7,10],[8,6],[1,35],[2,33],[4,22],[0,44],[3,31],[5,19],[6,15],[7,11],[8,7],[1,36],[2,34],[4,23],[0,45],[3,32],[5,20],[6,16],[7,12],[8,8],[1,37],[2,35],[4,24],[0,46],[3,33],[5,21],[6,17],[7,13],[8,9],[1,38],[2,36],[4,25],[0,47],[3,34],[5,22],[6,18],[7,14],[8,10],[1,39],[2,37],[4,26],[0,48],[3,35],[5,23],[6,19],[7,15],[8,11],[1,40],[2,38],[4,27],[0,49],[3,36],[5,24],[6,20],[7,16],[8,12],[1,41],[2,39],[4,28],[0,50],[3,37],[5,25],[6,21],[7,17],[8,13],[1,42],[2,40],[4,29],[0,51],[3,38],[5,26],[6,22],[7,18],[8,14],[1,43],[2,41],[4,30],[0,52],[3,39],[5,27],[6,23],[7,19],[8,15],[1,44],[2,42],[4,31],[0,53],[3,40],[5,28],[6,24],[7,20],[8,16],[1,45],[2,43],[4,32],[0,54],[3,41],[5,29],[6,25],[7,21],[8,17],[1,46],[2,44],[4,33],[0,55],[3,42],[5,30],[6,26],[7,22],[8,18],[1,47],[2,45],[4,34],[0,56],[3,43],[5,31],[6,27],[7,23],[8,19],[1,48],[2,46],[4,35],[0,57],[3,44],[5,32],[6,28],[7,24],[8,20],[1,49],[2,47],[4,36],[0,58],[3,45],[5,33],[6,29],[7,25],[8,21],[1,50],[2,48],[4,37],[0,59],[3,46],[5,34],[6,30],[7,26],[8,22],[1,51],[2,49],[4,38],[0,60],[3,47],[5,35],[6,31],[7,27],[8,23],[1,52],[2,50],[4,39],[0,61],[3,48],[5,36],[6,32],[7,28],[8,24],[1,53],[2,51],[4,40],[0,62],[3,49],[5,37],[6,33],[7,29],[8,25],[1,54],[2,52],[4,41],[0,63],[3,50],[5,38],[6,34],[7,30],[8,26],[1,55],[2,53],[4,42],[0,64],[3,51],[5,39],[6,35],[7,31],[8,27],[1,56],[2,54],[4,43],[0,65],[3,52],[5,40],[6,36],[7,32],[8,28],[1,57],[2,55],[4,44],[0,66],[3,53],[5,41],[6,37],[7,33],[8,29],[1,58],[2,56],[4,45],[0,67],[3,54],[5,42],[6,38],[7,34],[8,30],[1,59],[2,57],[4,46],[0,68],[3,55],[5,43],[6,39],[7,35],[8,31],[1,60],[2,58],[4,47],[0,69],[3,56],[5,44],[6,40],[7,36],[8,32],[1,61],[2,59],[4,48],[0,70],[3,57],[5,45],[6,41],[7,37],[8,33],[1,62],[2,60],[4,49],[0,71],[3,58],[5,46],[6,42],[7,38],[8,34],[1,63],[2,61],[4,50],[0,72],[3,59],[5,47],[6,43],[7,39],[8,35],[1,64],[2,62],[4,51],[0,73],[3,60],[5,48],[6,44],[7,40],[8,36],[1,65],[2,63],[4,52],[0,74],[3,61],[5,49],[6,45],[7,41],[8,37],[1,66],[2,64],[4,53],[0,75],[3,62],[5,50],[6,46],[7,42],[8,38],[1,67],[2,65],[4,54],[0,76],[3,63],[5,51],[6,47],[7,43],[8,39],[1,68],[2,66],[4,55],[0,77],[3,64],[5,52],[6,48],[7,44],[8,40],[1,69],[2,67],[4,56],[0,78],[3,65],[5,53],[6,49],[7,45],[8,41],[1,70],[2,68],[4,57],[0,79],[3,66],[5,54],[6,50],[7,46],[8,42],[1,71],[2,69],[4,58],[0,80],[3,67],[5,55],[6,51],[7,47],[8,43],[1,72],[2,70],[4,59],[0,81],[3,68],[5,56],[6,52],[7,48],[8,44],[1,73],[2,71],[4,60],[0,82],[3,69],[5,57],[6,53],[7,49],[8,45],[1,74],[2,72],[4,61],[0,83],[3,70],[5,58],[6,54],[7,50],[8,46],[1,75],[2,73],[4,62],[0,84],[3,71],[5,59],[6,55],[7,51],[8,47],[1,76],[2,74],[4,63],[0,85],[3,72],[5,60],[6,56],[7,52],[8,48],[1,77],[2,75],[4,64],[0,86],[3,73],[5,61],[6,57],[7,53],[8,49],[1,78],[2,76],[4,65],[0,87],[3,74],[5,62],[6,58],[7,54],[8,50],[1,79],[2,77],[4,66],[0,88],[3,75],[5,63],[6,59],[7,55],[8,51],[1,80],[2,78],[4,67],[0,89],[3,76],[5,64],[6,60],[7,56],[8,52],[1,81],[2,79],[4,68],[0,90],[3,77],[5,65],[6,61],[7,57],[8,53],[1,82],[2,80],[4,69],[0,91],[3,78],[5,66],[6,62],[7,58],[8,54],[1,83],[2,81],[4,70],[0,92],[3,79],[5,67],[6,63],[7,59],[8,55],[1,84],[2,82],[4,71],[0,93],[3,80],[5,68],[6,64],[7,60],[8,56],[1,85],[2,83],[4,72],[0,94],[3,81],[5,69],[6,65],[7,61],[8,57],[1,86],[2,84],[4,73],[0,95],[3,82],[5,70],[6,66],[7,62],[8,58],[1,87],[2,85],[4,74],[0,96],[3,83],[5,71],[6,67],[7,63],[8,59],[1,88],[2,86],[4,75],[0,97],[3,84],[5,72],[6,68],[7,64],[8,60],[1,89],[2,87],[4,76],[0,98],[3,85],[5,73],[6,69],[7,65],[8,61],[1,90],[2,88],[4,77],[0,99],[3,86],[5,74],[6,70],[7,66],[8,62],[1,91],[2,89],[4,78],[0,100],[3,87],[5,75],[6,71],[7,67],[8,63],[1,92],[2,90],[4,79],[0,101],[3,88],[5,76],[6,72],[7,68],[8,64],[1,93],[2,91],[4,80],[0,102],[3,89],[5,77],[6,73],[7,69],[8,65],[1,94],[2,92],[4,81],[0,103],[3,90],[5,78],[6,74],[7,70],[8,66],[1,95],[2,93],[4,82],[3,91],[5,79],[6,75],[7,71],[8,67],[1,96],[2,94],[4,83],[3,92],[5,80],[6,76],[7,72],[8,68],[1,97],[2,95],[4,84],[3,93],[5,81],[6,77],[7,73],[8,69],[1,98],[2,96],[4,85],[3,94],[5,82],[6,78],[7,74],[8,70],[1,99],[2,97],[4,86],[3,95],[5,83],[6,79],[7,75],[8,71],[1,100],[2,98],[4,87],[3,96],[5,84],[6,80],[7,76],[8,72],[1,101],[2,99],[4,88],[3,97],[5,85],[6,81],[7,77],[8,73],[1,102],[2,100],[4,89],[3,98],[5,86],[6,82],[7,78],[8,74],[1,103],[2,101],[4,90],[3,99],[5,87],[6,83],[7,79],[8,75],[2,102],[4,91],[3,100],[5,88],[6,84],[7,80],[8,76],[2,103],[4,92],[3,101],[5,89],[6,85],[7,81],[8,77],[4,93],[3,102],[5,90],[6,86],[7,82],[8,78],[4,94],[3,103],[5,91],[6,87],[7,83],[8,79],[4,95],[5,92],[6,88],[7,84],[8,80],[4,96],[5,93],[6,89],[7,85],[8,81],[4,97],[5,94],[6,90],[7,86],[8,82],[4,98],[5,95],[6,91],[7,87],[8,83],[4,99],[5,96],[6,92],[7,88],[8,84],[4,100],[5,97],[6,93],[7,89],[8,85],[4,101],[5,98],[6,94],[7,90],[8,86],[4,102],[5,99],[6,95],[7,91],[8,87],[4,103],[5,100],[6,96],[7,92],[8,88],[5,101],[6,97],[7,93],[8,89],[5,102],[6,98],[7,94],[8,90],[5,103],[6,99],[7,95],[8,91],[6,100],[7,96],[8,92],[6,101],[7,97],[8,93],[6,102],[7,98],[8,94],[6,103],[7,99],[8,95],[7,100],[8,96],[7,101],[8,97],[7,102],[8,98],[7,103],[8,99],[8,100],[8,101],[8,102],[8,103]] \ No newline at end of file diff --git a/research/superior-replica-kappa/data/PROFILE.json b/research/superior-replica-kappa/data/PROFILE.json new file mode 100644 index 0000000000..dccb5382fe --- /dev/null +++ b/research/superior-replica-kappa/data/PROFILE.json @@ -0,0 +1,10 @@ +{ + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 +} diff --git a/research/superior-replica-kappa/expected/AXIOMS.json b/research/superior-replica-kappa/expected/AXIOMS.json new file mode 100644 index 0000000000..c28ae20e19 --- /dev/null +++ b/research/superior-replica-kappa/expected/AXIOMS.json @@ -0,0 +1 @@ +{"declaration_names":["MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_1","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_2","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_3","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_4","MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_5","MultitapeToolkit.ReplicaTailGain.frontierReplicaPower","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_2","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_3","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_4","MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_5","MultitapeToolkit.ReplicaTailGain.frontier_predecessor_residue","MultitapeToolkit.ReplicaTailGain.frontier_profile_difference","MultitapeToolkit.ReplicaTailGain.frontier_replica_monotone","MultitapeToolkit.ReplicaTailGain.frontier_retained_tail_dilution","MultitapeToolkit.ReplicaTailGain.log_32","MultitapeToolkit.ReplicaTailGain.log_48","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_1","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_2","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_3","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_4","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_5","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_6","MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_7","MultitapeToolkit.ReplicaTailGain.periodic_rank_mass","MultitapeToolkit.ReplicaTailGain.periodic_rank_mass._proof_1_1","MultitapeToolkit.ReplicaTailGain.predecessorPower","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_1","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_10","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_11","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_12","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_13","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_14","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_2","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_3","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_4","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_5","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_6","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_7","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_8","MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_9","MultitapeToolkit.ReplicaTailGain.predecessor_residue","MultitapeToolkit.ReplicaTailGain.profile_difference","MultitapeToolkit.ReplicaTailGain.replicaPower","MultitapeToolkit.ReplicaTailGain.replicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.residuePower","MultitapeToolkit.ReplicaTailGain.retained_tail_dilution","MultitapeToolkit.ReplicaTailGain.rpow_one_sub","MultitapeToolkit.ReplicaTailGain.rpow_one_sub_lower","MultitapeToolkit.ReplicaTailGain.rpow_one_sub_upper","MultitapeToolkit.ReplicaTailGain.tail_power_positive","MultitapeToolkit.ReplicaTailGain.tenReplicaPower","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_1","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_2","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_3","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_4","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_5","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_6","MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_7"],"modules":["MultitapeToolkit.ReplicaTailGain","MultitapeToolkit.SuperiorKappa","MultitapeToolkit"],"rows":[{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierPredecessorPower._proof_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierReplicaPower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontierTenReplicaPower._proof_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_predecessor_residue"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_profile_difference"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.SuperiorKappa","name":"MultitapeToolkit.ReplicaTailGain.frontier_replica_monotone"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.frontier_retained_tail_dilution"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.log_32"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.log_48"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_5"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_moment_strict._simp_1_7"},{"axioms":["propext","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_rank_mass"},{"axioms":["propext","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.periodic_rank_mass._proof_1_1"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_10"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_11"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_12"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_13"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_14"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_5"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_7"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_8"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessorPower._proof_9"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.predecessor_residue"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.profile_difference"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.replicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.replicaPower._proof_1"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.residuePower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.retained_tail_dilution"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub_lower"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.rpow_one_sub_upper"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tail_power_positive"},{"axioms":["propext","Classical.choice","Quot.sound"],"kind":"definition","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_1"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_2"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_3"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_4"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_5"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_6"},{"axioms":["propext"],"kind":"theorem","module":"MultitapeToolkit.ReplicaTailGain","name":"MultitapeToolkit.ReplicaTailGain.tenReplicaPower._proof_7"}]} \ No newline at end of file diff --git a/research/superior-replica-kappa/independent_candidate_moment_retired7.py b/research/superior-replica-kappa/independent_candidate_moment_retired7.py new file mode 100644 index 0000000000..517b766da6 --- /dev/null +++ b/research/superior-replica-kappa/independent_candidate_moment_retired7.py @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Directed rational moment certificate for a checked literal owner profile. +Standard atanh/Taylor enclosures follow the retained independent-moment lineage. +Floating arithmetic only nominates an initial bracket; acceptance is exact. +This certificate is finite pricing; root owns native/global/outer admission. +""" +from pathlib import Path +from fractions import Fraction as Q +from functools import lru_cache +from collections import Counter +import argparse,hashlib,json,math,sys +sys.dont_write_bytecode=True +if hasattr(sys,'set_int_max_str_digits'):sys.set_int_max_str_digits(0) +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +@lru_cache(None) +def logarithm(x): + need(x>=1,'positive reduced logarithm');e=0;y=x + while y>=2:y/=2;e+=1 + def core(z): + z=(z-1)/(z+1);need(0<=z<=Q(1,3),'atanh range');lo=2*sum((z**(2*j+1)/(2*j+1)for j in range(36)),Q(0));return lo,lo+2*z**73/(73*(1-z*z)) + a,b=core(y);c,d=core(Q(2));return a+e*c,b+e*d +def exponential(x): + need(0<=x0 for r,n in hist.items()),'positive paid profile') + # Binary floats nominate only a wide initial rational grid interval. + lo,hi=0.0,0.002 + for _ in range(60): + q=(lo+hi)/2;v=sum(n*r*math.exp(q*math.log(73/r))for r,n in hist.items())/(73*live) + if v<1:lo=q + else:hi=q + G=10**24;unit=10**12;mid=int(((lo+hi)/2)*10**12)*unit;L=mid-unit;H=mid+2*unit + while moment(hist,Q(L,G),live)[1]>=1:L-=unit + while moment(hist,Q(H,G),live)[0]<=1:H+=unit + while H-L>1: + m=(L+H)//2;ml,mh=moment(hist,Q(m,G),live) + if mh<1:L=m + elif ml>1:H=m + else:raise ValueError('enclosure too wide for adjacent rational bracket') + lower,upper=Q(L,G),Q(H,G);ll,lh=moment(hist,lower,live);ul,uh=moment(hist,upper,live);need(lh<1previous,'strict gain over full exact comparison rational') + rejected=[] + def reject(name,fn,reason): + try:fn() + except ValueError as e:need(str(e)==reason,'wrong control reason '+name);rejected.append(dict(name=name,reason=reason)) + else:raise ValueError('accepted control '+name) + def accepts(h,q,W=live): + need(W==live,'source-bound normalization');need(moment(h,q,W)[1]<1,'strict moment admission') + def bracket(x,y):need(x1,'old actual profile fails improved target');rejected.append(dict(name='unchanged_T74_profile_at_improved_target',reason='exact lower moment above one')) + need(logarithm(Q(1))==(0,0)and exponential(Q(0))==(1,1),'exact elementary controls');l2=logarithm(Q(2));need(logarithm(Q(4))==(2*l2[0],2*l2[1]),'exact logarithm scaling') + need(before=={str(p.resolve()):sha(p)for p in files}and sha(basepath)==basehash,'input drift') + result=dict(status='PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT',replicas=T,live=live,profile=hist,complex_lower=str(lower),complex_upper=str(upper),proposed_outer_target=str(target),strictly_above_full_comparison=True,best_claim_sha256=sha(a.best_claim),best_kappa_rational=best['kappa'],lower_moment_minus_one=display(ll-1,lh-1),upper_moment_minus_one=display(ul-1,uh-1),target_gain_over_comparison=display(target-previous,target-previous),controls=rejected,input_sha256={'owner_receipt':sha(a.owner_receipt),'best_claim':sha(a.best_claim)},baseline_profile_sha256=basehash,scope='Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.') + write_receipt(a.out,result);print(json.dumps({k:result[k]for k in['status','replicas','live','complex_lower','complex_upper','proposed_outer_target','strictly_above_full_comparison']}),flush=True) +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/independent_candidate_owners_retired7.py b/research/superior-replica-kappa/independent_candidate_owners_retired7.py new file mode 100644 index 0000000000..16013201b1 --- /dev/null +++ b/research/superior-replica-kappa/independent_candidate_owners_retired7.py @@ -0,0 +1,111 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Independent integer-time and mask check of the actual parameterized-replica owner allocation with PR2802 retired7 providers. + +Chronology/mask method derives from Tekalign's PR2751 independent_owners.py; +Marius-Paul Dumitrean's PR2802 retired7 native construction and the retained +provider frame checker keep their +upstream attribution. No solver, producer, emitter or floating arithmetic is +imported. This checks finite geometry, not global native/outer admission. +""" +from pathlib import Path +from collections import Counter,defaultdict +import argparse,hashlib,gzip,json,sys,types +sys.dont_write_bytecode=True +def need(v,msg): + if not v:raise ValueError(msg) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def read(p): + b=Path(p).read_bytes();return json.loads(gzip.decompress(b)if str(p).endswith('.gz')else b) +def inputs(PROVIDER): + provider_pins={'inputs/PLAN.json.gz':'afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa','inputs/GLOBAL-TEMPLATE.json.gz':'21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e','independent_local.py':'ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20','inputs/PROVIDERS.json':'391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4','inputs/WORD-base.json.gz':'dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66','inputs/WORD-extra.json.gz':'6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7'} + hashes={} + for n,pin in provider_pins.items(): + p=PROVIDER/n;need(sha(p)==pin,'pinned PR2802 provider source '+n);hashes[str(p)]=pin + L=types.ModuleType('retained_independent_frames');exec(compile((PROVIDER/'independent_local.py').read_bytes(),'pinned_PR2802_independent_local.py','exec'),L.__dict__);providers=read(PROVIDER/'inputs/PROVIDERS.json') + for tag,pid in [('base','gauge44'),('extra','extra')]: + word=read(PROVIDER/f'inputs/WORD-{tag}.json.gz');report,start,ends=L.check_frames(word);L.check_cleanup(word);L.algebra(word) + widths=[L.dm(ends[k])-L.dm(start[k])for k in sorted(start)if k>=224] + need(widths==providers[pid]['widths']and len(widths)==408,'actual ordered provider frame widths');need(len(word['centers'])==8,'eight centres');providers[pid]['actual_paid_profile']={int(k):v for k,v in report['profile'].items()} + return read(PROVIDER/'inputs/PLAN.json.gz'),read(PROVIDER/'inputs/GLOBAL-TEMPLATE.json.gz'),providers,hashes + +def windows(template,order,T): + ranks={c['child']:c['rank']for c in template['idle_children']};pairs={e['stage']:e['pair']for e in template['recipe']if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind']in('bank_padding_cover_sweep','translate_every_live_family'):continue + if event['kind']=='local_cover_sweep':stage=event['stage'];blocks[stage]=[] + need(stage is not None,'source event before local call');blocks[stage].append(event) + need(set(blocks)==set(range(9)),'nine source stages') + progress=[0]*T;last={};result={} + for t,(stage,replica)in enumerate(order): + need(0<=replica0,'idle source position');start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks:result[replica,child]=(ranks[child],start,t) + elif kind in ('terminal_Y_translations','terminal'):pass # inherited terminal phase; no pending-window endpoints + else:raise ValueError('unknown source event kind') + need(progress==[9]*T,'complete replica source progression');return result + +def check(T,order,fill,dispatch,claimed,plan,template,providers): + need(type(T)is int and T>0,'positive T');N=9*T + need(len(order)==N and set(map(tuple,order))=={(s,r)for s in range(9)for r in range(T)},'complete T call coverage') + win=windows(template,order,T) + need(set(dispatch)==set(map(tuple,order))and all(p in providers for p in dispatch.values()),'provider dispatch coverage') + for s,r,pid in fill.get('dispatch_overrides',[]):need(dispatch.get((s,r))==pid,'final dispatch override binding') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'literal role columns') + need(len(fill['rows'])==N*408,'complete role count');helpers=[0]*N;families=[0]*N;occupied={};lastrow={} + for idx,row in enumerate(fill['rows']): + need(len(row)==6 and all(type(x)is int for x in row),'integer role shape');t,h,o,c,p,z=row + need(0<=tlastrow[key][0]:lastrow[key]=(z,idx,w) + need(helpers==[(1<<408)-1]*N,'all helper identities');idle=Counter() + for(o,c),(cap,_,_)in win.items(): + for p in range(112): + key=(o,c,p);mask=occupied.get(key,0);used=mask.bit_count();need(mask==(1< + m == `MultitapeToolkit || (`MultitapeToolkit).isPrefixOf m) + let owns := fun name => + match env.getModuleIdxFor? name with + | none => false + | some index => ownedModules.contains (env.allImportedModuleNames[index.toNat]!) + let names := (env.constants.toList.filter (fun p => owns p.1)).map (fun p => p.1) + let names := names.toArray.qsort (fun a b => decide (a.toString < b.toString)) + unless names.size > 0 do + throwError "Empty toolkit declaration audit" + let permitted : Array Name := #[`propext, `Classical.choice, `Quot.sound] + let mut rows : Array Json := #[] + let mut theoremCount : Nat := 0 + for name in names do + let info ← getConstInfo name + let kind := match info with + | .thmInfo _ => "theorem" + | .defnInfo _ => "definition" + | .opaqueInfo _ => "opaque" + | .axiomInfo _ => "axiom" + | _ => "other" + if kind == "axiom" then + throwError "Toolkit declares an axiom: {name}" + if kind == "theorem" then theoremCount := theoremCount + 1 + let axioms ← collectAxioms name + for ax in axioms do + unless permitted.contains ax do + throwError "{name} depends on forbidden axiom {ax}" + let some index := env.getModuleIdxFor? name | throwError "Missing defining module: {name}" + let owner := env.allImportedModuleNames[index.toNat]! + rows := rows.push (Json.mkObj [ + ("name", toJson name.toString), ("module", toJson owner.toString), + ("kind", toJson kind), ("axioms", toJson (axioms.map Name.toString))]) + unless theoremCount > 0 do + throwError "No theorem reports in toolkit audit" + let report := Json.mkObj [ + ("modules", toJson (ownedModules.map Name.toString)), + ("declaration_names", toJson (names.map Name.toString)), ("rows", Json.arr rows)] + if let some path ← liftIO (IO.getEnv "MULTITAPE_TOOLKIT_AUDIT_PATH") then + liftIO (IO.FS.writeFile path report.compress) + logInfo m!"PASS_COMPLETE_MODULE_AXIOM_AUDIT: {names.size} declarations, {theoremCount} theorems, standard axioms only" + +def main : IO Unit := + IO.println "All toolkit modules and all their declarations passed the compile-time kernel/axiom audit." + diff --git a/research/superior-replica-kappa/lean/MultitapeToolkit.lean b/research/superior-replica-kappa/lean/MultitapeToolkit.lean new file mode 100644 index 0000000000..bed4e8b816 --- /dev/null +++ b/research/superior-replica-kappa/lean/MultitapeToolkit.lean @@ -0,0 +1,2 @@ +import MultitapeToolkit.ReplicaTailGain +import MultitapeToolkit.SuperiorKappa diff --git a/research/superior-replica-kappa/lean/MultitapeToolkit/ReplicaTailGain.lean b/research/superior-replica-kappa/lean/MultitapeToolkit/ReplicaTailGain.lean new file mode 100644 index 0000000000..8aff21db8c --- /dev/null +++ b/research/superior-replica-kappa/lean/MultitapeToolkit/ReplicaTailGain.lean @@ -0,0 +1,215 @@ +import Mathlib.Analysis.Complex.ExponentialBounds +import Mathlib.Tactic +set_option autoImplicit false +namespace MultitapeToolkit.ReplicaTailGain + +lemma rpow_one_sub (r t : ℝ) (hr : 0 < r) : + r ^ (1-t) = r * Real.exp (-t * Real.log r) := by + rw [Real.rpow_def_of_pos hr] + rw [show Real.log r * (1-t) = Real.log r + (-t * Real.log r) by ring, + Real.exp_add,Real.exp_log hr] + +lemma rpow_one_sub_lower (r t : ℝ) (hr : 0 < r) : + r * (1-t*Real.log r) ≤ r ^ (1-t) := by + rw [rpow_one_sub r t hr] + apply mul_le_mul_of_nonneg_left _ hr.le + linarith [Real.add_one_le_exp (-t*Real.log r)] + +lemma rpow_one_sub_upper (r t : ℝ) (hr : 0 < r) + (ht : 0 ≤ t) (htop : t ≤ 1/100) (hl : 0 ≤ Real.log r) (hu : Real.log r ≤ 4) : + r ^ (1-t) ≤ r*(1-t*Real.log r+t^2*(Real.log r)^2) := by + rw [rpow_one_sub r t hr] + apply mul_le_mul_of_nonneg_left _ hr.le + have hx : |-t*Real.log r| ≤ 1 := by + rw [abs_of_nonpos (by nlinarith : -t*Real.log r ≤ 0)] + nlinarith + have h := (abs_le.mp (Real.abs_exp_sub_one_sub_id_le hx)).2 + nlinarith + +lemma log_32 : Real.log 32 = 5*Real.log 2 := by + rw [show (32:ℝ) = 2^5 by norm_num,Real.log_pow] + norm_num + +lemma log_48 : Real.log 48 = 4*Real.log 2+Real.log 3 := by + rw [show (48:ℝ) = 2^4*3 by norm_num, + Real.log_mul (by norm_num : (2:ℝ)^4 ≠ 0) (by norm_num : (3:ℝ) ≠ 0),Real.log_pow] + norm_num + +/-- Strictly positive paid cost of the single residue tail in the actual +74-replica allocation, throughout the exponent interval used by the frontier. +This proves a power-cost fact; physical realization of a new allocation remains +an independent literal certificate obligation. -/ +theorem tail_power_positive (p : ℝ) (hp : 99/100 ≤ p) (hp1 : p < 1) : + 0 < 3*(3:ℝ)^p - 5*(5:ℝ)^p + 5*(32:ℝ)^p - 3*(48:ℝ)^p := by + let t := 1-p + have ht : 0 < t := by dsimp [t]; linarith + have htt : t ≤ 1/100 := by dsimp [t]; linarith + have hpt : p=1-t := by dsimp [t]; ring + have l2 : Real.log 2 ≤ 7/10 := by linarith [Real.log_two_lt_d9] + have l3 : 109/100 ≤ Real.log 3 := by linarith [Real.log_three_gt_d9] + have l3u : Real.log 3 ≤ 11/10 := by linarith [Real.log_three_lt_d9] + have l5 : 8/5 ≤ Real.log 5 := by linarith [Real.log_five_gt_d9] + have l5u : Real.log 5 ≤ 2 := by linarith [Real.log_five_lt_d9] + have l5z : 0 ≤ Real.log 5 := Real.log_nonneg (by norm_num) + have l48z : 0 ≤ Real.log 48 := Real.log_nonneg (by norm_num) + have l48u : Real.log 48 ≤ 4 := by rw [log_48]; linarith + have h3 := rpow_one_sub_lower 3 t (by norm_num) + have h32 := rpow_one_sub_lower 32 t (by norm_num) + have h5 := rpow_one_sub_upper 5 t (by norm_num) ht.le htt l5z (by linarith) + have h48 := rpow_one_sub_upper 48 t (by norm_num) ht.le htt l48z l48u + rw [←hpt] at h3 h32 h5 h48 + have s5 : (Real.log 5)^2 ≤ 4 := by nlinarith + have s48 : (Real.log 48)^2 ≤ 16 := by nlinarith + have e5 : t^2*(Real.log 5)^2 ≤ 4*t^2 := by nlinarith [mul_le_mul_of_nonneg_left s5 (sq_nonneg t)] + have e48 : t^2*(Real.log 48)^2 ≤ 16*t^2 := by nlinarith [mul_le_mul_of_nonneg_left s48 (sq_nonneg t)] + have ha : 30 ≤ 25*Real.log 5+144*Real.log 48-9*Real.log 3-160*Real.log 32 := by + rw [log_48,log_32] + linarith + have hat := mul_nonneg ht.le (sub_nonneg.mpr ha) + have hpos : 0 < 30*t-2404*t^2 := by + nlinarith [mul_nonneg ht.le (sub_nonneg.mpr htt)] + nlinarith + + +/-- Full paid child sum in the actual 74-replica predecessor. -/ +noncomputable def predecessorPower (p : ℝ) : ℝ := + 1591740 + 430902*(2:ℝ)^p + 204396*(3:ℝ)^p + 79920*(4:ℝ)^p + + 22532*(5:ℝ)^p + 5328*(8:ℝ)^p + (32:ℝ)^p + 26558*(48:ℝ)^p + +/-- Proposed complete periodic profile, for ten replicas. Physical ownership +is checked independently; this definition does not assume its realizability. -/ +noncomputable def tenReplicaPower (p : ℝ) : ℝ := + 215100 + 58230*(2:ℝ)^p + 27621*(3:ℝ)^p + 10800*(4:ℝ)^p + + 3045*(5:ℝ)^p + 720*(8:ℝ)^p + 3589*(48:ℝ)^p + +/-- Exact amortized invoice difference, including the predecessor's rank32 tail. -/ +theorem profile_difference (p : ℝ) : + predecessorPower p / 74 - tenReplicaPower p / 10 = + (3*(3:ℝ)^p-5*(5:ℝ)^p+5*(32:ℝ)^p-3*(48:ℝ)^p) / 370 := by + unfold predecessorPower tenReplicaPower + ring + +/-- The entire periodic paid profile strictly improves the normalized native +moment throughout the frontier exponent interval, for every positive number +of ten-replica blocks. No hosting or all-size implication is asserted here. -/ +theorem periodic_moment_strict (p : ℝ) (hp : 99/100 ≤ p) (hp1 : p < 1) + (k : ℕ) (hk : 0 < k) : + ((k:ℝ)*tenReplicaPower p) / ((8960*(k:ℝ))*(73:ℝ)^p) < + predecessorPower p / (66304*(73:ℝ)^p) := by + have hkR : (0:ℝ)0,'positive T');P.require(len(order)==9*T,'complete new invocation count') + parent=P.build(T);geometry=P.check(parent,parent['replica_lift']['groups']) + sp=importlib.util.spec_from_file_location('retained_physical_source_windows',base/'vendor/build_parent.py');mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod) + windows,schedule=mod.actual_windows(parent,order) + independent=P.expand_schedule(parent,order);P.require(schedule==independent,'independent literal source-event expansion') + dispatch={(s,r):pid for s,r,pid in dispatch_rows} + P.require(len(dispatch_rows)==len(order) and set(dispatch)==set(map(tuple,order)),'dispatch bijection') + P.require(set(dispatch.values())<=set(providers),'known provider') + for pid,d in providers.items(): + P.require(pid in plan['provider_registry'],'provider in retained registry') + plan['provider_registry'][pid].update(widths=d['widths'],actual_paid_profile={str(k):v for k,v in sorted({int(k):v for k,v in d['actual_paid_profile'].items()}.items())}) + widths={pid:d['widths']for pid,d in providers.items()};R=len(next(iter(widths.values()))) + P.require(all(len(w)==R for w in widths.values()),'same helper count') + pairs,sides=plan['pairs'],plan['sides'];helper_seen=collections.defaultdict(set);family_seen=collections.defaultdict(set);used=collections.defaultdict(set) + for z in roles: + tm=z['time'];P.require(0<=tmlen(cells):idle[cap-len(cells)]+=1 + paid=collections.Counter(idle) + for st,r in order:paid.update({int(k):v for k,v in providers[dispatch[st,r]]['actual_paid_profile'].items()}) + P.require(dict(paid)=={int(k):v for k,v in profile.items()},'entire actual paid profile') + P.require(73*896*T-sum(k*v for k,v in paid.items())==320*T,'full rank mass and deficit') + stage_template={c['stage']:c for c in plan['provider_calls']} + plan['provider_calls']=[];plan['per_call_widths']=[] + for tm,(st,r)in enumerate(order): + pid=dispatch[st,r];desc=plan['provider_registry'][pid];z=copy.deepcopy(stage_template[st]);orientation='forward'if st%2==0 else'backward' + P.require(z['orientation']==orientation,'source stage orientation') + z.update(replica=r,time=tm,provider=pid,local_program_sha256=desc['orientation_program_sha256'][orientation]);plan['provider_calls'].append(z) + plan['per_call_widths'].append(dict(stage=st,replica=r,time=tm,widths=desc['widths'])) + plan.update(T=T,live=896*T,deficit=320*T,order=order,windows=windows,profile=profile,assignment_sha256=P.sha(owners/'OWNERS.json.gz'),assignment_content_sha256=P.identity(roles),status=f'EXPLICIT_T{T}_STRICT_WINDOW_OWNER_FILL',mode=f'mixed-t{T}-exact-fill',solver_status='Literal fixed owner witness independently rechecked; no solver runs in adapter') + plan['replica_lift']=dict(replicas=T,parent_template_content_sha256=P.identity(parent),owners_file_sha256=P.sha(owners/'OWNERS.json.gz'),schedule_content_sha256=P.identity(schedule),source_replicas=37,groups=parent['replica_lift']['groups'],phase_recipe_unchanged=True) + # Discovery computes geometry/numerical expectations, but the descriptive + # reporting denominator is source metadata and must survive the reset. + preserved_expected={'gain_baseline_kappa':spec['expected']['gain_baseline_kappa']} + spec.update(name=f'mixed-t{T}-exact-fill',call_order=order,dispatch=dispatch_rows,providers={},expected=preserved_expected) + assembly_ast=ast.parse((base/'code/assemble.py').read_text(encoding='utf-8')) + read_expected={node.slice.value for node in ast.walk(assembly_ast) if isinstance(node,ast.Subscript) and isinstance(node.value,ast.Name) and node.value.id=='X' and isinstance(node.slice,ast.Constant) and isinstance(node.slice.value,str)} + discovery_computed={'complex_lower','conservative_complex_lower'} + P.require(read_expected-discovery_computed<=set(preserved_expected),'all noncomputed assembly X metadata retained') + # Fresh discovery/freezing and outer admission supply all expected values. + spec['geometry']=dict(replicas=T,stages=plan['L'],pairs=plan['K'],dimension=plan['M'],charged_prefix_bits=1<<(128+37+2*len(order)+4).bit_length(),parent_live=parent['live'],parent_physical=parent['physical'],parent_idle=geometry['parent_idle'],parent_helpers=504) + out.mkdir(parents=True) + for name,obj in [('GLOBAL-TEMPLATE.json.gz',parent),('OWNERS.json.gz',roles),('DISPATCH.json',dispatch_rows),('PROFILE.json',profile),('ORDER.json',order),('CONSTRUCTION.json',P.read(owners/'RESULT.json'))]:P.write_new(out/name,obj) + # Bind canonical output owner serialization while preserving exact role semantics. + output_owner=out/'OWNERS.json.gz' + P.require(P.read(output_owner)==roles,'serialized owner semantics') + # Canonical gzip may differ from emitter gzip. Bind the actual output file everywhere. + plan['assignment_sha256']=P.sha(output_owner);plan['replica_lift']['owners_file_sha256']=P.sha(output_owner) + P.write_new(out/'PLAN.json',plan) + spec['data']={'plan_sha256':P.sha(out/'PLAN.json'),'owners_sha256':P.sha(output_owner)} + P.write_new(out/'SPEC.json',spec) + receipt=dict(status='PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',geometry=spec['geometry'],groups=parent['replica_lift']['groups'],input_sha256=input_hash,template_content_sha256=P.identity(parent),new_sha256=P.sha(out/'GLOBAL-TEMPLATE.json.gz'),source_sha256=P.SOURCE_SHA,roles=len(roles),helpers_per_call=R,source_events_per_replica=30,global_tail=[30,31],schedule_content_sha256=P.identity(schedule),profile=dict(sorted(paid.items())),idle=dict(sorted(idle.items())),private_work_shared=514,source_programs_phase_recipes_unchanged=True,discovery_X_metadata=sorted(read_expected-discovery_computed),discovery_computed_X_keys=sorted(read_expected&discovery_computed),phase_scope='Reuses root fresh hash-bound native/phase admission; this adapter checks literal source geometry and complete paid owner profile.',scripts={Path(__file__).name:P.sha(__file__),Path(P.__file__).name:P.sha(P.__file__)}) + P.write_new(out/'PARENT-LIFT-RECEIPT.json',receipt) + for path,h in input_hash.items():P.require(P.sha(path)==h,'input unchanged after lift') + print('PASS_LITERAL_GENERAL_T_PARENT_PLAN_SPEC',json.dumps(spec['geometry'],sort_keys=True),flush=True) +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/portable_frontier_cold.py b/research/superior-replica-kappa/portable_frontier_cold.py new file mode 100644 index 0000000000..31db5f08a1 --- /dev/null +++ b/research/superior-replica-kappa/portable_frontier_cold.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Portable full replica-candidate replay: four fresh native chains by default. + +The pinned native preparer authenticates original491 source plus exact overlay506, +runs four native chains and the retained-parent check, then the admission driver +checks the actual new fill and complete release against exact PR2802 headline. +Explicit retained-only reuse and completed frontier-baseline reuse are separately +labelled. --prepare-only checks source preparation without issuing admission. +""" +import argparse, gzip, hashlib, json, os, platform, subprocess, sys, time +from fractions import Fraction +from pathlib import Path, PurePosixPath + +HERE=Path(__file__).resolve().parent +FRONTIER_HEAD='17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd' +BASELINE_PINS_SHA='fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497' +SOURCE_SHA='9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' +COMPARISON_SHA='a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51' +COLD_STAGES={'literal-review','native-base','native-extra','native-retained-base','native-retained-extra','retained-parent','complete-admission'} +LF_ADAPTER=r'''"""Task-scoped Windows LF compatibility for authenticated generated source text. +No validation predicates or immutable source bytes are changed. +""" +from pathlib import Path +_original_write_text=Path.write_text + +def _write_text_lf(self,data,encoding=None,errors=None,newline=None): + return _original_write_text(self,data,encoding=encoding,errors=errors,newline='\n' if newline is None else newline) +Path.write_text=_write_text_lf +''' + +def need(ok,why): + if not ok:raise RuntimeError(why) +def sha(p):return hashlib.sha256(Path(p).read_bytes()).hexdigest() +def read(p): + p=Path(p);b=p.read_bytes();return json.loads(gzip.decompress(b)if p.suffix=='.gz'else b) +def tree(root,exclude=()): + result={} + for p in sorted(root.rglob('*')): + need(not p.is_symlink(),'unbound symlink: '+str(p)) + if p.is_file()and p.relative_to(root).as_posix()not in exclude:result[p.relative_to(root).as_posix()]=sha(p) + return result +def write(p,x): + lock=p.with_name(p.name+'.lock');fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + try: + os.write(fd,str(os.getpid()).encode());os.close(fd);fd=None + p.write_text(json.dumps(x,sort_keys=True,indent=2)+'\n',encoding='utf-8',newline='\n') + finally: + if fd is not None:os.close(fd) + lock.unlink() + +def authenticate_vendor(directory,pins): + need(sha(pins)==BASELINE_PINS_SHA,'exact baseline Git/SHA inventory pin') + inventory=read(pins);need(inventory['head']==FRONTIER_HEAD,'exact current frontier head');records=inventory['files'];need(len(records)==124,'exact 124 frontier files') + expected={} + for r in records: + name=r['path'];parts=PurePosixPath(name) + need(name and not parts.is_absolute()and '..'not in parts.parts and '\\'not in name,'safe baseline relative file') + p=directory/name;raw=p.read_bytes() + need(len(raw)==r['bytes'] and sha(p)==r['sha256'],'baseline file bytes: '+name) + need(hashlib.sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest()==r['git_blob'],'baseline Git blob: '+name) + expected[name]=r['sha256'] + need(len(expected)==124 and tree(directory,('DOWNLOAD-MANIFEST.json',))==expected,'complete exact frontier file set') + return expected + +def authenticate_completed_baseline(root,vendor_claim): + result=read(root/'RESULT.json');native=read(root/'NATIVE-RECEIPT.json');source=root/'source';cache=root/'native-cache' + need(result['status']=='PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE' and result['explicit_native_cache_reuse'] is False,'local baseline must be a completed fresh cold replay') + need(Fraction(result['kappa'])==Fraction(vendor_claim['kappa']) and Fraction(result['complex_lower'])==Fraction(vendor_claim['complex_lower']),'complete baseline claim binding') + need(result['profile']=={str(k):v for k,v in vendor_claim['profile'].items()},'baseline full profile') + need(result['native_receipt_sha256']==sha(root/'NATIVE-RECEIPT.json'),'baseline native receipt binding') + need(native['status']=='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' and native['source_commit']=='local-joint12-pr2733' and native['manifest_sha256']==SOURCE_SHA,'complete native source binding') + need(sha(source/'MANIFEST.json')==SOURCE_SHA and len(read(source/'MANIFEST.json'))==506 and tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'),'exact 506 derived frontier source files') + need(tree(cache)==native['cache_files'],'complete local native/parent cache file hashes') + stages=result['cold_stages'];need(len(stages)==7 and {s['name']for s in stages}==COLD_STAGES and all(s['exit_code']==0 for s in stages),'all fresh baseline stages') + for s in stages:need(sha(root/(s['name']+'.log'))==s['log_sha256'],'baseline stage log binding') + package=root/'admission/package';release=root/'admission/release/RELEASE-RECEIPT.json';receipt=read(release) + need(result['release_receipt_sha256']==sha(release) and receipt['status']=='PASS_RELEASE','completed baseline release receipt') + need(result['package_manifest_sha256']==sha(package/'MANIFEST.json')==receipt['manifest_sha256'],'baseline admitted package manifest binding') + need(tree(package,('MANIFEST.json',))==read(package/'MANIFEST.json'),'complete admitted baseline package') + need(Fraction(receipt['kappa_decimal'])==Fraction(result['kappa']),'baseline release rational') + return dict(result_sha256=sha(root/'RESULT.json'),native_receipt_sha256=sha(root/'NATIVE-RECEIPT.json'),source_manifest_sha256=SOURCE_SHA,cache_files=native['cache_files'],release_receipt_sha256=sha(release),scope='Explicit reuse of completed local fresh baseline; no native rerun by this invocation.') + +def authenticate_prepared_native(root): + result=read(root/'RESULT.json');receipt=read(root/'NATIVE-RECEIPT.json') + need(result['status']=='PASS_PORTABLE_NATIVE_PREPARATION','native producer PASS, without any intermediate T74 admission claim') + need(result['native_receipt_sha256']==sha(root/'NATIVE-RECEIPT.json'),'native producer receipt binding') + need(receipt['status']=='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' and receipt['source_commit']=='local-joint12-pr2733' and receipt['manifest_sha256']==SOURCE_SHA,'native producer source/protocol binding') + source=root/'source';cache=root/'native-cache' + need(sha(source/'MANIFEST.json')==SOURCE_SHA and len(read(source/'MANIFEST.json'))==506 and tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'),'exact506 derived source') + need(tree(cache)==receipt['cache_files'],'complete producer native/parent cache') + need(receipt['fresh_current_provider_count']==2,'both changed current providers freshly checked') + fresh=receipt['fresh_retained_native_count'];reused=receipt['reused_retained_native_count'] + need((fresh,reused)in ((2,0),(0,2)) and receipt['fresh_retained_parent']==(fresh==2) and receipt['reused_retained_parent']==(reused==2),'explicit retained fresh/reuse accounting') + if reused:need(receipt['retained_reuse_receipt_sha256']==sha(root/'RETAINED-REUSE.json'),'retained reuse receipt binding') + return dict(result_sha256=sha(root/'RESULT.json'),native_receipt_sha256=sha(root/'NATIVE-RECEIPT.json'),source_manifest_sha256=SOURCE_SHA,cache_files=receipt['cache_files'],fresh_current_provider_count=2,fresh_retained_native_count=fresh,reused_retained_native_count=reused,scope='Native preparation only; actual replica release checked separately.') + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work',type=Path,required=True) + ap.add_argument('--package',type=Path,default=HERE) + ap.add_argument('--baseline-dir',type=Path) + ap.add_argument('--baseline-pins',type=Path) + ap.add_argument('--source',type=Path,help='Optional authenticated preobtained original PR2679 tree; otherwise pinned HTTPS download.') + ap.add_argument('--native-preparer',type=Path) + ap.add_argument('--reuse-retained-baseline',type=Path,help='Explicit unchanged retained2 native chains and retained-parent reuse; current2 providers still freshly checked.') + ap.add_argument('--reuse-frontier-baseline',type=Path,help='Explicit completed fresh PR2802 T74 cold baseline reuse; a native-only bundle is not a completed baseline.') + ap.add_argument('--fill',type=Path);ap.add_argument('--order',type=Path);ap.add_argument('--dispatch',type=Path) + ap.add_argument('--comparison-claim',type=Path) + ap.add_argument('--replica-helper-dir',type=Path);ap.add_argument('--reconstructor',type=Path);ap.add_argument('--admission-driver',type=Path) + ap.add_argument('--jobs',type=int,default=4) + ap.add_argument('--prepare-only',action='store_true');ap.add_argument('--check-only',action='store_true',help='Only authenticate vendored/input/reuse files; run no proof subprocesses.') + a=ap.parse_args();need(not sys.flags.optimize and 1<=a.jobs<=4,'enabled assertions/one to four jobs');sys.dont_write_bytecode=True + need(not (a.reuse_frontier_baseline and a.reuse_retained_baseline),'choose completed-baseline reuse or retained-only reuse') + package=a.package.resolve();vendor=(a.baseline_dir or package/'vendor/frontier').resolve();pins=(a.baseline_pins or package/'vendor/frontier/DOWNLOAD-MANIFEST.json').resolve() + fill=(a.fill or package/'data/FILL.json.gz').resolve();order=(a.order or package/'data/ORDER.json').resolve();dispatch=(a.dispatch or package/'data/DISPATCH.json').resolve() + comparison=(a.comparison_claim or package/'references/PR2802-CLAIM.json').resolve() + helper=(a.replica_helper_dir or package).resolve();reconstructor=(a.reconstructor or package/'reconstruct_replica.py').resolve();driver=(a.admission_driver or package/'admit_frontier_replica.py').resolve() + preparer=(a.native_preparer or package/'portable_prepare_native.py').resolve() + vendor_inventory=authenticate_vendor(vendor,pins) + need(sha(comparison)==COMPARISON_SHA and 'kappa'in read(comparison) and 'headline_kappa_source'not in read(comparison),'exact full PR2802 headline claim') + files=[fill,order,dispatch,comparison,reconstructor,driver,preparer,helper/'lift_parent.py',helper/'replica_parent.py'] + inputs={str(p):sha(p)for p in files};order_value=read(order);need(order_value,'nonempty literal owner order') + T=1+max(r for st,r in order_value);need(T>0 and len(order_value)==9*T and set(map(tuple,order_value))=={(st,r)for st in range(9)for r in range(T)},'candidate replica coverage') + reuse=a.reuse_frontier_baseline.resolve()if a.reuse_frontier_baseline else None + binding=authenticate_completed_baseline(reuse,read(vendor/'CLAIM.json'))if reuse else None + work=a.work.resolve();need(not work.exists(),'fresh external work directory') + for root in [package,vendor,helper]+[p.resolve()for p in (a.source,reuse,a.reuse_retained_baseline)if p]:need(not work.is_relative_to(root),'work/input tree separation') + if a.check_only: + print(json.dumps(dict(status='PASS_PORTABLE_INPUT_PREFLIGHT_NOT_ADMISSION',T=T,vendor_files=len(vendor_inventory),input_sha256=inputs,explicit_baseline_reuse=bool(reuse),baseline_binding={k:v for k,v in binding.items()if k!='cache_files'}if binding else None),sort_keys=True));return + work.mkdir(parents=True);shim=work/'process-lf-adapter';shim.mkdir();(shim/'sitecustomize.py').write_text(LF_ADAPTER,encoding='utf-8',newline='\n') + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',OPENBLAS_NUM_THREADS='1',OMP_NUM_THREADS='1') + env['PYTHONPATH']=str(shim)+(os.pathsep+env['PYTHONPATH']if env.get('PYTHONPATH')else'') + for name in ('PYTHONOPTIMIZE','WITNESS_SPEC','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(name,None) + stages=[];start=time.monotonic() + def run(name,script,*args): + begin=time.monotonic();command=[sys.executable,'-B',str(script),*map(str,args)];log=work/(name+'.log') + with log.open('w',encoding='utf-8')as f:r=subprocess.run(command,env=env,cwd=work,stdin=subprocess.DEVNULL,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,command=command,script_sha256=sha(script),log_sha256=sha(log),seconds=time.monotonic()-begin));write(work/'STAGES.json',stages) + need(r.returncode==0,'failed '+name+'; see '+str(log));print('PASS',name,flush=True) + if reuse:baseline=reuse + else: + baseline=work/'native' # Leave absent: native producer requires fresh --work. + opts=[] + if a.source:opts+=['--source',a.source.resolve()] + if a.reuse_retained_baseline:opts+=['--reuse-retained-baseline',a.reuse_retained_baseline.resolve()] + if a.prepare_only:opts+=['--prepare-only'] + run('native-preparation',preparer,'--work',baseline,'--vendor-frontier',vendor,'--jobs',a.jobs,*opts) + if a.prepare_only: + prepared=read(baseline/'RESULT.json') + need(prepared['status']=='PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY' and prepared['native_receipt_issued'] is False and not (baseline/'NATIVE-RECEIPT.json').exists(),'prepare-only emits no native proof or admission') + need(authenticate_vendor(vendor,pins)==vendor_inventory and all(sha(Path(p))==h for p,h in inputs.items()),'unchanged prepared inputs') + receipt=dict(status='PREPARED_PORTABLE_REPLICA_NOT_ADMITTED',replicas=T,native_preparation_result_sha256=sha(baseline/'RESULT.json'),native_receipt_issued=False,admission_run=False,input_sha256=inputs,vendor_inventory_sha256=BASELINE_PINS_SHA,stages=stages,scope='Source preparation only; no native proof checks or replica admission.') + write(work/'RESULT.json',receipt);print(receipt['status'],flush=True);return + binding=authenticate_prepared_native(baseline) + args=['--source',baseline/'source','--fill',fill,'--order',order,'--dispatch',dispatch,'--native-cache',baseline/'native-cache','--native-receipt',baseline/'NATIVE-RECEIPT.json','--work',work/'candidate','--replica-helper-dir',helper,'--reconstructor',reconstructor,'--comparison-claim',comparison,'--source-profile','pr2802','--comparison-profile','pr2802','--jobs',a.jobs] + if a.prepare_only:args+=['--prepare-only'] + run('replica-candidate',driver,*args) + result=read(work/'candidate/RESULT.json') + if a.prepare_only:need(result['status']=='PREPARED_REPLICA_SAME_WORD_DERIVATIVE_NOT_ADMITTED','prepared status') + else: + need(result['status']=='PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE','full candidate release status') + need(Fraction(result['kappa'])>Fraction(read(comparison)['kappa']),'strict exact full headline gain') + need(authenticate_vendor(vendor,pins)==vendor_inventory,'vendored baseline changed') + need(all(sha(Path(p))==h for p,h in inputs.items()),'input bytes changed') + need((authenticate_completed_baseline(baseline,read(vendor/'CLAIM.json'))if reuse else authenticate_prepared_native(baseline))==binding,'native/source/cache inputs changed') + receipt=dict(status='PREPARED_PORTABLE_REPLICA_NOT_ADMITTED'if a.prepare_only else'PASS_PORTABLE_REPLICA_COMPLETE_RELEASE',replicas=T,explicit_local_baseline_reuse=bool(reuse),fresh_native_preparation_run=not bool(reuse),explicit_retained_only_reuse=bool(a.reuse_retained_baseline),baseline_binding=binding,candidate_result_sha256=sha(work/'candidate/RESULT.json'),candidate_status=result['status'],kappa=result.get('kappa'),input_sha256=inputs,vendor_inventory_sha256=BASELINE_PINS_SHA,comparison_claim_sha256=COMPARISON_SHA,stages=stages,seconds=time.monotonic()-start,python=platform.python_version(),compatibility=dict(scope='Process-scoped UTF8/LF text adapter only; all upstream hash predicates remain unchanged.',adapter_sha256=sha(shim/'sitecustomize.py')),scope=result['scope']) + write(work/'RESULT.json',receipt);print(receipt['status'],result.get('kappa_decimal',''),flush=True) +if __name__=='__main__':main() + diff --git a/research/superior-replica-kappa/portable_prepare_native.py b/research/superior-replica-kappa/portable_prepare_native.py new file mode 100644 index 0000000000..49b156c86b --- /dev/null +++ b/research/superior-replica-kappa/portable_prepare_native.py @@ -0,0 +1,345 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Authenticate PR2802 and prepare native receipts, without a redundant T74 admission. + +Default: four fresh native chains and a fresh retained-parent check. Explicit +--reuse-retained-baseline reuses only unchanged, completely hash-bound retained +chains and their retained-parent receipt. Current providers always run freshly. +""" +import argparse +from concurrent.futures import ThreadPoolExecutor +import gzip +import hashlib +import importlib +import importlib.util +import json +import os +from pathlib import Path, PurePosixPath +import platform +import shutil +import subprocess +import sys +import tarfile +import threading +import time + +HEAD = '17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd' +DOWNLOAD_SHA = 'fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497' +DERIVED_SHA = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' +PROTOCOL_STATUS = 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' +STEPS = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] +LF_SHIM = """from pathlib import Path +_original_write_text = Path.write_text +def _task_write_text(self, data, encoding=None, errors=None, newline=None): + return _original_write_text(self, data, encoding=encoding, errors=errors, + newline='\\n' if newline is None else newline) +Path.write_text = _task_write_text +""" + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n', + encoding='utf-8', newline='\n') + + +def safe(name): + p = PurePosixPath(name) + need(isinstance(name, str) and p.parts and not p.is_absolute() and + '..' not in p.parts and '\\' not in name and p.as_posix() == name, + 'unsafe path: ' + str(name)) + + +def tree(root, exclude=()): + result = {} + for p in sorted(root.rglob('*')): + need(not p.is_symlink(), 'symlink in authenticated tree: ' + str(p)) + name = p.relative_to(root).as_posix() + if p.is_file() and name not in exclude: + result[name] = sha(p) + return result + + +def authenticate_vendor(vendor): + manifest = vendor / 'DOWNLOAD-MANIFEST.json' + need(sha(manifest) == DOWNLOAD_SHA, 'pinned download manifest') + data = read(manifest) + need(data['head'] == HEAD and len(data['files']) == 124, '124 pinned vendor files') + expected = {} + for item in data['files']: + name = item['path'] + safe(name) + need(name not in expected, 'duplicate vendor path') + body = (vendor / name).read_bytes() + need(len(body) == item['bytes'] and hashlib.sha256(body).hexdigest() == item['sha256'], + 'vendor SHA256/size: ' + name) + blob = hashlib.sha1(('blob ' + str(len(body)) + '\0').encode() + body).hexdigest() + need(blob == item['git_blob'] and blob.startswith(item['diff_blob']), 'vendor Git blob: ' + name) + expected[name] = item['sha256'] + need(tree(vendor, ('DOWNLOAD-MANIFEST.json',)) == expected, 'complete vendor inventory') + return expected + + +def source_guard(source): + need(sha(source / 'MANIFEST.json') == DERIVED_SHA, 'derived source manifest') + pins = read(source / 'MANIFEST.json') + need(len(pins) == 506 and tree(source, ('MANIFEST.json',)) == pins, + 'complete506-file derived source inventory') + return pins + + +def bind_native(entry, word): + need(gzip.decompress((entry / 'local/FULL-WORD.json.gz').read_bytes()) == + gzip.decompress(word.read_bytes()), 'complete native word binding') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == STEPS and all(s['exit_code'] == 0 for s in stages), + 'five successful native stages') + + +def reuse_retained(baseline, source, cache, retained): + prior = read(baseline / 'NATIVE-RECEIPT.json') + need(prior['status'] == PROTOCOL_STATUS, 'completed baseline native protocol') + previous_source = baseline / 'source' + need(sha(previous_source / 'MANIFEST.json') == prior['manifest_sha256'] and + tree(previous_source, ('MANIFEST.json',)) == read(previous_source / 'MANIFEST.json'), + 'complete baseline source inventory') + oldcache = baseline / 'native-cache' + need(tree(oldcache) == prior['cache_files'], 'complete baseline cache inventory') + old = source / 'vendor/pr1297' + need(tree(old) == tree(previous_source / 'vendor/pr1297'), 'exact retained vendor source identity') + records = {} + for tag, word in retained.items(): + digest = sha(word) + entry = oldcache / digest + expected = {k[len(digest)+1:]: v for k, v in prior['cache_files'].items() + if k.startswith(digest + '/')} + need(expected and tree(entry) == expected, 'retained native exact pins: ' + tag) + bind_native(entry, word) + shutil.copytree(entry, cache / digest) + need(tree(cache / digest) == expected, 'retained native exact copy: ' + tag) + records[tag] = dict(word_sha256=digest, files=expected) + pm = sha(old / 'MANIFEST.json') + relative = '_receipts/' + pm + expected = {k[len(relative)+1:]: v for k, v in prior['cache_files'].items() + if k.startswith(relative + '/')} + receipt_dir = oldcache / relative + need(expected and tree(receipt_dir) == expected, 'retained parent exact pins') + receipt = read(receipt_dir / 'RECEIPT.json') + need(receipt['schema'] == 'parent-receipt/1' and + receipt['vendor_manifest_sha256'] == pm and + receipt['claim_sha256'] == sha(old / 'CLAIM.json') and + receipt['words'] == {tag: sha(w) for tag, w in retained.items()}, + 'retained parent source/claim/word binding') + need(set(receipt['files']) == {'RESULT.json', 'STAGES.json'}, 'complete retained parent receipt files') + parent_stages = read(receipt_dir / 'STAGES.json') + need(len(parent_stages) == 16 and all(s['exit_code'] == 0 for s in parent_stages), + 'sixteen successful retained parent stages') + need(all(sha(receipt_dir / name) == digest for name, digest in receipt['files'].items()), + 'retained parent receipt file hashes') + parent = read(receipt_dir / 'RESULT.json') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' and + parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent PASS/claim') + shutil.copytree(receipt_dir, cache / relative) + need(tree(cache / relative) == expected, 'retained parent exact copy') + return dict(status='PASS_EXACT_HASH_BOUND_RETAINED_REUSE', + baseline_native_receipt_sha256=sha(baseline / 'NATIVE-RECEIPT.json'), + baseline_source_manifest_sha256=prior['manifest_sha256'], + baseline_source_commit=prior['source_commit'], + retained_vendor_manifest_sha256=pm, native_entries=records, + retained_parent_receipt_sha256=sha(cache / relative / 'RECEIPT.json')) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work', type=Path, required=True, help='Fresh external output directory.') + ap.add_argument('--source', type=Path, help='Exact original491-file PR2679 source; otherwise use pinned upstream download.') + ap.add_argument('--vendor-frontier', type=Path, default=Path(__file__).resolve().parent / 'vendor/frontier') + ap.add_argument('--jobs', type=int, choices=range(1, 5), default=4) + ap.add_argument('--reuse-retained-baseline', type=Path, + help='Explicit unchanged retained2-native/parent reuse from a completed baseline.') + ap.add_argument('--prepare-only', action='store_true', + help='Authenticate/copy source and optional retained reuse; do not run native checks or issue a native receipt.') + args = ap.parse_args() + need(not sys.flags.optimize, 'assertions must remain enabled') + sys.dont_write_bytecode = True + vendor = args.vendor_frontier.resolve() + authenticate_vendor(vendor) + versions = {name: str(importlib.import_module(name).__version__) + for name in ('numpy', 'sympy', 'scipy', 'mpmath')} + pinned = dict(line.split('==') for line in (vendor / 'requirements.txt').read_text().splitlines() if line) + need(versions == pinned, 'install the exact pinned requirements.txt in the invoking Python environment') + work = args.work.resolve() + need(not work.exists(), 'fresh work directory required') + need(not work.is_relative_to(Path(__file__).resolve().parent) and not work.is_relative_to(vendor), + 'external work directory required') + for p in (args.source, args.reuse_retained_baseline): + need(p is None or (p.is_dir() and not work.is_relative_to(p.resolve())), 'input/work separation') + work.mkdir(parents=True) + lockpath = work / 'native.lock' + with lockpath.open('x', encoding='utf-8') as lock: + lock.write(str(os.getpid()) + '\n') + successful = False + try: + spec = importlib.util.spec_from_file_location('_pinned_full_replay', vendor / 'full_replay.py') + upstream = importlib.util.module_from_spec(spec) + spec.loader.exec_module(upstream) + write(work / 'INPUT-BINDING.json', dict(upstream_head=HEAD, download_manifest_sha256=DOWNLOAD_SHA, + vendor_files=124, preparer_sha256=sha(Path(__file__)), + source_pins_sha256=sha(vendor / 'SOURCE-FILES.json'), overlay_pins_sha256=sha(vendor / 'OVERLAY-PINS.json'))) + source = work / 'source' + pins = read(vendor / 'SOURCE-FILES.json') + upstream.source_copy(args.source.resolve() if args.source else None, source, pins, args.jobs) + overlay = read(vendor / 'OVERLAY-PINS.json') + need(sha(source / 'MANIFEST.json') == overlay['original_manifest_sha256'], 'original source manifest') + need(sha(vendor / 'DERIVATIVE-OVERLAY.tar.gz') == overlay['archive_sha256'], 'overlay archive') + with tarfile.open(vendor / 'DERIVATIVE-OVERLAY.tar.gz') as archive: + members = archive.getmembers() + need(set(m.name for m in members) == set(overlay['files']) and len(members) == len(overlay['files']), 'exact overlay paths') + for member in members: + safe(member.name) + need(member.isfile(), 'regular overlay member') + body = archive.extractfile(member).read() + need(hashlib.sha256(body).hexdigest() == overlay['files'][member.name], 'overlay member hash') + target = source / member.name + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(body) + need(overlay['derived_manifest_sha256'] == DERIVED_SHA, 'pinned derived identity') + source_guard(source) + cache = work / 'native-cache' + cache.mkdir() + old = source / 'vendor/pr1297' + words = {tag: source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') for tag in ('base', 'extra')} + retained = {tag: old / name for tag, name in (('base', 'gauge44-word.json.gz'), ('extra', 'extra-word.json.gz'))} + reuse = None + if args.reuse_retained_baseline: + reuse = reuse_retained(args.reuse_retained_baseline.resolve(), source, cache, retained) + write(work / 'RETAINED-REUSE.json', reuse) + runtime = work / 'runtime-adapter' + runtime.mkdir() + shim = runtime / 'sitecustomize.py' + shim.write_text(LF_SHIM, encoding='utf-8', newline='\n') + inherited = [str(Path(p or os.getcwd()).resolve()) for p in sys.path] + inherited.extend(os.environ.get('PYTHONPATH', '').split(os.pathsep)) + paths = list(dict.fromkeys([str(runtime), *[p for p in inherited if p]])) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', BW_IDLE='0', PYTHONPATH=os.pathsep.join(paths)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + write(work / 'ENVIRONMENT.json', dict(python=platform.python_version(), versions=versions, + lf_adapter_sha256=sha(shim), jobs=args.jobs, planned_fresh_current_provider_count=2, + planned_fresh_retained_native_count=0 if reuse else 2, + reused_retained_native_count=2 if reuse else 0, + reused_retained_parent=bool(reuse), scope='Task process environment; no global configuration changes.')) + if args.prepare_only: + source_guard(source) + authenticate_vendor(vendor) + write(work / 'RESULT.json', dict(status='PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY', + source_file_count=506, manifest_sha256=DERIVED_SHA, native_receipt_issued=False, + explicit_retained_reuse=bool(reuse))) + successful = True + print('PASS_AUTHENTICATED_NATIVE_SOURCE_PREPARATION_ONLY', flush=True) + return + stages = [] + mutex = threading.Lock() + started = time.monotonic() + + def run(name, script, *arguments): + begin = time.monotonic() + log = work / (name + '.log') + command = [sys.executable, '-B', str(script), *map(str, arguments)] + with log.open('w', encoding='utf-8', newline='\n') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + with mutex: + stages.append(dict(name=name, exit_code=result.returncode, command=command, + seconds=time.monotonic()-begin, script_sha256=sha(script), log_sha256=sha(log))) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + retained_driver = None + if not reuse: + layout = work / 'retained-layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + members = archive.getmembers() + for member in members: + safe(member.name) + need(member.isfile(), 'regular retained archive member') + archive.extractall(layout, filter='data') + retained_driver = layout / 'joint1148-round45/source/research/k8-eight-ends/replay_native.py' + need(retained_driver.is_file(), 'retained native driver') + jobs = {**words, **({'retained-' + tag: word for tag, word in retained.items()} if not reuse else {})} + + def fresh_native(tag): + word = jobs[tag] + entry = cache / sha(word) + driver = retained_driver if tag.startswith('retained-') else source / 'new/run_native_borrow.py' + run('native-' + tag, driver, word, entry) + bind_native(entry, word) + write(entry / 'CACHE.json', dict(word_sha256=sha(word), files=tree(entry))) + + with ThreadPoolExecutor(max_workers=args.jobs) as pool: + list(pool.map(fresh_native, jobs)) + pm = sha(old / 'MANIFEST.json') + receipts = cache / '_receipts' / pm + if not reuse: + run('retained-parent', old / 'verify.py', '--work', work / 'retained-parent', + '--base-native-from', cache / sha(retained['base']), + '--extra-native-from', cache / sha(retained['extra'])) + parent = read(work / 'retained-parent/RESULT.json') + parent_stages = read(work / 'retained-parent/STAGES.json') + need(len(parent_stages) == 16 and all(s['exit_code'] == 0 for s in parent_stages), + 'sixteen successful fresh retained parent stages') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' and + parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'fresh retained parent PASS/claim') + receipts.mkdir(parents=True) + for name in ('RESULT.json', 'STAGES.json'): + shutil.copy2(work / 'retained-parent' / name, receipts / name) + write(receipts / 'RECEIPT.json', dict(schema='parent-receipt/1', vendor_manifest_sha256=pm, + claim_sha256=sha(old / 'CLAIM.json'), words={tag: sha(word) for tag, word in retained.items()}, + files={name: sha(receipts / name) for name in ('RESULT.json', 'STAGES.json')})) + source_guard(source) + authenticate_vendor(vendor) + providers = {tag: dict(word_sha256=sha(word), complete_native_files=tree(cache / sha(word), ('CACHE.json',))) + for tag, word in words.items()} + result = dict(status=PROTOCOL_STATUS, source_commit='local-joint12-pr2733', manifest_sha256=DERIVED_SHA, + providers=providers, retained_parent_receipt_sha256=sha(receipts / 'RECEIPT.json'), + cache_files=tree(cache), fresh_current_provider_count=2, + fresh_retained_native_count=0 if reuse else 2, + reused_retained_native_count=2 if reuse else 0, + fresh_retained_parent=not bool(reuse), reused_retained_parent=bool(reuse), + retained_reuse_receipt_sha256=sha(work / 'RETAINED-REUSE.json') if reuse else None) + write(work / 'NATIVE-RECEIPT.json', result) + need(tree(cache) == result['cache_files'], 'final complete cache identity') + write(work / 'RESULT.json', dict(status='PASS_PORTABLE_NATIVE_PREPARATION', + native_receipt_sha256=sha(work / 'NATIVE-RECEIPT.json'), source_file_count=506, + manifest_sha256=DERIVED_SHA, fresh_current_provider_count=2, + fresh_retained_native_count=result['fresh_retained_native_count'], + reused_retained_native_count=result['reused_retained_native_count'], + fresh_retained_parent=result['fresh_retained_parent'], reused_retained_parent=bool(reuse), + seconds=time.monotonic()-started, scope='Native preparation only; no T74 admission or T94 admission asserted.')) + successful = True + print('PASS_PORTABLE_NATIVE_PREPARATION', flush=True) + finally: + # The lock handle was closed immediately after its exclusive creation. + # Failures retain a closed diagnostic lock; there are no hidden retries. + if successful: + lockpath.unlink() + + +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/provenance/ADMISSION-SOURCES.json b/research/superior-replica-kappa/provenance/ADMISSION-SOURCES.json new file mode 100644 index 0000000000..0ca752ae73 --- /dev/null +++ b/research/superior-replica-kappa/provenance/ADMISSION-SOURCES.json @@ -0,0 +1,26 @@ +[ + { + "name": "admit_frontier_replica.py", + "sha256": "216d49d694e4b88a773be0b539c7bf51e5ee6c2cccfba31017251b52ace7782d" + }, + { + "name": "portable_frontier_cold.py", + "sha256": "8000bb159f5c4e5fd4a312a4849b98f81630e306f84a33b901d8838fd8b7c7ad" + }, + { + "name": "portable_prepare_native.py", + "sha256": "cb32e36f3e435652b7fab857c94e0dbb925b56ce7bb5daeecc223b0fc6993012" + }, + { + "name": "lift_parent.py", + "sha256": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282" + }, + { + "name": "replica_parent.py", + "sha256": "48bdbf28f59d80edb266803ec61bf5e22e8fb5e5a0e2b88004b6039147589bd4" + }, + { + "name": "reconstruct_replica.py", + "sha256": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15" + } +] diff --git a/research/superior-replica-kappa/provenance/SHARPENED-PREFIX-RESERVE.json b/research/superior-replica-kappa/provenance/SHARPENED-PREFIX-RESERVE.json new file mode 100644 index 0000000000..a0313953aa --- /dev/null +++ b/research/superior-replica-kappa/provenance/SHARPENED-PREFIX-RESERVE.json @@ -0,0 +1,18 @@ +{ + "local_reserve_bits": 128, + "patch_source_bindings": [ + { + "after_sha256": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282", + "before_sha256": "4255131a44bd94473fc55fe468c32d0b6435862955797fe22a2e8ebfce60942d", + "path": "lift_parent.py" + }, + { + "after_sha256": "216d49d694e4b88a773be0b539c7bf51e5ee6c2cccfba31017251b52ace7782d", + "before_sha256": "d3274dd18f2ef27efbd9b53155654164019d95cd96640de87470c7e9d92d00e5", + "path": "admit_frontier_replica.py" + } + ], + "previous_local_reserve_bits": 192, + "scope": "Measured actual scalar and Horner prefix must be <=128 for every provider and orientation; all actual invocation, bridge, input and margin charges remain. No per-replica norm bound is assumed.", + "status": "PASS_FRESH_COMPLETE_RELEASE_WITH_EXACT_NATIVE_PREFIX_GUARDS" +} diff --git a/research/superior-replica-kappa/reconstruct_replica.py b/research/superior-replica-kappa/reconstruct_replica.py new file mode 100644 index 0000000000..f00410bb45 --- /dev/null +++ b/research/superior-replica-kappa/reconstruct_replica.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: Apache-2.0 +# Derived from Jeremy Kothe / Philippe Van Velzen / Tekalign owner verifier. +# Parameter extension with substantial OpenAI Codex assistance. +"""Borrow-word owner witness: literal verification of the shipped exact fill (new/borrow-fill/FILL.json.gz) and emission of +OWNERS/ORDER/DISPATCH/PROFILE/RESULT for lift_parent.py. The helper count per call is R' = 480-k and the per-call widths come from +new/BORROW-PROVIDERS.json; the same windows, bins and distinct-family rules as the pinned PR1297 owner construction are checked +literally (no window, bin, helper or family rule is relaxed). Idle remainders are whatever the exact bins leave (ranks priced +exactly by the profile). The fill itself is found offline by new/borrow-fill/solve_fill.py (not rerun here) and only verified. +""" +import argparse,collections,gzip,importlib.util,json +from pathlib import Path +assert __debug__, 'Assertions are required' +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);args=ap.parse_args();P=args.out.resolve();P.mkdir(parents=True,exist_ok=False) +def read(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,x): + b=json.dumps(x,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +plan=read(F/'inputs/PLAN.json');parent=read(F/'inputs/GLOBAL-TEMPLATE.json.gz');T=plan['T'] +OF=F/'new/borrow-fill/ORDER.json' +assert OF.exists(), 'explicit candidate order required' +if OF.exists(): # a free complete invocation order (666 calls; windows are recomputed from it below) with its explicit dispatch + order=read(OF);dispatch={(s,r):pid for s,r,pid in read(F/'new/borrow-fill/DISPATCH.json')} + Tnew=1+max(r for s,r in order) + assert type(Tnew) is int and Tnew>0 + assert len(order)==9*Tnew and sorted(map(tuple,order))==[(s,r) for s in range(9) for r in range(Tnew)],'order must cover every actual source replica and stage exactly once' + assert set(dispatch)==set(map(tuple,order)),'complete provider dispatch' +else: + order=[[s,r+T*g] for s,r in plan['order'] for g in range(2)] + dispatch={(s,r+T*g):pid for s,r,pid in read(F/'inputs/DISPATCH.json') for g in range(2)} +source=F/'vendor/build_parent.py';sp=importlib.util.spec_from_file_location('windows',source);mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod);windows,schedule=mod.actual_windows(parent,order) +prov=read(F/'new/BORROW-PROVIDERS.json');widths={p:d['widths'] for p,d in prov.items()};paid={p:{int(k):v for k,v in d['actual_paid_profile'].items()} for p,d in prov.items()} +R=len(next(iter(widths.values())));assert all(len(w)==R for w in widths.values()) and set(widths)==set(dispatch.values()) +fill=read(F/'new/borrow-fill/FILL.json.gz');assert fill['columns']==['time','helper','owner_replica','child','port','offset'] +for s_,r_,p_ in fill['dispatch_overrides']:dispatch[s_,r_]=p_ # the single gauge44->extra provider upgrade of the pinned fill +pairs,sides=plan['pairs'],plan['sides'] +at={tuple(x):i for i,x in enumerate(order)} +roles=[] +for time,helper,rep,child,port,offset in fill['rows']: + stage,replica=order[time];w=widths[dispatch[stage,replica]][helper] + roles.append(dict(stage=stage,replica=replica,time=time,helper=helper,width=w,owner_replica=rep,child=child,port=port,offset=offset,copy=112*rep+port,family=rep*896+(2*pairs[str(child)]+sides[str(child)])*112+port)) +assert len(roles)==len(order)*R,(len(roles),len(order)*R) +helpers=collections.defaultdict(set);fams=collections.defaultdict(set);used=collections.defaultdict(set) +for z in roles: + call=(z['stage'],z['replica']);rep,child,port=z['owner_replica'],z['child'],z['port'] + cap,allowed=windows[f'{rep},{child}'] + assert z['time'] in allowed and 0<=port<112 and 0<=z['helper']=0 and z['offset']+z['width']<=cap and not used[rep,child,port]&cells + used[rep,child,port]|=cells +assert set(helpers)==set(map(tuple,order)) and all(s==set(range(R)) for s in helpers.values()) +idle=collections.Counter() +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(',')) + for port in range(112): + c=used[r,ch,port];assert c==set(range(len(c))),'gap in pending prefix' + if cap-len(c):idle[cap-len(c)]+=1 +H=collections.Counter(idle) +for sr in order: + for r,n in paid[dispatch[tuple(sr)]].items():H[int(r)]+=n +assert 73*(896*Tnew)-sum(r*n for r,n in H.items())==320*Tnew,'rank-mass deficit' +roles.sort(key=lambda r:(r['time'],r['helper'])) +dump(P/'OWNERS.json.gz',roles);dump(P/'ORDER.json',order);dump(P/'DISPATCH.json',[[s,r,dispatch[s,r]] for s,r in order]);dump(P/'PROFILE.json',dict(sorted(H.items()))) +dump(P/'RESULT.json',dict(status='PASS_EXACT_BORROW_WORD_REPLICA_OWNER_FILL',roles=len(roles),helpers_per_call=R,dispatch=dict(collections.Counter(dispatch.values())),idle=dict(sorted(idle.items())),scope='Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.')) +print('PASS_OWNER_VERIFY',dict(idle),dict(sorted(H.items())),flush=True) diff --git a/research/superior-replica-kappa/references/CURRENT-PINS.json b/research/superior-replica-kappa/references/CURRENT-PINS.json new file mode 100644 index 0000000000..c14bab0402 --- /dev/null +++ b/research/superior-replica-kappa/references/CURRENT-PINS.json @@ -0,0 +1,149 @@ +{ + "bodies": [ + { + "head": "ca5eead6afd871614ceb635679edbcc3d04b9d8c", + "html_sha256": "93ff862ed92386436e8afa6743fed2cc909f0d7c6efdb3416d1b3b761497454e", + "number": 2823 + }, + { + "head": "175822aee7a1858ec653f7f92d7a750aec2c2795", + "html_sha256": "65eef87e2080e4c9d6cf6a2f7de494f0fe529ffdbc8f5757f3f26e12b8e20691", + "number": 2818 + }, + { + "head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "html_sha256": "8111fdc9afca4c4c9e001beed29ae33ed8f56e6a5f6cc7e028b1aef31e4203a0", + "number": 2824 + } + ], + "channel": "ordinary public HTML and commit-pinned raw HTTPS; no REST refresh", + "claim": { + "byte_identical_to_delivered_T94": true, + "head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "path": "research/replica-tail-gain/CLAIM.json", + "pr": 2824, + "sha256": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/f1826afe1f487333f2c1e5bf862bae2211ce8dd9/research/replica-tail-gain/CLAIM.json" + }, + "coverage": "125 current open-PR titles; actual primary bodies2823/2818/2824; pinned main README and selected-result bytes; bounded review, not all current bodies or comments", + "final_supplement": "FINAL-FRONTIER-SUPPLEMENT.json", + "last_main": "da4f4fec60a88d9187f8ffa02f0f787b8b2da527", + "last_refresh_utc": "2026-10-16T00:21:22Z", + "main": "e24ccc79caa1943fb126c61b45032fefddf2d3f2", + "main_and_primary_retrievals": [ + { + "bytes": 298716, + "label": "pr2823", + "sha256": "93ff862ed92386436e8afa6743fed2cc909f0d7c6efdb3416d1b3b761497454e", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2823", + "utc": "2026-10-16T00:04:30.148Z" + }, + { + "bytes": 311474, + "label": "pr2818", + "sha256": "65eef87e2080e4c9d6cf6a2f7de494f0fe529ffdbc8f5757f3f26e12b8e20691", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2818", + "utc": "2026-10-16T00:04:30.665Z" + }, + { + "bytes": 297285, + "label": "pr2824", + "sha256": "8111fdc9afca4c4c9e001beed29ae33ed8f56e6a5f6cc7e028b1aef31e4203a0", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2824", + "utc": "2026-10-16T00:04:31.127Z" + }, + { + "bytes": 30263, + "label": "main-readme", + "sha256": "b9d94e1bc9ff9d1efe5b69e00963ee5d917cb376e36a453e0554742110ec0041", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e24ccc79caa1943fb126c61b45032fefddf2d3f2/README.md", + "utc": "2026-10-16T00:04:31.394Z" + }, + { + "bytes": 10725, + "label": "main-selected", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e24ccc79caa1943fb126c61b45032fefddf2d3f2/certificates/selected-result.json", + "utc": "2026-10-16T00:04:31.686Z" + } + ], + "raw_source_receipts": [ + { + "bytes": 182852, + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "path": "research/gmx-t74-borrow43-handoff/new/borrow/inputs/postcut_43base.json", + "pr": "2767", + "sha256": "d700ad92804e6565eb111850d4901c644e0fa28796bba3ef605b70a251a0aa1c", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/new/borrow/inputs/postcut_43base.json", + "utc": "2026-10-16T00:12:38.276Z" + }, + { + "bytes": 182840, + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "path": "research/gmx-t74-borrow43-handoff/new/borrow/inputs/postcut_43extra.json", + "pr": "2767", + "sha256": "604c15ef0955065c8a3a8376e7d3c77bc7d6af3c39e8647ad71f34bb66f0e989", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/new/borrow/inputs/postcut_43extra.json", + "utc": "2026-10-16T00:12:38.421Z" + }, + { + "bytes": 71221, + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "path": "research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz", + "pr": "2767", + "sha256": "f619788dafe250ab5dba109fb942e1f40c17057f4107f591219fcfeed606b202", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz", + "utc": "2026-10-16T00:12:38.278Z" + }, + { + "bytes": 71218, + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "path": "research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz", + "pr": "2767", + "sha256": "8b9e5200a059ebd07fb19fb3c7f6dd0409b15e4a047425892ec9a391e3c8a921", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz", + "utc": "2026-10-16T00:12:38.282Z" + }, + { + "bytes": 1374, + "head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "path": "research/replica-tail-gain/CLAIM.json", + "pr": "2824", + "sha256": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/f1826afe1f487333f2c1e5bf862bae2211ce8dd9/research/replica-tail-gain/CLAIM.json", + "utc": "2026-10-16T00:12:38.444Z" + }, + { + "bytes": 6652, + "head": "ca5eead6afd871614ceb635679edbcc3d04b9d8c", + "path": "research/t74-cold-host-restoration/README.md", + "pr": "2823", + "sha256": "ea2d85d8dda495b92c63b7822ab97835fb964f1e2c58a91b048547ca1bcaeeef", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/ca5eead6afd871614ceb635679edbcc3d04b9d8c/research/t74-cold-host-restoration/README.md", + "utc": "2026-10-16T00:12:38.403Z" + }, + { + "bytes": 14, + "head": "ca5eead6afd871614ceb635679edbcc3d04b9d8c", + "path": "research/t74-cold-host-restoration/PROOF.md", + "pr": "2823", + "sha256": "d5558cd419c8d46bdc958064cb97f963d1ea793866414c025906ec15033512ed", + "status": 404, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/ca5eead6afd871614ceb635679edbcc3d04b9d8c/research/t74-cold-host-restoration/PROOF.md", + "utc": "2026-10-16T00:12:38.199Z" + } + ], + "titles_count": 125, + "titles_utc": "2026-10-16T00:03:35-00:03:38Z" +} diff --git a/research/superior-replica-kappa/references/CURRENT-PRIMARY-BODIES.json b/research/superior-replica-kappa/references/CURRENT-PRIMARY-BODIES.json new file mode 100644 index 0000000000..37120cfb52 --- /dev/null +++ b/research/superior-replica-kappa/references/CURRENT-PRIMARY-BODIES.json @@ -0,0 +1,20 @@ +[ + { + "body": "Change and mathematical scope The J-dim1 hosting lead predicts a gain only if the merged host can be restored below full width. This package resolves its free-operator cancellation and certifies why direct contiguous restoration fails on the pinned words. No new \u03ba or admitted supplier is claimed. An explicit inverse prelude and terminal undo restore 473\u2192277 in both orientations under the unchanged algebra/frame auditor. The resulting FULL9 buffer is rejected by the pinned native transport; this is a constructive local component. For 184 words (92 pairs, both orientations), all 131,788 direct insertion slots require rank at least eight. All 8,208 rank-eight gate orders in 720 commuting classes have explicit target-port end-frame witnesses. Enlarging other helper ends alone cannot remove those witnesses. A separate 992-variant entry-hyperplane census checks 368,218 slots; every variant requires rank nine. Exact rational duals over 1,163 patterns reject the conditional width-nine/\u2212H3 ledger, including batches of one, two and four. Ideal restored width-seven/eight ledgers leave less than 0.017959/0.005786 H1-equivalent extra net cost per call at the pinned comparison point. These budgets do not establish realizable words or chronological owners. Staged recovery, changed bases, changed scalar words and changed interfaces remain outside the obstruction. No complete native supplier, stock/precision, literal-owner or outer admission is provided. Task and overlap Task complex-new-helper-inventory , refined to the user-assigned cold-host restoration obligation. The full cost ledger, stopping decision, source pins and overlap coverage are in research/t74-cold-host-restoration/TASK.json . Publication base: cfddb8581e7e96d4f4cd9bfd279037014c8b296d , priority revision 5. Scientific inputs remain pinned to the J leads branch , based on #2802 at 17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd . Related borrowing sources: #2745 and #2767 . The submission refresh covered all 705 open PR records and 1,466 Discussion records. New #2818 at 175822aee7a1858ec653f7f92d7a750aec2c2795 has identical complete words and allocation data to #2802 and claims a finer endpoint. Its endpoint certificate was not rerun here; it adds no cold-host mechanism. The present obstruction remains applicable to those words. No matches in titles/bodies/discussion records is not a universal novelty claim. Validation Python 3.12, standard library only: python3 -B scripts/research_package.py --package research/t74-cold-host-restoration The replay authenticates the package and consumed sources, reconstructs all 184 words, checks the full finite censuses, executes the unchanged operator auditor, and checks 20 rational duals plus ten integer-pattern root brackets. It includes positive fixtures, semantic/frame/cost mutants, and expected native rejection. Imported bytecode uses a fresh cache namespace. Frozen predecessor evidence is unchanged. The registered replay and a second full replay from a read-only Git export both passed; the latter also planted valid stale bytecode and confirmed the package entrypoint ignores it. All 53 staged files preserve their checked bytes. Only README/TASK freshness metadata changed afterward; source and certificate bytes are identical. Credit Marius-Paul Dumitrean's J lead, #2802 and #1186 toolkit, with the assistance disclosed in those sources; tekuuu/ #2751 , DavidAriasC/ #2766 , mason-hale/ #2696 , Cinna Davis/ #2226 , philippeVV/ #2679 , Jeremy Kothe and the retained borrowing/native/owner/outer lineage. Original notices and exact source bytes are retained. This package was prepared with substantial OpenAI Codex assistance, including three parallel agents and a separate integration replay; no independent human or proof-assistant review is claimed. Open next questions See the package README: the smallest useful follow-up is staged or precomputed recovery for 473\u2192277 that avoids the target-port collision and supplies an actual paid profile within the width-eight budget. A profitable sub-full word must then pass native, stock/precision, literal-owner and outer checks.", + "head": "ca5eead6afd871614ceb635679edbcc3d04b9d8c", + "html_sha256": "93ff862ed92386436e8afa6743fed2cc909f0d7c6efdb3416d1b3b761497454e", + "number": 2823 + }, + { + "body": "Summary Conditional \u03ba = 0.001717794984118634663827229918428178904088584385462312200900\u2026 (3046 decimals; the exact value is kappa in research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json , SHA-256 of the decimal string 94b67ffa5832fb500a87936e1ac7b915eab03301cb73f014c29c3b4da9a3677d ). This package is PR2802's (mdumitrean, Marius-Paul Dumitrean) construction, unchanged: seven retired-lender aliases (606<-550, 635<-551, 637<-552, 638<-553, 639<-562, 667<-401, 669<-403) and two hostee moves (401->564, 403->565) on PR2751's (tekuuu) twelve-alias words with PR2766's (DavidAriasC) frame refit; its words, owner fill, order and dispatch are PR2802's (local profile {1:2382, 2:648, 3:268, 4:128, 5:26, 8:8}, leftover idle {1:17316, 3:6594, 5:9878, 32:1, 48:26558}). Our contribution is only the finer endpoint certificate (the supplier endpoint certified to 1e-3000 and the fixed-grid-maximum outer kappa C - 1/F - B, as PR2767 did over PR2766) and the integration into our verifier: the construction as one declared patch stage retired7 with tamper controls, our guards and private-buffer accounting, PR2768's (tekuuu) exact sparse native replay as the default native stage, and a stale-bytecode guard after PR2788 (jeremydiviney). Prepared by Jeremy Kothe (jeremykothe2), with AI assistance. Conditional final kappa = 0.0017177949841186346638272299184281789040\u2026(3046 digits) (supplier strict-assembly kappa 0.0017148492247218876758214032268877614551\u2026(2995 digits)). It exceeds PR2802 (exact kappa_decimal from its claim) by 2.29918E-25 only through the finer endpoint grid; the construction gain is PR2802's (exact gate in verify_release.py). grid_digits 2995, margin_digits 3005, bootstrap_steps 1116; 63 strict inequalities, 17 rejecting controls. Verification Fresh checkout of 175822aee7a1858ec653f7f92d7a750aec2c2795 . Manifest: ee9c141a4e65c2c3769384bf4458c9d38007c7bd806ca6795c8c2b49a60fc484 . PASS package manifest: 539 files Supplier: the package's own unchanged verify.py (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION , native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 171779498411863466382722991842... brackets the ledger's b = 1717794984118634663827229918428178904088\u2026(3078 digits)/1000000000000000000000000000000000000000\u2026(3081 digits). Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017177949841186346638272299184281789040\u2026(3046 digits) (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-3080, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 3000-digit rejection call). Full package-owned verification passed in 292.19 seconds. The fresh receipt binds the exact package manifest and score. See research/gmx-t74-borrow43-handoff/README.md for reproduction commands and proof qualifications. Credits PR2802 (mdumitrean, Marius-Paul Dumitrean): the construction, credited first: seven retired-lender aliases and two hostee moves, their words, owner fill, order, dispatch and certified frames (new/borrow/inputs/retired7_43*.json). Our contribution is only the finer 1e-3000 endpoint certificate and the verifier integration. PR2751 (tekuuu): the twelve-alias reassignment; PR2768 (tekuuu): the exact sparse native replay (new/fastnative/), with PR662 (Charles Bethin) tables and the PR1029 (Ali Romman) sparse evaluator. PR2766 (DavidAriasC): the frame refit of PR2751's words (priority over PR2767, which has the same construction value on a finer grid); PR2733 (mdumitrean) found the same refit concurrently. PR2788 (jeremydiviney): the stale-bytecode finding (code/pyc_guard.py, with a planted-.pyc control). GaugeFix: the Theorem 4.1 correction applied to outer/GAUGEFREE-INTERIORS.md and outer/check_gaugefree.py. PR2696 (mason-hale), PR2679 (philippeVV), PR2588 / PR2530 (zxv), PR2621 (themilkman216) and PR2559 (philippeVV): the lineage. Jeremy Kothe (jeremykothe2), with AI assistance: the 1e-3000 endpoint certificate and the integration. PR2696 (mason-hale): the concentrated eight-lender source-partner assignment (new/borrow/inputs/alias8_43*.json) and its construction. PR2679 (philippeVV): the six pre-life hostings, the frame refit and the retired-lender alias 653<-563 (new/borrow/inputs/prelife_43*.json, refit563_43*.json, alias1_43*.json; word_patch.py and rebuild_borrow.py stages and controls), the base package, and the owner-fill evacuation method of PR2559. PR2588 (jeremykothe2) and PR2530 (zxv): the words they build on (the eight source-partner aliases, the helper-label swap) and the realize flows. PR2621 (themilkman216): the priority re-ordering idea applied here to the call order. PR2733 (mdumitrean): concurrent independent work with the same composition (concentrated assignment plus pre-life hosting); our refinement is the 1e-3000 endpoint grid. Jeremy Kothe (jeremykothe2), with AI assistance: stacking PR2696's assignment with PR2679's hostings and alias, the priority-ordered window-optimal fill (the offset search for the order and the fill) and the integration. PR2530 (zxv): the eight source-partner aliases, the order, the words and the starting owner map (new/borrow/inputs/alias8_43*.json, new/borrow-fill/ORDER.json, DISPATCH.json, independent_core.py). PR2559 (philippeVV): the owner-fill evacuation method, and the portability fixes (line endings, receipts outside the package, re-derived controls, dependency declaration) reused here; philippeVV's audit of PR2474. Jeremy Kothe (jeremykothe2), with AI assistance: running the evacuation on PR2530's owner map (new/borrow-fill/FILL.json.gz) and the integration. PR2436 (tekuuu): the lifted-target aliases and the A-phase prelude mechanism that PR2530 extends. PR2322 (Vlado Vojdanovski): the handoff construction; PR2435/PR2447/PR2462/PR2474/PR2526 and PR2312 (ours): the entrance raise, the supplier chain and the borrowed words. PR2478 (mdumitrean) and PR2508 (ywz65): the cut-centre and helper-index guards. PR2309 (Dugongue) and PR2315 (thakrarsagar): private-stock accounting; PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): pooled-slot time binding; PR2161 / PR2180 (dataisfire): fixed-grid maximum; PR2168 / PR2184: exact-integer coarse exponential. PR2226 (Cinna Davis / 1337isnot1337 with OpenAI Codex): anticipatory dirty borrowing. PR1786 (chafreaky / Chafik Boukhalfa): fine source-prime padding, its proof and checks, vendored under vendor/pr1786; Tim Trudgian: effective prime number theorem (arXiv:1401.2689). PR1673 (Vlado Vojdanovski, with AI assistance): capped phase-cell fusion outer construction, its proof and exact evidence, vendored under vendor/pr1673. PR1758 (IdeaOuter and contributors): fractional-shift gauge-free interiors, accretive shallow-circuit lemma, per-visit tag accounting. Jeremy Kothe and contributors (PR1731 ledger lineage, radix-union schedule), LeverRank (independent schedule simulation), Gohberg, Semencul, Kailath, Kung, Morf, Bitmead, Anderson, Pan (structured Toeplitz-like algorithms of the retained alternative), Francois Le Gall et al. and Chafik Boukhalfa (PR1699). Supplier: PR1625 (mdumitrean), PR1661 (midhatn), pivot-554 kernel (PR1672 lineage) and the PR1319/PR1297/PR1274/PR1286 lineage as in earlier packages. PR1956 (Josie Elliston: the bootstrap-cutoff carry finding and repair), PR1897 (M6LI), PR1876, PR1875 and PR1828 (rohanarun): the endpoint and slack refinements that this package exceeds; rohanarun also PR1319 and PR1297; chafreaky PR1786; Vlado Vojdanovski PR1673; mdumitrean PR1625; midhatn; philippeVV PR1519 (odd-term Mercator finding); Kothe and the existing lineage. PR1964 (thakrarsagar / Sagar Thakrar): Lemma G label and adapter-rule checks and the X/Y/Z adapter mutants (code/lemmag_checks.py), Lemma G by DreamingOfClouds (PR509 / PR516). PR2161 / PR2180 (dataisfire, OpenAI Codex-assisted): the fixed-grid maximum point and its proof, re-derived at this endpoint; PR2044 (Kothe) free-epsilon refinement they stack on; PR1786 (chafreaky / Chafik Boukhalfa) and PR1673 (Vlado Vojdanovski) ledger formulas. PR2168 / PR2184 (dataisfire): exact-integer coarse exponential and its one-site derivation. PR2309, PR2302 and PR2265 are the records exceeded. PR2286 (thakrarsagar) side-condition audit and philippeVV (PR1897 / PR2044 comments): the text defects (minimum-margin claim, xi aside, HALO K0^2 branch, p^10 umbrella, vacuous or-True guards, stale xi digits) corrected in outer/FINE-PADDING-COMPOSITION.md section 4, outer/check_ledger.py, outer/struct_check.py and outer/check_gaugefree.py. Jeremy Kothe (jeremykothe2), with AI assistance: change of the lender of alias 651 to 530 and dropping of alias 653, the exact owner fill for the new width inventory, the exact frame re-solve of both borrowed words and the exact kernel search and pricing, new work in this package (new/borrow/inputs/refit_43*.json, kernel_43*.json, new/borrow-fill/FILL.json.gz). PR1625 (mdumitrean): the helper-donor kernel shape reused here at pivots 518 and 506. PR2309 (Dugongue): concurrent independent work, a 44th dirty alias with owner repacking that also borrows from lender 530; the leader this package exceeds. PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): the unbound pooled-slot time field, bound in code/audit_allcold.py here. PR2315 (thakrarsagar): the audit finding that the private cleanup buffers must be charged. PR2309 (Dugongue): the private-stock accounting (physical stock, CLEAR charges, warp routing reserve, adapter bound, controls) ported here.", + "head": "175822aee7a1858ec653f7f92d7a750aec2c2795", + "html_sha256": "65eef87e2080e4c9d6cf6a2f7de494f0fe529ffdbc8f5757f3f26e12b8e20691", + "number": 2818 + }, + { + "body": "The complete T94 allocation raises the conditional finite-supplier headline from PR2802's 0.001717794984118634663827 lower certificate to 0.0017177951600320121074069999999999999999999998999999999999999999999999. The exact gain is 8795668872179/50000000000000000000000. Increasing replicas 74 to 94 amortizes the same explicitly charged positive residue; 345,168 literal owner roles compose with the credited retired7 native construction. Both changed native providers freshly passed all five stages; unchanged retained providers/parent were reused only after exact source, word, full-cache and receipt checks. All changed T94 source events, owner geometry, physical invoice, ordinary bootstrap and modern outer/full release checks passed. Independent literal owners and directed rational moments passed seven geometry and five pricing corruptions. The Mathlib-only Lean 4.34.1 proof freshly passed kernel and complete 61-declaration transitive-axiom audit plus four real ownership/axiom fixtures. This retains inherited all-size/compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer hypotheses. The formal module certifies its universal paid-cost inequalities; finite release does not prove the full multiplication theorem. See FRONTIER.md for exact current pins, bounded overlap coverage and attribution. No selected-result record or public discussion was changed.", + "head": "f1826afe1f487333f2c1e5bf862bae2211ce8dd9", + "html_sha256": "8111fdc9afca4c4c9e001beed29ae33ed8f56e6a5f6cc7e028b1aef31e4203a0", + "number": 2824 + } +] diff --git a/research/superior-replica-kappa/references/CURRENT-RECENT-TITLES.json b/research/superior-replica-kappa/references/CURRENT-RECENT-TITLES.json new file mode 100644 index 0000000000..1381e15388 --- /dev/null +++ b/research/superior-replica-kappa/references/CURRENT-RECENT-TITLES.json @@ -0,0 +1,758 @@ +{ + "channel": "ordinary public HTML,not REST", + "main": "e24ccc79caa1943fb126c61b45032fefddf2d3f2", + "records": [ + { + "number": 2824, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "T94 retained-tail allocation on PR2802: conditional kappa 0.001717795160032012107407", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2824" + }, + { + "number": 2823, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Certify cold-host cancellation and fixed-word restoration obstructions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2823" + }, + { + "number": 2822, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Prove a ten-bit sufficient internal grid for the P104 physical dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2822" + }, + { + "number": 2464, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "KB1 supplier instantiation of the certified z4 typed echo: priced whole construction, exact moments and a < D/E, one hosting obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2464" + }, + { + "number": 2821, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Prove exact numerical lifetimes for BIT validation prefix", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2821" + }, + { + "number": 2820, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Research audit: exact widths for all 255 P104 survivor projections (seed 67, no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2820" + }, + { + "number": 2819, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Rank-9 realisations of the E8 pattern are B-form or the A2 family (classification; no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2819" + }, + { + "number": 2818, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Conditional \u03ba = 0.0017177949841186346638272: #2802's construction with a 1e-3000 certified endpoint", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2818" + }, + { + "number": 2478, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Verifier: audit_local.py accepts non-centre cut gates; additive guard and regression fixture (no new \u03ba)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2478" + }, + { + "number": 2817, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Research: transfer-coupled (5,1,1) 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2817" + }, + { + "number": 2458, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Research: native binding for the P104 two-target correction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2458" + }, + { + "number": 2816, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Decoder floors, case (b) for every number of terms: one-sided P112 decoders cost \u2265 64 without corrections (unique optimum) and with \u2264 2 non-full corrections (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2816" + }, + { + "number": 2773, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "KB3c: 17-point cover audit - PR 2542's 'no 17-point set covers F2^7' against its own lemma table (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2773" + }, + { + "number": 2815, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Prove source-bound numerical lifetimes for BIT Layout", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2815" + }, + { + "number": 2814, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Research: transport terminal centre-error kernels through causal feedback", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2814" + }, + { + "number": 2409, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Tooling: 2.49\u00d7 faster production HPE audit via integer rows with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2409" + }, + { + "number": 2813, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Certify exact precision for the ADD-retimed P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2813" + }, + { + "number": 2812, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Certify the QQ16 scratch sweep direction optimum", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2812" + }, + { + "number": 2811, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Price the rounded QQ16 pair with explicit Boolean circuits", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2811" + }, + { + "number": 2810, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Prove exact numerical peaks for BIT directory and ADD phases", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2810" + }, + { + "number": 2265, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Outer retune of #2260: #1673 capped phase-cell fusion outer on the selective-borrowing supplier, conditional \u03ba = 0.00168341258854\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2265" + }, + { + "number": 2757, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "P112 rank-57 cover with scoped rational decoder cost floors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2757" + }, + { + "number": 2809, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Prove a fixed-tape lowering for the selected BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2809" + }, + { + "number": 2808, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Implement the logical BIT outer borrowing wrapper", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2808" + }, + { + "number": 2807, + "source_html_sha256": "0d551d09c073f99cfcc5fdad8e96ee2165571e137bcb1dadfc0983156f0e0b32", + "title": "Bound finite dyadic registers for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2807" + }, + { + "number": 1758, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Conditional \u03ba = 0.001679745508802299: gauge-free (fractional-shift) interiors, structured boundary solves and radix-distributed sparse-union schedule on PR1673's capped phase-cell fusion outer, pivot-566+554 T74 supplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1758" + }, + { + "number": 2806, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Decoder floors, closures: punctured E8 units (Model C) for 48 \u2264 p \u2264 56, all m (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2806" + }, + { + "number": 2802, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Conditional \u03ba \u2248 0.001717794984118634663827: two hostee moves and seven retired-lender aliases on #2751's joint twelve-source words", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2802" + }, + { + "number": 2805, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Research: read-only transported shears for the native covariant reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2805" + }, + { + "number": 2530, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Conditional \u03ba \u2248 0.0017137379215475043 from source-partner lifetimes and physical rehosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2530" + }, + { + "number": 2804, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Independent verification (no \u03ba): #2530's source-partner words exact through cleanup and endpoint; stock, endpoint enclosure and \u03ba composition reproduce; no defect found", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2804" + }, + { + "number": 2803, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Fix strict replay comparison of large JSON integers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2803" + }, + { + "number": 2260, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Improve conditional \u03ba to 0.0016805 with selective dirty borrowing and physical owner repacking", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2260" + }, + { + "number": 2244, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Paper-side line counts per dimension: Lagrangian bound v \u2264 T(2^k\u2032+1) with exact ladder D4/D6/E7/E8 and no-gos scoped to windows h \u2264 13 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2244" + }, + { + "number": 2801, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Bound caller numerical state at selected BIT adapter callbacks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2801" + }, + { + "number": 2799, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Research: certify terminal X/Y readout kernels for selected centre errors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2799" + }, + { + "number": 2493, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Batch Discussion overlap reads with complete pagination", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2493" + }, + { + "number": 2798, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Prove the P112 right-extension COPY floor with charged auxiliary terms", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2798" + }, + { + "number": 2797, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Independently audit PR2493 overlap pagination and cache failures", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2797" + }, + { + "number": 2796, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Audit the selected BIT child coefficient's numerical lifetime", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2796" + }, + { + "number": 2795, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Prove five-root minimum for eight-source paired-call connectors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2795" + }, + { + "number": 2794, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Prove exact optimal QQ16 streaming sweep directions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2794" + }, + { + "number": 2793, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Research: prototype faster selected-record source binding", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2793" + }, + { + "number": 2792, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Preserve assertion checks in historical replay children", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2792" + }, + { + "number": 2790, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Prove an operand-preserving eight-tape multiplier with paid copying and head return", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2790" + }, + { + "number": 2788, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Bind T74 width-cap arithmetic execution to authenticated source bytes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2788" + }, + { + "number": 2269, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Conditional \u03ba = 0.001696247139058474: capped phase-cell fusion outer (PR1673) on the T74 supplier with anticipatory dirty borrowing (PR2226, 43 high-helper aliases) on the T74 pivot-566+554 supplier: conditional kappa 0.0016962471390584742\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2269" + }, + { + "number": 2786, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Implement compatible-row padding for the logical BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2786" + }, + { + "number": 2784, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Decoder floors, case (c): the A2 family of non-B-form rank-9 realisations (P112 \u2265 64, #968 P104 \u2265 56, E8 \u2265 72; no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2784" + }, + { + "number": 2782, + "source_html_sha256": "fb2b323425e72d92191bd0212d82074218de7ac02692ba4056730f8989ce1a32", + "title": "Research: positive half-integral Gram decoder barrier and exact paired-plane C5 gate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2782" + }, + { + "number": 2781, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Bound complete selected BIT adapter numerical lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2781" + }, + { + "number": 2780, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Prove paid return of every physical head for the clean six-tape multiplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2780" + }, + { + "number": 2676, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Stop direct script trees on scheduler exceptions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2676" + }, + { + "number": 2162, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "\u2708\ufe0f Characteristic-2 shadows of rank-3 decoders: the anti-Fano bound by first-order jets, with a Lean-checked core (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2162" + }, + { + "number": 2779, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Research: partitioned independent-walks 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2779" + }, + { + "number": 2778, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Bound numerical storage during selected BIT form construction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2778" + }, + { + "number": 2747, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "F-star residue (i): mixed anchor-repair-pivot lemma MX, tied-instance certificates, and a tied-domain search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2747" + }, + { + "number": 2776, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Realize all-size ordered shears on fourteen fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2776" + }, + { + "number": 2639, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Decoder floors, closures: punctured E8 units (Model C) to p = 46 (all m) and p \u2264 56 (merged m \u2265 8), windows h = 10\u201311 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2639" + }, + { + "number": 2775, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Prove complete clean six-tape multiplication and eight explicit applications", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2775" + }, + { + "number": 2774, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "F-star residue class (ii): non-3-dichromatic zero digraphs - matched-pivot floor, fixture dichromatic structure, smallest-first falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2774" + }, + { + "number": 2077, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Research: four helper placements improve selected T16 kappa", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2077" + }, + { + "number": 2375, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Tooling: 3.09\u00d7 faster production frame-pair enumeration via eight-bit neighborhoods with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2375" + }, + { + "number": 2772, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Certify a whole-word internal grid for the physical P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2772" + }, + { + "number": 2771, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Bound rounded native-line defects for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2771" + }, + { + "number": 2411, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "[Lean] Link an end-to-end proof of multiplication below n log n", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2411" + }, + { + "number": 2770, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "research(bit): bound numerical callback word lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2770" + }, + { + "number": 2768, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Tooling: 3.57x faster complete T74 native replay with unchanged exact coverage", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2768" + }, + { + "number": 2767, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Conditional \u03ba = 0.001717256973467002: post-cut partner correction on #2696's lender assignment with #2679's pre-life hosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2767" + }, + { + "number": 2769, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Park recursive numerical banks on two fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2769" + }, + { + "number": 2357, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Tooling: 2.26\u00d7 faster production emitted-local audit via integer rows with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2357" + }, + { + "number": 2766, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Improve conditional \u03ba to 0.001717256973467 with credited routing-frame fusion", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2766" + }, + { + "number": 2765, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Certify masked E8 decoder padding transfers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2765" + }, + { + "number": 2764, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Research: dirty-parity collapse extends to eight queries (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2764" + }, + { + "number": 2763, + "source_html_sha256": "dec25c68242589a6516a064c8be602e2418a465ad2c3b0af5982b9c496397620", + "title": "Audit centre-source coefficients with an independent adjoint and sign control", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2763" + }, + { + "number": 2762, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Census round 2: screening results for the 16 uncovered open complex claims (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2762" + }, + { + "number": 2761, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Research: multi-connector / priced-shadow 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2761" + }, + { + "number": 2760, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "docs(research): map selected BIT caller and storage obligations", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2760" + }, + { + "number": 2329, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Tooling: 3.15\u00d7 faster production Clifford zero_state via gate tables with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2329" + }, + { + "number": 2759, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Certify sharp numerical scratch bounds for BIT arithmetic", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2759" + }, + { + "number": 2758, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Bound serialized continuation storage in the selected BIT evaluator", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2758" + }, + { + "number": 2276, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Tooling: 6.47\u00d7 faster production R420 mutants geometry cache with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2276" + }, + { + "number": 2263, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Tooling: 3.18\u00d7 faster production R420 xcheck.rref via integer elimination with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2263" + }, + { + "number": 2756, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Audit when exceptional repair can use independent batches", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2756" + }, + { + "number": 2753, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Complete all-size logical BIT caller and recursive storage bound", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2753" + }, + { + "number": 2733, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Improve conditional kappa to 0.00171625567823018 with composition and a frame refit", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2733" + }, + { + "number": 2754, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Prove exact internal rounding for one P104 collector", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2754" + }, + { + "number": 2752, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "fix(replay): support source-pin checks on older Git", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2752" + }, + { + "number": 2751, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Conditional kappa \u2248 0.00171714158635 via joint twelve-source recovery", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2751" + }, + { + "number": 2746, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Docs: correct attribution credit lines in merged research packages", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2746" + }, + { + "number": 2717, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "F-star proof-level lemmas: structural certificates, named-instance L8 reproduction, and a beyond-census falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2717" + }, + { + "number": 2749, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Bound count-tape storage for the first selected BIT node", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2749" + }, + { + "number": 2748, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Bind all non-cold k8 HPE wrapper events to Lean recipes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2748" + }, + { + "number": 2745, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Conditional \u03ba = 0.001716140425997441: #2696's lender assignment with #2679's pre-life hosting and a window-optimal fill", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2745" + }, + { + "number": 2595, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "KB1b: the ERASE deferral is not necessary \u2014 legal per-call COPY/ERASE windows keep the typed-echo pair saving (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2595" + }, + { + "number": 2744, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Audit P104 consumer cost credits and the PR2725 stopping decision", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2744" + }, + { + "number": 2743, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Bound complete BIT node data content, including remainder peel", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2743" + }, + { + "number": 2742, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Construct a native covariant action on the full dirty reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2742" + }, + { + "number": 2741, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Prove the all-pair P104 consumer budget obstruction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2741" + }, + { + "number": 2740, + "source_html_sha256": "d33241243d00ee9b6a86c2d5e3b7005f5d52d0468a5683d1d7b5ee1ecd012139", + "title": "Research: rule out uniform dirty-padding exchange adapters", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2740" + }, + { + "number": 2738, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Prove exact Coxeter tariffs with arbitrary dirty workspace", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2738" + }, + { + "number": 2634, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "KB3b: seven-source singleton f(7) continued - parity closes L=19, beating templates closed, cover/walk dichotomy, resumable 20-cycle census (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2634" + }, + { + "number": 2542, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Research: seven-source singleton universal path \u2014 length 18 excluded, f(7) >= 20 (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2542" + }, + { + "number": 2518, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Research: polar-law screens at T >= 7 and a small-T overcomplete census (scoped negatives)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2518" + }, + { + "number": 2444, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Exact-search tooling for noncommuting words, and a complete six-distinct-value screen of the KB2 thirteen-call candidate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2444" + }, + { + "number": 2427, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Research (no kappa claim): classical Pappus/Desargues T=3 pairing-cost census \u2014 no cost < v falsifier; tight atoms through v = 6", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2427" + }, + { + "number": 2255, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Audit: live-byte source-pin drift after merged replay-speed tooling (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2255" + }, + { + "number": 2737, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Name offending keys in research package checks and support PR-head pins", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2737" + }, + { + "number": 1076, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Tooling: batch exact rows for the quadratic-affine rank witness (8.4x faster check, no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1076" + }, + { + "number": 2736, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Research: bound completed errors in the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2736" + }, + { + "number": 2705, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "KB1c: admission-ready evidence for the typed-window z4 typed-echo schedule (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2705" + }, + { + "number": 2735, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Prove the fixed dyadic Omega channel profile", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2735" + }, + { + "number": 2734, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "perf: copy and hash historical replay inputs in one pass", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2734" + }, + { + "number": 2257, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Tooling: 5.36\u00d7 faster production frameopt.close via one-basis modular closure with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2257" + }, + { + "number": 2724, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Decoder floors, case (b): nine terms outside col M (P112 \u2265 64, #968 P104 \u2265 56; no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2724" + }, + { + "number": 2665, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Demonstrate deterministic rounding residue in a P104 native collector", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2665" + }, + { + "number": 2731, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Certify sharp payload storage for selected BIT residuals", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2731" + }, + { + "number": 2361, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "ci: select affected verification inputs and preserve historical replays", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2361" + }, + { + "number": 2730, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Prove sharp mixed-grid cleanup for a physical P104 collector", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2730" + }, + { + "number": 2235, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Add verified multitape foundations, compilers, dirty-frame callers and quadratic multiplication output", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2235" + }, + { + "number": 2729, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Certify P104 fusion overhead budgets at the selected saving", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2729" + }, + { + "number": 1175, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Conditional kappa 0.001675338871723469: whole-owner map at the packin\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1175" + }, + { + "number": 2728, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Formalize the selected BIT split-residual retractions and conjugation interface", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2728" + }, + { + "number": 2726, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Tighten completed P104 feedback with per-operand ideal norms", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2726" + }, + { + "number": 2725, + "source_html_sha256": "c060dd3ef75cf1f3ffac2fd99c08f97de22a4e80c011103a59ba3beca6b5f9d5", + "title": "Certify a two-register P104 endpoint ADD retiming", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2725" + } + ], + "unique_titles": 125, + "utc": "2026-10-16T00:03:35-00:03:38Z" +} diff --git a/research/superior-replica-kappa/references/FINAL-FRONTIER-SUPPLEMENT.json b/research/superior-replica-kappa/references/FINAL-FRONTIER-SUPPLEMENT.json new file mode 100644 index 0000000000..f18ea60674 --- /dev/null +++ b/research/superior-replica-kappa/references/FINAL-FRONTIER-SUPPLEMENT.json @@ -0,0 +1,175 @@ +{ + "channel": "ordinary public HTML and commit-pinned raw HTTPS", + "coverage": "Supplementary 25 updated-open-PR titles, actual new PR2825 primary body, and pinned new-main README/selected bytes; earlier 125-title and three-body coverage preserved.", + "main": "da4f4fec60a88d9187f8ffa02f0f787b8b2da527", + "primary_body": { + "body": "PR2821 leaves the first-range caller's child-entry, non-ADD and successful-return numerical lifetimes open. This source-bound proof closes those phases: child callbacks retain exactly 18 good / 19 fallback index Words above every Consumer.apply entry resident, including the fallback's zero half-width Word. Conditional on the unchanged credited component contracts, complete successful calls satisfy occupied non-LEFT numerical content <= (L_R+1)r + (L_I+1)i + max(37672r+34i, 20494r+41i). The two templates are charged once; r/i include RIGHT. The coordinatewise allowance is (37672 residues,41 indices) . Setup briefly reaches nine indices before retaining eight. The composed envelope is an upper bound, with no simultaneous/global sharpness claim. Validation at b553e912bcddef550d9fae6033041ff683399ebe : Registered CPython 3.12 replay: 386,856 caller trace events, 60 sampled callback entries, ten complete small Boolean primitive fixtures and 12 defect-control groups. Separate AI integer trace checker: 178,124 events, including all good ranks 1..42 and every ordered fallback endpoint pair; allocation/interior/return controls pass. All three commands pass in a read-only Git-free CPython 3.14 export with empty PATH. Source/proof bytes, typed receipts and effective stale-bytecode controls pass; selected-record bindings and post-commit metadata pass. The actual caller probe abstracts coefficient bodies and payload/record movement; the small primitive fixtures execute their complete payloads. Fixture metadata does not prove selected catalogue membership. The all-domain conclusion is the written conditional source proof, not a full GL64 execution, human/formal-kernel proof, physical reserve, supplier admission or new kappa. Next: join the nonnumerical/physical categories at the same chronological cuts and bind the larger recursive/outer consumer. Credit Jose Manuel/jmbarrancoml PR2697; Nick Petalas PR2759/2770/2778/2781/2801/2815; Arham Tahir PR2796; Ross Richardson PR2810/2821; David Arias and all retained source notices. New work by Ross Richardson with substantial OpenAI Codex assistance and a separate storage-lifetimes AI specialist, Apache-2.0. One new opt-in package; no predecessor or selected-frontier changes. Canonical investigation . Scientific base cfddb858 is deliberately retained; submission main fbdbcb53 at 2026-10-16 00:09 UTC had unchanged relevant guidance/selected/runner bytes and no package collision. Metadata overlap completely paginated 690 open PRs, 1467 Discussion records and 2105 local records at 00:09\u201300:12 UTC, no warnings; arbitrary diffs/unpublished work remain outside coverage. All six predecessor heads were rechecked unchanged. Hosted CI is a separate pending gate. Reproduce: python3.12 -I -B scripts/research_package.py --package research/selected-child-caller-lifetime . Task independent-moment , scope changed : the live PR2821 handoff replaces a redundant rank-root calculation with the missing caller-resident accounting implication. Exact runtime a53fdf4bcbe33c6732f0bec1badc8c023380f9d1 ; TASK and freshness , all exact dependency heads , and proof plus next questions provide the reviewable source boundary.", + "head": "b553e912bcddef550d9fae6033041ff683399ebe", + "number": 2825 + }, + "retrievals": [ + { + "label": "main", + "sha256": "28e53f8b7306fe8ad1ef88f89726df4e458bd1e89df129eadf0b01d9f8c46b02", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds", + "utc": "2026-10-16T00:20:50.183Z" + }, + { + "label": "pulls", + "sha256": "d723a9114f90b1338784f84737df449865ce971f407dff3b450964ad5e123be3", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc", + "utc": "2026-10-16T00:20:50.042Z" + }, + { + "label": "pr2825", + "sha256": "2fccc480b5a639884da695665fba6350d94e6c1807ab8b9fd54beb59e02e5854", + "status": 200, + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2825", + "utc": "2026-10-16T00:21:22.515Z" + }, + { + "label": "README", + "sha256": "b9d94e1bc9ff9d1efe5b69e00963ee5d917cb376e36a453e0554742110ec0041", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/da4f4fec60a88d9187f8ffa02f0f787b8b2da527/README.md", + "utc": "2026-10-16T00:21:22.084Z" + }, + { + "label": "selected", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "status": 200, + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/da4f4fec60a88d9187f8ffa02f0f787b8b2da527/certificates/selected-result.json", + "utc": "2026-10-16T00:21:22.070Z" + } + ], + "titles": [ + { + "number": 2825, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2825", + "title": "Close the selected BIT caller numerical phase envelope" + }, + { + "number": 2824, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2824", + "title": "T94 retained-tail allocation on PR2802: conditional kappa 0.001717795160032012107407" + }, + { + "number": 2823, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2823", + "title": "Certify cold-host cancellation and fixed-word restoration obstructions" + }, + { + "number": 2822, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2822", + "title": "Prove a ten-bit sufficient internal grid for the P104 physical dual" + }, + { + "number": 2464, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2464", + "title": "KB1 supplier instantiation of the certified z4 typed echo: priced whole construction, exact moments and a < D/E, one hosting obstruction (no new kappa)" + }, + { + "number": 2821, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2821", + "title": "Prove exact numerical lifetimes for BIT validation prefix" + }, + { + "number": 2820, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2820", + "title": "Research audit: exact widths for all 255 P104 survivor projections (seed 67, no new kappa)" + }, + { + "number": 2819, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2819", + "title": "Rank-9 realisations of the E8 pattern are B-form or the A2 family (classification; no \u03ba claim)" + }, + { + "number": 2818, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2818", + "title": "Conditional \u03ba = 0.0017177949841186346638272: #2802's construction with a 1e-3000 certified endpoint" + }, + { + "number": 2478, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2478", + "title": "Verifier: audit_local.py accepts non-centre cut gates; additive guard and regression fixture (no new \u03ba)" + }, + { + "number": 2817, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2817", + "title": "Research: transfer-coupled (5,1,1) 7q readout obstruction (no new kappa)" + }, + { + "number": 2458, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2458", + "title": "Research: native binding for the P104 two-target correction" + }, + { + "number": 2816, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2816", + "title": "Decoder floors, case (b) for every number of terms: one-sided P112 decoders cost \u2265 64 without corrections (unique optimum) and with \u2264 2 non-full corrections (no \u03ba claim)" + }, + { + "number": 2773, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2773", + "title": "KB3c: 17-point cover audit - PR 2542's 'no 17-point set covers F2^7' against its own lemma table (no new kappa)" + }, + { + "number": 2815, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2815", + "title": "Prove source-bound numerical lifetimes for BIT Layout" + }, + { + "number": 2814, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2814", + "title": "Research: transport terminal centre-error kernels through causal feedback" + }, + { + "number": 2409, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2409", + "title": "Tooling: 2.49\u00d7 faster production HPE audit via integer rows with identical receipts" + }, + { + "number": 2813, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2813", + "title": "Certify exact precision for the ADD-retimed P104 dual" + }, + { + "number": 2812, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2812", + "title": "Certify the QQ16 scratch sweep direction optimum" + }, + { + "number": 2811, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2811", + "title": "Price the rounded QQ16 pair with explicit Boolean circuits" + }, + { + "number": 2810, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2810", + "title": "Prove exact numerical peaks for BIT directory and ADD phases" + }, + { + "number": 2265, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2265", + "title": "Outer retune of #2260: #1673 capped phase-cell fusion outer on the selective-borrowing supplier, conditional \u03ba = 0.00168341258854\u2026" + }, + { + "number": 2757, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2757", + "title": "P112 rank-57 cover with scoped rational decoder cost floors" + }, + { + "number": 2809, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2809", + "title": "Prove a fixed-tape lowering for the selected BIT caller" + }, + { + "number": 2808, + "permalink": "https://github.com/CrocSwap/integer-mult-bounds/pull/2808", + "title": "Implement the logical BIT outer borrowing wrapper" + } + ], + "utc": "2026-10-16T00:20:50Z to 00:21:22Z" +} diff --git a/research/superior-replica-kappa/references/PINS.json b/research/superior-replica-kappa/references/PINS.json new file mode 100644 index 0000000000..ccbb655b9c --- /dev/null +++ b/research/superior-replica-kappa/references/PINS.json @@ -0,0 +1,73 @@ +{ + "baseline_historical": { + "files": 66, + "head": "e6df920cd0110e4b629e2ad84eddcb539001e174", + "manifest_sha256": "f8c288ab2f6e7faa89650d451168a16df8b6919c573f888a389f0d1c9e26cde4", + "pr": 2766, + "scope": "Historical source comparison, not the current native supplier or a required bundled input.", + "source_tree_url": "https://github.com/CrocSwap/integer-mult-bounds/tree/e6df920cd0110e4b629e2ad84eddcb539001e174/research/complex-routing-leaf-fusion" + }, + "coverage": { + "comments_complete": false, + "discussion_bodies": 296, + "fetched_unique_flat_comment_records": 631, + "limitation": "Comment fetching stopped on HTTP403/429. This is a bounded source comparison, not a novelty proof.", + "listed_discussion_comments_and_replies": 1140, + "open_pr_bodies": 723 + }, + "frontier": { + "ai_assistance_disclosed_upstream": "Anthropic Claude via Claude Code", + "author": "Marius-Paul Dumitrean", + "files": 124, + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "manifest": "../vendor/frontier/DOWNLOAD-MANIFEST.json", + "manifest_sha256": "fae7e9161707d3627c7ba444543b1bdd0d736df57b8495ea112bb221a2693497", + "pr": 2802, + "source_subtree": "research/t74-joint-twelve-retired7" + }, + "last_authenticated_main": "544a7e82810e30cab61c297cb2e2ea86127fe944", + "latest_normal_api_quota_check": { + "core_remaining": 0, + "limitation": "Normal endpoint still reported zero and a past reset; no further REST requests or bypass were used.", + "reported_reset_utc": "2026-10-15T23:02:16Z", + "rest_heads_newly_refreshed": false, + "retry_after": null, + "status": 200, + "utc": "2026-10-15T23:02:45.937Z" + }, + "main_pin_channel": "ordinary public repository HTML currentOid,2026-10-15T23:14:43.632Z", + "previous_authenticated_main": "84f8e607779b81c05edc962d4981d1f9b4b9bc9f", + "priority_revision_last_full_guidance_snapshot": 5, + "references": [ + { + "path": "PR2767-OUTER-CLAIM.json", + "sha256": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "source_head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "source_url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/e8b771ba132fe632796b28c1742a8d096c04519f/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json", + "usage": "Exact full pending outer kappa rational used for strict candidate comparison." + }, + { + "path": "PR2802-CLAIM.json", + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "source_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/CLAIM.json", + "usage": "Current reviewed full pending outer kappa rational; author Marius-Paul Dumitrean." + } + ], + "repository": "CrocSwap/integer-mult-bounds", + "schema_version": 1, + "selected_result_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32", + "snapshot_date_utc": "2026-10-15", + "supplemental_public_refresh": { + "bodies_fetched": 100, + "bodies_parsed": 100, + "channel": "ordinary public repository and PR HTML plus normal pinned raw", + "current_reviewed_highest_complete_supplier_pr": 2802, + "git_ls_remote": "Failed SEC_E_NO_CREDENTIALS; no config changes or credential attempts.", + "head_sha_fields": 100, + "main_readme_sha256": "b9d94e1bc9ff9d1efe5b69e00963ee5d917cb376e36a453e0554742110ec0041", + "recent_pr_records": "RECENT-PRS.json", + "recent_pr_records_sha256": "c56be4b596c83fe1a8c3d13172f34db8b90c85807822835647bc75606a26e045", + "selected_result_sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + } +} diff --git a/research/superior-replica-kappa/references/PR2767-OUTER-CLAIM.json b/research/superior-replica-kappa/references/PR2767-OUTER-CLAIM.json new file mode 100644 index 0000000000..2bb218a750 --- /dev/null +++ b/research/superior-replica-kappa/references/PR2767-OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999", + "kappa_rational": "17172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/superior-replica-kappa/references/PR2802-CLAIM.json b/research/superior-replica-kappa/references/PR2802-CLAIM.json new file mode 100644 index 0000000000..2e64718924 --- /dev/null +++ b/research/superior-replica-kappa/references/PR2802-CLAIM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717794984118634663827", + "complex_upper": "0.001717794984118634663828", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": "2751", + "comparison_head": "4cfbb0cc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2751, + "head": "4cfbb0cc", + "exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "comparisons": { + "2751": { + "kappa_source": "evidence/PR2751-CLAIM.json", + "exact_margin": "326698885104162859/500000000000000000000000", + "margin_float": 6.533977702083258e-07 + }, + "2766": { + "kappa_source": "evidence/PR2766-CLAIM.json", + "exact_margin": "538010651632355557/1000000000000000000000000", + "margin_float": 5.380106516323556e-07 + }, + "2767": { + "kappa_source": "evidence/PR2767-OUTER-CLAIM.json", + "exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)", + "margin_float": 5.380106516323556e-07 + } + }, + "new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route", + "local_predecessor": { + "package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)", + "exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "exact_margin": "385667783143020379/1000000000000000000000000", + "margin_float": 3.856677831430204e-07 + } +} diff --git a/research/superior-replica-kappa/references/PR2824-CLAIM.json b/research/superior-replica-kappa/references/PR2824-CLAIM.json new file mode 100644 index 0000000000..d3d320a2ce --- /dev/null +++ b/research/superior-replica-kappa/references/PR2824-CLAIM.json @@ -0,0 +1,29 @@ +{ + "calls": 846, + "comparison_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "comparison_kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2802, + "complex_lower": "1717795160032012107407/1000000000000000000000000", + "complex_upper": "107362197502000756713/62500000000000000000000", + "gain": "8795668872179/50000000000000000000000", + "helpers_per_call": 408, + "kappa": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177951600320121074069999999999999999999998999999999999999999999999", + "live": 84224, + "physical": 84714, + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "rank_mass": 6118272, + "replicas": 94, + "roles": 345168, + "scope": "Complete conditional finite supplier and modern outer release. Inherited all-size compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer contracts remain. Mathlib proves the stated universal paid-cost inequalities, not the complete multiplication theorem.", + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA" +} diff --git a/research/superior-replica-kappa/references/PREDECESSOR-T94-CLAIM.json b/research/superior-replica-kappa/references/PREDECESSOR-T94-CLAIM.json new file mode 100644 index 0000000000..d3d320a2ce --- /dev/null +++ b/research/superior-replica-kappa/references/PREDECESSOR-T94-CLAIM.json @@ -0,0 +1,29 @@ +{ + "calls": 846, + "comparison_head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "comparison_kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2802, + "complex_lower": "1717795160032012107407/1000000000000000000000000", + "complex_upper": "107362197502000756713/62500000000000000000000", + "gain": "8795668872179/50000000000000000000000", + "helpers_per_call": 408, + "kappa": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177951600320121074069999999999999999999998999999999999999999999999", + "live": 84224, + "physical": 84714, + "profile": { + "1": 2037168, + "2": 548208, + "3": 235104, + "32": 1, + "4": 108288, + "48": 33736, + "5": 34544, + "8": 6768 + }, + "rank_mass": 6118272, + "replicas": 94, + "roles": 345168, + "scope": "Complete conditional finite supplier and modern outer release. Inherited all-size compiler/source-access/hosting/precision/tape/recovery/ordinary-recursion/bit-supplier/analytic-transfer contracts remain. Mathlib proves the stated universal paid-cost inequalities, not the complete multiplication theorem.", + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA" +} diff --git a/research/superior-replica-kappa/references/RECENT-PRS.json b/research/superior-replica-kappa/references/RECENT-PRS.json new file mode 100644 index 0000000000..9b37eb4a0e --- /dev/null +++ b/research/superior-replica-kappa/references/RECENT-PRS.json @@ -0,0 +1,811 @@ +{ + "channel": "ordinary public HTML, not REST", + "records": [ + { + "head": "bfd6b68d1cd01913c7619f6b4115da8e584286f5", + "html_sha256": "9c8d1cbba0ed1b79d267a2546939a8c09e001db6f0f080514b571f77efff9964", + "number": 2813, + "primary_body_normalized_sha256": "dee38a56a1fb1c6d6cd5ee77245c815ddc5b72b7af606a1c3cd032202a687ebd", + "title": "Certify exact precision for the ADD-retimed P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2813" + }, + { + "head": "02884bd5c8ec2f82c10ad2ff0378921f0a5279b4", + "html_sha256": "194da079f3fd39fff700d06bd6bde9b3ddaa6a5bd1fa81f64e43c299aeba21a9", + "number": 2812, + "primary_body_normalized_sha256": "fb8fffe500293cbf0e2191cade885e42c977d4a51f7d7c9dce4d135f00f01e6c", + "title": "Certify the QQ16 scratch sweep direction optimum", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2812" + }, + { + "head": "3d07cfe7f5035bccf7975616b0f3bd53a3b78ca8", + "html_sha256": "32bf3872faa5d69984f5458fb9d678bf372090844eb8ca4975b17a0a6927890e", + "number": 2811, + "primary_body_normalized_sha256": "d569b00f3e01299c3472296f60bad575e11c4326dcf422f13a61be9114d63e58", + "title": "Price the rounded QQ16 pair with explicit Boolean circuits", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2811" + }, + { + "head": "8abae69a53337dd3d0965db3470ab249b0216f22", + "html_sha256": "e0b50c75ebcd82b152e51c386632e9feb5aa6a4728948e2b691a083b66e09593", + "number": 2810, + "primary_body_normalized_sha256": "3f2310a1bc178efedf456951340fe02e453bbe4595b2172f446e34d64fc15f2e", + "title": "Prove exact numerical peaks for BIT directory and ADD phases", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2810" + }, + { + "head": "6b09c565887c400ca01fafb067bc9d855f1ef9fc", + "html_sha256": "5f88867efcf9d69317d8ee2a2e6dbd2213bfd36d5c905894b29bd5db0bed0d65", + "number": 2265, + "primary_body_normalized_sha256": "95e1f89a958ebba9f285159b60b5df53374ae7c937b1ef095b797682030f8a57", + "title": "Outer retune of #2260: #1673 capped phase-cell fusion outer on the selective-borrowing supplier, conditional \u03ba = 0.00168341258854\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2265" + }, + { + "head": "18da668a4f248f5c0cf3fc94355068ead4db3476", + "html_sha256": "570610c0b143dcd93472ee3fda7df286a4bf97c3b469d6764707e4f6df61bc11", + "number": 2757, + "primary_body_normalized_sha256": "d672c5514e652e174c40b498a952d51492d0825b03c2fb680c3d069e0aa47479", + "title": "P112 rank-57 cover with scoped rational decoder cost floors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2757" + }, + { + "head": "38af8fb25f6adb5fa7da145cd9a03d41c39fd5d0", + "html_sha256": "81af4fd85424abcce7e1838e0c7bbf4b0fe88d06d55ca885b89e3a5cdcb6978f", + "number": 2809, + "primary_body_normalized_sha256": "f06b6b7d9be35d3fbb93fce7229b23999c51d65fc91600c0c74fc1c37021b07a", + "title": "Prove a fixed-tape lowering for the selected BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2809" + }, + { + "head": "b00b58e0db823643364f705b530faac254e7b05b", + "html_sha256": "e7272e9048f8f11e0afc9e5502ba14e99159745e11f60a7c6b2c6bc568b51504", + "number": 2808, + "primary_body_normalized_sha256": "6e0adac06d3a8e90892438935e6ff735f7875017d7aff5e6b165215def31b358", + "title": "Implement the logical BIT outer borrowing wrapper", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2808" + }, + { + "head": "6fbab8c4b95cdf75dfcbb33806c31349408d73a2", + "html_sha256": "66f1b6ae084f2581045dcf48115c262cadf349e66bbb80b0f2ca3f00b51560f6", + "number": 2807, + "primary_body_normalized_sha256": "eb95a7fe60736211f83ecc98947a115e0cda73bb073d1fcd3a1ab39340c314c9", + "title": "Bound finite dyadic registers for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2807" + }, + { + "head": "7c2634c42c5f583b94244bba8e985ea32c19bdf0", + "html_sha256": "e6e8dac8c5e0cbbb6e126e185152996d5221cf84cf330598695780b091afd172", + "number": 1758, + "primary_body_normalized_sha256": "a28cc328f8a9fd5b5d2ecc1d4bc64f62f2370fe77678d84ecfc913e5a11d723a", + "title": "Conditional \u03ba = 0.001679745508802299: gauge-free (fractional-shift) interiors, structured boundary solves and radix-distributed sparse-union schedule on PR1673's capped phase-cell fusion outer, pivot-566+554 T74 supplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1758" + }, + { + "head": "dc7b871a06ccdf5e94523ef991f704bc111905a8", + "html_sha256": "5c5edadaf3be27986a36286fcddc35700261cbcae8f9001c2fcada124e10811f", + "number": 2806, + "primary_body_normalized_sha256": "c615620d295506eec22c2db5cf4fa1dde2c3acd037e39dd14be07854f9fa54b8", + "title": "Decoder floors, closures: punctured E8 units (Model C) for 48 \u2264 p \u2264 56, all m (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2806" + }, + { + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "html_sha256": "ddec7bad9c50c6f54a83334a38a83592c20fd1d2e738e3b7da1a27c24005ae85", + "number": 2802, + "primary_body_normalized_sha256": "e55360b7eb8ba17d94470223eab8150f269c221b38721462b45c78120015a43c", + "title": "Conditional \u03ba \u2248 0.001717794984118634663827: two hostee moves and seven retired-lender aliases on #2751's joint twelve-source words", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2802" + }, + { + "head": "65da5e0c269346b00c2f389debfcb3a34d7590c6", + "html_sha256": "7546b5afa319c83ba1510e7b3be463424de75deaf34272ff352455fb684d2ee5", + "number": 2805, + "primary_body_normalized_sha256": "97befe2362eff1252f8d38edb9546f324b1a842d23c78d759166dcb65be24d22", + "title": "Research: read-only transported shears for the native covariant reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2805" + }, + { + "head": "b4012098048e12500b2d33d2e84be281915a27ac", + "html_sha256": "6e62626b56fe0f35d0a9bf38924fb214dd2d770c28392faa1e52d251aa3254ef", + "number": 2530, + "primary_body_normalized_sha256": "ad56b87029a1719a4504edb032a191fb4942bd30a57abcc1d79271ff77b8d667", + "title": "Conditional \u03ba \u2248 0.0017137379215475043 from source-partner lifetimes and physical rehosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2530" + }, + { + "head": "feb727ba471b5dc3f057f867804aa70ae58b2e71", + "html_sha256": "e328d7a598bb8c96873e42563787b8ec1e8e1abb8c05640641d8a2c360c5a4f8", + "number": 2804, + "primary_body_normalized_sha256": "22bf1ccb2ea4763d9c1c18369b6e56136d5e7b2178763f13287a3c435e434804", + "title": "Independent verification (no \u03ba): #2530's source-partner words exact through cleanup and endpoint; stock, endpoint enclosure and \u03ba composition reproduce; no defect found", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2804" + }, + { + "head": "b3c4a186ecd743bbb9605596628da4b881b90121", + "html_sha256": "6b72805f199c7980f21e1309da3de1d8dc8dba65c167d8993baebb4ac49e96d4", + "number": 2803, + "primary_body_normalized_sha256": "8e0ce0c5d833be361601c18e54b9313b7bf04e53e1724a6739033ac16e894536", + "title": "Fix strict replay comparison of large JSON integers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2803" + }, + { + "head": "fde6b107e26a14da5bac5b66913c914708ea6901", + "html_sha256": "6574d46fee029585ad2cd44766498acef1d3e2a4ea69da02c040f86f19bfc502", + "number": 2260, + "primary_body_normalized_sha256": "e50eaeed86f5520f801769d79657f0f1eb3fb4b86f885258c40ee40456c1d4fa", + "title": "Improve conditional \u03ba to 0.0016805 with selective dirty borrowing and physical owner repacking", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2260" + }, + { + "head": "8ef6fa81403973d3cacaf865bdabe9797a6c34a0", + "html_sha256": "b1a860839a486c410675b814c935ee7ccfbd0460f7dabdbaec4bdb2636a083d4", + "number": 2244, + "primary_body_normalized_sha256": "ba89992120019fbfd9ecb309277859e24a4d653b866c090e0dbfcb7c9edb3de7", + "title": "Paper-side line counts per dimension: Lagrangian bound v \u2264 T(2^k\u2032+1) with exact ladder D4/D6/E7/E8 and no-gos scoped to windows h \u2264 13 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2244" + }, + { + "head": "e2564b80b86fb77610b4b78701e5446a76fbe962", + "html_sha256": "983ef5a8ace26073e3c64bd3d8bab9ecc1d492c304d770afd9c913a879fa23b5", + "number": 2801, + "primary_body_normalized_sha256": "55555bc2258cd3de667db1e5935c8633483accd7c5a89608bdd191380d45c07a", + "title": "Bound caller numerical state at selected BIT adapter callbacks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2801" + }, + { + "head": "3401bcfce70ad5b692cd4d89e92955229f56c819", + "html_sha256": "2d5beb0c42793aeb978a5ea671c8730b0764f7642ba9719278801b838c04c40c", + "number": 2799, + "primary_body_normalized_sha256": "4149a075c90d283de93c5bd454aaa84e5363df168e8669128ea4a2f4abbb44ed", + "title": "Research: certify terminal X/Y readout kernels for selected centre errors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2799" + }, + { + "head": "a459ee34fad0488691beba8441e0a31e103b91a5", + "html_sha256": "a5a64e2ffb15c2b5e9b85e82338c01e8ce3408c03b8392004baa9f3553325f5a", + "number": 2493, + "primary_body_normalized_sha256": "0773a0898f2517aae63028612003d156af45ca2887be2178172defd75a55668c", + "title": "Batch Discussion overlap reads with complete pagination", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2493" + }, + { + "head": "116fa79ddc306ac2ba6cfeb920deddddef1fc54b", + "html_sha256": "da7eca74a36af0b4e3a625301d21751c9ab0023d50cd7dbfb80371c6c077961a", + "number": 2798, + "primary_body_normalized_sha256": "cd99ca39ada26e4100747f2e8b9e4d1f4ed752d7fc3db40b06351bc8b8ece41e", + "title": "Prove the P112 right-extension COPY floor with charged auxiliary terms", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2798" + }, + { + "head": "be479fd575307f3f60a5f41fd92af37c2fcf0af0", + "html_sha256": "19e773ead34623995302768dfb4fdf132cfc4fc45cab84397b4c4a72a2f203d8", + "number": 2797, + "primary_body_normalized_sha256": "8102e85e49b4607a454da1501cb6e19e45bc5ae885e96985bde25522f49abd93", + "title": "Independently audit PR2493 overlap pagination and cache failures", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2797" + }, + { + "head": "f9a6245cfdcae0b920fcbc9c79c4fb73a2706605", + "html_sha256": "8bf3acd6f1099bb031c7a47653c426f712736335e0b49f11e3e1d0a92a8eb0ce", + "number": 2796, + "primary_body_normalized_sha256": "696c76078229d605d46d8e0306d978a167612323273d979d45471825c683c6f6", + "title": "Audit the selected BIT child coefficient's numerical lifetime", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2796" + }, + { + "head": "fad52f9528cfea1c3bcfc0094ff56abf945d31a7", + "html_sha256": "9b520f5dd54b64ddf866346744ac6740bcd9a2cdab9d8b5da6b5ec1145c436da", + "number": 2795, + "primary_body_normalized_sha256": "66d8404acf72dd317c4b0575a5baf9a7e92cff843d1801ba514936e2e7c5da00", + "title": "Prove five-root minimum for eight-source paired-call connectors", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2795" + }, + { + "head": "fea29bf8d84242a4bf91fd8b243c7229a8c94c52", + "html_sha256": "5df196f2769dc929ecbd949d235005acdf30f4d1aecbe29408354af55f69f310", + "number": 2794, + "primary_body_normalized_sha256": "667c76b240986151513d83cc65021c2e48d00cc9b6360205c69b0d87e4c1ade2", + "title": "Prove exact optimal QQ16 streaming sweep directions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2794" + }, + { + "head": "d8b59acaa5133a525e88be64f60b658acbb3525c", + "html_sha256": "57140c58e06b5bc2ec9cf5ad37f7f83d8e05a5f57e7a4af7714e4a801b952714", + "number": 2793, + "primary_body_normalized_sha256": "d4191056fc741942cfdce060858ed7c2502011f36d2870b5b1a91acfbf4eb24a", + "title": "Research: prototype faster selected-record source binding", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2793" + }, + { + "head": "6f68ca122aa6bdbcc9f22b0125fb96d321fa98d3", + "html_sha256": "3edcb9001649939759d3349f694cdf50b8597a007a6e8cd30e6e1fd785ad114b", + "number": 2792, + "primary_body_normalized_sha256": "c2a6a962b993ce9b0735054f8f4d276e2addb6e9e4f3dd3e09430b14e709bc52", + "title": "Preserve assertion checks in historical replay children", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2792" + }, + { + "head": "1a9b88273535cbe93cb6cb7ca95f38fdcfe548f3", + "html_sha256": "bbc7498b0a21863766cecc3067a62330e57c510515dbe4ec081ff784c93487d0", + "number": 2790, + "primary_body_normalized_sha256": "bff479c92215898ae3779f71184fd47547d119292cd406a5199de41698e4336a", + "title": "Prove an operand-preserving eight-tape multiplier with paid copying and head return", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2790" + }, + { + "head": "626ce8eddf5569d270a3422954f9a3ce90f16942", + "html_sha256": "e8292712fed73998ebe28d712a3fdbf0459abbac76ffe54998331d6af2029926", + "number": 2406, + "primary_body_normalized_sha256": "b189ab19838c6e18f81ad988200eb3c688940aa443165b1e222f58c58e879f3c", + "title": "Research: cap T74 scalar and handoff frame refits at b < 0.0016972", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2406" + }, + { + "head": "e28e84c9826ca583814e965dcc36d8e549963d58", + "html_sha256": "5479622748740bb302475af9057e3a162b0e1c763187395bdd7dd9b09916c32f", + "number": 2788, + "primary_body_normalized_sha256": "9e62f3c9261ae8dead0a85f8a8c10fa3f4c706af2d4cc201b4dace6f3e8e7d30", + "title": "Bind T74 width-cap arithmetic execution to authenticated source bytes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2788" + }, + { + "head": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "html_sha256": "e306fee215095ff3f14f3de4c7c5cbfbda058d45f498244d7204525af5ef2254", + "number": 2269, + "primary_body_normalized_sha256": "11b769284f96dde31591ff877cdc29bc0a698e01cf211a3c7055ce658b38cf4d", + "title": "Conditional \u03ba = 0.001696247139058474: capped phase-cell fusion outer (PR1673) on the T74 supplier with anticipatory dirty borrowing (PR2226, 43 high-helper aliases) on the T74 pivot-566+554 supplier: conditional kappa 0.0016962471390584742\u2026", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2269" + }, + { + "head": "80df2062cef303c05ffe89bb54b87b6b371d1253", + "html_sha256": "03a02842d4d47d0858da75c1e0748f3c752d48cda9dc99062bbe0e4d74fb9e53", + "number": 2786, + "primary_body_normalized_sha256": "7a574a9e3564f83467382338dc9be1945228ab9ac84dd1271d1ef2a798befc5d", + "title": "Implement compatible-row padding for the logical BIT caller", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2786" + }, + { + "head": "6189e005a41b9de025e0426c1ae0ec2c0583d15d", + "html_sha256": "a905014b6ac3d040738f0509a5436ed1dca332964f027c19ad18af1907f87862", + "number": 2784, + "primary_body_normalized_sha256": "976db1fd6d343b1fa3a471b44e2ada79be6e387483fe6b1f061a18ee848f61a2", + "title": "Decoder floors, case (c): the A2 family of non-B-form rank-9 realisations (P112 \u2265 64, #968 P104 \u2265 56, E8 \u2265 72; no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2784" + }, + { + "head": "002a9983079a3244c10221b4e16d0cff7e70da40", + "html_sha256": "7d0b7f80cce5c91a51695c7212512e1f7d5a1d16d5e40d8098ad79bac33121d2", + "number": 2782, + "primary_body_normalized_sha256": "ff44851385753857987b2d45bd8174a1cedc41e900f26f413de439cb661b6f61", + "title": "Research: positive half-integral Gram decoder barrier and exact paired-plane C5 gate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2782" + }, + { + "head": "9fdbd4b0429dbfcb4569f7768b66d318deacab6b", + "html_sha256": "ebda95393bd02994f19d8645ccc34df5d8e0fbe7391a1228ab28fc5f8a6c3325", + "number": 2781, + "primary_body_normalized_sha256": "3498af7ebd0975b98f25178d06ee06d727fd77baeceb5499ce4ec9fe7d61ef0b", + "title": "Bound complete selected BIT adapter numerical lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2781" + }, + { + "head": "59f336094958b51b312e54deb85347e1b671172d", + "html_sha256": "6ea2536d3dbd7abe36bc70b5d784edc46874d635829883f577fb1713d23de789", + "number": 2780, + "primary_body_normalized_sha256": "855416663c3a643d2d756bb5fa4f763b323f5dd95e7bb6881193d22e8ff95ada", + "title": "Prove paid return of every physical head for the clean six-tape multiplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2780" + }, + { + "head": "3b8da2aba852254686c2cc1a7c67f8caa93d2fdb", + "html_sha256": "efe079c058fece5c4acbeaa79ac29b80d7f2a509e1d0a9413cb9451975cf3601", + "number": 2676, + "primary_body_normalized_sha256": "117c5319958af4b55588e95295454c3cc902c7c93f253f752fb67586efaf9dd8", + "title": "Stop direct script trees on scheduler exceptions", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2676" + }, + { + "head": "642bfaf4325f0c8294ab72e8911c3eab4fea354f", + "html_sha256": "ef2248f1f56d957340ba6bb5f1e43e72d2183abe57adba50fda7284bdb76ebc5", + "number": 2162, + "primary_body_normalized_sha256": "0391ae82ba3450ab827b43073a5e08198e423b00fba66cf56e478c009b18a427", + "title": "\u2708\ufe0f Characteristic-2 shadows of rank-3 decoders: the anti-Fano bound by first-order jets, with a Lean-checked core (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2162" + }, + { + "head": "1f2a413f9e27ce9609924f7ab196548c4cbe43d8", + "html_sha256": "277131b5977e17439056635febeb0f501f9739c24559f66bd4d577718e3fa01e", + "number": 2779, + "primary_body_normalized_sha256": "f6f56ccaf30fd1cfbae6f9f003a6fb612d50caf267831fc48f520967e075689a", + "title": "Research: partitioned independent-walks 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2779" + }, + { + "head": "6dfdbaa004540f5d89f390a9a78fa38c46d225d6", + "html_sha256": "8c7a6bf1e9f8fe76bebf87d082a56ad19b09f555995a256ca48c6a1be878174f", + "number": 2778, + "primary_body_normalized_sha256": "b85160c3e155e49a233628e7361a851b0169fab6f75a81ba951d6aac2d7bd31f", + "title": "Bound numerical storage during selected BIT form construction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2778" + }, + { + "head": "a2bab9978c8149dc5965558ea9277da07bc750e7", + "html_sha256": "7428748c3b2e5eb6a6e63663aa7b79ffbd22595350ca18b17f3851ce0fe2591d", + "number": 2747, + "primary_body_normalized_sha256": "e2ab76e7cba279a9bd2fd709104655d46b63f719b9a12dc2591c4479cc0ea5a0", + "title": "F-star residue (i): mixed anchor-repair-pivot lemma MX, tied-instance certificates, and a tied-domain search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2747" + }, + { + "head": "7de16285a02ebb45cf46e7501baa7eafa78335e3", + "html_sha256": "80ece7cee96823c445edfe7a3e2b562d254685493661312c54035be27d150b09", + "number": 2776, + "primary_body_normalized_sha256": "8395a3ccafccccf5c5f9f845957f3f2a108316a4ce7b791a609e7f3aad6012a4", + "title": "Realize all-size ordered shears on fourteen fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2776" + }, + { + "head": "b7b2a1e0ba3b1e5b52bc79ed93e42ea6f2bb8925", + "html_sha256": "366bc71199e31b5fc4fcaf3a98d66bbbacddbbc965b9e3cb0b25bc1307f4fdca", + "number": 2639, + "primary_body_normalized_sha256": "ade13d19b3e6e856f7bc7ca76fca914e645cde4ead669ccec6f69f7ae6df392e", + "title": "Decoder floors, closures: punctured E8 units (Model C) to p = 46 (all m) and p \u2264 56 (merged m \u2265 8), windows h = 10\u201311 (no \u03ba claim)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2639" + }, + { + "head": "539abe1401bbebe3aee8527342ee6010904fc2e5", + "html_sha256": "5d9f3f6bcc3ea7e6d5d4bb3c4eb976b3bab7dabd79f90dc4e5fba5c1252e1106", + "number": 2775, + "primary_body_normalized_sha256": "e24db0b1de5dec1a7d2a88a78b91bfe60a25fde64d745cbcdc03048818b97c69", + "title": "Prove complete clean six-tape multiplication and eight explicit applications", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2775" + }, + { + "head": "ceaf5acf976cee2f70a680f2d513f12baa634870", + "html_sha256": "efcf37a59dce960abf24fad7d65535b76d2cd7caa95d74935ad1ea82842c709a", + "number": 2774, + "primary_body_normalized_sha256": "f85f4eeea25f71fcb7d7236d22d7d16cda823b1bb711f99c59f08d312b1773ec", + "title": "F-star residue class (ii): non-3-dichromatic zero digraphs - matched-pivot floor, fixture dichromatic structure, smallest-first falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2774" + }, + { + "head": "407712103b605a662a89a56f9c42b93dca69126b", + "html_sha256": "ec2273841cec28aee2f90e41356752e14b3036dd0dd207bfcea4d1a930785f31", + "number": 2077, + "primary_body_normalized_sha256": "591685e1d1a7c32f6505ad35386adb889ccb0f45666781756ce9f2eb8030f0e4", + "title": "Research: four helper placements improve selected T16 kappa", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2077" + }, + { + "head": "462593231536f771050da8f44390b3e4eba95783", + "html_sha256": "b7c6e4f4e043c09015de93e0d84e5b5b9f0a55a2b5c50a51468c8155a68d56b6", + "number": 2375, + "primary_body_normalized_sha256": "e06f3a0662a4d80c5ab9d8d0bec10661f81d685ff1bc4cf192c3a54e1af7d4cb", + "title": "Tooling: 3.09\u00d7 faster production frame-pair enumeration via eight-bit neighborhoods with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2375" + }, + { + "head": "69ba5a423246a1c9281bdd5c1f51240b454f2aa6", + "html_sha256": "69af827854a04e6431d605cfbd091aee2fb67918912a5d3e4c20201bcceb41f3", + "number": 2772, + "primary_body_normalized_sha256": "66a3fbfd3a01dbb9506c9993e630a230ac541e01c2a0466a05ba6347853c9e82", + "title": "Certify a whole-word internal grid for the physical P104 dual", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2772" + }, + { + "head": "e707681c3f6db70d0432501403e2122794a36ade", + "html_sha256": "0f571d70b0d9ecb2839154ebb26cf8290b2d818af3bac2d57de130ced72b1c63", + "number": 2771, + "primary_body_normalized_sha256": "b9320ff56d5a44cf331021a2f1992f1139c4dbc7abced15b7e36afdb3cb417a6", + "title": "Bound rounded native-line defects for the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2771" + }, + { + "head": "a768c79ee5fd45bcfa8fc7a566646a620a7f2ef5", + "html_sha256": "7ea3d64e648280fd9e4662efbde0085f0db6aae229029dbfb8da6e8709afcf85", + "number": 2411, + "primary_body_normalized_sha256": "aa54dc31c1a784e481c4693cb788199ccfc6c67e30c0aa9bc875fced13091426", + "title": "[Lean] Link an end-to-end proof of multiplication below n log n", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2411" + }, + { + "head": "687372b807f5ec635f6a748c2585fc0090a7dc2a", + "html_sha256": "71ab2451f1cfd9ced6f54a6ba8abf5e4fb13555ec69452f503706c5301796bf2", + "number": 2770, + "primary_body_normalized_sha256": "110e062ac5708988806747aa0a93a97e39c704e6612769b26e9a027442f5c8c7", + "title": "research(bit): bound numerical callback word lifetimes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2770" + }, + { + "head": "e7fd43cf1be63cd14a9b2b57b2889eaf25a1fde2", + "html_sha256": "b2602ec0a13dcb37f73748992128bb207ed1d2924d240ddac9a14aac9eeb30c8", + "number": 2768, + "primary_body_normalized_sha256": "d882bc72ce5848242efcf72036ac2d6b0dfe2f9abf4ad1d01b1c3c80600db359", + "title": "Tooling: 3.57x faster complete T74 native replay with unchanged exact coverage", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2768" + }, + { + "head": "e8b771ba132fe632796b28c1742a8d096c04519f", + "html_sha256": "58284a927461d09fbd8bed652866da723b2707e5630a9131fcdcb387fc14aecc", + "number": 2767, + "primary_body_normalized_sha256": "da02cd5316079b127b18b8fa1a98dcf87ccb0ca352d9493741c224ea10ca7671", + "title": "Conditional \u03ba = 0.001717256973467002: post-cut partner correction on #2696's lender assignment with #2679's pre-life hosting", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2767" + }, + { + "head": "d97f150d89e3f3eebdf625a468a445c9c0f1e6c9", + "html_sha256": "8e4dfc3b050ec2d160fddd8297c021bc3b28622973e32bcfb0e4215ec64aaace", + "number": 2769, + "primary_body_normalized_sha256": "5a7e3adc80f217c8b64477273839d705905f931e1e6694e3806c0263ded919ef", + "title": "Park recursive numerical banks on two fixed tapes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2769" + }, + { + "head": "3bc76f12b29732e901f13b19d341253379f04cb1", + "html_sha256": "867f3f1593ac4b705262faac7dd39835935043bb9fe34dcc338df6b8b706809b", + "number": 2357, + "primary_body_normalized_sha256": "5c728a73696a90f999a8f61fc4ccf22bef7dc7ffbd745e2f561bd4cdfb301458", + "title": "Tooling: 2.26\u00d7 faster production emitted-local audit via integer rows with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2357" + }, + { + "head": "e6df920cd0110e4b629e2ad84eddcb539001e174", + "html_sha256": "0c662e34c7edff2a2a44b8b0ed0f609f4d246686e7411011b757d85932f2f1ed", + "number": 2766, + "primary_body_normalized_sha256": "69faaccfc3e45e85e459276177e4193f28f6f58e6ed6f74c2da57188f9843eb8", + "title": "Improve conditional \u03ba to 0.001717256973467 with credited routing-frame fusion", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2766" + }, + { + "head": "54d031fc3df0e5361d5840eb3863c9d134d60f23", + "html_sha256": "ad05b68fb2f61540aa5da9f138ba97d90558960883323849ff2019c1b2a31434", + "number": 2765, + "primary_body_normalized_sha256": "22ea54707d26cd6514ba1ef38c3f7100c61083f5390b481e21986f2a7477f0b3", + "title": "Certify masked E8 decoder padding transfers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2765" + }, + { + "head": "d4d5f0f37929df97ea1e0f8d2bf0859f92407e55", + "html_sha256": "710f250a4a47504f838b190ddd4240c2b2d5e766314a47824ddf74334c313a34", + "number": 2764, + "primary_body_normalized_sha256": "fb6b6d3c991b2f9b47ad59809b5cba87f9bea4339ebb2a3cb153f117b2d53b15", + "title": "Research: dirty-parity collapse extends to eight queries (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2764" + }, + { + "head": "24b985e05d77a6005e3b18cdd4a7c33da9c0d260", + "html_sha256": "a9e97232a1c5f2b24cc8c5f36e91938e2b355b495f8882905993ae30cbc06fcc", + "number": 2763, + "primary_body_normalized_sha256": "b745c61ab1bd001bb0a0af85e8b6a07b5d2f277682d3a7a6802164512ca321d7", + "title": "Audit centre-source coefficients with an independent adjoint and sign control", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2763" + }, + { + "head": "0ed979edbedf04caf5ad3f2b6b1c30a136f74553", + "html_sha256": "2935c60887c56cef5e695dc720c88a3416a99b9e597e4572c9b2af09c0449438", + "number": 2762, + "primary_body_normalized_sha256": "dea8e602f87d51c747d11443f599e6215980a36513b3de86d39e145d64cda7f1", + "title": "Census round 2: screening results for the 16 uncovered open complex claims (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2762" + }, + { + "head": "cd4ff9427c3e35efb4de09bbf1137e7b68732ecf", + "html_sha256": "343065ade88ef48cb18840a5d179132d73e004353ea9f4a1988492249a5380ed", + "number": 2761, + "primary_body_normalized_sha256": "a103c96112396c850c77b36c45061824e383b4567239669c322f354143f95e62", + "title": "Research: multi-connector / priced-shadow 7q readout obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2761" + }, + { + "head": "982c54b986c9f44e7524e5faa9522b809e793ded", + "html_sha256": "7b7d11de6db7ea3181c9409e0e4bc7339497ba3b2ab4f58390b4bb51d30f4294", + "number": 2760, + "primary_body_normalized_sha256": "62611f160dae1281dee57d7e07167208c5bc9b0fd6187fe40ea7fdeabfc66de8", + "title": "docs(research): map selected BIT caller and storage obligations", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2760" + }, + { + "head": "68a7161a610f175dc8e7b22f95acd033191450d9", + "html_sha256": "2744e6eeeddfddd7bf134f871b97ea3bd6b0c1e9757a8de587efc4f5da3143ca", + "number": 2329, + "primary_body_normalized_sha256": "9e4ad3e758bc2bbb3d2f56fcea2f3589e4dd1c3223a828e52993e03102135835", + "title": "Tooling: 3.15\u00d7 faster production Clifford zero_state via gate tables with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2329" + }, + { + "head": "2fd8fbe0d2f57c4a8ebb7b7c9ae45df1fcf69be9", + "html_sha256": "d886530d69a88267aa529b672968985e79ba358406ca7d14f117c967c412f3cb", + "number": 2759, + "primary_body_normalized_sha256": "b05599ae63d84e35fe07ed9c47002e83bec1584937aefd0e01fc4f31d9a52977", + "title": "Certify sharp numerical scratch bounds for BIT arithmetic", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2759" + }, + { + "head": "ef041c010b32f037dddf2f67a96a53d435966746", + "html_sha256": "2c5df16c2c457e0ded7c1750a7a6df06c573c458f1c310ca68b1562e9587c729", + "number": 2758, + "primary_body_normalized_sha256": "63d656163058049d2dd0923d03a1bbddac50efb4bbe9edd0ad2284f6e37eb210", + "title": "Bound serialized continuation storage in the selected BIT evaluator", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2758" + }, + { + "head": "feb0b96b5c471be0a8c72e6ecb8f9e1f74b48991", + "html_sha256": "a343cb34252a711dbf4b5a579956784ebe681adb1d72e946ebced296450699cf", + "number": 2276, + "primary_body_normalized_sha256": "0883913efe0864328f750fc9b366bb621b102356e29fcd732ffaa8f2610d2225", + "title": "Tooling: 6.47\u00d7 faster production R420 mutants geometry cache with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2276" + }, + { + "head": "99cb4fbf2b55a5e8265e066a1e4793d92f9b5077", + "html_sha256": "2abf95ff1a3b1617a4a27af30977c50a21cc143311d1d631a3bd1709336f7fe1", + "number": 2263, + "primary_body_normalized_sha256": "434539a18dcc1dd9160145b4eeb9fb0caacfa9f193a300c4689b5912ef7cff57", + "title": "Tooling: 3.18\u00d7 faster production R420 xcheck.rref via integer elimination with identical receipts", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2263" + }, + { + "head": "fce2366c5dfd3d0ee52f9bb6322fb16006e72f7a", + "html_sha256": "b4e0c9347ac4092417a8bb1010fbc24ae4f7ff68a9e0166a4dc1747a6c3fe8b7", + "number": 2756, + "primary_body_normalized_sha256": "e79c744283f26b7af80572f33dd5754f26c301ff6ca822bbbbacc3b87ce20391", + "title": "Audit when exceptional repair can use independent batches", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2756" + }, + { + "head": "7dba5452a4071a856a0b11cebdcd2d3b6bcd7659", + "html_sha256": "d96ef986dc39d115907d5c6950e916bb63ddefde99b6bd14e3bc0408fbb63536", + "number": 2753, + "primary_body_normalized_sha256": "7d0db82029937ace97073ccbb14f0e59b173ff6afc4c44d45f1e8ace4eef0cda", + "title": "Complete all-size logical BIT caller and recursive storage bound", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2753" + }, + { + "head": "a63c55ff56aaa8645d64d1162d1f017b59ded42a", + "html_sha256": "cdcbea7297472627aaaa4796cad98b3d1b4bd00381c9ba7aa51de53a8a98a6ca", + "number": 2733, + "primary_body_normalized_sha256": "dcf8e311ca340e7a15f7495dc1d90ca50e12cc3d8c1a2fb461dd23bf2b7339c0", + "title": "Improve conditional kappa to 0.00171625567823018 with composition and a frame refit", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2733" + }, + { + "head": "23d8aa7f11cd6a2e9d44a6ce4f6beebe1016492c", + "html_sha256": "8306d6cff77ad201e86b1912958f2f067cef0a7210591edc65ed513a90a7ce4a", + "number": 2754, + "primary_body_normalized_sha256": "270ec02886867c0d8f3403d3965e7080d233cdf76aefd80751b295758eb0c2b8", + "title": "Prove exact internal rounding for one P104 collector", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2754" + }, + { + "head": "73406fd73ebaf8361b51674fad5e0b02a26db075", + "html_sha256": "c4f8d5e1cdf5e607b5cc07440010843ec5f6367afe4f739028a20cbb9c59b7bc", + "number": 2752, + "primary_body_normalized_sha256": "ec739520c50f2b2bc03aaa258bb87b23f3b679fad6ee6cf7674544f563efed62", + "title": "fix(replay): support source-pin checks on older Git", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2752" + }, + { + "head": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "html_sha256": "563ad7c07d1fe6eed01160a035b7b904fa87128a63f60775cf697b41fdfdbde7", + "number": 2751, + "primary_body_normalized_sha256": "ced8cc6eb24ad50cd3789a99448240c9c96ba8355fff0dd9e58e8b24f5b61ac2", + "title": "Conditional kappa \u2248 0.00171714158635 via joint twelve-source recovery", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2751" + }, + { + "head": "3011db354853d71bc92a781df94adbb90f7a9f50", + "html_sha256": "b313bb78ac811872cf8e8736b1ffe2a811489afde98aaf09a60284348f3d8ee1", + "number": 2746, + "primary_body_normalized_sha256": "dc37534b5e847b50b75ea6c4c9d0bdf9cc5b5ccb5304f14367a32de668cdbba3", + "title": "Docs: correct attribution credit lines in merged research packages", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2746" + }, + { + "head": "7aed56bd440a3d8cbca8028cf2cbd0888c07d9b3", + "html_sha256": "9a4c5aedbfd590ef63530a01d3681aa50275201786f328b081b9eb64b1db0aad", + "number": 2717, + "primary_body_normalized_sha256": "d167782af46b6250d7ba31ec0c09c7685f10857288905f9df5766d4e2fb89b1b", + "title": "F-star proof-level lemmas: structural certificates, named-instance L8 reproduction, and a beyond-census falsifier search (no kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2717" + }, + { + "head": "a18ba3bbfb549af66488a890edcb4a3744de90a3", + "html_sha256": "ca9f6f5836aa4d4ca4e89396ac491e03bd7447d301f93b584bf3e3326ce29698", + "number": 2749, + "primary_body_normalized_sha256": "b1255c0dc036a4c58fdcce61306717c3ee30894b969ececd1fae983a10507919", + "title": "Bound count-tape storage for the first selected BIT node", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2749" + }, + { + "head": "2af9c0fc46492a4ce56ac20ab14cc40e2f6544e0", + "html_sha256": "ee9f3f54e872707230bbc6dc4f3ee6678332cb0ade1c7ea5be5184c5d929817f", + "number": 2748, + "primary_body_normalized_sha256": "3f9feef29cc33f8181cb839f287c16286467f8cd93eab02d7333312f85d7c614", + "title": "Bind all non-cold k8 HPE wrapper events to Lean recipes", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2748" + }, + { + "head": "4f485de05544884fa0f2edf6063bb9259decad30", + "html_sha256": "b5c7b4d6af7a6e4af5d0f8b2ad8c2235131f3ddba00b7c9d2cce42a17369df6a", + "number": 2745, + "primary_body_normalized_sha256": "c2f35083aaad764d87d593e9b07b022b3781b626fd1681b66bd1511e841e7bac", + "title": "Conditional \u03ba = 0.001716140425997441: #2696's lender assignment with #2679's pre-life hosting and a window-optimal fill", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2745" + }, + { + "head": "39019203274f25ae0176ef516fe86ac576ceae9b", + "html_sha256": "7d45e89e7f28366a6043250eb3fce025a95cdc7f1302a3b212510d9219c8e340", + "number": 2595, + "primary_body_normalized_sha256": "1a9cdef185a05d695096c73a244a94f89d850917cc37f9f699adaaf2f44dcde9", + "title": "KB1b: the ERASE deferral is not necessary \u2014 legal per-call COPY/ERASE windows keep the typed-echo pair saving (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2595" + }, + { + "head": "0166260409f55a56e7fefa48d859f7dd5b42b300", + "html_sha256": "537fc2a640def6fb6087bf282394c0686003d604904ff078d9a07be593bc97f9", + "number": 2744, + "primary_body_normalized_sha256": "2d6045b7ea171d9ff4df78c1ec517385dcdc0c8c7f9a02921c8fee4b5a918945", + "title": "Audit P104 consumer cost credits and the PR2725 stopping decision", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2744" + }, + { + "head": "c1e8065671f4f1854c5508f4bb18b85851074547", + "html_sha256": "19ffb926c6ba5aa680ac1a626ede87e151e7d14f0656170511bf5ec3db7e8d1c", + "number": 2743, + "primary_body_normalized_sha256": "82af68a7475d314c8d638fae58fd470a8b49525fe56dc1b1eda0b00199d23f2c", + "title": "Bound complete BIT node data content, including remainder peel", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2743" + }, + { + "head": "8571b04372f539b725e7f27d1ab00c506ca616fd", + "html_sha256": "addfa9b5cb541cc384d080ff7787f36a648ae7ad2f95e52c491012ac0ae96f18", + "number": 2742, + "primary_body_normalized_sha256": "457100a27b66c3ab8846be759bf92e32168b885baadb4bc6df62c61fccd42a68", + "title": "Construct a native covariant action on the full dirty reader", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2742" + }, + { + "head": "fbe941c06e00e7aef64c2d11cd9ad27b7a083209", + "html_sha256": "af0dbd17685045c37f807e3660081b701d3a0fca0b1ec3df85687005644f1a81", + "number": 2741, + "primary_body_normalized_sha256": "f4c6d4ea26e005b88362ca492f4217b0652f50910af9879ba8fe8d46dc242813", + "title": "Prove the all-pair P104 consumer budget obstruction", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2741" + }, + { + "head": "02c9e171c98b1b4de4d2107b0134cee4446e10e0", + "html_sha256": "da8adc43f4c6453ac51e2576ef7547d0c13e419aee5dbc1fdbab6183b4825208", + "number": 1155, + "primary_body_normalized_sha256": "98f6a1c6c2821c4e6eb438ba61ef19cb57d231650a889dc718dd8c90a457f6aa", + "title": "Research note: restoration coalescing across a recursion batch (read-free + composable-family boundary; no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1155" + }, + { + "head": "e786545de95c38cb69e8006970c851b444a0630e", + "html_sha256": "be3f2946a05ed595e5b2d2134a473fca70d812cdb7578a42d6931fdd7cb2915d", + "number": 2740, + "primary_body_normalized_sha256": "1bef1d1be08bc12a9489f4ab95b282c62fa6ebe5c8478f9e5e59ee2c519f39ac", + "title": "Research: rule out uniform dirty-padding exchange adapters", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2740" + }, + { + "head": "833b8e05bbed0d77419c1d05d057bfde34bac551", + "html_sha256": "1cb7a730712a42fb6143ada23af1bc6b3cc1c67d0e364d54c9da2dae816c54b6", + "number": 2738, + "primary_body_normalized_sha256": "0e2824f52a81d78a3c8beeafbc00fd757cc9a4ed5ebe3f9d4c8e42c744bde1ca", + "title": "Prove exact Coxeter tariffs with arbitrary dirty workspace", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2738" + }, + { + "head": "e2f30d93efbef5658334072aa855aa95e795e394", + "html_sha256": "e43411221bb147a850c04fb1827faeb46a137755d65072714ea3261671889756", + "number": 2634, + "primary_body_normalized_sha256": "bb4973a4793ec5d2fa28503daa47c1f3731574be47afeddcb38ba4ca3c0d7107", + "title": "KB3b: seven-source singleton f(7) continued - parity closes L=19, beating templates closed, cover/walk dichotomy, resumable 20-cycle census (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2634" + }, + { + "head": "3b6011d2400f50ab0ad9e105c7c55a18f3cef4cf", + "html_sha256": "cbf1142ae27b96a2c8b09b1b2e31970b9946648480d7b506b0927f7fb13085d4", + "number": 2542, + "primary_body_normalized_sha256": "2a9d304387d9915738119c2691bec67948b1fe06d77405f51bfbcb9689297ab3", + "title": "Research: seven-source singleton universal path \u2014 length 18 excluded, f(7) >= 20 (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2542" + }, + { + "head": "5ccad6aa04409ee2805d5638aa0fc84c76bbb881", + "html_sha256": "60884157ed2595224726d4828925b8cde53989a27818c3f4df5b1414e073a2d2", + "number": 2518, + "primary_body_normalized_sha256": "bc825bd7f502b9942c1a04ed1807991b686620d3bcf91f9eb1eb9536bb77e9d0", + "title": "Research: polar-law screens at T >= 7 and a small-T overcomplete census (scoped negatives)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2518" + }, + { + "head": "f364b97ff4700147fc06e622b79952b9fe6c4fa8", + "html_sha256": "a554300b963d5564807793b42006ec0c03fe62c9e2a6b56292f49b4e5dc02547", + "number": 2464, + "primary_body_normalized_sha256": "7d6f718fc96b5d8b0ea709f23bf7c15a5f2b6d4950fb37cac863a0225b8ac48f", + "title": "KB1 supplier instantiation of the certified z4 typed echo: priced whole construction, exact moments and a < D/E, one hosting obstruction (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2464" + }, + { + "head": "ba13eec9546a5ac4fca1df37209e3c42249b61c2", + "html_sha256": "ed16c89fdc3c331f3309782ed97bfa83c64787b101f0606fcda346372431a4ba", + "number": 2444, + "primary_body_normalized_sha256": "fdc24387acbfb0474fe2c4004195d8ce6fe9ce9fd69607eff1f074497faac72a", + "title": "Exact-search tooling for noncommuting words, and a complete six-distinct-value screen of the KB2 thirteen-call candidate", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2444" + }, + { + "head": "ad449e6aa736396c779535dbdea04a402aab03ca", + "html_sha256": "f16a4c9d64184239875a675abf103ba39367482598c10b622ec2c946befb20fa", + "number": 2427, + "primary_body_normalized_sha256": "0d469b72864f14efa6f6120a69c28ce0b498d1b048ddf930b07e86739707ba53", + "title": "Research (no kappa claim): classical Pappus/Desargues T=3 pairing-cost census \u2014 no cost < v falsifier; tight atoms through v = 6", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2427" + }, + { + "head": "15836362a3cf17d245db8a01d930a12868c043bd", + "html_sha256": "6c48e5171e564d9102fdcc7fc58a4e978d1440a794010cc84d02cad84a625947", + "number": 2255, + "primary_body_normalized_sha256": "2c20677ba26abb5630e8a208670af4abea459918d66a037e9358071753cde29a", + "title": "Audit: live-byte source-pin drift after merged replay-speed tooling (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2255" + }, + { + "head": "9c2947f01495cf09c67b1faa55c4f2bd00cd9bc8", + "html_sha256": "4d603e295640f0a29ca2654f7a727e90a882693e4ea9bbe07a63ac1181c435be", + "number": 2737, + "primary_body_normalized_sha256": "cb20e700df30c3609e76e99c1d4001341b1e9cc1791bae432a98268924992923", + "title": "Name offending keys in research package checks and support PR-head pins", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2737" + }, + { + "head": "cced22b95fb5b485da05b8187c8a9754b6a8c85a", + "html_sha256": "74b1c434b84353ea078a17c2bce46c70ff5f8d27d1a9d31f322a51845ec8f2db", + "number": 1076, + "primary_body_normalized_sha256": "b16d26881c9fdf1c8d7cb7953eb50ca55f05dc9e940e0c07920b6ac609820a4e", + "title": "Tooling: batch exact rows for the quadratic-affine rank witness (8.4x faster check, no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1076" + }, + { + "head": "eba0d6111a773cd13f5c0afb4354af2c85d04c3a", + "html_sha256": "af92a4d833d533ab3513620e12d1c020c903a10da72141166d46d49ff385e9ae", + "number": 2736, + "primary_body_normalized_sha256": "cbbff2b6ff06e368f5d48bcbb25f86fbf71f995d48f1ffb88c8fcc733e5ad0f8", + "title": "Research: bound completed errors in the zero-retention QQ16 decoder", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2736" + }, + { + "head": "124cab4118e39d30c2c24b41d753dabf612c8a8c", + "html_sha256": "db88137100a75d1fca13596e5eb0b4991b6e81171c24a961c0a8a48ac82ab956", + "number": 2705, + "primary_body_normalized_sha256": "9c733c539abd4bf3ae3f1524c800f76cdc1ff62fc68fc2d055d5099e08b92348", + "title": "KB1c: admission-ready evidence for the typed-window z4 typed-echo schedule (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2705" + }, + { + "head": "90a507b39063cfaebdf92794fcb9d18f358439a6", + "html_sha256": "d76bf0d06467658ba374372effc5eb3ae7e6f5fddc24b048b2f6201f78ff6fcc", + "number": 2735, + "primary_body_normalized_sha256": "9b49c1a624418cd5b27ebae649615915e569759948ef82633b018efe82a49fb4", + "title": "Prove the fixed dyadic Omega channel profile", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2735" + }, + { + "head": "f43a83977530a52092e9196b060eb3c64620b8c3", + "html_sha256": "7ec59c94066261552bc3b009647e71491343d8d1424834a3e3fe5cb797ba7997", + "number": 2396, + "primary_body_normalized_sha256": "bba4527c60fc097d420b8b4dbbbdabe583071b55f8f9c86bf0edb64805fd19ef", + "title": "Seven-source universal connector word in the singleton+DUO alphabet: 22 calls at 24 adds, batch 276 queries at 278 adds (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/2396" + } + ], + "scope": "First100unique entries across five updated-open-PR pages. All100primary bodies and HTMLheadSha fields read; not complete Discussion/comment coverage.", + "source_review_sha256": "9f184c98dea0a231392687dde36e90a11d55e4ee7b68a46848f613929957de50", + "utc_interval": [ + "2026-10-15T23:15:22.880Z", + "2026-10-15T23:15:41.513Z" + ] +} diff --git a/research/superior-replica-kappa/replay.py b/research/superior-replica-kappa/replay.py new file mode 100644 index 0000000000..e757ec8a40 --- /dev/null +++ b/research/superior-replica-kappa/replay.py @@ -0,0 +1,169 @@ +"""Fresh serial Lean rebuild and complete defining-module axiom audit. Apache-2.0. + +No download, model, solver, GPU, or persistent process is launched. Install the +pinned Lean/Mathlib environment separately. Every compiler output goes outside +the immutable source package, under a new explicitly supplied output folder. +""" +from __future__ import annotations +import argparse, importlib.util, json, os, re, shutil, subprocess, sys +from pathlib import Path + +P = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +spec = importlib.util.spec_from_file_location("toolkit_checks", P / "verify.py") +checks = importlib.util.module_from_spec(spec) +spec.loader.exec_module(checks) + +def command(argv, *, cwd, env=None, timeout=180): + result = subprocess.run(argv, cwd=cwd, env=env, text=True, encoding="utf-8", + errors="replace", stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, timeout=timeout) + checks.need(result.returncode == 0, "command failed:\n" + result.stdout[-7000:]) + checks.need(not re.search(r"(?m)^.*\berror(?:\(|:)", result.stdout), "error-bearing compiler transcript") + return result.stdout + +def check_module_inventory(config): + modules = config["modules"] + checks.need(modules and len(modules) == len(set(modules)), "empty or duplicated module list") + checks.need(all(re.fullmatch(r"MultitapeToolkit(?:\.[A-Za-z][A-Za-z0-9]*)+", n) for n in modules), "invalid owned module name") + files = {p.relative_to(P / "lean").as_posix() for p in (P / "lean").rglob("*.lean") + if ".lake" not in p.relative_to(P / "lean").parts} + expected = {n.replace(".", "/") + ".lean" for n in modules} | {"MultitapeToolkit.lean", "Check.lean"} + checks.need(files == expected, "Lean source/module inventory mismatch") + lines = [line.strip() for line in (P / "lean/MultitapeToolkit.lean").read_text().splitlines() if line.strip()] + checks.need(lines == ["import " + n for n in modules], "aggregator import inventory mismatch") + return modules + +def dependency_paths(cache, pinned): + package_root = cache / ".lake/packages" + libraries = [] + for row in pinned["packages"]: + package = package_root / row["name"] + checks.need(package.is_dir(), "missing cached dependency: " + row["name"]) + # Trust only this explicitly supplied cached dependency for these two + # read-only Git commands. No global or repository configuration changes. + git = ["git", "-c", "safe.directory=" + str(package.resolve())] + actual = command(git + ["rev-parse", "HEAD"], cwd=package).strip() + checks.need(actual == row["rev"], "dependency revision mismatch: " + row["name"]) + dirty = command(git + ["status", "--porcelain", "--untracked-files=no"], cwd=package).strip() + checks.need(not dirty, "tracked dependency source drift: " + row["name"]) + lib = package / ".lake/build/lib/lean" + if row["name"] == "mathlib": + checks.need(lib.is_dir(), "missing compiled Mathlib cache") + if lib.is_dir(): + libraries.append(lib) + return libraries + +def actual_lean_audit_controls(lean, out, lib, env, modules, timeout): + """Real compiler fixtures; the rejected axioms never enter a positive build.""" + fixture = out / "fixtures/MultitapeToolkit" + fixture.mkdir(parents=True) + auditor = (P / "lean/Check.lean").read_text(encoding="utf-8-sig") + passed = [] + for suffix, body, required_error in [ + ("CoverageFixture", "def globallyNamedToolkitHelper : Nat := 0\nprivate theorem privateCoverage : True := True.intro\n", None), + ("UnusedPrivateAxiom", "private axiom unusedPrivateDependency : False\n", "Toolkit declares an axiom"), + ("PublicAxiom", "axiom publicDependency : False\n", "Toolkit declares an axiom"), + ("PrivateUnprovedTheorem", "private theorem missingProof : False := by sorry\n", "forbidden axiom")]: + module = "MultitapeToolkit." + suffix + source = fixture / (suffix + ".lean") + source.write_text(body, encoding="utf-8") + artifact = lib / "MultitapeToolkit" / (suffix + ".olean") + command([str(lean), "-j1", "-R", str(out / "fixtures"), str(source), "-o", str(artifact)], + cwd=out, env=env, timeout=timeout) + driver = out / (suffix + "Audit.lean") + driver.write_text(auditor.replace("import MultitapeToolkit\n", "import MultitapeToolkit\nimport " + module + "\n", 1), encoding="utf-8") + report = out / (suffix + ".json") + fixture_env = dict(env, MULTITAPE_TOOLKIT_AUDIT_PATH=str(report)) + result = subprocess.run([str(lean), "-j1", "-DmaxHeartbeats=4000000", str(driver)], cwd=out, + env=fixture_env, text=True, encoding="utf-8", errors="replace", + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, timeout=timeout) + (out / (suffix + ".log")).write_text(result.stdout, encoding="utf-8") + if required_error: + checks.need(result.returncode != 0 and required_error in result.stdout, + "real Lean negative fixture failed for wrong reason: " + suffix + "\n" + result.stdout[-4000:]) + checks.need(not report.exists(), "rejected Lean fixture emitted a success report") + else: + checks.need(result.returncode == 0 and report.is_file(), "real ownership coverage fixture failed") + audit = json.loads(report.read_text()) + checks.validate_audit(audit["rows"], audit["declaration_names"], set(modules) | {module}) + owned = [r for r in audit["rows"] if r["module"] == module] + checks.need(any(r["name"] == "globallyNamedToolkitHelper" for r in owned), "global helper omitted") + checks.need(any(r["name"].startswith("_private.") and r["kind"] == "theorem" for r in owned), "private helper omitted") + passed.append(suffix) + return passed + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("--lean", type=Path) + parser.add_argument("--cache-project", type=Path, default=P / "lean") + parser.add_argument("--timeout", type=int, default=180) + args = parser.parse_args() + checks.need(1 <= args.timeout <= 600, "bounded compiler timeout required") + initial_manifest_digest = checks.digest(P / "MANIFEST.json") + before = checks.inventory(P) + config = json.loads((P / "MODULES.json").read_text()) + modules = check_module_inventory(config) + pinned = json.loads((P / "lean/lake-manifest.json").read_text()) + candidate = args.lean or shutil.which("lean") + checks.need(candidate is not None, "Lean executable not found") + lean = Path(candidate).resolve() + checks.need(lean.is_file(), "Lean executable not found: " + str(lean)) + compiler_env = dict(os.environ) + compiler_env.pop("LEAN_SYSROOT", None) + version = command([str(lean), "--version"], cwd=P, env=compiler_env) + checks.need("version " + config["lean_version"] + "," in version, + "wrong Lean compiler; expected " + config["lean_version"]) + libraries = dependency_paths(args.cache_project.resolve(), pinned) + out = args.out.resolve() + checks.need(out != P and P not in out.parents, "outputs must be outside the package") + checks.need(not out.exists(), "fresh compiler output directory required") + out.mkdir(parents=True) + lib = out / "olean" + lib.mkdir() + env = dict(compiler_env, LEAN_PATH=os.pathsep.join(str(p) for p in [lib, *libraries])) + receipts = [] + for module in modules + ["MultitapeToolkit"]: + relative = Path(*module.split(".")).with_suffix(".lean") + source = P / "lean" / relative + artifact = (lib / relative).with_suffix(".olean") + artifact.parent.mkdir(parents=True, exist_ok=True) + log = command([str(lean), "-j1", "-DmaxHeartbeats=2000000", "-R", str(P / "lean"), + str(source), "-o", str(artifact)], cwd=P / "lean", env=env, timeout=args.timeout) + (out / (module + ".log")).write_text(log, encoding="utf-8") + receipts.append({"module": module, "source_sha256": checks.digest(source), + "artifact_sha256": checks.digest(artifact)}) + print("PASS_KERNEL " + module, flush=True) + report = out / "axioms.json" + env["MULTITAPE_TOOLKIT_AUDIT_PATH"] = str(report) + log = command([str(lean), "-j1", "-DmaxHeartbeats=4000000", str(P / "lean/Check.lean")], + cwd=P / "lean", env=env, timeout=args.timeout) + (out / "audit.log").write_text(log, encoding="utf-8") + checks.need(report.is_file(), "missing actual Lean declaration report") + audit = json.loads(report.read_text()) + checks.need(set(audit["modules"]) == set(modules) | {"MultitapeToolkit"}, "imported-module audit coverage mismatch") + checks.validate_audit(audit["rows"], audit["declaration_names"], set(modules)) + expected_audit = json.loads((P / "expected/AXIOMS.json").read_text()) + def normalize(rows): + return sorted((r["name"], r["module"], r["kind"], tuple(sorted(r["axioms"]))) for r in rows) + checks.need(normalize(audit["rows"]) == normalize(expected_audit["rows"]), + "actual declaration/axiom inventory differs from the pinned golden report") + checks.need(checks.inventory(P) == before and checks.digest(P / "MANIFEST.json") == initial_manifest_digest, "source changed during kernel audit") + private_count = sum(r["name"].startswith("_private.") for r in audit["rows"]) + controls = actual_lean_audit_controls(lean, out, lib, env, modules, args.timeout) + checks.need(checks.inventory(P) == before and checks.digest(P / "MANIFEST.json") == initial_manifest_digest, "source changed during audit controls") + result = {"status": "PASS_FRESH_KERNEL_AND_COMPLETE_AXIOM_AUDIT", + "lean_version": config["lean_version"], "dependency_revisions": {r["name"]: r["rev"] for r in pinned["packages"]}, + "modules": receipts, "declarations": len(audit["rows"]), + "theorems": sum(r["kind"] == "theorem" for r in audit["rows"]), + "private_declarations": private_count, + "actual_lean_ownership_and_axiom_controls": controls, + "allowed_axioms": sorted(checks.ALLOWED_AXIOMS), + "actual_axiom_report_sha256": checks.digest(report), + "manifest_sha256": checks.digest(P / "MANIFEST.json")} + (out / "RESULT.json").write_text(json.dumps(result, indent=2) + "\n", encoding="utf-8") + print(json.dumps(result, sort_keys=True)) + +if __name__ == "__main__": + main() diff --git a/research/superior-replica-kappa/replica_parent.py b/research/superior-replica-kappa/replica_parent.py new file mode 100644 index 0000000000..770fb1fe99 --- /dev/null +++ b/research/superior-replica-kappa/replica_parent.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Explicit arbitrary-positive-replica lift of the authenticated T37 parent. + +This constructs dedicated source banks, not hosted helper assignments. Source +lineage: PR558/589, PR741/799/870 controller routes, PR1193 T37 bank envelope, +PR2679/2751/2766 replay. No provider/native source or phase recipe is modified. +""" +import argparse, copy, gzip, hashlib, json, os +from collections import Counter +from pathlib import Path + +SOURCE = Path(__file__).resolve().parent/'inputs/GLOBAL-TEMPLATE.json.gz' +REFERENCE = SOURCE.parent.parent/'GLOBAL-TEMPLATE.json.gz' +SOURCE_SHA = '21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e' +SOURCE_ID = '514e59314c8e2fa3c22d0a48083816f6686211090835e8f8775318c1c3e992d8' +M, STAGES, DATA_PER_REPLICA, HELPERS, BANK_PER_GROUP, PRIVATE = 73, 9, 896, 504, 4536, 514 + +def canonical(x): return json.dumps(x,sort_keys=True,separators=(',',':')).encode() +def identity(x): return hashlib.sha256(canonical(x)).hexdigest() +def sha(p): return hashlib.sha256(Path(p).read_bytes()).hexdigest() +def read(p): + p=Path(p); raw=p.read_bytes() + return json.loads(gzip.decompress(raw) if p.suffix=='.gz' else raw) +def require(x,why): + if not x: raise ValueError(why) +def source(): + require(sha(SOURCE)==SOURCE_SHA,'source byte hash') + s=read(SOURCE); require(identity(s)==SOURCE_ID,'source content hash') + return s + +def grouping(T): + require(isinstance(T,int) and T>0,'positive integer T') + return [8]*(T//8)+([T%8] if T%8 else []) + +def build(T, groups=None, order=None): + s=source(); groups=grouping(T) if groups is None else list(groups) + require(sum(groups)==T and all(isinstance(q,int) and 1<=q<=8 for q in groups),'group partition') + olddata=37*896; data=T*896; live=data+len(groups)*BANK_PER_GROUP + t=copy.deepcopy({k:v for k,v in s.items() if k not in ('calls','bank_padding','local_programs')}) + # Programs are immutable and reused literally; there is no new phase oracle. + t['local_programs']=s['local_programs'] + t.update(version='arbitrary-T-dedicated-source-bank-envelope-v1',live=live,physical=live+PRIVATE) + templates={(c['stage'],c['replica']):c for c in s['calls'] if c['replica']<8} + location={}; off=0 + for g,q in enumerate(groups): + for lane in range(q): location[off+lane]=(g,lane) + off+=q + order=[(st,r) for st in range(9) for r in range(T)] if order is None else [tuple(x) for x in order] + require(len(order)==9*T and set(order)=={(st,r)for st in range(9)for r in range(T)},'call coverage') + require(all([st for st,r in order if r==rep]==list(range(9))for rep in range(T)),'per-replica stage order') + calls=[] + for st,r in order: + g,lane=location[r]; old=templates[st,lane] + c={k:copy.deepcopy(v) for k,v in old.items() if k!='owners'}; c['replica']=r + c['owners']=[[f-lane*896+r*896,copy.deepcopy(route)]for f,route in old['owners'][:224]] + c['owners'] += [[data+g*BANK_PER_GROUP+st*HELPERS+h,copy.deepcopy(route)]for h,(_,route) in enumerate(old['owners'][224:])] + calls.append(c) + t['calls']=calls + widths=[9 if len(route)==2 else route[2] for _,route in templates[0,0]['owners'][224:]] + children=[] + for g,q in enumerate(groups): + for st in range(9): + for h,w in enumerate(widths): + axes=list(range(q*w,M)) + children.append(dict(family=data+g*BANK_PER_GROUP+st*HELPERS+h,rank=len(axes),axis_indices=axes,orthogonal_axes=[1<=30] + project={r:[]for r in range(T)} + for e in result[:-2]:project[e['replica']].append(e['source_event']) + require(all(v==list(range(30))for v in project.values()),'all thirty literal events per source replica') + require([e['source_event']for e in result[-2:]]==[30,31],'two global source events') + return result + +def compare74(): + actual=read(REFERENCE);groups=actual['replica_lift']['groups'];order=[(c['stage'],c['replica'])for c in actual['calls']] + ours=build(74,groups,order) + ignore={'version','route_semantics'} + require({k:v for k,v in ours.items()if k not in ignore}=={k:v for k,v in actual.items()if k not in ignore},'actual T74 complete semantic identity') + require(ours['route_semantics']['data']==actual['route_semantics']['data'] and ours['route_semantics']['work']==actual['route_semantics']['work'],'T74 other route semantics unchanged') + return dict(status='PASS',reference_file_sha256=sha(REFERENCE),reference_content_sha256=identity(actual),identical_fields=[k for k in ours if k not in ignore],differences=['version label','helper route explanatory string only'],source_call_order_matched=True) + +def write_new(p,x): + p=Path(p);p.parent.mkdir(parents=True,exist_ok=True); lock=p.with_suffix(p.suffix+'.lock') + fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY) + try: + os.write(fd,str(os.getpid()).encode());os.close(fd);fd=None + require(not p.exists(),'preserve existing output') + raw=canonical(x) + if p.suffix=='.gz': + b=bytearray(gzip.compress(raw,mtime=0));b[9]=255;raw=bytes(b) + with p.open('xb')as h:h.write(raw) + finally: + if fd is not None:os.close(fd) + lock.unlink() + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--T',type=int,default=80);ap.add_argument('--out',type=Path,required=True);ap.add_argument('--order',type=Path) + a=ap.parse_args();require(not a.out.exists(),'fresh output directory required');a.out.mkdir(parents=True) + order=read(a.order)if a.order else None + t=build(a.T,order=order);receipt=check(t,t['replica_lift']['groups']);receipt['T74_comparison']=compare74() + stages=[(c['stage'],c['replica'])for c in t['calls']];sched=expand_schedule(t,stages) + receipt.update(status='PASS_EXPLICIT_SOURCE_PARENT_GEOMETRY',source_file_sha256=SOURCE_SHA,source_content_sha256=SOURCE_ID,source_recipe_unchanged=True,source_events_per_replica=30,global_tail=[30,31],expanded_events=len(sched),phase_claim='Literal reuse of authenticated source local programs and phase recipes; this is not a fresh native phase replay.',scope='Dedicated parent only; final hosted owner assignment/invoice/admission remains separate.',script_sha256=sha(__file__)) + write_new(a.out/'GLOBAL-TEMPLATE.json.gz',t);write_new(a.out/'SOURCE-SCHEDULE.json.gz',sched) + receipt['template_content_sha256']=identity(t);receipt['template_file_sha256']=sha(a.out/'GLOBAL-TEMPLATE.json.gz');receipt['schedule_content_sha256']=identity(sched) + write_new(a.out/'RESULT.json',receipt) + require(sha(SOURCE)==SOURCE_SHA,'source unchanged after output') + print(json.dumps(receipt,sort_keys=True)) +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/requirements.txt b/research/superior-replica-kappa/requirements.txt new file mode 100644 index 0000000000..6b53f208f8 --- /dev/null +++ b/research/superior-replica-kappa/requirements.txt @@ -0,0 +1,5 @@ +# Full cold finite admission; lightweight owner/moment checks use stdlib only. +numpy==2.5.4 +scipy==1.18.1 +sympy==1.14.0 +mpmath==1.3.0 diff --git a/research/superior-replica-kappa/validation/COMPLETE.json b/research/superior-replica-kappa/validation/COMPLETE.json new file mode 100644 index 0000000000..3b4c09b065 --- /dev/null +++ b/research/superior-replica-kappa/validation/COMPLETE.json @@ -0,0 +1,83 @@ +{ + "authenticated_unchanged_current_native_providers_reused": 2, + "authenticated_unchanged_retained_native_providers_reused": 2, + "complex_lower": "858897611308293871599/500000000000000000000000", + "dispatch_sha256": "5360d34ca04cf4973f37dce872db1f36e57e3f40382da75e4e2676d412a8b509", + "fill_sha256": "2f43f57725a7b1d9293d8c4a9617ffc5bb413c4e1539a60e806fdcdecfd82588", + "gain": "238497953079371/1000000000000000000000000", + "gain_over_delivered_T94": "62584575635791/1000000000000000000000000", + "kappa": "17177952226165877431979999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177952226165877431979999999999999999999998999999999999999999999999", + "native_checks_fresh_this_run": 0, + "native_receipt_sha256": "32c42af206f32dbcfb500579ac7e525a028e5caa0cc180c9890630ccbd03b44a", + "order_sha256": "b9b3eb71f8082a2349224a7a7cddab1cc0e4590ef27c3542755ff7c4c75c7fd0", + "original_admission_receipt_sha256": "4caf2cd9d8f61728d718bb9f26709c6b7ed6e1d825daa2a9a4b9ea0f623ab0f3", + "package_manifest_sha256": "b8b4da8f200d4d4858694ee67cbb7a71c60fc6fe9fb62a392785319e06fd3bbd", + "profile": { + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 + }, + "release_receipt_sha256": "5465eaa5fa836dd2679ad9030dd83147f8d50d5235470d431a42c6d48e09381b", + "replicas": 104, + "scope": "Every changed T104 owner/global/invoice/bootstrap/outer/release stage ran freshly. All native words are unchanged and reused after complete source/cache/receipt guards; their earlier fresh checks are inherited evidence, not new runs.", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "exit_code": 0, + "log_sha256": "37259ce5c2fff869d7082daad1ba0ca1cf68e2569f3b7629f593658f9246d770", + "name": "owners", + "script_sha256": "5472811c24aef3852dc7e189dff5060076a6c0b25bfde928da50dcfe9b5bdc15", + "seconds": 8.04318899998907 + }, + { + "exit_code": 0, + "log_sha256": "b3715b08f1b82f31feefe94fbb08ebabdb04a54e2cbd75f0809c4b11e4075682", + "name": "parent-lift", + "script_sha256": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282", + "seconds": 20.261117800022475 + }, + { + "exit_code": 0, + "log_sha256": "b1addf9c0ca391c1d35e1527671ba8d777d0c0f15e5e5773a7c31786c68e2242", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.9501938999746926 + }, + { + "exit_code": 0, + "log_sha256": "c142469e859ae47788eabc9dbfeee0ab7e358f69e735191ade4e9f05d3c2c3a6", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 135.9695647000044 + }, + { + "exit_code": 0, + "log_sha256": "97f049043d1ce73fc9dd5117601085c0e8442c7fa9ecd8e960ed85b7cab415d8", + "name": "outer-check_ledger.py", + "script_sha256": "1dd56009986eb14dd6603c9193c7ad71dd45c7d005bf71c9cd3f916e66f54d98", + "seconds": 0.19776720000663772 + }, + { + "exit_code": 0, + "log_sha256": "9b60fe37d6ca33ceeca374fed54cf13485835e15a28fef0fb30de15ae6d9e4b8", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.12716760000330396 + }, + { + "exit_code": 0, + "log_sha256": "7646614a80870f4980755abd962d915f561ce875761f3a45ee9024f5d1ff1a7b", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 505.81744409998646 + } + ], + "status": "PASS_REPLICA_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE", + "unchanged_retained_parent_reused": true +} diff --git a/research/superior-replica-kappa/validation/KERNEL.json b/research/superior-replica-kappa/validation/KERNEL.json new file mode 100644 index 0000000000..f76a0d0c99 --- /dev/null +++ b/research/superior-replica-kappa/validation/KERNEL.json @@ -0,0 +1,60 @@ +{ + "actual_axiom_report_sha256": "112479fa7cfb38940175aec7c5093bcbf0e8ba65a8b93603dff8aae7392071f7", + "actual_lean_ownership_and_axiom_controls": [ + "CoverageFixture", + "UnusedPrivateAxiom", + "PublicAxiom", + "PrivateUnprovedTheorem" + ], + "allowed_axioms": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "audited_snapshot_manifest_sha256": "0d7c052f62ea308490f96207b0907b4b0f6ff311273e81461e0160c741c30184", + "auditor_and_pinned_context_sha256": { + "MODULES.json": "c0c963ced8ea2c9baca8c7a2d4b18d1dc2bcca30467211ef96a672f14adbbae6", + "expected/AXIOMS.json": "112479fa7cfb38940175aec7c5093bcbf0e8ba65a8b93603dff8aae7392071f7", + "lean/Check.lean": "68966f329982188c49a37c51753271ebc1c0afd321195e4aa595562275912aaa", + "lean/lake-manifest.json": "ba2084428ea075a408191fd72f30bddaf19923c5e6ebd55e2bbe7528d4afef90", + "lean/lakefile.toml": "7882ef23598228f705e8abbecea6a1674f72f1386d297c4d24c73b75c89e595d", + "lean/lean-toolchain": "8152090414016dd5dc871752f8ce4ecdbd604d9845758e9b9047cb80101280b5", + "replay.py": "ff899fcb325139b9322e9ccbfc65508f153956c25ae25f51c257fe1a274c61f9", + "verify.py": "aabd12f5edfe846891e4dbe3e4d6a21617c6240bc06d89b0a1ef5f9f34df209b" + }, + "declarations": 62, + "dependency_revisions": { + "Cli": "e92c9f15fdfacc8536f31cfb3b7ad26c3c8cd204", + "LeanSearchClient": "ddf04cf3949fa556442341e87d47f9f6e6074707", + "Qq": "6a489d9af5d0c47e5b259e2e8bcdfc1811b5a259", + "aesop": "355695d523e41d0554926416cba2a2b3544fbbc9", + "batteries": "f2effa3d803fda822b1f97b806c47cf2adfbcbc2", + "importGraph": "e928b72544873815af278d38681b31c0293588e3", + "mathlib": "d13f23b723b8a846827a245b89c10fc7d3f11612", + "plausible": "118aa17ee84656b8bd727fef7c458ee8c833385c", + "proofwidgets": "106ff4fafc74ef4ac99d81dbf3ab399118f497a5" + }, + "lean_version": "4.34.1", + "modules": [ + { + "artifact_sha256": "5d65941f3aeca1126ce1053ee2791b00fa1b7e320fbdd8218a61bb478903e356", + "module": "MultitapeToolkit.ReplicaTailGain", + "source_sha256": "c043cc6740a79b8a29d1519cb9e11c8e9bc52d6937f4317f630a28dce074e1d1" + }, + { + "artifact_sha256": "e67b723e8f5738ea357c4eb06b732bc9f7b54628629c351bc40b869932b8f965", + "module": "MultitapeToolkit.SuperiorKappa", + "source_sha256": "c366b3ee3123d24e87239ba00ebc32c102f19198080bbc5acd09b0e241d2a324" + }, + { + "artifact_sha256": "b10d13fabb5c260f1b6500930dddf5d4dc2b39f5045f0c73a29c0df21ef88af1", + "module": "MultitapeToolkit", + "source_sha256": "88d46b0d935acba19e7da5bf5dff6105c147545551e663670428c1b19f796b23" + } + ], + "original_kernel_receipt_sha256": "08ec859a2310975118c2a60b2f0dca995a4580b50216e1578ab291eab2ddbcb6", + "private_declarations": 0, + "scope": "Fresh independent rebuild of all exact final owned Lean bytes; snapshot publication metadata differs. Defining-module and transitive-axiom coverage includes every generated declaration.", + "status": "PASS_FRESH_KERNEL_AND_COMPLETE_AXIOM_AUDIT", + "theorems": 55 +} diff --git a/research/superior-replica-kappa/validation/MOMENT.json b/research/superior-replica-kappa/validation/MOMENT.json new file mode 100644 index 0000000000..0711f3cc68 --- /dev/null +++ b/research/superior-replica-kappa/validation/MOMENT.json @@ -0,0 +1,66 @@ +{ + "baseline_profile_sha256": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "best_claim_sha256": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "best_kappa_rational": "17177951600320121074069999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "comparison_pr": 2824, + "complex_lower": "858897611308293871599/500000000000000000000000", + "complex_upper": "1717795222616587743199/1000000000000000000000000", + "controls": [ + { + "name": "reversed_bracket", + "reason": "ordered bracket" + }, + { + "name": "upper_endpoint_as_admissible_lower", + "reason": "strict moment admission" + }, + { + "name": "wrong_live_denominator", + "reason": "source-bound normalization" + }, + { + "name": "one_unpaid_rank_one_child", + "reason": "strict moment admission" + }, + { + "name": "unchanged_T74_profile_at_improved_target", + "reason": "exact lower moment above one" + } + ], + "input_sha256": { + "best_claim": "7a3de63f42f72564fdc3bd69a7269b7c364f67526ef76b18063241da59bfef52", + "owner_receipt": "e763fdfb336d5ab242c893da720f03f30d081da00d05ce6ff846445155b60156" + }, + "live": 93184, + "lower_moment_minus_one": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": -2632681320788116986359062, + "upper_numerator": -2632681320788112686385121 + }, + "original_receipt_sha256": "e1e704d3a26da186303fe4d6cdc35abe2a4f1d20daace93c5100fe3341dba317", + "profile": { + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 + }, + "proposed_outer_target": "17177952226165877431979999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "replicas": 104, + "scope": "Exact finite moment admission and comparison only; proposed outer target still requires all actual outer/native/global checks.", + "status": "PASS_INDEPENDENT_EXACT_CANDIDATE_MOMENT", + "strictly_above_full_comparison": true, + "target_gain_over_comparison": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": 91467459763368281002289475957133651842, + "upper_numerator": 91467459763368281002289475957133651843 + }, + "upper_moment_minus_one": { + "denominator": 1461501637330902918203684832716283019655932542976, + "lower_numerator": 1542939526899026491743758, + "upper_numerator": 1542939526899030791717699 + } +} diff --git a/research/superior-replica-kappa/validation/NATIVE.json b/research/superior-replica-kappa/validation/NATIVE.json new file mode 100644 index 0000000000..21f5d03758 --- /dev/null +++ b/research/superior-replica-kappa/validation/NATIVE.json @@ -0,0 +1,139 @@ +{ + "fresh_native_provider_count_this_run": 0, + "original_native_receipt": { + "cache_files": { + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/CACHE.json": "049a3aa224f0d20227892755e4889d8a68f2b8da6a82a1aa0f60dfe0900c90d7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/STEPS.json": "4870d0ec8990641b5f47579e50838495acce2c7979b7248cf7e551ec5bd0061f", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-REVIEW.json": "cd086d3dcee4eb388a7e9cb49920e3119d9b0feea1d1d2e40c384311472bd623", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/SCALAR-FRAME-AUDIT.json": "1d711e25e2e062ef3b391525ad71d4afe08d18e6b27eda5b5596763eee928f32", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/native.log": "a447b46b73402899e7ec61b4c1271fd78b976b235c3acaea5a68cb00aff802ca", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/phases.log": "75ffaddfec90036b04fabcf10e4965d0ded506f7e9365eb5817b988e10213e49", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "d8fd7226c65a2e2df30e9105f82b425243440e2a581366c9f14e3d241576bd47", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "d086055e7dd57910b91d6037048ad353525a7d41bf94d7afe6de24ae9a7704b3", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "017b24de3db9f9a0e618a6bcc83554656945589602a6c4ca839d860a984b932a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "654c322f61779c8900f4e7340b24b817671ea23bc20e2d4302918286cfe8d054", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "ea89a70674e54ba12b926b8963c170fb0652c499d8da373aceafc0c8d26c67bf", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "dcc30576df7c1bdc3c57597c7f702c1c7e120b5722b2807ef096fb110e0fe61b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "663d8c91ecc6474a034ee6e9d59e9959792a6826259ac20d9fdc8f0a6b7c4fba", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "032cb7089449a3365fa19ab166769d687fbf79b507822156fd2ebddba14a647f", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "676bb7bb8af7119b503a0f1fecd4c697ffca287ea8076f910e65ede7f45cf97b", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "df3f6d3fcce56069b4c4c64267de57e1f83d2b9751c8ebf213a7f5eb2fcd3266", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "a1176bd020a89e75aac91eaf9b4490d489db6abd352959bfe120a92b2c1bc2ba", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "3b9b12fe6da288a1aa8f13c9c70696a99e3a197b290ae8597604b2e12005164c", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/CACHE.json": "e20fb2ae1c250d25dd56595f4cb1a5ee593c5122be89fdd45d786cb31b67f7ee", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/STEPS.json": "83dbc827c8a3959448d57442facc377fc5ad1f2f1d713f76ff55c54c78850d9a", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-REVIEW.json": "40f5238258c600c526d0f0cf29e56f94e19c974e0474fca031ecfa13f108f919", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/SCALAR-FRAME-AUDIT.json": "a8ebca94bf9a5601bebc04d4cbddd0aaca53db3bdd2549629eb8c4cef877aa0c", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/native.log": "966f9a503f35bc6c6678914e42decbcc94cf016efde887d952e4852bc6a45a29", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/phases.log": "8ae61dbf4f9f6b7b872eccb94aba7290961dcf6d1453ccd9fe980e81826fe670", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "e9c058d4cd5ed40204ce0b26a8c21d7536061efc6e0cde4f79cdd76caa61d28f", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "d612868f9cb69a6278040294f7a54d802688a5c20cc0c4966c1294e14ae62b94", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "017b24de3db9f9a0e618a6bcc83554656945589602a6c4ca839d860a984b932a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "654c322f61779c8900f4e7340b24b817671ea23bc20e2d4302918286cfe8d054", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "61f8a3af0b0b20d1f5271b52e6e46f754634591c3c8b6703bc4e1a948898f0d6", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "8a525137fb19fbccab43be849d791322c0c995c3d874b9a48bff55cbe0c04fc3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "1f48ea5725a2188f06ec90cded6024fa81f364c2a4d2bd233ae1ad287b31b022", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "f1568dfe83f5e87b8f136e23a4d8b6ef1239c7fa7a527395cac1a9418963d9f3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "676bb7bb8af7119b503a0f1fecd4c697ffca287ea8076f910e65ede7f45cf97b" + }, + "fresh_current_provider_count": 2, + "manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "83dbc827c8a3959448d57442facc377fc5ad1f2f1d713f76ff55c54c78850d9a", + "ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "local/CLIFFORD-REVIEW.json": "40f5238258c600c526d0f0cf29e56f94e19c974e0474fca031ecfa13f108f919", + "local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "local/SCALAR-FRAME-AUDIT.json": "a8ebca94bf9a5601bebc04d4cbddd0aaca53db3bdd2549629eb8c4cef877aa0c", + "local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "966f9a503f35bc6c6678914e42decbcc94cf016efde887d952e4852bc6a45a29", + "phases.log": "8ae61dbf4f9f6b7b872eccb94aba7290961dcf6d1453ccd9fe980e81826fe670", + "wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d" + }, + "word_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "4870d0ec8990641b5f47579e50838495acce2c7979b7248cf7e551ec5bd0061f", + "ledgers.log": "1738cccdc3cfc06ac0ac1a8e11946bfd8315378454c79b55e4ed9b619389d3b7", + "local-replay.log": "bf0ca67473ceef66c2fe909567c9f8eced4feef671dbfb3c2690b3614b2cd003", + "local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "local/CLIFFORD-REVIEW.json": "cd086d3dcee4eb388a7e9cb49920e3119d9b0feea1d1d2e40c384311472bd623", + "local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "local/SCALAR-FRAME-AUDIT.json": "1d711e25e2e062ef3b391525ad71d4afe08d18e6b27eda5b5596763eee928f32", + "local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "a447b46b73402899e7ec61b4c1271fd78b976b235c3acaea5a68cb00aff802ca", + "phases.log": "75ffaddfec90036b04fabcf10e4965d0ded506f7e9365eb5817b988e10213e49", + "wrappers.log": "8b062d288daebce937e086c5d25c84cdd4d5f9234da53c5120d3ede5d547945d" + }, + "word_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + } + }, + "retained_parent_receipt_sha256": "df3f6d3fcce56069b4c4c64267de57e1f83d2b9751c8ebf213a7f5eb2fcd3266", + "retained_reuse_receipt_sha256": "4dbba71b45b22962039c1ce593570a4155ad4ca5aef2a2a7c4c40107f644ca46", + "reused_retained_native_count": 2, + "reused_retained_parent": true, + "seconds": 306.1769065000117, + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" + }, + "original_native_receipt_sha256": "32c42af206f32dbcfb500579ac7e525a028e5caa0cc180c9890630ccbd03b44a", + "reuse_scope": "All four native chains and retained parent are unchanged, authenticated reuse from the predecessor campaign. Nested original receipt describes its historical run, not this invocation.", + "status": "PASS_AUTHENTICATED_UNCHANGED_NATIVE_SOURCE_AND_CACHE_REUSE", + "unchanged_native_providers_reused_this_run": 4 +} diff --git a/research/superior-replica-kappa/validation/OWNERS.json b/research/superior-replica-kappa/validation/OWNERS.json new file mode 100644 index 0000000000..0d40df4dbf --- /dev/null +++ b/research/superior-replica-kappa/validation/OWNERS.json @@ -0,0 +1,71 @@ +{ + "calls": 936, + "candidate_sha256": { + "DISPATCH": "5360d34ca04cf4973f37dce872db1f36e57e3f40382da75e4e2676d412a8b509", + "FILL": "2f43f57725a7b1d9293d8c4a9617ffc5bb413c4e1539a60e806fdcdecfd82588", + "ORDER": "b9b3eb71f8082a2349224a7a7cddab1cc0e4590ef27c3542755ff7c4c75c7fd0", + "PROFILE": "b92ad5a6ad48ff1ac98d643c30e51fb6c591427be5a232435c36908df9fd2be7" + }, + "controls": [ + { + "name": "false_replica_count", + "reason": "complete T call coverage" + }, + { + "name": "missing_literal_helper_role", + "reason": "complete role count" + }, + { + "name": "unbound_provider_at_actual_call", + "reason": "provider dispatch coverage" + }, + { + "name": "unavailable_source_window", + "reason": "literal source window" + }, + { + "name": "same_call_physical_family_collision", + "reason": "same-call family collision" + }, + { + "name": "unpaid_hole_in_compact_pending_prefix", + "reason": "compact bin prefix" + }, + { + "name": "changed_total_paid_profile", + "reason": "complete claimed profile" + } + ], + "idle": { + "1": 24336, + "3": 9267, + "32": 1, + "48": 37325, + "5": 13883 + }, + "live": 93184, + "physical": 93674, + "profile": { + "1": 2253888, + "2": 606528, + "3": 260115, + "32": 1, + "4": 119808, + "48": 37325, + "5": 38219, + "8": 7488 + }, + "provider_source_sha256": { + "independent_local.py": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + }, + "rank_mass": 6769152, + "replicas": 104, + "roles": 381888, + "scope": "PR2802 head17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd; finite literal whole-owner geometry, scalar endpoints and paid profile only; full native/global/outer admission remains separate.", + "status": "PASS_INDEPENDENT_T_OWNER_CHRONOLOGY_MASKS" +} diff --git a/research/superior-replica-kappa/validation/ROOT-ROUTE.json b/research/superior-replica-kappa/validation/ROOT-ROUTE.json new file mode 100644 index 0000000000..6a630a933a --- /dev/null +++ b/research/superior-replica-kappa/validation/ROOT-ROUTE.json @@ -0,0 +1,38 @@ +{ + "bridge_source_sha256": "a13e03d2746cf69246f3e5171bd3574bc104278cb598f240999c4c2af91cc4eb", + "canonical_source_sha256": "7295e8fd53fc97739a9c9a7fa4e96c9e85beee83ce216dee9528c1d9254f248c", + "files": { + "RouteFixedAlias.lean": "93839320399225d1c73cd13b55a279a2038c3fc1d6ce10fe60f9445e3f5fb53c", + "route_check_output_shim.py": "09d668e32955d05b4f5ea518a233b4cf0da5c45845a930735ea2441f4e1eefb5", + "verify_route_alias.py": "9ead11be297cc2141989ab612ef78437fe20248420c896c1cff3eb704ddaeacb" + }, + "frozen_target_hash": "67d25ddbadc070aecb7292c056b5d898047b98220dc4145a5d3b3fb504c4599e", + "lean_version": "4.33.0", + "receipt_sha256": "c5f9af405565e9eec8d39913e13786b8de0466ee75625a955c545a22c98eb5ba", + "repairs": [ + "Task-local --runs-dir forwarding only; shared checker predicates unchanged", + "Exact-type global alias reconciles frozen unqualified name with canonical namespaced theorem; frozen statement unchanged" + ], + "route_revision": 1, + "scope": "Universal normalized paid-moment monotonicity only. Concrete multiplication gain additionally requires independently completed finite owner/native/global/outer release.", + "seconds": 25.839, + "status": "VERIFIED_FROZEN_ROUTE_ROOT", + "theorems": [ + { + "axioms": [ + "propext", + "Classical.choice", + "Quot.sound" + ], + "theorem": "frontier_replica_monotone" + }, + { + "axioms": [ + "propext", + "Classical.choice", + "Quot.sound" + ], + "theorem": "ResearchRouteFixedTarget.frontier_replica_monotone" + } + ] +} diff --git a/research/superior-replica-kappa/validation/SHARPENED-PREFIX-REVIEW.json b/research/superior-replica-kappa/validation/SHARPENED-PREFIX-REVIEW.json new file mode 100644 index 0000000000..499be51638 --- /dev/null +++ b/research/superior-replica-kappa/validation/SHARPENED-PREFIX-REVIEW.json @@ -0,0 +1,47 @@ +{ + "T104": { + "bridges": 936, + "calls": 936, + "charged_bound": 2041, + "live": 93184, + "max_child": 48, + "payload": 2048, + "physical": 93674, + "physical_row": 19545, + "required_prefix": 1983, + "row_limit": 20161 + }, + "T105_charged_payload": 4096, + "actual_exact_native_prefix_bits": { + "base/backward": 70, + "base/forward": 63, + "extra/backward": 70, + "extra/forward": 63 + }, + "inputs": { + "native/NATIVE-RECEIPT.json": "32c42af206f32dbcfb500579ac7e525a028e5caa0cc180c9890630ccbd03b44a", + "native/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "native/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "native/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "native/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "native/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "native/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "public/admit_frontier_replica.py": "216d49d694e4b88a773be0b539c7bf51e5ee6c2cccfba31017251b52ace7782d", + "public/lift_parent.py": "d5692ff472096ad14ade860b9bf6a0c5d5e0e3e09cd0186720efe8083c09a282", + "runtime/discovery/INDEPENDENT.json": "a5ad726e5a5029eb7cd59c4061b0e14700126f7156ed994afde05f3f31b8df1f", + "runtime/discovery/global/audit/PREFIX-AND-INVOICE.json": "8bcc3a4b2b5e23445231de04bdc2f367d00182da6ecdd762df08b2476195be70", + "runtime/package/code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "runtime/package/code/invoice_allcold.py": "c4d9266e01b6e2921694e11828725a298731b81ab0bfc4ac56fcd40f9d59140c", + "runtime/package/code/witness.py": "5d5d68b896139e852a3dfc15ae179772181b495667e86ff03b241e1ebd416e81", + "runtime/package/independent_core.py": "ce646de11efcadb729d85e4b7f2bf0cb1275174b5d82935571aa14be27c06c93" + }, + "local_reserve": 128, + "max_local_bits": 70, + "negative_controls": { + "T105_payload2048": "REJECTED_BY_WITNESS_FORMULA", + "local129": "REJECTED_BY_BOTH_GUARDS" + }, + "remaining192": "Only assemble standalone upperbound192, dominated by invoice and independent128 guards; no charged-payload mismatch. Retained historical512bit source unchanged.", + "scope": "Exact scalar-prefix recount plus runtime guard/payload/charge review only. Full root-run release and kernel audit independently required.", + "status": "PASS_INDEPENDENT_PREFIX128_GUARD_REVIEW" +} diff --git a/research/superior-replica-kappa/vendor/frontier/CLAIM.json b/research/superior-replica-kappa/vendor/frontier/CLAIM.json new file mode 100644 index 0000000000..2e64718924 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/CLAIM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717794984118634663827", + "complex_upper": "0.001717794984118634663828", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": "2751", + "comparison_head": "4cfbb0cc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2751, + "head": "4cfbb0cc", + "exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000" + }, + "comparisons": { + "2751": { + "kappa_source": "evidence/PR2751-CLAIM.json", + "exact_margin": "326698885104162859/500000000000000000000000", + "margin_float": 6.533977702083258e-07 + }, + "2766": { + "kappa_source": "evidence/PR2766-CLAIM.json", + "exact_margin": "538010651632355557/1000000000000000000000000", + "margin_float": 5.380106516323556e-07 + }, + "2767": { + "kappa_source": "evidence/PR2767-OUTER-CLAIM.json", + "exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)", + "margin_float": 5.380106516323556e-07 + } + }, + "new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route", + "local_predecessor": { + "package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)", + "exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "exact_margin": "385667783143020379/1000000000000000000000000", + "margin_float": 3.856677831430204e-07 + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-CODE.patch b/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-CODE.patch new file mode 100644 index 0000000000..15b163674a --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-CODE.patch @@ -0,0 +1,137 @@ +--- a/audit_mixed.py ++++ b/audit_mixed.py +@@ -9,7 +9,7 @@ + for _nm,_mut in (('changed lifted target frame',lambda b_:b_['target_levels'].__setitem__('23',0)),): + _bad=copy.deepcopy(w);_mut(_bad) + try:A.local_inventory(_bad,r,None) +- except ValueError as _e:A.require(str(_e)=='target line30','target mutation rejection') ++ except ValueError as _e:A.require(str(_e)=='candidate exact source-partner target frames','target mutation rejection') + else:raise ValueError('accepted changed lifted target') + _pg=A.read(d/'LOCAL-PROGRAMS.json.gz');_bp=copy.deepcopy(_pg);_bp['forward'].remove(next(e for e in _bp['forward'] if e[0]=='center')) + try:A.local_inventory(w,r,_bp) +--- a/independent_core.py ++++ b/independent_core.py +@@ -69,8 +69,7 @@ + External ports/frames are independently checked by audit_mixed.py. + """ + levels = {int(t): f for t, f in word['target_levels'].items()} +- require(set(levels) == {11,23,29,32,34,35,45,48,50,59,63,71,73,76,81,84,87,90,92,108}, 'twenty source-partner target offsets') +- require(all(frames[f] in ((30,), (45,)) for f in levels.values()), 'target line30') ++ require({str(t): list(frames[f]) for t, f in levels.items()} == {'104': [45], '106': [45], '110': [45], '14': [45], '21': [45], '37': [45], '41': [45], '43': [45], '47': [45], '52': [45], '78': [45], '99': [45]}, 'candidate exact source-partner target frames') + require(all(current[V+t] == frames[levels.get(t, 0)] for t in range(V)), 'target centre level') + forward, backward = [], [] + for index, (register, frame_id) in enumerate(zip(word['centers'], word['center_frames'])): +@@ -90,7 +89,7 @@ + origin = destination + forward.extend(segments) + backward.extend(e[:2]+[e[3], e[2], e[4]] for e in reversed(segments)) +- require(Counter(e[4] for e in forward) == {1:8, 7:8}, 'sixteen centre children') ++ require(Counter(e[4] for e in forward) == {8:8}, 'candidate eight unsplit centre children') + return {'forward': forward, 'backward': backward} + + +--- a/new/borrow/lowfour_controls.py ++++ b/new/borrow/lowfour_controls.py +@@ -20,12 +20,13 @@ + ia=next(i for i,e in enumerate(pre) if e[0]=='add') + m=mut();m['A'][ia][3]=-m['A'][ia][3];expect('prelude correction sign flipped',m) + m=mut();m['A'][ia][3]*=2;expect('prelude correction coefficient doubled',m) +- m=mut();m['A'][ia][1],m['A'][ia+1][1]=m['A'][ia+1][1],m['A'][ia][1];expect('prelude correction targets swapped',m) ++ jb=next(j for j,e in enumerate(pre) if e[0]=='add' and e[1]!=pre[ia][1] and e[2:]!=pre[ia][2:] and e[-1]==pre[ia][-1]) ++ m=mut();m['A'][ia][1],m['A'][jb][1]=m['A'][jb][1],m['A'][ia][1];expect('prelude correction targets swapped',m) + iw=[i for i,e in enumerate(pre) if e[0]=='warp'];m=mut();del m['A'][iw[1]];m['prelude_events']-=1;expect('prelude return warp dropped',m) + m=mut();del m['A'][iw[0]];m['prelude_events']-=1;expect('prelude forward warp dropped',m) +- ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==135];m=mut() ++ target=pre[ia][1];ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==target];assert ids;m=mut() + for i in reversed(ids):del m['A'][i] +- m['prelude_events']-=len(ids);expect('all prelude corrections of target 135 dropped',m) ++ m['prelude_events']-=len(ids);expect('all prelude corrections of actual first target dropped',m) + m=mut();m['A'][0][-1]=[31];expect('prelude target scale at a different line',m) + m=mut();m['A'][iw[0]][2]=m['A'][iw[0]][2]+1 if abs(m['A'][iw[0]][2])i:r[0]-=1 + expect('source restoration gate dropped (cleanup re-derived)',rederive(m)) + # rewritten helper gate on the borrowed source removed +- j=next(i for i,g in enumerate(w0['B']) if g[0]=='add' and g[1]==33 and g[2]==250) ++ j=next(i for i,g in enumerate(w0['B']) if i>=w0['warps'][W33][0] and g[0]=='add' and g[1]==33) + m=mut();del m['B'][j] + for r in m['warps']: + if r[0]>j:r[0]-=1 +--- a/new/code/borrow/bw_audit_local.py ++++ b/new/code/borrow/bw_audit_local.py +@@ -179,6 +179,17 @@ + def phase_at(es,name):return es.index(['phase',name]) + def first_warp(es,sign=1,start=0):return ev_index(es,lambda e:e[0]=='warp' and (e[2]>0)==(sign>0),start) + def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup')) ++def incomplete_centre_descent(es): ++ # Split paths lose an intermediate step. An unsplit path is truncated at ++ # an actual nested rank-one frame, with its child rank repriced correctly. ++ # Thus the control cannot fail merely because a split no longer exists. ++ indices=[i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0] ++ if indices: ++ es.pop(indices[0]);return ++ e=next(e for e in es if e[0]=='center') ++ stop=next(f for f in range(len(frames)) if len(frames[f])==1 and contains(frames[f],frames[e[2]])) ++ e[3]=stop;e[4]=len(frames[e[2]])-1 ++ + mutations=[ + ('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)), + ('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))), +@@ -194,7 +205,7 @@ + ('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])), + ] if entering else [])+([ + ('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))), +- ('centre_descent_step_skipped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0))), ++ ('centre_descent_incomplete',incomplete_centre_descent), + ] if levels else [])+([ + ('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()), + ('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()), +--- a/new/rebuild_borrow.py ++++ b/new/rebuild_borrow.py +@@ -74,10 +74,10 @@ + lf=D/'inputs'/f'lowfour_43{wt}.json';lpatch=None + if lf.exists(): # four low aliases through lifted-target compensation (PR2436 mechanism) on top of the entrance state + lpatch=json.loads(lf.read_text());prev_l=chain[-1];chain.append(word_patch.apply_lowfour(prev_l,lpatch));steps.append('lowfour') +- nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[640,641,642,644]==lpatch['derived_removed_diff'] ++ nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[696,697,698,700]==lpatch['derived_removed_diff'] + kok&=[x[1:] for x in nw['warps'][:len(prev_l['warps'])]]==[x[1:] for x in prev_l['warps']] and [x[1] for x in nw['warps'][-4:]]==[33,55,74,85] and len(nw['warps'])==len(prev_l['warps'])+4 + kok&=[g[:-1] for g in nw['A'][nw['prelude_events']:]]==[g[:-1] for g in prev_l['A']] and nw['restore']==prev_l['restore'] and nw['helper_final']==prev_l['helper_final'] +- kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('640','641','642','644')}==nw['start_extra'] ++ kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('696','697','698','700')}==nw['start_extra'] + af=D/'inputs'/f'alias637_43{wt}.json';apatch=None + if af.exists(): # alias 637 borrowing retired source 31 (PR2436 pair) stacked on the four lifted-target aliases + apatch=json.loads(af.read_text());prev_a=chain[-1];chain.append(word_patch.apply_lowfour(prev_a,apatch));steps.append('alias637');na=chain[-1] +@@ -102,10 +102,10 @@ + kok&=word_patch.kernel_gate_edit(prev_p['B'],npl['B'])==ppatch['declared_gate_edit'] + kok&=all(npl[k_]==prev_p[k_] for k_ in ('A','precondition','cut','start_extra','target_levels','centers','center_frames','ports','prelude_events')) + rf2=D/'inputs'/f'refit563_43{wt}.json';rpatch2=None +- if rf2.exists(): # one-gate exact frame lowering (B 894, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package) ++ if rf2.exists(): # one-gate exact frame lowering (B 904, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package) + rpatch2=json.loads(rf2.read_text());prev_r=chain[-1];chain.append(refit_apply(prev_r,rpatch2));steps.append('refit563');nr=chain[-1] +- kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',894] and prev_r['B'][894][:5]==['add',515,563,1,1] +- kok&=len(nr['B'][894][-1])==len(prev_r['B'][894][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=894) ++ kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',904] and prev_r['B'][904][:5]==['add',515,563,1,1] ++ kok&=len(nr['B'][904][-1])==len(prev_r['B'][904][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=904) + kok&=not({515,563}&({x_['L'] for x_ in ppatch['pairs']}|{x_['h'] for x_ in ppatch['pairs']}) if ppatch else set()) + xf=D/'inputs'/f'alias1_43{wt}.json';xpatch=None + if xf.exists(): # retired-lender alias 653<-563 on the refit state (this package) +@@ -141,9 +141,9 @@ + pw_=Path(tempfile.mkdtemp())/'orig.json.gz';pw_.write_bytes(gzip.compress(json.dumps(prev_p,separators=(',',':')).encode(),mtime=0)) + pc=subprocess.run([sys.executable,'-B',str(D/'prelife_controls.py'),str(shipped),str(pw_),str(RCP/f'CONTROLS-PRELIFE-43{wt}.json')],capture_output=True,text=True) + pc_ok=pc.returncode==0 and json.loads((RCP/f'CONTROLS-PRELIFE-43{wt}.json').read_text())['all_rejected_for_expected_reason'];ok&=pc_ok;res['prelife_controls_ok']=pc_ok +- if rpatch2: # control: the shipped word with the B 894 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame) ++ if rpatch2: # control: the shipped word with the B 904 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame) + import copy as cp6 +- m=cp6.deepcopy(final);m['B'][894][-1]=prev_r['B'][894][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0)) ++ m=cp6.deepcopy(final);m['B'][904][-1]=prev_r['B'][904][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0)) + br=run_audit(bp,None,bp.parent/'refit563_undone.out.json');ru=br.returncode!=0 and 'warp frame mismatch' in (br.stdout+br.stderr);res['refit563_undone_rejected_by_warp_frame_mismatch']=ru;ok&=ru + if xpatch: + xc=subprocess.run([sys.executable,'-B',str(D/'alias1_controls.py'),str(shipped),str(xf),str(RCP/f'CONTROLS-ALIAS1-43{wt}.json')],capture_output=True,text=True) diff --git a/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz b/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz new file mode 100644 index 0000000000..8e2ac23939 Binary files /dev/null and b/research/superior-replica-kappa/vendor/frontier/DERIVATIVE-OVERLAY.tar.gz differ diff --git a/research/superior-replica-kappa/vendor/frontier/DOWNLOAD-MANIFEST.json b/research/superior-replica-kappa/vendor/frontier/DOWNLOAD-MANIFEST.json new file mode 100644 index 0000000000..bb877f38cd --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/DOWNLOAD-MANIFEST.json @@ -0,0 +1,1122 @@ +{ + "head": "17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd", + "source_channel": "ordinary pinned raw; headSha from public PR HTML; all primary subtree paths and Git blob IDs checked against current public diff", + "files": [ + { + "path": ".gitattributes", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/.gitattributes", + "sha256": "12ab6f9af287290f2f2404907fdd114faa5a085fe9eae713294537ff6b45132e", + "git_blob": "f7e56e18b7b7b669a4f6b94e05816938be3f075e", + "diff_blob": "f7e56e18b7", + "bytes": 121, + "utc": "2026-10-15T23:07:26.793Z" + }, + { + "path": "CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/CLAIM.json", + "sha256": "a2fcbc8a3ad3095ecbd310a26c02e9d11c28e4d105669a08bbdfb39d7704db51", + "git_blob": "2e647189246376ee0ea855f50299f91483012371", + "diff_blob": "2e64718924", + "bytes": 2443, + "utc": "2026-10-15T23:07:26.792Z" + }, + { + "path": "composition.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/composition.py", + "sha256": "f202f8ce9730b778c9ee1213d63d444d117df5ff7d47933037a924723a37e3f4", + "git_blob": "bb455e907ddf8227cb5c8062825540eda219ba17", + "diff_blob": "bb455e907d", + "bytes": 6485, + "utc": "2026-10-15T23:07:27.973Z" + }, + { + "path": "DERIVATIVE-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/DERIVATIVE-CODE.patch", + "sha256": "36fe5e24ecf22be987360647de1167185ffb92603bebb1959a065e56524586e1", + "git_blob": "15b163674a4370b1914752cec39f30db6fb23e72", + "diff_blob": "15b163674a", + "bytes": 11858, + "utc": "2026-10-15T23:07:26.793Z" + }, + { + "path": "DERIVATIVE-OVERLAY.tar.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/DERIVATIVE-OVERLAY.tar.gz", + "sha256": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "git_blob": "8e2ac2393958b98a07bd4973d8a9b47720b19653", + "diff_blob": "8e2ac23939", + "bytes": 1726272, + "utc": "2026-10-15T23:07:27.069Z" + }, + { + "path": "evidence/ADMISSION.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/ADMISSION.json", + "sha256": "b85b5b339353ae2a1935afa2963fcde7db9f66b41f205ddd632210257a8be168", + "git_blob": "df8d10716f4198e3b03cd1e3a842c5d536c21806", + "diff_blob": "df8d10716f", + "bytes": 7481, + "utc": "2026-10-15T23:07:28.013Z" + }, + { + "path": "evidence/INDEPENDENT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/INDEPENDENT.json", + "sha256": "f9e4500e5cb1ab1b9e8189de6dfbcca8dd9f7e2ea1a9ffce6801d6530797c0d2", + "git_blob": "750227462f19d1f500b69e6b1eaf1175917723b6", + "diff_blob": "750227462f", + "bytes": 11397, + "utc": "2026-10-15T23:07:27.973Z" + }, + { + "path": "evidence/NATIVE-BASE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/NATIVE-BASE.json", + "sha256": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "git_blob": "fd79ad2f2a6c4a7e7b23a6c25f7db39118064830", + "diff_blob": "fd79ad2f2a", + "bytes": 433, + "utc": "2026-10-15T23:07:27.965Z" + }, + { + "path": "evidence/NATIVE-EXTRA.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/NATIVE-EXTRA.json", + "sha256": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "git_blob": "930bbf3cd1476b396610274fc10545197564750a", + "diff_blob": "930bbf3cd1", + "bytes": 434, + "utc": "2026-10-15T23:07:28.197Z" + }, + { + "path": "evidence/OWNERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/OWNERS.json", + "sha256": "4df2066f097e4b59edf7d7af0e7e234413b9d2a09de4302d02adb3869972f672", + "git_blob": "00ff9fe9e4e57d28d9f10257adf13f9cb468d7ea", + "diff_blob": "00ff9fe9e4", + "bytes": 499, + "utc": "2026-10-15T23:07:28.190Z" + }, + { + "path": "evidence/PACKING-CAP.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PACKING-CAP.json", + "sha256": "59deb044b1b46953cbfd2fcedd3026a901d4524d7d05c592b8e1420501f6e652", + "git_blob": "e304fa1a3aaaf03407104c51fae184d70cc4973b", + "diff_blob": "e304fa1a3a", + "bytes": 1136, + "utc": "2026-10-15T23:07:28.169Z" + }, + { + "path": "evidence/PR2733-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2733-CLAIM.json", + "sha256": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "git_blob": "e97166d50158786e666c8e0d97d12f79a098df29", + "diff_blob": "e97166d501", + "bytes": 2775, + "utc": "2026-10-15T23:07:28.154Z" + }, + { + "path": "evidence/PR2745-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2745-CLAIM.json", + "sha256": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "git_blob": "abec1247c37e0bea60bb9feea293bb17b81a97a3", + "diff_blob": "abec1247c3", + "bytes": 11134, + "utc": "2026-10-15T23:07:28.380Z" + }, + { + "path": "evidence/PR2751-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2751-CLAIM.json", + "sha256": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "git_blob": "48ad23a430def28e485ee311ac92828ac9664a0c", + "diff_blob": "48ad23a430", + "bytes": 848, + "utc": "2026-10-15T23:07:28.381Z" + }, + { + "path": "evidence/PR2766-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2766-CLAIM.json", + "sha256": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "git_blob": "d352e67b80455a435b2527880bd5690806097a7d", + "diff_blob": "d352e67b80", + "bytes": 1490, + "utc": "2026-10-15T23:07:28.341Z" + }, + { + "path": "evidence/PR2767-OUTER-CLAIM.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PR2767-OUTER-CLAIM.json", + "sha256": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "git_blob": "2bb218a7506c0e29fdb466f0c9ffdf5c04665370", + "diff_blob": "2bb218a750", + "bytes": 11126, + "utc": "2026-10-15T23:07:28.381Z" + }, + { + "path": "evidence/PUBLIC-WRAPPER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/PUBLIC-WRAPPER.json", + "sha256": "70acee53d90097edfa3e7c99ad68311f236bade5ee71a446bcc8935e9e7e3192", + "git_blob": "e705eabcffaf911a16e4e887f3713cb34306d199", + "diff_blob": "e705eabcff", + "bytes": 9845, + "utc": "2026-10-15T23:07:28.570Z" + }, + { + "path": "evidence/RELEASE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/RELEASE.json", + "sha256": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "git_blob": "e44dc7c69b07aa44bc69b41f6c19e5369d58aee7", + "diff_blob": "e44dc7c69b", + "bytes": 2241, + "utc": "2026-10-15T23:07:28.532Z" + }, + { + "path": "evidence/retired5/ADMISSION-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/ADMISSION-RESULT.json", + "sha256": "e441d6bfef1554491087a5b4701a8b23b331af3b57f77a38f3de4a47d940a6bf", + "git_blob": "51fc18760793c0b0d3f481a20ea598c94896399c", + "diff_blob": "51fc187607", + "bytes": 6368, + "utc": "2026-10-15T23:07:28.569Z" + }, + { + "path": "evidence/retired5/ADMISSION-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/ADMISSION-STAGES.json", + "sha256": "be3bf7f8fb4208bdea8dae25a8db0beda8d31cd5ac8a61279b22928ededb58bb", + "git_blob": "a5d5bc1130417950ec036e0ef89f94b1733b5d30", + "diff_blob": "a5d5bc1130", + "bytes": 3427, + "utc": "2026-10-15T23:07:28.530Z" + }, + { + "path": "evidence/retired5/CERT2751.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CERT2751.json", + "sha256": "d2f63d1167e0e1811f8b2b62ee50353184ca0ed86ab2c0bc96bf37edccf1eeff", + "git_blob": "dde7a0f3d0b6db45dc35644499bb7c25e074d3bc", + "diff_blob": "dde7a0f3d0", + "bytes": 4168, + "utc": "2026-10-15T23:07:28.719Z" + }, + { + "path": "evidence/retired5/CONTROLS-ALIAS5-43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CONTROLS-ALIAS5-43base.json", + "sha256": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "git_blob": "9785264a786b64300369774323402bad46a998f2", + "diff_blob": "9785264a78", + "bytes": 4929, + "utc": "2026-10-15T23:07:28.728Z" + }, + { + "path": "evidence/retired5/CONTROLS-ALIAS5-43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/CONTROLS-ALIAS5-43extra.json", + "sha256": "da173b7590da4717880098dd6cef3c597e4dffccd163b3c85b3b8fbf3d242f3e", + "git_blob": "9785264a786b64300369774323402bad46a998f2", + "diff_blob": "9785264a78", + "bytes": 4929, + "utc": "2026-10-15T23:07:28.720Z" + }, + { + "path": "evidence/retired5/FULL-REPLAY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/FULL-REPLAY-RESULT.json", + "sha256": "5d884e943ba270223218cac39e10b4355cd217802232c8363a03f2d15bb77bdf", + "git_blob": "d276ca96c521c23aec9fa2db320388c0b5741eb0", + "diff_blob": "d276ca96c5", + "bytes": 10855, + "utc": "2026-10-15T23:07:28.758Z" + }, + { + "path": "evidence/retired5/FULL-REPLAY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/FULL-REPLAY-STAGES.json", + "sha256": "80ac023ea6c8e152d538f873855c3b917f1fb80fc34c9f2d4db19ee9cab76de8", + "git_blob": "384e4a8a7e38aed6b232599b6916a0050ff76a17", + "diff_blob": "384e4a8a7e", + "bytes": 3882, + "utc": "2026-10-15T23:07:28.903Z" + }, + { + "path": "evidence/retired5/GENERATE-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/GENERATE-LOG.txt", + "sha256": "18a234b13f2b7e7b98c59f1be8799fbfde2284a2a64a0eaf9be0aa53115ef5fa", + "git_blob": "58bf5e824477396a5b70e69d3ea64635d1257a28", + "diff_blob": "58bf5e8244", + "bytes": 9111, + "utc": "2026-10-15T23:07:28.904Z" + }, + { + "path": "evidence/retired5/HOOK-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/HOOK-RESULT.json", + "sha256": "76b67d54df3a6da3bb7f6fe3402f11d2926cb48353bf068dc34eeb560784771a", + "git_blob": "c2f514c451a9c65ddb32a83e08b5168abbb4eca2", + "diff_blob": "c2f514c451", + "bytes": 10668, + "utc": "2026-10-15T23:07:28.925Z" + }, + { + "path": "evidence/retired5/NATIVE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/NATIVE-RECEIPT.json", + "sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "git_blob": "b30f12f22ca6b894e8ae8fab2ac9e73c2872e03e", + "diff_blob": "b30f12f22c", + "bytes": 15939, + "utc": "2026-10-15T23:07:28.904Z" + }, + { + "path": "evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "cf06397f5fdaf50f8e44af4ff64d6a97865b79d5bc86024ba7c6f653698a6d8e", + "git_blob": "9119865da294e626d78994447b7d2744934fa9bd", + "diff_blob": "9119865da2", + "bytes": 3879, + "utc": "2026-10-15T23:07:29.176Z" + }, + { + "path": "evidence/retired5/RELEASE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-RECEIPT.json", + "sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "git_blob": "b4684a573d70a6ce21660fa372217fbdb628023b", + "diff_blob": "b4684a573d", + "bytes": 2241, + "utc": "2026-10-15T23:07:29.099Z" + }, + { + "path": "evidence/retired5/RELEASE-VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-VERIFY-RESULT.json", + "sha256": "6a4d591c2c827a899cb9a3682ef3f05fd97fc58842e68ae9aead5d14d3f62654", + "git_blob": "7caccd3f8f49e669ca4d353abfbabe10a447c672", + "diff_blob": "7caccd3f8f", + "bytes": 3334, + "utc": "2026-10-15T23:07:29.074Z" + }, + { + "path": "evidence/retired5/RELEASE-VERIFY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RELEASE-VERIFY-STAGES.json", + "sha256": "ed04eb3d4ec175b3b211cef890376529c1e9dc3f69974269106dbff9e52bcde0", + "git_blob": "aff147d9edbec561e1329683e8e17a5bb0e8abdf", + "diff_blob": "aff147d9ed", + "bytes": 2196, + "utc": "2026-10-15T23:07:29.074Z" + }, + { + "path": "evidence/retired5/RUNTIME-PATCHES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired5/RUNTIME-PATCHES.json", + "sha256": "a20936449a1d23f79c8c040d47039e563d2bcdfc534d1c1de7d25d221a7f483c", + "git_blob": "2fea51a3dd614e34654cb0b713925a999a53add9", + "diff_blob": "2fea51a3dd", + "bytes": 1236, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/ADMISSION-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/ADMISSION-RESULT.json", + "sha256": "259c1a9da2ebfceb4b4cea2732b5a6d144cc85d7d8a92f4474d29ee3a5c75fc2", + "git_blob": "4ceb18a8494d9444ba59483257dd207d32ccb83c", + "diff_blob": "4ceb18a849", + "bytes": 6812, + "utc": "2026-10-15T23:07:29.316Z" + }, + { + "path": "evidence/retired7/ADMISSION-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/ADMISSION-STAGES.json", + "sha256": "f86a0c1ff418c3da14f573dbf900eae96657a33b4d3829c7c5da8036890c9f87", + "git_blob": "8b12d62f6fd80f03ef2d6ac2fefd589d59753fa1", + "diff_blob": "8b12d62f6f", + "bytes": 4125, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json", + "sha256": "ede02c0657d73229aa8943046aeb6c72f8300719f95b6a2f770935173287dca9", + "git_blob": "0205988129b4376b220054cb4b43badfe3a50a68", + "diff_blob": "0205988129", + "bytes": 1380, + "utc": "2026-10-15T23:07:29.349Z" + }, + { + "path": "evidence/retired7/CONTROLS-RETIRED7-43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CONTROLS-RETIRED7-43base.json", + "sha256": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "git_blob": "45cecc552baa0f4b968bb05a425cdd6e77868e06", + "diff_blob": "45cecc552b", + "bytes": 4178, + "utc": "2026-10-15T23:07:29.509Z" + }, + { + "path": "evidence/retired7/CONTROLS-RETIRED7-43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/CONTROLS-RETIRED7-43extra.json", + "sha256": "1b52cc644573f2b39a66be799c90b82e59c2b25341bbdcfa8d4ef0baea0fdd60", + "git_blob": "45cecc552baa0f4b968bb05a425cdd6e77868e06", + "diff_blob": "45cecc552b", + "bytes": 4178, + "utc": "2026-10-15T23:07:29.481Z" + }, + { + "path": "evidence/retired7/FULL-REPLAY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/FULL-REPLAY-RESULT.json", + "sha256": "3b480daeb9f2e09eeefe787d99eef9143a90ac5136faf5f9285affc65e90030d", + "git_blob": "5cced4b2db357d72c1d92cd15324b0fbbddceb64", + "diff_blob": "5cced4b2db", + "bytes": 12079, + "utc": "2026-10-15T23:07:29.518Z" + }, + { + "path": "evidence/retired7/FULL-REPLAY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/FULL-REPLAY-STAGES.json", + "sha256": "9498e69c1c927751b3dadad8bfd887f9afff107424f0987ece9df9c17e1f5412", + "git_blob": "4d4b3a7915fc9e417faf04dbe54fd5c27e767f0f", + "diff_blob": "4d4b3a7915", + "bytes": 4767, + "utc": "2026-10-15T23:07:29.513Z" + }, + { + "path": "evidence/retired7/HOOK-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/HOOK-RESULT.json", + "sha256": "95d8169d828b0c3b7ccc02f205aa63bb33e54da95b7279c58775711ceb88df8e", + "git_blob": "e29b039fd33f34cd4c874b34a1202ceb16838126", + "diff_blob": "e29b039fd3", + "bytes": 16009, + "utc": "2026-10-15T23:07:29.709Z" + }, + { + "path": "evidence/retired7/NATIVE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/NATIVE-RECEIPT.json", + "sha256": "baba1153f79b8de0f52273194f8fb86df7c65b51bafc9bac1504074f7c6cb982", + "git_blob": "a82fb1ff375d14db2f1db67c18f95877746bb139", + "diff_blob": "a82fb1ff37", + "bytes": 15623, + "utc": "2026-10-15T23:07:29.701Z" + }, + { + "path": "evidence/retired7/NATIVE-STANDALONE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/NATIVE-STANDALONE.json", + "sha256": "49ee5ec3f791392555a6218e5f5cc80bf004b706ba697a298f9701ea8c4765a0", + "git_blob": "6646251c6ffad60be277f02d1654f6ead6fcb16a", + "diff_blob": "6646251c6f", + "bytes": 482, + "utc": "2026-10-15T23:07:29.749Z" + }, + { + "path": "evidence/retired7/OWNER-CHECK.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/OWNER-CHECK.json", + "sha256": "328db5dd09f5b40762a5f3fd7fefb1b9c4ad05cecb7882474cfa3450177ba935", + "git_blob": "d6c74e2ba08250c30574c035ac89a5a8f5532196", + "diff_blob": "d6c74e2ba0", + "bytes": 1298, + "utc": "2026-10-15T23:07:29.701Z" + }, + { + "path": "evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "59dec80790bee9a132d92ec64db08e93ee000994ac4e0188da7b1829dac8ccab", + "git_blob": "065d3aa6532a970ab13b0044a8ed4749abd65360", + "diff_blob": "065d3aa653", + "bytes": 4367, + "utc": "2026-10-15T23:07:29.938Z" + }, + { + "path": "evidence/retired7/REGISTERED-HOOK-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/REGISTERED-HOOK-LOG.txt", + "sha256": "16ec70f1c8191c18aa8f6422f972519b99df01002ffde5b12ac4febe0be22f46", + "git_blob": "4a2aa3c2d09d331f408cfb09e3d347cb682244ec", + "diff_blob": "4a2aa3c2d0", + "bytes": 18966, + "utc": "2026-10-15T23:07:29.885Z" + }, + { + "path": "evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt", + "sha256": "d9977346de4ceb88d152ac8e892fdb65af572933aa967fd726a7620fa3e29074", + "git_blob": "b5157e14f384f8133bd74fdbd6d1b703c5282ff7", + "diff_blob": "b5157e14f3", + "bytes": 4420, + "utc": "2026-10-15T23:07:29.895Z" + }, + { + "path": "evidence/retired7/RELEASE-RECEIPT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-RECEIPT.json", + "sha256": "8698b42e6239cffcd92ae4a87605451d799b7b751bcf4a432fd851a548ceff48", + "git_blob": "37735f2254fd26b5aa55826ab8cc995d181308ec", + "diff_blob": "37735f2254", + "bytes": 2236, + "utc": "2026-10-15T23:07:29.938Z" + }, + { + "path": "evidence/retired7/RELEASE-VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-VERIFY-RESULT.json", + "sha256": "4eee4b247783eceb62c785385e5d6965241655e963eabad33ee64a26964fcd49", + "git_blob": "680f2d73e5a9dcb7c319e966cceaf36282dc5b74", + "diff_blob": "680f2d73e5", + "bytes": 3116, + "utc": "2026-10-15T23:07:30.091Z" + }, + { + "path": "evidence/retired7/RELEASE-VERIFY-STAGES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RELEASE-VERIFY-STAGES.json", + "sha256": "8278e1e93057f1f7e19b9c4058a249597a80c78b8dfa0e15bb6f206aefaf5f6e", + "git_blob": "3686810428862426cb5bd3dbe895bbdfc166919b", + "diff_blob": "3686810428", + "bytes": 2079, + "utc": "2026-10-15T23:07:30.127Z" + }, + { + "path": "evidence/retired7/RESEARCH-TESTS-LOG.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RESEARCH-TESTS-LOG.txt", + "sha256": "e7eb21fea3fd1e55b60ea4f7013b4bc13db048043e733c5b1c09273cf1a43f63", + "git_blob": "b0448692e46dbb256d4f5e51c834f2bab5f368eb", + "diff_blob": "b0448692e4", + "bytes": 400, + "utc": "2026-10-15T23:07:30.138Z" + }, + { + "path": "evidence/retired7/RUNTIME-PATCHES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/RUNTIME-PATCHES.json", + "sha256": "f9cf016d89b318398a0737cb304f1f9a32098589b9fb3b89ab79bb10e3f9bbe5", + "git_blob": "ce6e8881de73df6d90e548bf274de8d5320cb7aa", + "diff_blob": "ce6e8881de", + "bytes": 1156, + "utc": "2026-10-15T23:07:30.091Z" + }, + { + "path": "evidence/retired7/STAGES7.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/STAGES7.json", + "sha256": "ab5fd9336ae23174cdee523d7c46a5eda201e04ce5391170d00963783a3d71c8", + "git_blob": "1e3fe61a7dbde68163c817be0b57604bcd2e14eb", + "diff_blob": "1e3fe61a7d", + "bytes": 1534, + "utc": "2026-10-15T23:07:30.368Z" + }, + { + "path": "evidence/retired7/VERIFY-RESULT.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/evidence/retired7/VERIFY-RESULT.json", + "sha256": "7f404f3d4638142ba3a77fc2a18d34d4926abcae528ce0ed1af0c4b4dad71a0a", + "git_blob": "8b8cb29852ab4fa36750f4be4be0211b184150e7", + "diff_blob": "8b8cb29852", + "bytes": 437, + "utc": "2026-10-15T23:07:30.417Z" + }, + { + "path": "exact_moment.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/exact_moment.py", + "sha256": "f170292f7983773d4f142afdac4677c1615fb7b781dbabf395200aea886dcade", + "git_blob": "30dc8aa22939ea377d893462a863bc7c37b4e210", + "diff_blob": "30dc8aa229", + "bytes": 1522, + "utc": "2026-10-15T23:07:30.309Z" + }, + { + "path": "full_replay.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/full_replay.py", + "sha256": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b", + "git_blob": "d9718b8b5b173ab81efaee24c04e5c99b6e70e94", + "diff_blob": "d9718b8b5b", + "bytes": 12140, + "utc": "2026-10-15T23:07:30.349Z" + }, + { + "path": "generate.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/generate.py", + "sha256": "24b90102b48ed9adf2621412fbff594b9e231041ca385258794881054d67f7a3", + "git_blob": "dafca20149f2e24ef82e266ee08db494dbeb78f3", + "diff_blob": "dafca20149", + "bytes": 4265, + "utc": "2026-10-15T23:07:30.576Z" + }, + { + "path": "GENERATOR-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/GENERATOR-PINS.json", + "sha256": "8823d9ad809cdd2e469f21ae1982a379f302bb9bf177cff069ef99a52163c286", + "git_blob": "53cbe5b14d7556b53e494144f4bf6b7531a24a33", + "diff_blob": "53cbe5b14d", + "bytes": 808, + "utc": "2026-10-15T23:07:27.246Z" + }, + { + "path": "independent_local.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/independent_local.py", + "sha256": "ee1faab70095fa312fc61d375ddf015b76104cb1a542ae7876a149e7999faa20", + "git_blob": "e0b556adc3d05c8f97e94992e0f872916154202d", + "diff_blob": "e0b556adc3", + "bytes": 7322, + "utc": "2026-10-15T23:07:31.227Z" + }, + { + "path": "independent_owners.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/independent_owners.py", + "sha256": "219e16a7f35c5c9e9640760c28ad49a17b546c9f32bdf57dd76c30b5dd096aa6", + "git_blob": "b196522f05f4249c06cc75feae42613acee5cb1e", + "diff_blob": "b196522f05", + "bytes": 5170, + "utc": "2026-10-15T23:07:30.617Z" + }, + { + "path": "INPUT-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/INPUT-PINS.json", + "sha256": "c59957b3a312c643e8de6fa12c57adc0683ef29d8d74b051d0087a7c64232d21", + "git_blob": "db68544ada4ef515257e6f1e0dbb46991e7ca3d2", + "diff_blob": "db68544ada", + "bytes": 3893, + "utc": "2026-10-15T23:07:27.312Z" + }, + { + "path": "inputs/alias5_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias5_43base.json", + "sha256": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "git_blob": "be4b73559fd42d6a0be59940e02e7505a815a363", + "diff_blob": "be4b73559f", + "bytes": 245671, + "utc": "2026-10-15T23:07:35.446Z" + }, + { + "path": "inputs/alias5_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias5_43extra.json", + "sha256": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "git_blob": "adc0d05913357b8c7931a82434318ee5a275dcb4", + "diff_blob": "adc0d05913", + "bytes": 245659, + "utc": "2026-10-15T23:07:35.639Z" + }, + { + "path": "inputs/alias7_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias7_43base.json", + "sha256": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "git_blob": "0a198a786a5b06e462d175d0bda611b8f3145fbd", + "diff_blob": "0a198a786a", + "bytes": 82808, + "utc": "2026-10-15T23:07:35.444Z" + }, + { + "path": "inputs/alias7_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/alias7_43extra.json", + "sha256": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "git_blob": "902a5c32aba01004347461a2866f844f82f3f279", + "diff_blob": "902a5c32ab", + "bytes": 82796, + "utc": "2026-10-15T23:07:35.478Z" + }, + { + "path": "inputs/DISPATCH.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/DISPATCH.json.gz", + "sha256": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "git_blob": "4f4c2138d6be71dc649b8ee746385f059c242f21", + "diff_blob": "4f4c2138d6", + "bytes": 1637, + "utc": "2026-10-15T23:07:30.736Z" + }, + { + "path": "inputs/FILL.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "git_blob": "6441c0be4d116e1248d6cf0e163312e70db3a7e9", + "diff_blob": "6441c0be4d", + "bytes": 1268295, + "utc": "2026-10-15T23:07:31.639Z" + }, + { + "path": "inputs/FILL2751.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/FILL2751.json.gz", + "sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "git_blob": "17129e917b31b15625c53181d303b68e17ffed55", + "diff_blob": "17129e917b", + "bytes": 1263865, + "utc": "2026-10-15T23:07:32.944Z" + }, + { + "path": "inputs/GLOBAL-TEMPLATE.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/GLOBAL-TEMPLATE.json.gz", + "sha256": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "git_blob": "114808c32b1799da53524bdc25cea67efb60009e", + "diff_blob": "114808c32b", + "bytes": 1124331, + "utc": "2026-10-15T23:07:31.585Z" + }, + { + "path": "inputs/hostmove2_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/hostmove2_43base.json", + "sha256": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "git_blob": "a20eeb8f4a07ee82abd38186ad8b5ee11cac56dc", + "diff_blob": "a20eeb8f4a", + "bytes": 83147, + "utc": "2026-10-15T23:07:35.808Z" + }, + { + "path": "inputs/hostmove2_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/hostmove2_43extra.json", + "sha256": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "git_blob": "e65144f5ec357d7f1940495d216c82921bfabea2", + "diff_blob": "e65144f5ec", + "bytes": 83135, + "utc": "2026-10-15T23:07:36.287Z" + }, + { + "path": "inputs/ORDER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "git_blob": "c202d6ec222a257a64b2017eb1bbb0f9d2682669", + "diff_blob": "c202d6ec22", + "bytes": 4574, + "utc": "2026-10-15T23:07:31.424Z" + }, + { + "path": "inputs/PLAN.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PLAN.json.gz", + "sha256": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "git_blob": "973f576bccc4b8021bfa9b4fff815b0949fe5932", + "diff_blob": "973f576bcc", + "bytes": 29584, + "utc": "2026-10-15T23:07:33.128Z" + }, + { + "path": "inputs/POSITIVE2462-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/POSITIVE2462-base.json.gz", + "sha256": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "git_blob": "0bc4e8c167de63931e5cc208527ad684573a373c", + "diff_blob": "0bc4e8c167", + "bytes": 70505, + "utc": "2026-10-15T23:07:33.297Z" + }, + { + "path": "inputs/POSITIVE2462-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/POSITIVE2462-extra.json.gz", + "sha256": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "git_blob": "33f39e6826d181f4e0aead30b427e8de3c107a9a", + "diff_blob": "33f39e6826", + "bytes": 70509, + "utc": "2026-10-15T23:07:33.147Z" + }, + { + "path": "inputs/PROVIDERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PROVIDERS.json", + "sha256": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "git_blob": "b28e97eead8576399f069775aa72ba1e1078e62b", + "diff_blob": "b28e97eead", + "bytes": 5180, + "utc": "2026-10-15T23:07:33.110Z" + }, + { + "path": "inputs/PROVIDERS2751.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/PROVIDERS2751.json", + "sha256": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "git_blob": "26be26b6d25be67327ae77623c2eaa0a9fe463dc", + "diff_blob": "26be26b6d2", + "bytes": 1846, + "utc": "2026-10-15T23:07:33.476Z" + }, + { + "path": "inputs/refit5_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5_43base.json", + "sha256": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "git_blob": "73fa6c445adff08869ece8e36e804ca8227b641a", + "diff_blob": "73fa6c445a", + "bytes": 4025, + "utc": "2026-10-15T23:07:35.789Z" + }, + { + "path": "inputs/refit5_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5_43extra.json", + "sha256": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "git_blob": "73fa6c445adff08869ece8e36e804ca8227b641a", + "diff_blob": "73fa6c445a", + "bytes": 4025, + "utc": "2026-10-15T23:07:35.801Z" + }, + { + "path": "inputs/refit5c_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5c_43base.json", + "sha256": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "git_blob": "6779edb0aafd7a7f8ebe29dd57ea91f2d64e9b56", + "diff_blob": "6779edb0aa", + "bytes": 2349, + "utc": "2026-10-15T23:07:36.423Z" + }, + { + "path": "inputs/refit5c_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit5c_43extra.json", + "sha256": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "git_blob": "6779edb0aafd7a7f8ebe29dd57ea91f2d64e9b56", + "diff_blob": "6779edb0aa", + "bytes": 2349, + "utc": "2026-10-15T23:07:36.633Z" + }, + { + "path": "inputs/refit7_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7_43base.json", + "sha256": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "git_blob": "0095915f00d673b7d9c5085fcb728d624f96db53", + "diff_blob": "0095915f00", + "bytes": 573, + "utc": "2026-10-15T23:07:36.435Z" + }, + { + "path": "inputs/refit7_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7_43extra.json", + "sha256": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "git_blob": "0095915f00d673b7d9c5085fcb728d624f96db53", + "diff_blob": "0095915f00", + "bytes": 573, + "utc": "2026-10-15T23:07:36.442Z" + }, + { + "path": "inputs/refit7c_43base.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7c_43base.json", + "sha256": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "git_blob": "acd4d17dc2fb436c58171acaf3f140d25b1f6b2a", + "diff_blob": "acd4d17dc2", + "bytes": 488, + "utc": "2026-10-15T23:07:36.777Z" + }, + { + "path": "inputs/refit7c_43extra.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/refit7c_43extra.json", + "sha256": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "git_blob": "acd4d17dc2fb436c58171acaf3f140d25b1f6b2a", + "diff_blob": "acd4d17dc2", + "bytes": 488, + "utc": "2026-10-15T23:07:36.984Z" + }, + { + "path": "inputs/SOURCE-FILL.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-FILL.json.gz", + "sha256": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "git_blob": "4a0d605902453ca2eb8bb2e318274022c136ab81", + "diff_blob": "4a0d605902", + "bytes": 1285267, + "utc": "2026-10-15T23:07:34.656Z" + }, + { + "path": "inputs/SOURCE-ORDER.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-ORDER.json", + "sha256": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "git_blob": "7141bd58cc465e28f0189345713ddd366c814ca4", + "diff_blob": "7141bd58cc", + "bytes": 5904, + "utc": "2026-10-15T23:07:33.517Z" + }, + { + "path": "inputs/SOURCE-PROVIDERS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/SOURCE-PROVIDERS.json", + "sha256": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "git_blob": "d49a003505049499afb213c09e1011cb511ebbcc", + "diff_blob": "d49a003505", + "bytes": 1873, + "utc": "2026-10-15T23:07:33.536Z" + }, + { + "path": "inputs/WORD-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD-base.json.gz", + "sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "git_blob": "91bd9c68f209ac29e27cac566ff7a78339788553", + "diff_blob": "91bd9c68f2", + "bytes": 72444, + "utc": "2026-10-15T23:07:34.816Z" + }, + { + "path": "inputs/WORD-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD-extra.json.gz", + "sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "git_blob": "6c4a9a4395cfd407b435833908f783db4b3c6a4b", + "diff_blob": "6c4a9a4395", + "bytes": 72443, + "utc": "2026-10-15T23:07:35.281Z" + }, + { + "path": "inputs/WORD2751-base.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD2751-base.json.gz", + "sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "git_blob": "f1fc67a6eaf4bcc5dfa852b448aa2659070fa5f8", + "diff_blob": "f1fc67a6ea", + "bytes": 72468, + "utc": "2026-10-15T23:07:34.854Z" + }, + { + "path": "inputs/WORD2751-extra.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/inputs/WORD2751-extra.json.gz", + "sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "git_blob": "f06e80c4dddb9741d0051cb85a57d356e673f687", + "diff_blob": "f06e80c4dd", + "bytes": 72468, + "utc": "2026-10-15T23:07:34.852Z" + }, + { + "path": "joint_engine.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/joint_engine.py", + "sha256": "1411acf2903cad468e3618eefec7032ea04232af740134416d42d74aa1ea4945", + "git_blob": "e76585f43f18c641ac551ed19d3c1be86d112e33", + "diff_blob": "e76585f43f", + "bytes": 7467, + "utc": "2026-10-15T23:07:36.767Z" + }, + { + "path": "LICENSE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "diff_blob": "261eeb9e9f", + "bytes": 11357, + "utc": "2026-10-15T23:07:27.205Z" + }, + { + "path": "NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/NOTICE", + "sha256": "982ccd0ddf67b74a1d9d6dcb2684561a83b2f5de5039b3dfdd98f26cce6b8358", + "git_blob": "4f946d97736bcc10e56fd3648f0035de3eda63f0", + "diff_blob": "4f946d9773", + "bytes": 1192, + "utc": "2026-10-15T23:07:27.213Z" + }, + { + "path": "OVERLAY-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/OVERLAY-PINS.json", + "sha256": "496f1daf28d46a0b7aafe5a8968a2078b7bc9c2fa29089d16092c2f5041813bb", + "git_blob": "4c1a0ca6ee4bb4ea878cb21af85e11b218fe5833", + "diff_blob": "4c1a0ca6ee", + "bytes": 4260, + "utc": "2026-10-15T23:07:27.473Z" + }, + { + "path": "packing_cap.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/packing_cap.py", + "sha256": "b292694b0862db3393ce02e1e07a922ded6f746b18ab8faca69eb93ed7a2e522", + "git_blob": "fe937f866716fafa5b02b19dd0f191b00c1fd4f8", + "diff_blob": "fe937f8667", + "bytes": 3413, + "utc": "2026-10-15T23:07:36.804Z" + }, + { + "path": "PROFILE.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/PROFILE.json", + "sha256": "9d71407ded0b17496b0f94ca896355933a850dc6fc8456e39b0a1f72995b1406", + "git_blob": "c8b3bc89984bb71b5369a5d87bddbd98c055b32d", + "diff_blob": "c8b3bc8998", + "bytes": 116, + "utc": "2026-10-15T23:07:27.490Z" + }, + { + "path": "PROOF.md", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/PROOF.md", + "sha256": "6ecefda5d853e3ede1ee06aab08de24dfde960d98178a71844340ed86ae0d9b9", + "git_blob": "d2b1a96ba8ea6f20e87e12cf2817e0c3ce4c5f30", + "diff_blob": "d2b1a96ba8", + "bytes": 3777, + "utc": "2026-10-15T23:07:27.492Z" + }, + { + "path": "README.md", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/README.md", + "sha256": "8ea1568d186bdf5086aa2efff6c24fe6b34a6d4790393e763a4ddf683541df69", + "git_blob": "0d79a15325d582eb41655c21f3bbe021e5b2d470", + "diff_blob": "0d79a15325", + "bytes": 14109, + "utc": "2026-10-15T23:07:27.455Z" + }, + { + "path": "requirements.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/requirements.txt", + "sha256": "f95b588f39c53b58fa36c3b65b65cc770e3a051a6a12555a9188808e771d1d13", + "git_blob": "816d0c8e917cfe51c9c7f78f70761ec728f94534", + "diff_blob": "816d0c8e91", + "bytes": 55, + "utc": "2026-10-15T23:07:37.121Z" + }, + { + "path": "RETIRED5-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/RETIRED5-CODE.patch", + "sha256": "c94370f5e40631012709f038762126c88678f45e441a201d9156a56d53524ec8", + "git_blob": "732313f3ca8d9137b2541aa3a035608d1494b51d", + "diff_blob": "732313f3ca", + "bytes": 21178, + "utc": "2026-10-15T23:07:27.680Z" + }, + { + "path": "retired7_controls.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/retired7_controls.py", + "sha256": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "git_blob": "67a9818ac7a31236626d59f0e5c4bb9c74f028d5", + "diff_blob": "67a9818ac7", + "bytes": 5691, + "utc": "2026-10-15T23:07:37.323Z" + }, + { + "path": "RETIRED7-CODE.patch", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/RETIRED7-CODE.patch", + "sha256": "5fe86a963cf0e68ca9a48704910be58d76b48d966c2d6026edbce785796a0fcf", + "git_blob": "4cf31da68bdef7ed23f0b3918f8296bd17000d9e", + "diff_blob": "4cf31da68b", + "bytes": 33341, + "utc": "2026-10-15T23:07:27.635Z" + }, + { + "path": "REUSE-PINS.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/REUSE-PINS.json", + "sha256": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "git_blob": "ff0b83bf69653b7c4df308b0fbda39db5061e641", + "diff_blob": "ff0b83bf69", + "bytes": 22675, + "utc": "2026-10-15T23:07:27.647Z" + }, + { + "path": "SOURCE-FILES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCE-FILES.json", + "sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "git_blob": "7e8a64069e63f405f26ab045eabd3d9bf602e377", + "diff_blob": "7e8a64069e", + "bytes": 61747, + "utc": "2026-10-15T23:07:27.680Z" + }, + { + "path": "SOURCE-NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCE-NOTICE", + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "diff_blob": "380e979f0e", + "bytes": 2456, + "utc": "2026-10-15T23:07:27.822Z" + }, + { + "path": "SOURCES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/SOURCES.json", + "sha256": "ede36d6b940094ea7f27e9a8f7ba4d320ca99b97843e9de03ef68c5c93306ed5", + "git_blob": "aa59a560ca79c4e6e05252cd42b763e883ecb9f4", + "diff_blob": "aa59a560ca", + "bytes": 5192, + "utc": "2026-10-15T23:07:27.827Z" + }, + { + "path": "TASK.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/TASK.json", + "sha256": "c725b9fb1acbbff8c4d0a72e63a4e81e7b0fd12926d5ddb37d0fd4a52b3f2e55", + "git_blob": "61c622f03fcd274d0a491f0adcb0cf20c72c07eb", + "diff_blob": "61c622f03f", + "bytes": 6703, + "utc": "2026-10-15T23:07:27.828Z" + }, + { + "path": "test_integrity.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/test_integrity.py", + "sha256": "67f17c8df3614d582ac2c4d272ceba90d47116af4c6989a1a2e2b5f13e7bc2ee", + "git_blob": "eedb99e86ab7815f688f5550f0a426a32cdddfff", + "diff_blob": "eedb99e86a", + "bytes": 1844, + "utc": "2026-10-15T23:07:37.161Z" + }, + { + "path": "vendor/audit_local_pr2679.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/audit_local_pr2679.py", + "sha256": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "git_blob": "8224873d0497cf0b4c202f31b145fa273553d978", + "diff_blob": "8224873d04", + "bytes": 29363, + "utc": "2026-10-15T23:07:37.475Z" + }, + { + "path": "vendor/ceiling.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/ceiling.py", + "sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "git_blob": "6c0f54527d879396f689523bfde19928a9b6157c", + "diff_blob": "6c0f54527d", + "bytes": 5903, + "utc": "2026-10-15T23:07:37.815Z" + }, + { + "path": "vendor/generate_words.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/generate_words.py", + "sha256": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "git_blob": "94bf0d8f29b9e70a6633a03cb8398d0fec76c60f", + "diff_blob": "94bf0d8f29", + "bytes": 15758, + "utc": "2026-10-15T23:07:38.128Z" + }, + { + "path": "vendor/GENERATOR-NOTICE.txt", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/GENERATOR-NOTICE.txt", + "sha256": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "git_blob": "b075f7180eb541df4bcd2f5df982cd4a6584426b", + "diff_blob": "b075f7180e", + "bytes": 7989, + "utc": "2026-10-15T23:07:37.130Z" + }, + { + "path": "vendor/gf_chart.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/gf_chart.py", + "sha256": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "git_blob": "11f5bfd882669ca30f62b5b4f7677f6bbbc438e2", + "diff_blob": "11f5bfd882", + "bytes": 939, + "utc": "2026-10-15T23:07:37.831Z" + }, + { + "path": "vendor/LICENSE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "diff_blob": "261eeb9e9f", + "bytes": 11357, + "utc": "2026-10-15T23:07:37.505Z" + }, + { + "path": "vendor/target_transport.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/target_transport.py", + "sha256": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "git_blob": "89ee0168c62df976553af08ea6a5a7e802856a5a", + "diff_blob": "89ee0168c6", + "bytes": 2727, + "utc": "2026-10-15T23:07:37.813Z" + }, + { + "path": "vendor/UPSTREAM-NOTICE", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/UPSTREAM-NOTICE", + "sha256": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "git_blob": "46411b80b277d7dcd653a6d1999eaf12975b1103", + "diff_blob": "46411b80b2", + "bytes": 1439, + "utc": "2026-10-15T23:07:37.665Z" + }, + { + "path": "vendor/UPSTREAM-VENDOR-SOURCES.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/UPSTREAM-VENDOR-SOURCES.json", + "sha256": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "git_blob": "cd19eda259c09afee6e737096e6d00305c84fd13", + "diff_blob": "cd19eda259", + "bytes": 1227, + "utc": "2026-10-15T23:07:37.473Z" + }, + { + "path": "vendor/word_patch_pr2679.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/vendor/word_patch_pr2679.py", + "sha256": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "git_blob": "492a3ef8314796c82ecedf8bfcda525ff04c45e1", + "diff_blob": "492a3ef831", + "bytes": 3896, + "utc": "2026-10-15T23:07:38.317Z" + }, + { + "path": "verify_retired7.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/verify_retired7.py", + "sha256": "1d3754ccf91029aa239affe0233de4821d960f654514ceeb3445d464933aba0f", + "git_blob": "0f2c1ee50f9307a1ae5fbb5e71eac856cd930e4e", + "diff_blob": "0f2c1ee50f", + "bytes": 16670, + "utc": "2026-10-15T23:07:38.273Z" + }, + { + "path": "VERIFY.json", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/VERIFY.json", + "sha256": "e32cfbc20fcd9e1ed43b920fcdc9eacc8106c1e35f3b3d33303a700582657ac4", + "git_blob": "a4c9fb33d00b42db6accf43938e76d9c19e21c17", + "diff_blob": "a4c9fb33d0", + "bytes": 2019, + "utc": "2026-10-15T23:07:27.835Z" + }, + { + "path": "verify.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/verify.py", + "sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "git_blob": "d8101f1a282fb4d4513a10fc307d7d748a1b588b", + "diff_blob": "d8101f1a28", + "bytes": 6694, + "utc": "2026-10-15T23:07:38.450Z" + }, + { + "path": "workflow/admit.py", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/17b2ee6ef3cf1468e78a6267f0ecbc9a0e6f60dd/research/t74-joint-twelve-retired7/workflow/admit.py", + "sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "git_blob": "282ff24766c57f93e8d49debacb02aead0861cbe", + "diff_blob": "282ff24766", + "bytes": 14803, + "utc": "2026-10-15T23:07:38.269Z" + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/GENERATOR-PINS.json b/research/superior-replica-kappa/vendor/frontier/GENERATOR-PINS.json new file mode 100644 index 0000000000..53cbe5b14d --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/GENERATOR-PINS.json @@ -0,0 +1,12 @@ +{ + "pr2679_manifest": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "vendor": { + "vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec", + "vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/INPUT-PINS.json b/research/superior-replica-kappa/vendor/frontier/INPUT-PINS.json new file mode 100644 index 0000000000..db68544ada --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/INPUT-PINS.json @@ -0,0 +1,41 @@ +{ + "inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11", + "inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa", + "inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece", + "inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099", + "inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06", + "inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667", + "inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b", + "evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3", + "inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66", + "inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438", + "vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8", + "evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3", + "vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904" +} diff --git a/research/superior-replica-kappa/vendor/frontier/LICENSE b/research/superior-replica-kappa/vendor/frontier/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/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/superior-replica-kappa/vendor/frontier/NOTICE b/research/superior-replica-kappa/vendor/frontier/NOTICE new file mode 100644 index 0000000000..4f946d9773 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/NOTICE @@ -0,0 +1,14 @@ + +research/t74-joint-twelve-retired7 + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. + +This package derives from PR2751 (Tekalign, @tekuuu, Apache-2.0, with substantial OpenAI Codex assistance) and retains its +source notices unchanged in SOURCE-NOTICE. It contains the local retired5 construction (five retired-lender aliases 606<-550, +635<-551, 637<-552, 638<-553, 639<-562 with their exact refits, certified frames and stage inputs; RETIRED5-CODE.patch; +evidence/retired5) and adds the retired7 stages: two hostee moves (the PR2226 borrows of warps 30/31 move from lenders 401/403 +onto 564/565) enabling the retired-lender aliases 667<-401 and 669<-403, with their exact refits, certified frames, stage +inputs, compacted owner fill, checker adaptations (RETIRED7-CODE.patch), retired7_controls.py, verify_retired7.py and +evidence/retired7. Re-used mechanism: PR2679's retired-lender alias 653<-563 (Philippe Van Velzen). Frame refit of PR2751's +words included in the certified frames: PR2766 (DavidAriasC). Vendored byte-identical: vendor/audit_local_pr2679.py and +vendor/word_patch_pr2679.py from the pinned PR2679 package. diff --git a/research/superior-replica-kappa/vendor/frontier/OVERLAY-PINS.json b/research/superior-replica-kappa/vendor/frontier/OVERLAY-PINS.json new file mode 100644 index 0000000000..4c1a0ca6ee --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/OVERLAY-PINS.json @@ -0,0 +1,43 @@ +{ + "original_manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "derived_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "archive_sha256": "12335359418a2d75ff62ada3f868497590e025d5b39f6ee01f1a50f23c9768af", + "files": { + "MANIFEST.json": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "audit_mixed.py": "b8a319f580adf417384a13a996ca82ab674fae7917c2ae971aa4025bb2305e78", + "independent_core.py": "a747bf36a4c005398e71300005a5733bb9fa70fcdb0d00f306c894361c1b2a39", + "new/BORROW-PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4", + "new/borrow-fill/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "new/borrow-fill/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "new/borrow/inputs/alias1_43base.json": "20abad50afc6f75b01ba312687ef27c2ef3c41d8afc1429d8c8c8536384cf508", + "new/borrow/inputs/alias1_43extra.json": "df0739086556744574be9c574ae0cca3b1b7c1409d12647829999ffe9d3bed10", + "new/borrow/inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d", + "new/borrow/inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46", + "new/borrow/inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700", + "new/borrow/inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250", + "new/borrow/inputs/alias8_43base.json": "564a2576b3748847cbf5f0e9d22e4d96d159d65f654b5e02e317b05c186775dd", + "new/borrow/inputs/alias8_43extra.json": "9e437b3f6bd36f0e96bf41435a3698ffd42a17fb372492b144097bd59637d53c", + "new/borrow/inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b", + "new/borrow/inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024", + "new/borrow/inputs/lowfour_43base.json": "9f80e059f3b68eaf2682b162110a75091df98e73eb8d70fb442e5c6fad3363e7", + "new/borrow/inputs/lowfour_43extra.json": "9a726ea6bfd3c7d1452377e4be70ab986195ee184f82eb754906def0d08606fc", + "new/borrow/inputs/prelife_43base.json": "77a9a5e0fdfefe861171e46d370d0797356d99e1302d0b2c676d7a619804216d", + "new/borrow/inputs/prelife_43extra.json": "4b2a805cb82d0c8036d7217979ffe1ff984d29b399066585c6b2502597a386f9", + "new/borrow/inputs/refit563_43base.json": "2f4a008bae24f8112dcb8a2fe27bb3fdecbe9478675f19ffc5b662153c606061", + "new/borrow/inputs/refit563_43extra.json": "2f4a008bae24f8112dcb8a2fe27bb3fdecbe9478675f19ffc5b662153c606061", + "new/borrow/inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "new/borrow/inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642", + "new/borrow/inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "new/borrow/inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1", + "new/borrow/inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "new/borrow/inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7", + "new/borrow/inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "new/borrow/inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df", + "new/borrow/lowfour_controls.py": "157d05da7842ba3939290e874cc9f784f351cbfc897275aa1f19a500532ce89d", + "new/borrow/retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904", + "new/borrow/words/BORROW-WORD-43base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "new/code/borrow/bw_audit_local.py": "08d5864d9b77902fc5ab5a062a8ea843fe1e572243b8c580abb0a421b2e46d07", + "new/rebuild_borrow.py": "ab499d468d49b115af3c1e08b891e43d273e7d4cbd359e0b22d532c5ed253124" + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/PROFILE.json b/research/superior-replica-kappa/vendor/frontier/PROFILE.json new file mode 100644 index 0000000000..c8b3bc8998 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/PROFILE.json @@ -0,0 +1,10 @@ +{ + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 +} diff --git a/research/superior-replica-kappa/vendor/frontier/PROOF.md b/research/superior-replica-kappa/vendor/frontier/PROOF.md new file mode 100644 index 0000000000..d2b1a96ba8 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/PROOF.md @@ -0,0 +1,25 @@ +# Changed recovery contract and complete moment + +The exact object is the two finite T74 words reconstructed by `generate.py`. The experiment uses a single explicit assignment, not a search over all assignments. Starting before PR2462's lowfour transformation is essential: applying the old lowfour patch first is a positive control reproducing its complete original words. + +The new `(removed helper, recovered source, partner)` assignments are: + +``` +(696,33,49), (697,55,101), (698,74,83), (700,85,98), +(680,49,33), (681,83,74), (682,98,85), (684,101,55), +(688,68,4), (689,80,88), (690,88,80), (692,31,12). +``` + +The last eight are PR2696's assignment. For each of the pairs33/49,55/101,74/83,85/98, let `(x,y)` denote the values after their last original uses, in their shared frame. The two added gates are `x += y/2` followed by `y -= x`, hence the linear map is `(x+y/2, y/2-x)`. For the actual predecessor state these restore the two original source values. The proof of that word-specific premise is the full arbitrary-input exact symbolic replay, not a claim that this map is the identity on arbitrary `(x,y)`. + +These restorations precede the new alias handoffs. Original operator IDs remain stable; twelve new chart transformations are appended. Removed-helper echoes are deleted only where they are target additions. For each new source, the generator computes the complete symbolic residual, transports its negative through precondition/compensation, and emits explicit initial correction gates and inverse source warps. Every residual must consist of a single new operator applied to its recovered source. Independent forward/dual propagation checks the resulting arbitrary-input identity, including dirty registers, and separately checks inverse cleanup. + +All lifted targets have frame `[45]`; their offsets are14,21,37,41,43,47,52,78,99,104,106,110. None is a target read by any cut gate. Actual frame propagation therefore leaves all eight centre children rank8. This changes the old-four recovery/target paths fixed in PR2720; its obstruction is respected within its stated domain. + +Apply the six PR2679 pre-life substitutions to the actual resulting state, refit the unique `515 += 563` gate (now B904), then alias653 into563. The complete generator checks semantic equality of both resulting words. The source-bound original checks and negative controls are rerun. No helper saving is inferred solely from nominal register labels. + +The complete local profile is `{1:2366,2:646,3:297,4:120,5:26,8:8}`. Compared with the PR2733 composition it changes by `4*(H8-H7-H1)` per local word. The same415-helper inventory admits the explicit complete allocation; `independent_owners.py` checks276390 roles, strict temporal windows, every physical cell, family masks and all remainders. There are666 call equivalents, giving global delta `2664*(H8-H7-H1)` and rank mass4816512 unchanged. + +At exponent `0 alias5 -> refit5c`. +2. **New here: two hostee moves that free two more lenders.** + - The hostees of B-warps 30 and 31 currently live on the lenders 401 and 403. Those lenders' own lives end in A, before + helpers 667 and 669 enter at B259 and B262. + - Each hostee moves onto a free retired lender: 401 -> 564 and 403 -> 565. Lenders 564 and 565 last act at B911 and B912, + before the hostees enter at B941 and B944. Each moved warp record is replaced in place, so op ids 30 and 31 are kept. + - This frees 401 and 403 for two more retired-lender aliases of PR2679's kind: **667<-401 and 669<-403**. + +**What makes the moves feasible.** An exact frame refit: the last gates of 564 and 565 are lowered from rank 6 to rank 5, which is +their exact propagated frame floor. The moved hostees enter at rank 5 already, so no follower raise is needed. The new aliases are +fixed-frame: lender frame dim 4 = follower entrance dim 4. The certified optimal frames of the final program also lower B1170/B1171, +the next gates of 504/505, from rank 6 to rank 5. + +**Exact claim.** The exact rational κ is `C - 10^-46 - 10^-70`, with `C = 0.001717794984118634663827` (in `CLAIM.json`). Larger κ is +better in `O(n (log n)^(1-κ))`. No selected frontier is edited, and PR2751's own directory is unchanged. + +| compared with | its exact κ (pinned in `evidence/`) | margin of this package | +|---|---|---| +| PR2751 (tekuuu) | `0.001717141586348426338109 - 10^-46 - 10^-70` | `+6.53397770208325718E-7` (exact `326698885104162859/500000000000000000000000`) | +| PR2766 (DavidAriasC) | `0.001717256973467002308270 - 10^-46 - 10^-70` | `+5.38010651632355557E-7` (exact `538010651632355557/1000000000000000000000000`) | +| PR2767 (jeremykothe2) | `0.0017172569734670023082709447…` (3000-digit outer claim) | `+5.38010651632355556055E-7` | +| retired5 (local, unpublished) | `0.001717409316335491643448 - 10^-46 - 10^-70` | `+3.85667783143E-7` | + +**What is new here, and what is credited.** +- The certified frames include PR2766's frame refit of PR2751's words, unchanged: B1151 rank 6 -> 5, plus A0-A11, B771-788 and + restore 60. PR2767 reaches the same κ by another route. +- The five retired-lender aliases are the retired5 construction, worth `+1.52342868489E-7` over PR2766/PR2767. +- The **new contribution of this package is the two hostee moves and the two aliases they enable**, worth `+3.85667783143E-7` over + retired5. + +## Reproduce + +From the repository root, with Python 3.12 and no third-party dependencies, run the registered hook. It completes in about two +minutes and is limited to 17 minutes: + +```sh +python3.12 -B scripts/research_package.py --package research/t74-joint-twelve-retired7 +``` + +It runs four commands: +- `verify.py`: PR2751's literal review, adapted below. It prints `PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY` and checks 271728 owner roles. +- `verify_retired7.py`: the seven-stage rebuild, the pinned PR2679 auditor on all eight states, 142 tamper controls, the literal owner + fill, the 80-digit root, and κ against PR2751, PR2766 and PR2767. +- `packing_cap.py`: the generic packing ceiling. +- `test_integrity.py`: relocation and fail-closed controls. + +Full cold release: install `requirements.txt`, then use a fresh directory outside the repository: + +```sh +python3 -B research/t74-joint-twelve-retired7/full_replay.py --source /path/to/pr2679/research/gmx-t74-borrow43-handoff --work /tmp/FRESH-retired7 +``` + +Without `--source`, the 491 pinned PR2679 files are downloaded and authenticated, exactly as in PR2751. The run then: +- applies this package's 36-file overlay: PR2751's 21 files, retired5's six stage inputs, the eight retired7 stage inputs and + `new/borrow/retired7_controls.py`; +- builds four fresh native providers and the retained-parent admission; +- runs the complete admission: owner reconstruction, parent lift, rebind, discovery/unpin/freeze at PR2751's 24-digit endpoint + precision, the outer ledger and the package's own `verify_release.py` (strict T74 replay and all controls). + +Expected result: `PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE 0.0017177949841186346638269999999999999999999998999999999999999999999999` (recorded cold run of the committed package: 411 s; see `evidence/retired7/FULL-REPLAY-RESULT.json`). +`--prepared-native-cache` is not supported: `REUSE-PINS.json` is PR2751's and describes PR2751's cache. + +To regenerate all four words (PR2751's two, then this package's two through the declared stages) from source: + +```sh +python3 -B research/t74-joint-twelve-retired7/generate.py --source /path/to/pr2679/research/gmx-t74-borrow43-handoff --out /tmp/FRESH-retired7-words +``` + +Expected: `PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS`. + +## Construction and cost + +**Census** (on the retired5 words, with PR2679's exact frame lattice `new/borrow/refit/search` and the `pairs.py` rule): +- 52 followers remain. 48 enter at rank 1 (width 8) and 4 at rank 4 with ceiling 5 (width 5): 667, 669, 670 and 671. There are 404 + lenders, and no direct pair or chain is feasible. +- Every rank-1 follower stays infeasible, because every lender's exact floor is at least rank 4. +- Every existing B-warp hosting is treated as movable. 24 hosted lenders (warps 1-4 and 22-41) end their own lives before B259, with + floor rank 4, and could take a rank-4 follower if their hostee moves to a free lender. Only two free lenders have floor <= 5 and + retire before the hostees enter: 564 and 565. +- That gives 192 augmenting paths and at most **two** extra aliases. +- Warps 30 and 31 are chosen because their hostees already enter at rank 5. Moves of warps 1-4 or 22-29 need a 16-gate raise closure + and price lower. + +**Stages.** These are new stages of `new/rebuild_borrow.py` inside the overlay, run after retired5's `refit5c`: +- `refit7_43*.json`: two frames per word. The last gates of 564/565 (B911/B912) go from dim 6 to 5, recorded with their previous frames. +- `hostmove2_43*.json`: two warp records replaced in place (op 30: 401 -> 564 at B941; op 31: 403 -> 565 at B944; dim 5, explicit + invertible `G`, `G(U)=E`), and 28 declared gate edits, which relabel the 14 hostee gates. Nothing else changes. +- `alias7_43*.json`: `alias_build.alias` 667<-401 and 669<-403, with dim 4 warps appended, 28 declared gate edits, and both helpers removed. +- `refit7c_43*.json`: the certified optimal frames of the final program, two frames (B1170/B1171, dim 6 -> 5), computed with the + #1186 exact frame toolkit (`optimal_frames`, borrow-word model, certified). + +Every one of the eight states passes the auditor. + +**Inventory and profile.** +- 408 helpers {4:26, 5:2, 7:62, 8:78, 9:240}, 72 private buffers, 666 calls and 271728 hosted roles. +- live 66304; physical 66794 = 66304+408+8+72+2. +- Local profile `{1:2382,2:648,3:268,4:128,5:26,8:8}` on both words, against `{1:2386,2:642,3:274,4:128,5:26,8:8}` for retired5. + +**Owner fill.** It is PR2751's fill with the seven removed helpers' roles dropped, renumbered and re-tiled as bin prefixes (`verify.py` +`compact`). The 1332 cells freed beyond retired5 become idle 5-remainders. +- Complete profile `{1:1603728,2:431568,3:185082,4:85248,5:27194,8:5328,32:1,48:26558}`; rank mass 4816512; idle `{1:17316,3:6594,5:9878,32:1,48:26558}`. +- The pattern relaxation of the owner fill (8/16/32/48 bins, the r8 model) has the same optimum as this realized compaction. +- The exact moment root lies strictly between `0.001717794984118634663827` and `0.001717794984118634663828`. +- The 80-digit root is `0.00171779498411863466382722991842817890408858438546231220090092725676198114516931`. + +**Packing ceiling.** The generic coverage-law ceiling (`packing_cap.py`, the pinned `ceiling.ceiling()`) is about `0.00175808593463`, +with realized fraction `0.9770824908`. It is a packing cap, not a sharp optimum. + +## Checker adaptations (diffs in `RETIRED7-CODE.patch`; the retired5 adaptations are in `RETIRED5-CODE.patch`) + +1. **`verify.py`.** The candidate profile and endpoint are re-pinned. The declared stage chain gains `refit7 -> hostmove2 -> alias7 -> refit7c`. + The compaction now removes seven helpers: the five retired5 ones plus 667 and 669. +2. **`verify_retired7.py`** (replaces `verify_retired5.py`). It adds the retired7 stage-structure checks and audits all eight states. + It also runs `retired7_controls.py`, 25 controls per word, on top of retired5's 46 per word. The owner fill size is R 408. +3. **`retired7_controls.py`** (new; also in the overlay as `new/borrow/retired7_controls.py`, called by `rebuild_borrow.py`). Every + mutant has its inverse-reverse cleanup re-derived, and a rejection for a stale-cleanup reason counts as a failure. The controls are: + - each lender refit undone, which must be rejected by `warp frame mismatch`; + - per move: warp lender reverted, move undone, warp before the new lender retires, and `G` wrong; + - PR2679's alias suite on each new alias: borrowed read sign flipped, read doubled, write sign flipped, warp dropped, `G` wrong, + warp after the follower's first gate, and helper kept with an entrance frame. "Warp after the first gate" replaces "warp before + lender retirement", because these lenders retire in A, which leaves no B position before retirement; + - one certified frame corrupted. +4. **`workflow/admit.py`.** + - The derived-source pin is `9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451`, with 506 files instead of 497. + - The physical stock is 66794 instead of 66796 (R 408). +5. **`new/rebuild_borrow.py`** (overlay). It has the four stages with exact structure checks, and the retired7 controls call. + +`generate.py`, `packing_cap.py` and `test_integrity.py` change only the stage list, the expected candidate values and the markers. +`independent_owners.py` is unchanged from retired5: it reads `R` from the providers. + +## Verification and controls + +**Full cold release.** `evidence/retired7/FULL-REPLAY-*.json`. +- All four native providers are fresh, with five stages each. +- The retained-parent admission passed. +- The complete admission passed: owners, parent lift, rebind, discovery, outer ledger and independent derivation. +- The package's own `verify_release.py` returned `PASS_RELEASE`. Its `rebuild-borrow-words` stage includes the retired5 and + retired7 stage checks and controls. + +**Registered hook.** It repeats the seven-stage rebuild with the vendored, byte-identical PR2679 auditor and all 142 tamper controls, +plus the literal owner fill and the exact arithmetic. + +**Precision.** The endpoint is certified at `10^-24`: accept at `C`, reject at `C+10^-24`, with exact rationals. That is 16 orders of +magnitude below the `3.86e-7` margin over retired5. κ = `C - 10^-46 - 10^-70` exactly. + +## Scope and inherited obligations + +Finite exact admission is conditional evidence, not a formal proof of the complete multiplication theorem. The following remain +inherited from PR2751 and its lineage unchanged: +- all-size compiler and machine realization; +- common labels and source access; +- physical hosting and routing; +- precision and fixed-tape contracts; +- exact recovery and analytic transfer; +- recurrence; +- the bit-supplier and modern outer obligations. + +No new discharge of those universal obligations is claimed. The selected accepted result and this pending derivative are distinct. +The census searched retired-lender aliases, with every existing B-warp hosting movable onto a free retired lender. No optimality is +claimed over other mechanisms. + +## Credits + +- **Tekalign (@tekuuu), PR2751:** the joint twelve-source construction, words, fill transform, independent checkers and full replay (the parent). +- **Cinna Davis (1337isnot1337), PR2226:** anticipatory dirty borrowing. Warps 30/31 are its borrows: helpers 603 and 605 borrow + from lenders 401 and 403, as adapted to the T74 words. +- **Philippe Van Velzen (philippeVV), PR2679 (and PR2559):** the six pre-life hostings, the one-gate frame refit and the retired-lender + alias 653<-563, which is the mechanism re-used for all seven aliases; also the exact refit/search frame tools and the alias builder. +- **Jeremy Kothe (jeremykothe2), PR2673/PR2745:** + - the priority call order and window-optimal owner fill; + - the composition of PR2696 with PR2679; + - the gmx-t74-borrow43 package machinery, entrance raises and BORROW-WORD lineage (PR2588, PR2575, PR2526, PR2474, PR2462, PR2447, + PR2435), including the T74 adaptation of PR2226's borrows and the base-word lenders 564/565. +- **Mason Hale, PR2696:** the eight-lender assignment. +- **DavidAriasC, PR2766:** the frame refit of PR2751's words, which is included in the certified frames. +- **Vlado Vojdanovski (Vlado-V), PR2322:** the coherent handoff. +- **Our PR1625:** the pivot-kernel shape. **Our PR1186:** the exact frame toolkit. **Our retired5 package:** the five aliases. + +All notices and the lineage these packages retain are kept: see `SOURCE-NOTICE`, PR2751's `README.md` and `PROOF.md`. + +## Open next questions + +1. **Gate-level edits.** Can a gate-level (kernel) edit make the 48 rank-1-entrance followers alias-feasible? Every lender's exact floor is at least rank 4. +2. **Followers 670 and 671.** Both still lack a lender: the only free floor-5 lenders (564/565) are used by the moves. A third free + lender would need a frame floor of at most 5 and retirement before B941. +3. **Stacking with PR2767.** Do these stages stack with PR2767's post-cut partner correction, or with other post-PR2751 constructions? + +Prepared by Marius-Paul Dumitrean with substantial AI assistance (Anthropic Claude, via Claude Code). Apache-2.0. diff --git a/research/superior-replica-kappa/vendor/frontier/RETIRED5-CODE.patch b/research/superior-replica-kappa/vendor/frontier/RETIRED5-CODE.patch new file mode 100644 index 0000000000..732313f3ca --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/RETIRED5-CODE.patch @@ -0,0 +1,260 @@ +--- research/t74-joint-twelve/verify.py ++++ research/t74-joint-twelve-retired5/verify.py +@@ -15,6 +15,30 @@ + import exact_moment as M + HERE=Path(__file__).resolve().parent +-PROFILE={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +-LOW=F('0.001717141586348426338109') ++PROFILE={1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} ++LOW=F('0.001717409316335491643448') ++PROFILE2751={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} ++LOW2751=F('0.001717141586348426338109') ++ALIASES=[(606,550),(635,551),(637,552),(638,553),(639,562)] # retired5 ++import importlib.util as _iu ++_s=_iu.spec_from_file_location('word_patch_pr2679',Path(__file__).resolve().parent/'vendor/word_patch_pr2679.py');WP=_iu.module_from_spec(_s);_s.loader.exec_module(WP) ++def refit_apply(w0,p): ++ w=copy.deepcopy(w0) ++ for sec,i,fr in p['frames']: ++ need(w[sec][i][:-1]==w0[sec][i][:-1],'refit changes a gate');w[sec][i][-1]=fr ++ w['report']['local_profile']=p['local_profile'];return w ++def compact(fill,old_words,new_words,old_prov,new_prov,order,dispatch): ++ live=lambda w:[r for r in range(224,704) if r not in set(w['removed'])] ++ L0=live(old_words['gauge44']);L1=live(new_words['gauge44']);need(L0==live(old_words['extra']) and L1==live(new_words['extra']),'live helper sets') ++ gone=set(L0)-set(L1);need(set(L1)<=set(L0) and sorted(gone)==sorted(h for h,_ in ALIASES),'removed helpers') ++ i1={r:i for i,r in enumerate(L1)};bins={} ++ for pid in ('gauge44','extra'):need([old_prov[pid]['widths'][L0.index(r)] for r in L1]==new_prov[pid]['widths'],'renumbered widths') ++ for t,h,o,c,p,off in fill['rows']: ++ if L0[h] in gone:continue ++ bins.setdefault((o,c,p),[]).append([t,i1[L0[h]],o,c,p,off]) ++ rows=[] ++ for key,rs in bins.items(): ++ rs.sort(key=lambda x:x[5]);pos=0 ++ for x in rs:x[5]=pos;pos+=new_prov[dispatch[tuple(order[x[0]])]]['widths'][x[1]];rows.append(x) ++ rows.sort(key=lambda x:(x[0],x[1]));return dict(fill,rows=rows) + def need(ok,msg): + if not ok:raise ValueError(msg) +@@ -29,6 +53,6 @@ + need(F(claim['complex_lower'])==LOW and F(claim['complex_upper'])==LOW+F(1,10**24),'claim bracket') + need(F(claim['kappa'])==LOW-F(1,10**46)-F(1,10**70),'claim outer endpoint') +- for name in ('PR2733','PR2745'): +- previous=json.loads((HERE/'evidence'/f'{name}-CLAIM.json').read_text()) ++ for name in ('PR2733','PR2745','PR2751','PR2766','PR2767'): ++ previous=json.loads((HERE/'evidence'/(f'{name}-OUTER-CLAIM.json' if name=='PR2767' else f'{name}-CLAIM.json')).read_text()) + need(F(claim['kappa'])>F(previous['kappa']),'strict improvement over '+name) + words={} +@@ -49,6 +73,16 @@ + dispatch={(s,r):p for s,r,p in rd('DISPATCH.json.gz')} + need(order==rd('SOURCE-ORDER.json'),'source order') +- constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),providers,rd('SOURCE-FILL.json.gz'),order,dispatch,words) +- need(constructed==fill,'complete deterministic fill') ++ # retired5: PR2751's own construction (its words, providers and fill) is reproduced first ... ++ words51={'gauge44':rd('WORD2751-base.json.gz'),'extra':rd('WORD2751-extra.json.gz')};prov51=rd('PROVIDERS2751.json');fill51=rd('FILL2751.json.gz') ++ constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),prov51,rd('SOURCE-FILL.json.gz'),order,dispatch,words51) ++ need(constructed==fill51,'complete deterministic PR2751 fill') ++ # ... then the declared stages turn its words into the candidate words exactly ... ++ for tag,pid in [('base','gauge44'),('extra','extra')]: ++ w=refit_apply(words51[pid],rd('refit5_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias5_43'+tag+'.json'));w=refit_apply(w,rd('refit5c_43'+tag+'.json')) ++ need(w==words[pid],'declared stages reproduce the candidate word '+tag) ++ d2=dict(dispatch) ++ for s,r,p in fill['dispatch_overrides']:d2[s,r]=p ++ # ... and the candidate fill is PR2751's fill with the five removed helpers' roles dropped, renumbered and re-tiled as bin prefixes ++ need(compact(fill51,words51,words,prov51,providers,order,d2)==fill,'complete deterministic candidate fill') + owner=I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,fill,providers,dispatch,PROFILE) + bad=copy.deepcopy(fill);bad['rows'][0][5]=999 +@@ -57,6 +91,5 @@ + else:raise ValueError('accepted out-of-bin placement') + _,a=M.moment_bounds(PROFILE,LOW);b,_=M.moment_bounds(PROFILE,LOW+F(1,10**24));need(a<6630466304,'PR2733 rejects candidate endpoint') +- return {'status':'PASS_JOINT_TWELVE_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} ++ x,_=M.moment_bounds(PROFILE2751,LOW);need(x>66304,'PR2751 rejects candidate endpoint') ++ return {'status':'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} + if __name__=='__main__':print(json.dumps(run(),indent=2)) +--- research/t74-joint-twelve/independent_owners.py ++++ research/t74-joint-twelve-retired5/independent_owners.py +@@ -67,11 +67,12 @@ + need(set(dispatch)==set(map(tuple,order)),'dispatch coverage') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'role columns') +- need(len(fill['rows'])==666*415,'role count') +- need(all(len(p['widths'])==415 for p in providers.values()),'helper widths') ++ R=len(next(iter(providers.values()))['widths']) # retired5: helper count from the providers (was 415) ++ need(len(fill['rows'])==666*R,'role count') ++ need(all(len(p['widths'])==R for p in providers.values()),'helper widths') + helper_bits=[0]*666;family_bits=[0]*666;occupied={} + for row in fill['rows']: + need(len(row)==6 and all(type(v) is int for v in row),'role shape') + t,h,o,c,port,offset=row +- need(0<=t<666 and 0<=h<415 and 0<=port<112,'role bounds') ++ need(0<=t<666 and 0<=h previous, ++ need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous and kappa > Q('17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000'), # retired5: also strictly above PR2751 + 'candidate must strictly improve pinned COMPOSED before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') +--- research/t74-joint-twelve/generate.py ++++ research/t74-joint-twelve-retired5/generate.py +@@ -45,5 +45,15 @@ + w,_=AB.alias(w,653,563);lp,wi=AB.profile(w);w['report'].update(local_profile=lp,width_inventory=wi) + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') +- need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated word equality') +- print('PASS_REGENERATED_JOINT_TWELVE_BOTH_WORDS') ++ need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') ++ # retired5: the declared stages refit5 -> alias5 -> refit5c turn the regenerated PR2751 word into the candidate word ++ for st in ('refit5','alias5','refit5c'): ++ p_=rd(HERE/f'inputs/{st}_43{tag}.json') ++ if st=='alias5':w=W.apply_lowfour(w,p_) ++ else: ++ w=copy.deepcopy(w) ++ for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st=='refit5c','refit gate');w[sec][i][-1]=frame ++ w['report']['local_profile']=p_['local_profile'] ++ f=out/f'WORD-retired5-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired5-{tag}.json') ++ need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') ++ print('PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS') + if __name__=='__main__':main() +--- research/t74-joint-twelve/packing_cap.py ++++ research/t74-joint-twelve-retired5/packing_cap.py +@@ -11,7 +11,7 @@ + sys.dont_write_bytecode = True + ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +-IDLE = {1:17316,3:6594,5:5216,32:1,48:26558} +-CANDIDATE = {1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +-ENDPOINT = Q('0.001717141586348426338109') ++IDLE = {1:17316,3:6594,5:8546,32:1,48:26558} ++CANDIDATE = {1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} ++ENDPOINT = Q('0.001717409316335491643448') + + def need(ok, message): +@@ -28,7 +28,7 @@ + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} +- need(local == {1:2366,2:646,3:297,4:120,5:26,8:8}, 'complete local profile') ++ need(local == {1:2386,2:642,3:274,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) +- need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5223, 'coverage identity') ++ need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5198, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') +--- research/t74-joint-twelve/test_integrity.py ++++ research/t74-joint-twelve-retired5/test_integrity.py +@@ -10,9 +10,9 @@ + def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} + def main(): +- with tempfile.TemporaryDirectory(prefix='joint-twelve-controls-') as t: ++ with tempfile.TemporaryDirectory(prefix='joint-twelve-retired5-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) +- r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') ++ r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') +--- PR2751 overlay: new/rebuild_borrow.py ++++ retired5 overlay: new/rebuild_borrow.py +@@ -1,3 +1,3 @@ +-"""rebuild_borrow.py: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), ++"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), + check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. + usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +@@ -121,4 +121,35 @@ + (RCP/f'ALIAS-ENUMERATION-43{wt}.json').write_text(json.dumps(dict(prelife_refit_state=dict(counts=s0,pairs=[{k_:x_[k_] for k_ in('h','L','p1','d','s','f1','width','dprof')} for x_ in e0]),shipped=dict(counts=s1,pairs=len(e1)), + note='counts: h_used_in_A_or_early = helpers first used before B (needs the prelude/lifted-target mechanism); the other counts are (h,L) pairs failing that condition'),indent=1)+'\n') ++ A5=[(606,550),(635,551),(637,552),(638,553),(639,562)];H5=[h_ for h_,_ in A5];L5=[L_ for _,L_ in A5] ++ def regs_(e_):return e_[1:3] if e_[0]=='add' else e_[1:2] ++ def frames_only(x,y): # same gate lists in A/B/restore, every other field equal (report aside); returns the changed (section,index) set ++ assert all(len(x[k_])==len(y[k_]) and all(a_[:-1]==b_[:-1] for a_,b_ in zip(x[k_],y[k_])) for k_ in ('A','B','restore')) ++ assert all(x[k_]==y[k_] for k_ in x if k_ not in ('A','B','restore','report')) and set(x)==set(y) ++ return {(k_,i_) for k_ in ('A','B','restore') for i_,(a_,b_) in enumerate(zip(x[k_],y[k_])) if a_!=b_} ++ r5f=D/'inputs'/f'refit5_43{wt}.json';r5patch=None ++ if r5f.exists(): # retired5: exact minimal-change refit for five retired-lender aliases (refit/search: lenders' last gates to their exact floors, followers' first gates to their exact ceilings) ++ r5patch=json.loads(r5f.read_text());prev_r5=chain[-1];chain.append(refit_apply(prev_r5,r5patch));steps.append('refit5');nr5=chain[-1] ++ try:ch5=frames_only(prev_r5,nr5);kok&=ch5=={(s_,i_) for s_,i_,_ in r5patch['frames']} ++ except AssertionError:kok=False ++ lastL={L_:max(p_ for p_,e_ in enumerate(prev_r5['B']) if L_ in regs_(e_)) for L_ in L5};firstH={h_:min(p_ for p_,e_ in enumerate(prev_r5['B']) if h_ in regs_(e_)) for h_ in H5} ++ kok&=all(lastL[L_]66304,'PR2751 rejects candidate endpoint') +- return {'status':'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} ++ return {'status':'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} + if __name__=='__main__':print(json.dumps(run(),indent=2)) +diff --git a/packing_cap.py b/packing_cap.py +index 435b62e..fe937f8 100644 +--- a/packing_cap.py ++++ b/packing_cap.py +@@ -11,7 +11,7 @@ HERE = Path(__file__).resolve().parent + sys.dont_write_bytecode = True + ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +-IDLE = {1:17316,3:6594,5:8546,32:1,48:26558} +-CANDIDATE = {1: 1606392, 2: 427572, 3: 189078, 4: 85248, 5: 25862, 8: 5328, 32: 1, 48: 26558} +-ENDPOINT = Q('0.001717409316335491643448') ++IDLE = {1:17316,3:6594,5:9878,32:1,48:26558} ++CANDIDATE = {1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} ++ENDPOINT = Q('0.001717794984118634663827') + + def need(ok, message): +@@ -28,7 +28,7 @@ def calculate(profile_path=None): + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} +- need(local == {1:2386,2:642,3:274,4:128,5:26,8:8}, 'complete local profile') ++ need(local == {1:2382,2:648,3:268,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) +- need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5198, 'coverage identity') ++ need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5188, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') +diff --git a/generate.py b/generate.py +index 7c6f2dc..dafca20 100644 +--- a/generate.py ++++ b/generate.py +@@ -46,14 +46,14 @@ def main(): + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') +- # retired5: the declared stages refit5 -> alias5 -> refit5c turn the regenerated PR2751 word into the candidate word +- for st in ('refit5','alias5','refit5c'): ++ # retired5 + retired7: the declared stages refit5 -> alias5 -> refit5c -> refit7 -> hostmove2 -> alias7 -> refit7c turn the regenerated PR2751 word into the candidate word ++ for st in ('refit5','alias5','refit5c','refit7','hostmove2','alias7','refit7c'): + p_=rd(HERE/f'inputs/{st}_43{tag}.json') +- if st=='alias5':w=W.apply_lowfour(w,p_) ++ if st in ('alias5','hostmove2','alias7'):w=W.apply_lowfour(w,p_) + else: + w=copy.deepcopy(w) +- for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st=='refit5c','refit gate');w[sec][i][-1]=frame ++ for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st in ('refit5c','refit7','refit7c'),'refit gate');w[sec][i][-1]=frame + w['report']['local_profile']=p_['local_profile'] +- f=out/f'WORD-retired5-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired5-{tag}.json') ++ f=out/f'WORD-retired7-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired7-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') +- print('PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS') ++ print('PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS') + if __name__=='__main__':main() +diff --git a/test_integrity.py b/test_integrity.py +index 85d1f86..eedb99e 100644 +--- a/test_integrity.py ++++ b/test_integrity.py +@@ -10,9 +10,9 @@ def need(ok,msg): + def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} + def main(): +- with tempfile.TemporaryDirectory(prefix='joint-twelve-retired5-controls-') as t: ++ with tempfile.TemporaryDirectory(prefix='joint-twelve-retired7-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) +- r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_PLUS_FIVE_ALIASES_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') ++ r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') +diff --git a/workflow/admit.py b/workflow/admit.py +index 37dc6e3..282ff24 100644 +--- a/workflow/admit.py ++++ b/workflow/admit.py +@@ -23,5 +23,5 @@ import time + + SOURCE_COMMIT = 'local-joint12-pr2733' +-SOURCE_MANIFEST = '0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3' # retired5 derived source: PR2751 overlay + five retired-lender aliases ++SOURCE_MANIFEST = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' # retired7 derived source: PR2751 overlay + five retired-lender aliases + two hostee moves and two aliases + PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' + PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +@@ -70,5 +70,5 @@ def main(): + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') +- need(len(source_files) == 497 and tree(source, ('MANIFEST.json',)) == source_files, ++ need(len(source_files) == 506 and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + native_receipt = read(a.native_receipt) +@@ -170,5 +170,5 @@ def main(): + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') +- need(spec['expected']['physical'] == 66796, 'complete physical cost including 72 buffers (R 410)') ++ need(spec['expected']['physical'] == 66794, 'complete physical cost including 72 buffers (R 408)') + layout = work / 'layout' + layout.mkdir() +diff --git a/verify_retired5.py b/verify_retired7.py +index 720b3e1..0f2c1ee 100644 +--- a/verify_retired5.py ++++ b/verify_retired7.py +@@ -2,8 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +-"""Bounded replay of the five retired-lender aliases on PR2751's words (read-only, standard library only). ++# retired7 extension of verify_retired5.py (same author). ++"""Bounded replay of retired7 on PR2751's words: the five retired-lender aliases (retired5 stages) plus two hostee moves that free ++two more retired lenders (retired7 stages refit7 -> hostmove2 -> alias7 -> refit7c). Read-only, standard library only. + +-1. Rebuilds both candidate words from PR2751's words through the three declared stages (refit5, alias5, refit5c) and checks +- each stage's declared structure exactly. ++1. Rebuilds both candidate words from PR2751's words through the seven declared stages (refit5, alias5, refit5c, refit7, hostmove2, ++ alias7, refit7c) and checks each stage's declared structure exactly. + 2. Runs the pinned PR2679 BORROW-WORD auditor (vendor/audit_local_pr2679.py, byte-identical) on every state. + 3. Tamper controls, each rejected by that auditor for a real reason: every lender refit undone (warp frame mismatch), every +@@ -21,4 +23,6 @@ sys.dont_write_bytecode = True + sys.path.insert(0, str(HERE)) + ALIASES = [(606, 550), (635, 551), (637, 552), (638, 553), (639, 562)] ++MOVES = [(30, 401, 564, 911), (31, 403, 565, 912)] # retired7: (warp op, old lender, new lender, new lender's last B gate) ++NEW7 = [(667, 401), (669, 403)] + H5 = [h for h, _ in ALIASES]; L5 = [L for _, L in ALIASES] + def need(ok, msg): +@@ -45,5 +49,5 @@ def main(): + need(hashlib.sha256((HERE / name).read_bytes()).hexdigest() == digest, 'vendored source pin ' + name) + AU = load('audit_local_pr2679', HERE / 'vendor/audit_local_pr2679.py'); WP = load('word_patch_pr2679', HERE / 'vendor/word_patch_pr2679.py') +- import independent_owners as I, exact_moment as M ++ import independent_owners as I, exact_moment as M, retired7_controls as R7 + tmp = Path(tempfile.mkdtemp(prefix='retired5-')) + def audit(w, name): +@@ -72,6 +76,30 @@ def main(): + need(all(s2[k] == s1[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias5 changes nothing else') + s3 = refit_apply(s2, p3); ch3 = frames_only(s2, s3); need(ch3 == {(s, i) for s, i, _ in p3['frames']}, 'refit5c declared frames') +- need(s3 == final, 'declared stages rebuild the candidate word ' + tag) +- for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('candidate', s3))): ++ p4, p5, p6, p7 = (rd(f'inputs/{n}_43{tag}.json') for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')) ++ s4 = refit_apply(s3, p4); ch4 = frames_only(s3, s4); need(ch4 == {('B', g) for _, _, _, g in MOVES} == {(s, i) for s, i, _ in p4['frames']}, 'refit7 declared frames') ++ need(all(len(s3['B'][g][-1]) == 6 and len(s4['B'][g][-1]) == 5 and L1 in regs(s3['B'][g]) and max(p for p, e in enumerate(s3['B']) if L1 in regs(e)) == g for _, _, L1, g in MOVES), 'new lenders: last gates lowered 6 -> 5') ++ need(not any(L1 in regs(e) for _, _, L1, _ in MOVES for e in s3['restore']) and p4['previous_frames'] == [[s, i, s3[s][i][-1]] for s, i, _ in p4['frames']], 'new lenders retired; previous frames recorded') ++ s5 = WP.apply_lowfour(s4, p5) ++ need(WP.kernel_gate_edit(s4['B'], s5['B']) == p5['declared_gate_edit'] and s5['removed'] == s4['removed'] and s5['start_extra'] == s4['start_extra'], 'hostmove2 declared edit') ++ for i, (a, b) in enumerate(zip(s4['B'], s5['B'])): ++ c = list(a) ++ for op, L0, L1, _ in MOVES: ++ if i >= s4['warps'][op - 1][0]: c = [L1 if (j in (1, 2) if c[0] == 'add' else j == 1) and x == L0 else x for j, x in enumerate(c)] ++ need(c[:-1] == b[:-1], 'hostmove2 is exactly the relabel of the hostees from their warp positions') ++ need([i for i, (x, y) in enumerate(zip(s4['warps'], s5['warps'])) if x != y] == [op - 1 for op, _, _, _ in MOVES] and len(s5['warps']) == len(s4['warps']), 'hostmove2 replaces exactly warps 30 and 31 in place') ++ need(all(s4['warps'][op - 1][1] == L0 and s5['warps'][op - 1][1] == L1 and len(s5['warps'][op - 1][3]) == len(s5['warps'][op - 1][4]) == 5 and s5['warps'][op - 1][0] > g for op, L0, L1, g in MOVES), 'moved warps: new lenders, dim 5, after the lenders retire') ++ need([[m['pos'], m['L_new'], m['G'], m['U'], m['E']] for m in p5['moves']] == [s5['warps'][op - 1] for op, _, _, _ in MOVES] and [m['old_record'] for m in p5['moves']] == [s4['warps'][op - 1] for op, _, _, _ in MOVES], 'hostmove2 records') ++ need(all(not any(L0 in regs(e) for e in s5['B'] + s5['restore']) for _, L0, _, _ in MOVES), 'old lenders untouched after their A lives') ++ need(all(s5[k] == s4[k] for k in ('A', 'restore', 'helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'hostmove2 changes nothing else') ++ s6 = WP.apply_lowfour(s5, p6); H7 = [h for h, _ in NEW7]; L7 = [L for _, L in NEW7] ++ need(WP.kernel_gate_edit(s5['B'], s6['B']) == p6['declared_gate_edit'] and s6['removed'] == s5['removed'] + H7, 'alias7 declared edit and removed helpers') ++ need(s6['warps'][:len(s5['warps'])] == s5['warps'] and [x[1] for x in s6['warps'][len(s5['warps']):]] == L7 and all(len(x[3]) == len(x[4]) == 4 for x in s6['warps'][-2:]), 'alias7 warps') ++ need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p6['aliases']] == s6['warps'][-2:] and [a['h'] for a in p6['aliases']] == H7 and s6['A'] == s5['A'] and s6['restore'] == s5['restore'], 'alias7 records') ++ need(all(max([p for p, e in enumerate(s5['B']) if L in regs(e)], default=-1) < min(p for p, e in enumerate(s5['B']) if h in regs(e)) for h, L in NEW7) and not any(L in regs(e) for L in L7 for e in s5['restore']), 'alias7 lenders retired before their followers enter') ++ need(s6['start_extra'] == {k: v for k, v in s5['start_extra'].items() if int(k) not in H7} and not any(h in regs(e) for h in H7 for e in s6['B'] + s6['restore']), 'alias7 helpers fully removed') ++ need(all(s6[k] == s5[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias7 changes nothing else') ++ s7 = refit_apply(s6, p7); ch7 = frames_only(s6, s7); need(ch7 == {(s, i) for s, i, _ in p7['frames']}, 'refit7c declared frames') ++ need(s7 == final, 'declared stages rebuild the candidate word ' + tag) ++ for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('retired5', s3), ('refit7', s4), ('hostmove2', s5), ('alias7', s6), ('candidate', s7))): + r = audit(w, f'{tag}-{name}'); need(r is None, f'auditor rejects {tag} {name}: {r}') + c = {} +@@ -99,5 +127,7 @@ def main(): + need(r is not None and not r.split(': ', 1)[-1].startswith(('explicit cleanup differs', 'warp operator id')), f'{tag} {h}<-{L} {nm}: not rejected for a real reason: {r}') + sec, i, fr = p3['frames'][len(p3['frames']) // 2]; m = copy.deepcopy(final); m[sec][i][-1] = [1]; r = audit(m, f'{tag}-refit5c-tamper'); c['certified frame corrupted'] = r; need(r is not None, f'{tag} refit5c tamper accepted') +- out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), local_profile=final['report']['local_profile']) ++ ok7, c7 = R7.controls(final, p4, p5, p6, p7, lambda w: audit(w, f'{tag}-r7'), WP); need(ok7, f'{tag} retired7 controls: ' + json.dumps({k: v['reason'] for k, v in c7.items() if not v['real_reason']})[:300]) ++ c.update({k: v['reason'] for k, v in c7.items()}) ++ out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), refit7_frames=len(ch4), hostmove2_gate_edits=len(p5['declared_gate_edit']), alias7_gate_edits=len(p6['declared_gate_edit']), refit7c_frames=len(ch7), retired7_controls=len(c7), local_profile=final['report']['local_profile']) + out['controls'][tag] = {k: v[:90] for k, v in c.items()} + # literal owner check of the complete candidate fill +@@ -106,5 +136,5 @@ def main(): + profile = {int(k): v for k, v in rd('CLAIM.json')['profile'].items()} + owner = I.check(rd('inputs/PLAN.json.gz'), rd('inputs/GLOBAL-TEMPLATE.json.gz'), order, fill, providers, dispatch, profile) +- need(owner['roles'] == 666 * 410 and owner['helpers_per_call'] == 410, 'owner fill size') ++ need(owner['roles'] == 666 * 408 and owner['helpers_per_call'] == 408, 'owner fill size') + # exact endpoint and kappa + claim = rd('CLAIM.json'); C = F(claim['complex_lower']) +@@ -122,5 +152,5 @@ def main(): + k = F(rd(rel)['kappa']); need(K > k, 'strict improvement over ' + name); d = K - k + margins[name] = dict(decimal=str(Decimal(d.numerator) / Decimal(d.denominator))[:40], exact=str(d) if len(str(d)) < 120 else 'K - kappa(' + rel + ')') +- out.update(status='PASS_T74_JOINT_TWELVE_RETIRED5_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), ++ out.update(status='PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), + complex_lower=str(C), root_80_digits=str(+z)[:82], kappa=str(K), margins=margins, + scope='Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py).') +diff --git a/new/rebuild_borrow.py b/new/rebuild_borrow.py +index d7cac67..157c371 100644 +--- a/new/rebuild_borrow.py ++++ b/new/rebuild_borrow.py +@@ -1,3 +1,3 @@ +-"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), ++"""rebuild_borrow.py [retired5: + refit5/alias5/refit5c stages and controls; retired7: + refit7/hostmove2/alias7/refit7c stages and controls]: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), + check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. + usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +@@ -152,4 +152,48 @@ for canon,wt,h in CASES: + try:chc=frames_only(prev_c5,nc5);kok&=chc=={(s_,i_) for s_,i_,_ in r5cpatch['frames']} + except AssertionError:kok=False ++ M7=[(30,401,564,911),(31,403,565,912)];N7=[(667,401),(669,403)];H7=[h_ for h_,_ in N7];L7=[L_ for _,L_ in N7] # retired7: hostee moves (warp op, old lender, new lender, new lender's last B gate) and two new aliases ++ def relabel_ok(x,y,pairs): # y's B section is x's with old->new lender relabelled from each pair's start, nothing else ++ for i_,(a_,b_) in enumerate(zip(x,y)): ++ c_=list(a_) ++ for st_,o_,n_ in pairs: ++ if i_>=st_: ++ if c_[0]=='add':c_[1]=n_ if c_[1]==o_ else c_[1];c_[2]=n_ if c_[2]==o_ else c_[2] ++ elif c_[1]==o_:c_[1]=n_ ++ if c_[:-1]!=b_[:-1]:return False ++ return len(x)==len(y) ++ r7f=D/'inputs'/f'refit7_43{wt}.json';r7patch=None ++ if r7f.exists(): # retired7: the free retired lenders 564/565 get their last gates (B911/B912) at the exact frame floor, dim 6 -> 5 ++ r7patch=json.loads(r7f.read_text());prev_r7=chain[-1];chain.append(refit_apply(prev_r7,r7patch));steps.append('refit7');nr7=chain[-1] ++ try:ch7=frames_only(prev_r7,nr7);kok&=ch7=={('B',g_) for _,_,_,g_ in M7}=={(s_,i_) for s_,i_,_ in r7patch['frames']} ++ except AssertionError:kok=False ++ kok&=all(len(prev_r7['B'][g_][-1])==6 and len(nr7['B'][g_][-1])==5 and L1_ in regs_(prev_r7['B'][g_]) and max(p_ for p_,e_ in enumerate(prev_r7['B']) if L1_ in regs_(e_))==g_ for _,_,L1_,g_ in M7) ++ kok&=not any(L1_ in regs_(e_) for _,_,L1_,_ in M7 for e_ in prev_r7['restore']) and r7patch['previous_frames']==[[s_,i_,prev_r7[s_][i_][-1]] for s_,i_,_ in r7patch['frames']] ++ h7f=D/'inputs'/f'hostmove2_43{wt}.json';h7patch=None ++ if h7f.exists(): # retired7: the hostees of warps 30/31 (lenders 401/403, whose own lives end in A) move onto 564/565; warp records replaced in place ++ h7patch=json.loads(h7f.read_text());prev_h7=chain[-1];chain.append(word_patch.apply_lowfour(prev_h7,h7patch));steps.append('hostmove2');nh7=chain[-1] ++ kok&=word_patch.kernel_gate_edit(prev_h7['B'],nh7['B'])==h7patch['declared_gate_edit'] and nh7['removed']==prev_h7['removed'] and nh7['start_extra']==prev_h7['start_extra'] ++ kok&=relabel_ok(prev_h7['B'],nh7['B'],[(prev_h7['warps'][op_-1][0],L0_,L1_) for op_,L0_,L1_,_ in M7]) ++ kok&=[i_ for i_,(x_,y_) in enumerate(zip(prev_h7['warps'],nh7['warps'])) if x_!=y_]==[op_-1 for op_,_,_,_ in M7] and len(nh7['warps'])==len(prev_h7['warps']) ++ kok&=all(prev_h7['warps'][op_-1][1]==L0_ and nh7['warps'][op_-1][1]==L1_ and len(nh7['warps'][op_-1][3])==len(nh7['warps'][op_-1][4])==5 for op_,L0_,L1_,_ in M7) ++ kok&=[[m_['pos'],m_['L_new'],m_['G'],m_['U'],m_['E']] for m_ in h7patch['moves']]==[nh7['warps'][op_-1] for op_,_,_,_ in M7] and [m_['old_record'] for m_ in h7patch['moves']]==[prev_h7['warps'][op_-1] for op_,_,_,_ in M7] ++ kok&=all(not any(L0_ in regs_(e_) for e_ in nh7['B']+nh7['restore']) for _,L0_,_,_ in M7) and all(nh7['warps'][op_-1][0]>g_ for op_,_,_,g_ in M7) ++ kok&=all(nh7[k_]==prev_h7[k_] for k_ in ('A','restore','helper_final','compensation','initial_corrections','precondition','cut','target_levels','centers','center_frames','ports','prelude_events')) ++ a7f=D/'inputs'/f'alias7_43{wt}.json';a7patch=None ++ if a7f.exists(): # retired7: retired-lender aliases 667<-401 and 669<-403 (the PR2679 kind) after the hostee moves ++ a7patch=json.loads(a7f.read_text());prev_a7=chain[-1];chain.append(word_patch.apply_lowfour(prev_a7,a7patch));steps.append('alias7');na7=chain[-1] ++ kok&=word_patch.kernel_gate_edit(prev_a7['B'],na7['B'])==a7patch['declared_gate_edit'] and na7['removed']==prev_a7['removed']+H7 ++ kok&=relabel_ok(prev_a7['B'],na7['B'],[(min(p_ for p_,e_ in enumerate(prev_a7['B']) if h_ in regs_(e_)),h_,L_) for h_,L_ in N7]) ++ kok&=na7['warps'][:len(prev_a7['warps'])]==prev_a7['warps'] and [x_[1] for x_ in na7['warps'][len(prev_a7['warps']):]]==L7 and all(len(x_[3])==len(x_[4])==4 for x_ in na7['warps'][-2:]) ++ kok&=[[a_['pos'],a_['L'],a_['G'],a_['U'],a_['E']] for a_ in a7patch['aliases']]==na7['warps'][-2:] and [a_['h'] for a_ in a7patch['aliases']]==H7 ++ kok&=all(max([p_ for p_,e_ in enumerate(prev_a7['B']) if L_ in regs_(e_)],default=-1) None (accepted) or the rejection reason; returns (all_ok, results)""" ++ def rederive(m): ++ m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(w0)); m2['A'] = A; return m2 ++ res = {} ++ def expect(name, m, reason=None, fresh=True): ++ r = audit(rederive(m) if fresh else m) ++ ok = r is not None and not r.split(': ', 1)[-1].startswith(VACUOUS) and (reason is None or reason in r) ++ res[name] = dict(rejected=r is not None, reason=(r or '')[:160], real_reason=ok) ++ need = audit(w0); assert need is None, ('unmutated final word rejected', need) ++ for sec, i, fr in p7['previous_frames']: ++ m = copy.deepcopy(w0); m[sec][i][-1] = fr; expect(f'refit7 {sec}{i} lender refit undone', m, 'warp frame mismatch') ++ for mv in ph['moves']: ++ k = mv['op'] - 1; tag = f"move{mv['op']} {mv['L_old']}->{mv['L_new']}" ++ m = copy.deepcopy(w0); m['warps'][k][1] = mv['L_old']; expect(tag + ' warp lender reverted', m) ++ m = copy.deepcopy(w0); m['warps'][k] = copy.deepcopy(mv['old_record']); relabel(m, mv['old_pos'], mv['L_new'], mv['L_old']); expect(tag + ' move undone', m) ++ m = copy.deepcopy(w0); m['warps'][k][0] = mv['pos'] - 400; expect(tag + ' warp before lender retirement', m) ++ m = copy.deepcopy(w0); m['warps'][k][2][0] ^= m['warps'][k][2][1]; expect(tag + ' G wrong', m) ++ for a in pa['aliases']: ++ h, L = a['h'], a['L']; op = next(i for i, r in enumerate(w0['warps']) if r[1] == L and r[0] == a['pos']); tag = f'{h}<-{L}' ++ reads = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] ++ writes = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] ++ m = copy.deepcopy(w0); m['B'][reads[0]][3] *= -1; expect(tag + ' borrowed read sign flipped', m) ++ m = copy.deepcopy(w0); m['B'][reads[0]][3] *= 2; expect(tag + ' borrowed read doubled', m) ++ if writes: m = copy.deepcopy(w0); m['B'][writes[0]][3] *= -1; expect(tag + ' borrowed write sign flipped', m) ++ m = copy.deepcopy(w0); del m['warps'][op] ++ for e in m['A'][:m['prelude_events']]: ++ if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 ++ expect(tag + ' warp dropped', m) ++ m = copy.deepcopy(w0); m['warps'][op][2][0] ^= m['warps'][op][2][1]; expect(tag + ' G wrong', m) ++ m = copy.deepcopy(w0); m['warps'][op][0] = a['pos'] + 1; expect(tag + " warp after the follower's first gate", m) ++ m = copy.deepcopy(w0); m['start_extra'][str(h)] = a['E']; expect(f'{h} kept with an entrance frame', m) ++ sec, i, fr = pc['frames'][0]; m = copy.deepcopy(w0); m[sec][i][-1] = [1]; expect('refit7c certified frame corrupted', m, fresh=False) ++ return all(r['real_reason'] for r in res.values()), res ++if __name__ == '__main__': ++ here = Path(__file__).resolve().parent; sys.path.insert(0, str(here)) ++ import audit_local as al, word_patch as WP ++ w0 = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())); D = Path(sys.argv[2]); tag = sys.argv[3]; tmp = Path(tempfile.mkdtemp()) ++ p = {n: json.loads((D / f'{n}_43{tag}.json').read_text()) for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')} ++ def audit(w): ++ q = tmp / 'm.json.gz'; q.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode())) ++ try: ++ with contextlib.redirect_stdout(io.StringIO()): al.run(q, tmp / 'm.out.json', None, None) ++ return None ++ except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as e: ++ return (type(e).__name__ + ': ' + str(e))[:200] ++ ok, res = controls(w0, p['refit7'], p['hostmove2'], p['alias7'], p['refit7c'], audit, WP) ++ Path(sys.argv[4]).write_text(json.dumps(dict(all_rejected_for_real_reasons=ok, controls=res), indent=1) + '\n') ++ print(('ALL RETIRED7 CONTROLS REJECTED' if ok else 'RETIRED7 CONTROL FAILURE'), sum(r['real_reason'] for r in res.values()), 'of', len(res)); sys.exit(0 if ok else 1) diff --git a/research/superior-replica-kappa/vendor/frontier/REUSE-PINS.json b/research/superior-replica-kappa/vendor/frontier/REUSE-PINS.json new file mode 100644 index 0000000000..ff0b83bf69 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/REUSE-PINS.json @@ -0,0 +1,200 @@ +{ + "cache_files": { + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/CACHE.json": "134bdacc4a766dbc67df01704d4a279e29c0bea56350c75b2a0436b9ba8666d0", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/STEPS.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CANONICAL-WORD.json.gz": "dacaaa72961e8bcfefa5f5125aa79b2bae33d4faead01a651bd44a8ea5ab2412", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CLIFFORD-RECIPES.json": "a9641c6cbc4e05677e7559bf1764468f3dbcd9efe0ae710205590c381f6b5f08", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/CLIFFORD-REVIEW.json": "9622789fd43d2c3e14d98ae3df48765d1faeb8f5664136f48384dcd603e215fe", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/FULL-WORD.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/INDEPENDENT-LOCAL-REPLAY.json": "1ca177b1b78a0faaaaeeb05d44ccef50810d20d9f5607b3fa7dd493067f69ef1", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/RESIDUAL-ADAPTERS.json": "c4dd3cf0ce67c9ef6ab86b051026c0d884c3548dfc6118f047d6f56bb7331352", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/SCALAR-FRAME-AUDIT.json": "abbfa5baf5228072679d6ac08b873115ef3a00c39e6632e110d1f94a5f7657da", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/WARP-RECIPE-CHECKS.json": "32c3480dd0f953237f567a5e1c66eb15de9cee5b57c219b571bcc9cb993042dd", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/native.log": "8ac1d92e1e84f39a5865ae78d0894249995335c1734a450a53ce65998b59d57b", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/phases.log": "4f02722e71e03c4998f7c5b625ed5a7afdc7500ebfb0aa7e6f53b177cc08a645", + "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/CACHE.json": "069df513a95cdc93095aaecf5714ea2183c1735cc5bec65bd38e469adccdbff6", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/STEPS.json": "4637ff6d5767aae404ccc9251bef35e5961afa2ba2fd846527b93dca05c5fd2d", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/ledgers.log": "8a5910fbfadd88e164b84d65115ca356a932df55501dbbc9e102333b17688e77", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CANONICAL-WORD.json.gz": "c0fc324db76506cd9f0f88d830f28b8d18a0870a6dbcd31362e01f2683ffc065", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CLIFFORD-RECIPES.json": "d3efa2a7199bb2113f8232bb0e78deb8144f44856d6b03a1069e75d775245d6b", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/CLIFFORD-REVIEW.json": "76a38ecba56ecdb28bc60ea8558a535533e5da6ead2de4fce92e80949e93ee0a", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/FULL-WORD.json.gz": "4f980df67440c0d0b87186b88a816301896f277068bec0295b67a5c06f43e8bd", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/INDEPENDENT-LOCAL-REPLAY.json": "1503f00082d7f94f6ac1765a143fcdf6e780f9e4a19d4cb018ce8f1930b009f4", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/LOCAL-CHECKS.json": "d9743b22c746403097ac2e4430f8c0c3edca6a325a1b14c7978fb94b2047b890", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/LOCAL-PROGRAMS.json.gz": "5f89cf546f6d5969a065256404a3c902c52217f3b79bddd740e33058907cdf16", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/RESIDUAL-ADAPTERS.json": "82f5e5cf37c8ec3cce707e7d152b23f6fff2fddd771ff43317b5a446ef81fc00", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/SCALAR-FRAME-AUDIT.json": "dd659103a97b2313c947f4ab6a44ef5dc6244e9cef57864d2cc1cc7d232ae6d7", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/WARP-RECIPE-CHECKS.json": "9ccdb18e1c1eb5a8f386d17b08a36e6b4338a34b15e49e9509acd2e866c12ee8", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local/WRAPPER-CHECKS.json": "727c9a1dd1c85a6ced726f1ff03ff7399bd6a20db5ce53faf452ad242da73a5c", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/native.log": "99f4a9ed755532566debf2ec91da35981093f02538691889ca4201c266ae7194", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/phases.log": "27e8e39b604d3422bf02ad3512aa1301b1686fc81e3ab3b56d6e501129f58037", + "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "78a3b23d31d62f6fec7bfd448c0062dcacabd0e0e416957ce506839e94fb0eb7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "6b18a21ef3bfb8e96d26d60f2db702eb9e4e5fd4aae5f5113380074235ed85c4", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "16fa3177ea9496dea606f56623dfd69a1799075ec8bb9bba6258e35b7d865481", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "e6d01761d6a48c6d0e861194ba13515002e3d9ea6ac1b531b359bff5b2ed2459", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "b23f983d52700ff84a5d2303916f6e9a909937d301e4a308204702e756e9635c", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "633faa7fd015f93a5b6193598c45e70c41838655b4ad60b5ea98dbdedf601390", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "9f1805608ebc5fc68a4758cc781f37deb26490a800077357b7a91f1436a38872", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "03b6a2503949708d090f5338006662172324fe66502452e8da0c3b1454b27262", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "88c98295140810288ff552fdc8cfc3741b11ee6d80ce01e8d2c8f2c9b7a73e31", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "c7b917a0a452672d08f817a57eea0db1cf237c142371936e9f483f28f4428e54", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "a9c86b5209f35cad3be26f74f70a4962c48f3cb7021c696621beb1794d5c1278", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "e00871b9295253310a4145ebb4786af72a347a0a6015590c4779a29e20826608", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "2a58e55283a5d74adf38a8c4b78f21793b619ee885ccf64dc18af7b0d5f8a96d", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/CACHE.json": "41cc27c91f3610959ef3166a90484bd65bce0c663b420ecee0fd42725af2ca2c", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/STEPS.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CANONICAL-WORD.json.gz": "dd1f277eafbde7fbc68c51fad396a64e8afe389a8529bbe61e187014a8a48215", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CLIFFORD-RECIPES.json": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/CLIFFORD-REVIEW.json": "255cf6f3d1105e9c60e2b589e3445a6b7e69af575abcfe4f6a0aba971fdb4195", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/FULL-WORD.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/INDEPENDENT-LOCAL-REPLAY.json": "26adad9d1cd317e8e6c2f5db0f42e5f35ef4220e84280c80ac273aa2a329903a", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/RESIDUAL-ADAPTERS.json": "6a807c59d857faed1140f9d7dd4dee863553f7a00a95ddd4601ef4dc8ea93b12", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/SCALAR-FRAME-AUDIT.json": "10347acf893d70592ca4af8ee1cdf58a06510a444992feffcddf5c03bdf63e42", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/WARP-RECIPE-CHECKS.json": "95bc1e29bae8210542423d7b0d6b4c07b29d3948a2c987507a97cf085f963252", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/native.log": "0da891ab0e4bfeb32b3b73fbc03b0456ffb06e159906b2013938ad65e13b0585", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/phases.log": "cb01cc9d0f1831fc202ee5ab21ed9ccbcef52a3c369b7ca1390b64d99f070ecc", + "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/CACHE.json": "29b075f5e59eaea78a3d8386f8be8485fdac4629404087ca57f8d8a6505fb18f", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/STEPS.json": "6bec0227ce64490c9e6384464d9a8a778c54755a67f3a276c279faafb7a02981", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/ledgers.log": "8a5910fbfadd88e164b84d65115ca356a932df55501dbbc9e102333b17688e77", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CANONICAL-WORD.json.gz": "52c263e6936b4dd1eb009617e5df5fd0f39cae44e06683904194223d34052262", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CLIFFORD-RECIPES.json": "afc22bbc53821f3d4412afa81fa787be68672395a3432fed3c3740bb7708f4bb", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/CLIFFORD-REVIEW.json": "8793f34c12e30884e17caefc7c898f83fe06ec6a07578c9783fed325d6db48a4", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/FULL-WORD.json.gz": "56252cf9c875ca56f5dee42c38c838fa0320662ff7f724a15f06145ff5cd5854", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/INDEPENDENT-LOCAL-REPLAY.json": "4139c7bd22c3cf55e58749f81b0013b7e824fdd82c3c701921a23fb2391db990", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/LOCAL-CHECKS.json": "d9743b22c746403097ac2e4430f8c0c3edca6a325a1b14c7978fb94b2047b890", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/LOCAL-PROGRAMS.json.gz": "5f89cf546f6d5969a065256404a3c902c52217f3b79bddd740e33058907cdf16", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/RESIDUAL-ADAPTERS.json": "ba41be347d33fad9b5d6af16457e92dd9ee507dc4589bafc63a903986e733d2c", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/SCALAR-FRAME-AUDIT.json": "a96f78833f2e7285ed8248510bf091c86c2918d3df4413307b83136231bdd406", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/WARP-RECIPE-CHECKS.json": "0fa3b603d74af3c9853df200e0ae3a0e71f910e1c3620415b7072f5553d7b918", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local/WRAPPER-CHECKS.json": "727c9a1dd1c85a6ced726f1ff03ff7399bd6a20db5ce53faf452ad242da73a5c", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/native.log": "d4d096f7186024d29f919438ae4a25d50f157f642a2b84f6202851b1d768ee03", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/phases.log": "e6dbb20f1bdc7a8b014b307066e8598a365aae6e65701ab16b3a3c242a2bb907", + "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178/wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "56cbbc829163f32f3b2a3b6c413b8202aff367cfacd57fb88a1b9b7cf0c3470d", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "a5c02d0d6347aefd558e287fa581362a9b89adfd7eaf4a1c003dae47e1b1874e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "d0eb80da0f54f7444421c577a688e28cebc23d4abd8e431f5bf38526d3335d77", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "303767d1ff2550e4a10443b0d5ed705a8461c76f06bb7074762c02a0f54f339b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e6bafd6741e865e85b9ad8941b87b7c4e4c4a7debb78cd256e12a4b39ec3b586", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "32096efe8e8b986247bb8f434cee48cd29e209d2602125683ca91dbac242fa44", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "1f91b781e43e70b24ff14f2007cb767d30a9520411d222e49d7870981043dfb2", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "8945a81137262aa1ee8e2cf159dbd59838b58adf4b2f66a812a92406088111ed", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "44ae449a4ab0ea50c4bd377b38c12e4c73b5858391304e38d7f8bf46171b8866", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "458754a81eeabcd677a30b4c3e5a8393d7535bc21e02d4b0c75f3732d362c944", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "providers": { + "base": { + "R": 415, + "complete_native_files": { + "STEPS.json": "658d1d341816ee5227c55977047354f3c26280b961d5c967eff0ef02fb1f0486", + "ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "local/CANONICAL-WORD.json.gz": "dd1f277eafbde7fbc68c51fad396a64e8afe389a8529bbe61e187014a8a48215", + "local/CLIFFORD-RECIPES.json": "3fad1a9ae138ddb89442753cb2ef3c0666c58f40d5488d503fbf75f7f480d4d3", + "local/CLIFFORD-REVIEW.json": "255cf6f3d1105e9c60e2b589e3445a6b7e69af575abcfe4f6a0aba971fdb4195", + "local/FULL-WORD.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "local/INDEPENDENT-LOCAL-REPLAY.json": "26adad9d1cd317e8e6c2f5db0f42e5f35ef4220e84280c80ac273aa2a329903a", + "local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "local/RESIDUAL-ADAPTERS.json": "6a807c59d857faed1140f9d7dd4dee863553f7a00a95ddd4601ef4dc8ea93b12", + "local/SCALAR-FRAME-AUDIT.json": "10347acf893d70592ca4af8ee1cdf58a06510a444992feffcddf5c03bdf63e42", + "local/WARP-RECIPE-CHECKS.json": "95bc1e29bae8210542423d7b0d6b4c07b29d3948a2c987507a97cf085f963252", + "local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "native.log": "0da891ab0e4bfeb32b3b73fbc03b0456ffb06e159906b2013938ad65e13b0585", + "phases.log": "cb01cc9d0f1831fc202ee5ab21ed9ccbcef52a3c369b7ca1390b64d99f070ecc", + "wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa" + }, + "fresh_stage_seconds": 316.8524922529905, + "paid_profile": { + "1": 2374, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 8 + }, + "widths": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "word_sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a", + "zero_buffers": 72 + }, + "extra": { + "R": 415, + "complete_native_files": { + "STEPS.json": "5e1bac16f35af9fb4a6adbcf76d948052fbec016bb7e8740fc121b5754eecebb", + "ledgers.log": "7d7708ba7086ade02c653315c0bda82f2b32f92ccf30f49fdf4c7f40ecc39fe6", + "local/CANONICAL-WORD.json.gz": "dacaaa72961e8bcfefa5f5125aa79b2bae33d4faead01a651bd44a8ea5ab2412", + "local/CLIFFORD-RECIPES.json": "a9641c6cbc4e05677e7559bf1764468f3dbcd9efe0ae710205590c381f6b5f08", + "local/CLIFFORD-REVIEW.json": "9622789fd43d2c3e14d98ae3df48765d1faeb8f5664136f48384dcd603e215fe", + "local/FULL-WORD.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1ca177b1b78a0faaaaeeb05d44ccef50810d20d9f5607b3fa7dd493067f69ef1", + "local/LOCAL-CHECKS.json": "91d4117ece180666bcbda47204aad48c6b1d16f9d16bbc75f7b25493ae51674f", + "local/LOCAL-PROGRAMS.json.gz": "63e43ef535377b6e44cd264f126d8aded95441bd263e0d047eb168d6c46409bf", + "local/RESIDUAL-ADAPTERS.json": "c4dd3cf0ce67c9ef6ab86b051026c0d884c3548dfc6118f047d6f56bb7331352", + "local/SCALAR-FRAME-AUDIT.json": "abbfa5baf5228072679d6ac08b873115ef3a00c39e6632e110d1f94a5f7657da", + "local/WARP-RECIPE-CHECKS.json": "32c3480dd0f953237f567a5e1c66eb15de9cee5b57c219b571bcc9cb993042dd", + "local/WRAPPER-CHECKS.json": "508fe304ad6bd06c2c80b93b724cbd94368330f1f06f597f20fbcf2db9b4d771", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "native.log": "8ac1d92e1e84f39a5865ae78d0894249995335c1734a450a53ce65998b59d57b", + "phases.log": "4f02722e71e03c4998f7c5b625ed5a7afdc7500ebfb0aa7e6f53b177cc08a645", + "wrappers.log": "22847743670811f7f5ec80ea71b7c10e5ad6878d2b40734baa78e51c4ee5ddaa" + }, + "fresh_stage_seconds": 320.795613839, + "paid_profile": { + "1": 2374, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 8 + }, + "widths": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "word_sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127", + "zero_buffers": 72 + } + }, + "retained_parent_receipt_sha256": "a9c86b5209f35cad3be26f74f70a4962c48f3cb7021c696621beb1794d5c1278", + "scope": "Both changed PR2679 native providers freshly executed all five stages. Exact retained PR1297 native providers and full parent-admission receipt reused from the authenticated earlier cache; all cache files pinned.", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/SOURCE-FILES.json b/research/superior-replica-kappa/vendor/frontier/SOURCE-FILES.json new file mode 100644 index 0000000000..7e8a64069e --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/SOURCE-FILES.json @@ -0,0 +1,501 @@ +{ + "base_url": "https://raw.githubusercontent.com/philippeVV/integer-mult-bounds/2e2cf56521df8a2b816b2689144765ee00b69a24/research/gmx-t74-borrow43-handoff/", + "commit": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "count": 491, + "files": { + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "ADMISSION-DERIVATION.patch": "7021000d75635fc5806af821640c02f9d7cbbbe1cf314dacfcc743fc6875fdd8", + "CLAIM.json": "bc893bde9d0605e793844dca14e8f8e175b839b890c6f9c15e3a147f6db0cb36", + "CONSTRUCTION.json": "ff5c0516714e3220468b84583ec0bb25d39c0832a179268b929699e5b1bd5508", + "DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "EXACT-ARITHMETIC-DERIVATION.json": "c0d40deaa495a7365e91aa5d9e6a846f91e0cb6daff98bb3b7f2acef84d64ec4", + "GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "ORDER.json": "e37e607973be543331ce19a3ee49f79ea22cda484a3dcdcf897719412db221be", + "OWNERS.json.gz": "e5a46f423debb846c49f8ed97202ba3919d417e237e22cb7b805c1df592e0e1d", + "PARENT-LIFT-RECEIPT.json": "cea858499dceda9dd6a77ebd1b39cf4598b237b1701cc01841481f2ebc4b5d33", + "PLAN.json": "abc47a9fffdb2079de0386a50c43b0f71f705f59fe71d3f9683031b4357560ce", + "PRICE.json": "c5ec535fd9edbdec7b64edd5a8b862edb1a7f173d411dacb279172659573e16a", + "PROFILE.json": "0dd9a8afa9eb343a12cab29bca16b2579c2ab4bec50ab7a1c539b20ae5d265ac", + "README.md": "7bbef7c9ebf7a1dbee4df8956a54fe799a0e2682935c6d919388be22e8254f5a", + "RELEASE.json": "2a4f17684f0e2666313b8e13c90e92640880164a8dc2a9d9396fe375aae0ece4", + "SOURCE-PIN-REFINEMENT.json": "8c0bad79978decd6f8aba0932c0a94c7f61c64bf9ce5a19a36f67cc1390bf74f", + "SOURCE-PIN.json": "66faac1fd4e79bb6d9fc774fd8ba63522ad3309456be1c81405794b284c55c83", + "SPEC.json": "81676590c26018aa95082e3252f394ac99c61c0c4e5578f59501401700e38033", + "audit_fast.py": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "audit_mixed.py": "defdb5f1d33dd6b0eee9b84c00b5cc01e5283ec41308b520df714e1caffb9916", + "code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "code/assembly_controls.py": "d7675ff0b0994b29541d37eaa3010c5f39bb1447700c9f8e750522bf8c951f56", + "code/audit_allcold.py": "fa3488b62efdf8a0c37de0ca0caba587b4b036c5f068e002eb04c71c12b9e9b4", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "549603ca6d28b163a43b2dfaaaa788161c73d7952ab9190289407caca5418c71", + "code/exact_coarse.py": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "code/fine_cache.py": "89282a83ab102893a4fc1e663ad2137d891d81e843b1c9ea140d13e58b7c7dbd", + "code/fine_mercator.py": "6cf29658b5c1618de4aae8bd49d6d890be06d57ead1ad0f2d41bc8d25cc578d3", + "code/fine_moment.py": "bdfc492be6a663b219d76beff444db14bd67bb53c7c8ec4086ab0f56e48323c0", + "code/freeze_spec.py": "e9132a9d195c66123f2747a17f7ef404b4d1e3ef6263ab4c28c983a052cf10bd", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/lemmag_checks.py": "cc753c5953e58f5900ce580ece8f814a352d672bcee6d4566c7dd52647912393", + "code/lemmag_stage.py": "5158e1e95e46b3119de9f4add7d849c8ad2d2dd92b17a79b0f93b86e7d4e6049", + "code/oracle_check.py": "4836046db4bec939515a5a272559f92192b56612b98f635910fd81ea754ce2e1", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "evidence/ADMISSION-CONTROLS.json": "5cdefeff2516a67c4dd60e609019b3e2e38eb3d43142df2d3c7ed9a6822d5050", + "evidence/ASSEMBLY.json": "5d9eb1ce551386024b5b6894836f81ed03a83d2e0c0bd0e02e3f6410a596bb2c", + "evidence/BIT-CONTROLS.json": "d74d9d2ba363c3709e9a3b33abf6d14abd6b9c68d950b35b7669d8e6edefa59e", + "evidence/FULL-ADMISSION.json": "cda48de718d060b8ca329f1254f4f999a5a5bade5cecabb265f0a9bef1135089", + "evidence/GEOMETRY-CONTROLS.json": "13a50b2f2448931ca302a55e5839c082f651331f20402448fe6ff29d1eb2f481", + "evidence/INDEPENDENT.json": "7150546e840e859268c40c11c2c79ba4fd646fc632fced68e3c19355b292fa61", + "evidence/OUTER-DISCOVERY.json": "413ef3e9eb1c3ff680cff1e600dc7160afda228e0b6b021c1a4e4a37ee486cc1", + "evidence/REGRESSION37-CONTROLS.json": "0196ae228d583f2bac3c42d3576a8d378fe622592e377c4c1921b5ae81351854", + "evidence/pr1377/CLAIM.json": "cd089b08077e0151b9ed917a5c33aa7aa6b0de790bd9567442531b48729da8d3", + "evidence/pr1377/PROOF-NOTE.md": "dafd8286b1c9224ed6f50bf71bc34b77918323b936ea7427a4b71c3b644b2264", + "evidence/pr1377/RELEASE.json": "a4fa2ca0f79a11dcdc3227ad16a408d4d22d83b7401c894cb0e31eb2c9c5f7df", + "evidence/pr1377/RESULT.json": "1cdadc74fef4cddeb2bae5e32fff7bc27456740150440ae8fda8822f569c2492", + "freeze_spec.py": "1d965b7a329b98008fcc67e73d03dcf6e75f0f33c2858a39f1182bb3d0ed0ea1", + "geometry_controls.py": "7edb4732b34e5814b27650a55c938626cb50d68f06397744dd4fe451437e90e0", + "independent_core.py": "c4bcd06a6f761e8b298f23ff3da81053cf47a7126fa1322f732a685cdb58b517", + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "inputs/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "lift_parent.py": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "new/BORROW-PROVIDERS.json": "392dd6da6e6da7ceadab046e7b6ad656f46ea5693e7ebc3291707d74fde99c87", + "new/CHAIN.json": "f18804a71bef7005e892b0b7baac818d5362fff685fe5b5aadfe8de6e442446d", + "new/EDITS-1.json": "dffa640c04d71111d3e4bdd7f5a991450ba07049a1d434edeef84791c0cc2d05", + "new/EDITS.json": "d5f9a0444dddcccd35c0217f60dbd6863486241629a747c3bbe4140b3d55eea1", + "new/PLAN.json": "a31260c7718bda6c0ed55ea1a4ee6873dfcdfef9bec033c5f0416c5e704bf292", + "new/PROFILE.json": "4b002d61fc50861df1c85e517b0466a063ad9a85464cec247a99ab5c92bbf38f", + "new/SPEC.json": "7485e560bd810d6eac962b16295f730545a0341dd2ab1f072a0682c376fa1ff9", + "new/borrow-fill/DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "new/borrow-fill/FILL.json.gz": "8f324b0e4e57f2089d805b34dd10e814e868211a018cf8ebb8538ba9c40778d7", + "new/borrow-fill/ORDER.json": "e48b51a7d6a315971fff8b8e51748251750ff4ed8fe30b8b023de1a1a8019783", + "new/borrow-fill/search/agg.py": "267a66287336b72731b897508073dae1a7c85fa72cd86093a7340ddfc12af04c", + "new/borrow-fill/search/base74.py": "acc99c57730fe50f88538e4061e7165a7f278ed7499728c24b0522d479be8b8c", + "new/borrow-fill/search/ceil74.py": "99df541abe458fb6154755d9c67066b2ba0430b06f879a7b5a43e30618f4c1d7", + "new/borrow-fill/search/evac.py": "7c6ce4e8aa9833a9d451c5d4b891bbd1927315bcbf112d3c15845f0ede2d9dc3", + "new/borrow-fill/search/fillbase.py": "4fc6fa920d8703ccec860bee0e1187a0a8b1e37b245789256f7a4d01ae8a2b00", + "new/borrow-fill/search/inv.py": "eec279ea8e8d9d1dccc2733a88129351678c73fb51f06a4604a9c1da1d771387", + "new/borrow-fill/search/lattice.py": "8f2ee194fa4992d1f45394b09b5151ec699b28e4c950b9d40b826f33cbb635ba", + "new/borrow-fill/search/lnstime.py": "3a1ff558f10b0b935389137627359f875ca484717ffa3ced7de8d8b588836755", + "new/borrow/alias1_controls.py": "f4cc82312af891ea48956d9953a061196a8c3b113ef6d81e5848fe95745147b2", + "new/borrow/alias_build.py": "40b97536c8347733eaae24a3c4a13f5d21711e983106454777837be487959f1b", + "new/borrow/alias_enumerate.py": "7324f2569e6b76981d8c964a16ff9a3bc9e770e41b9cc6ec1c9defe8e662c153", + "new/borrow/audit_local.diff": "202f6f2032552eba069b9ec7e33b729d4af2ffc20974a9e82e444d906d7137b4", + "new/borrow/audit_local.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "new/borrow/borrow_controls.py": "07fbbf8e2f06df063dc9d88e5e4f721222a9fcf30b983bf9127cd5aa4b611627", + "new/borrow/build_word.py": "40047409dd9f9c406bb37a2ed0b4c8159797e0e4a114d525a368355418128707", + "new/borrow/emit_word.py": "a057ed0c81fbb07dabf38247e0ce0cec6c5fbfa31d8bf1b38838bd3758e41f87", + "new/borrow/guard_cut_centres.py": "5df204597697756808e6c959f5bba81cf35a2f0e7a0f1f75748dca1814373b72", + "new/borrow/guard_helper_indices.py": "d93aeb2d51d77ca93ecbf9e566d9000bb436c279e2a25b699a867e9697f782fd", + "new/borrow/inputs/alias1_43base.json": "3b7bb0fea555d65a3b53c408ad3caab1d322b0a1635bdd14cfb45cf76693a345", + "new/borrow/inputs/alias1_43extra.json": "42e509a4ffa5c55d8bb1541bb483f3b6e81e04e2fc6df0cfb85796f9dc9e58e1", + "new/borrow/inputs/alias8_43base.json": "8210fbaa107744fe09fa02d3abdd5982b68a8af4710d4c3c3d604f8ade18f8e4", + "new/borrow/inputs/alias8_43extra.json": "e5fcc94a2511d73749f9cd1b4e4eaec0602bebf85b8c58144bebc9c4206b30f6", + "new/borrow/inputs/blocks.json": "ddfac1dae1fe7cc0a91e7c7205c6d9d0c07c682880aa34eed83bf4ad7384da9f", + "new/borrow/inputs/entrance_43base.json": "1b3c09f9558c50e7f299aa10fb21dcbd1b5ff397794838d8629c80d4c7a565f5", + "new/borrow/inputs/entrance_43extra.json": "e57ec67fa0a3fca63bf9e4bb9edf4e6be48db0bd7c9e092cddad29b26b897463", + "new/borrow/inputs/extra.canonical.json.gz": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "new/borrow/inputs/gauge44.canonical.json.gz": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "new/borrow/inputs/handoff_43base.json": "5ae3062bcce666c8c3a3a650e345adf15c22a2800fa0e17d79ad6e8b97208a2f", + "new/borrow/inputs/handoff_43extra.json": "4238a7c5093a4347fe69adf4f76e507d2f43c4e727d91b2c4705039e1cbaa06a", + "new/borrow/inputs/kernel_43base.json": "7f06b4b08a49192a27e8f4132ad0c93521dad90f97ca985a173944ba02c5442b", + "new/borrow/inputs/kernel_43extra.json": "ef95eae03915f0222bcd486959c6dfe307a9a0a856702420fa35491abfae4c84", + "new/borrow/inputs/lowfour_43base.json": "a8df0a2acf85e96febb35d24ae047c370d179095b46142bae968f06348bf1c18", + "new/borrow/inputs/lowfour_43extra.json": "9dbfb49fb3c04a0652dcae9a962d973489679f5d1ee2baf4e65c58d2e8ef578c", + "new/borrow/inputs/prelife_43base.json": "0c901b689b4d12c1f50a61ec5b99e6cc38f1bbd524f036203e5a250d44c0f21a", + "new/borrow/inputs/prelife_43extra.json": "ae67d2bc3873a3f08d7cb46bfbd4e4d54f9e7f471b695b28f69907c6b18a69b3", + "new/borrow/inputs/refit563_43base.json": "0662e4800279890f565c0ee5668ed97e8ea25d6ea4a8697b4c1d9a4715716cc7", + "new/borrow/inputs/refit563_43extra.json": "0662e4800279890f565c0ee5668ed97e8ea25d6ea4a8697b4c1d9a4715716cc7", + "new/borrow/inputs/refit_43base.json": "19a97e80b0ee3146e0244e6bc36bd365d89e9c1cd0f885c4e06be4193606a323", + "new/borrow/inputs/refit_43extra.json": "1349d54f704847fdcd4a00e323cdc9e1118fac7fedb0c7573e9b2b3f0169a7eb", + "new/borrow/inputs/witness_43_base.json": "65ee52604e2e49a30c1e978b7ce829482a694a20a8744f37b9bf40dad1ff3a2e", + "new/borrow/inputs/witness_43_extra.json": "19c652db80d5215c958c63b5d6f2de96d9cf34a0e4d56dab5c13e556c57f7467", + "new/borrow/lowfour_controls.py": "cc2d102a3cf1cc1063ea39ab7b22c4231445dfd485705661b1da38bcc6da8066", + "new/borrow/prelife/results/gap-base.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/gap-extra.json.gz": "cf596232260cadcc02bf1020c2e138a31e9482140c4ee2bdf6a0a32797a1187c", + "new/borrow/prelife/results/prelo-base.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/prelo-extra.json": "9d6fa7827d991281a647043a4675c001964bf5bfa4045e54ce0e192ab74a19c9", + "new/borrow/prelife/results/tryE-base.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/results/tryE-extra.json": "aeb3e8e7442ff104806ab39e8fcbe366fdcda95b64909c107d255c379ad579fb", + "new/borrow/prelife/search/chains.py": "588d6cdb2312febfee5f3d576295f2edff53ca74c14d21ed9bffed3312dfa32c", + "new/borrow/prelife/search/edit.py": "8e5eea35d0bb83aa60bd066ae9ddf3f4b0ad46cf9ac9d31d8fc5777f49013713", + "new/borrow/prelife/search/fm.py": "36174e2b7e012726964282af926fdf541332556bcc548af5b41502cdb8b198e2", + "new/borrow/prelife/search/gapbound.py": "a0fa0fbd079a456bf5f9b75352eb68c4b7e2febad0c99e66b7553bdc744772c8", + "new/borrow/prelife/search/mk1.py": "4bab66a4e1514a067572c7854731a4fbd29681300e95a4384fdb68e0eb140575", + "new/borrow/prelife/search/prelife2.py": "db1fc5eea7bd70066188d7c7f52cf4be8991e61b821d3fe4b779ee30c7f3c9eb", + "new/borrow/prelife/search/prelo.py": "157dc45b5fcc421d26507d6d7fca6d4caeff6c73efcd679fd28e906f600ea886", + "new/borrow/prelife/search/propbound.py": "735cd4d1a6a43c96f397eb5ae2972e86ab71c2c232e6d14ac6cbf1eb7f638c1c", + "new/borrow/prelife/search/repair2.py": "410ddd6f9b3e14be6b9247cc5792d1a893175e843a0c21bf667e71a6e3a9710f", + "new/borrow/prelife/search/tryE.py": "130a859c0ad20623943b25800dd2f1d0355cf03b8520fc493ec870baa010b2ae", + "new/borrow/prelife/search/wordmodel.py": "215e678d3f3711b4291f9da5d7937cdbb0b091390bba089e6949b8c42a29f6f4", + "new/borrow/prelife_controls.py": "c24398bdc407aaf6713201100d27ba851233525a9dfd747b641d99e1cde66cba", + "new/borrow/receipts/AUDIT-43base-pinned.json": "8dc6daa8929c1137c1e37fa5a1bf869afafe94c3e65ed2705ea9f41f2dc8cee8", + "new/borrow/receipts/AUDIT-43base-prekernel.json": "fb6f40a1d117bd304cc0757ac21915bd8558e8d3f31b8709129f395033fc534e", + "new/borrow/receipts/AUDIT-43base.json": "07b8a4836fe2659d0d46957ed0973ba3334f6752b5c1235d03b961a107fb95d5", + "new/borrow/receipts/AUDIT-43extra-pinned.json": "4176a6190fb1a224d45797064cde2aa758970bce7c1ed2a009ecb2fc7839d26e", + "new/borrow/receipts/AUDIT-43extra-prekernel.json": "09041e49888a1360b7ddee29d54d82836a875ecb6547c7ad1eb92427e7f3b384", + "new/borrow/receipts/AUDIT-43extra.json": "a01ae6847449ddb88c56fa8e44d10bc0b005f1b24daa283d38ba00089d8f89f2", + "new/borrow/receipts/CONTROLS-43base.json": "02b73bfbf72c63926ebb244bbd6bf87a03201ee1487e2c15292ad52684fb4d69", + "new/borrow/receipts/CONTROLS-43extra.json": "f8b93901ef5b4810bb39a7b5ccdc62497612c2efba67920a8d6119ae8a898126", + "new/borrow/receipts/CONTROLS-KERNEL-43base.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-KERNEL-43extra.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-LOWFOUR-43base.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/refit/results/pairs-base.json": "8178d2a34be82601f2361afbc63b37294255a435b243e65295bf7b641edfc4a3", + "new/borrow/refit/results/pairs-extra.json": "3a64b6ace504a5d410a4cfd87ae2fc04576df61883ce56e3f7eb38d4b26df8af", + "new/borrow/refit/search/bounds.py": "690986e69e3125723b12255cc5aa135fceec93894d589eb196ab7fa5da37e9fb", + "new/borrow/refit/search/eval1.py": "0547e606468ad4670512ea83fb3d6e7f39fda9b66537fdf791ad22a3bf4aeeee", + "new/borrow/refit/search/mkcand.py": "c5b437f6a991de674bd781d610d98a43d9f84179beb1187340354e55f42ceaa4", + "new/borrow/refit/search/pairs.py": "7922404bf942eff2dda0125b78ff1234bfdfda5101ff428b11f8a5ed73ce4882", + "new/borrow/refit/search/refit.py": "c036d0d4cc91360e583a7ed01d6c69c17a69f16c5838062c2b9de83a616d2e23", + "new/borrow/refit/search/why.py": "209a95a62a95c06138f0b5af2d1dd1f9c60c403c4da294d39663928c2312425e", + "new/borrow/word_patch.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce", + "new/borrow/words/BORROW-WORD-43base.json.gz": "b85e6c60f0ba84464d1a60b54d01d2086126f3b909e8e67ea41ccf5e22d61178", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "62d74e9fa845dc669544a732cb2e49a6263679b99e3aef85f4f212cc8aada4fc", + "new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/code/borrow/bw_audit_local.py": "6bc8a07942a027a52ede46521f6b5dab755643eb693efc7dcb829496050fde09", + "new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/extra-word-566.json.gz": "cd417b904408c221d9840d08faff8af040cc4207f9804284f2f5375d21298a62", + "new/gauge44-word-566.json.gz": "eeb6a236ed0ea8873b8800947d0cd19c36a6fcfdf857fc42913cb45cd984f219", + "new/pivotcheck.py": "6eb1752f077df108c908974413fc71abc751356b07c6e650e75d2075f1a51391", + "new/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "new/rebuild.py": "7391a7228d6b5afc2f88afd5d5a987565d78a100386c1f03b8696bcde2e8ef3e", + "new/rebuild_borrow.py": "9cef11a627dc197d68845efec25ec22c9af69a132978d8db13f6cfc0d1841b30", + "new/rebuild_chain.py": "3a5739f94f0fea1aa267e7d12e1c986210e483c841a8855e11020128a017510f", + "new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/steps/0/extra.json.gz": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "new/steps/0/gauge44.json.gz": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "new/unpin_spec.py": "03901dbb881fa608b6540a0541b26311dd4bab23bd8768e9ed48b8b355e1b36b", + "outer/B.json": "2a6ed1fe7f601146af00ddcde61776a9db8d787d3e43c13f4c0436b529a4180e", + "outer/CLASSICAL-BOUNDARY.md": "6647d5a71d9f6c3f628ac71a7be2e63bcb0cac9618cd4fee7493dcc4ef02529a", + "outer/FINE-PADDING-COMPOSITION.md": "d20d8e5f84a9e33cc9996f875be06c24c74ea53874cc76564953785ff29c5c6c", + "outer/GAUGEFREE-INTERIORS.md": "a3f67d945eada51cc93c69438b1fa3173dd6dd0f7bb4e76cbf5116fcc496edd9", + "outer/INDEPENDENT.json": "dd27ba85431ba0b4297ab906166adb4ad5ca5883af1ec9173e056cf3d5231b21", + "outer/LEDGER.json": "31d72437d30aa6a8b8a327700196f0ce6e7b327d37239578fd5d9248f6888e9b", + "outer/OUTER-CLAIM.json": "df0d5121f0955f2c9743621e3a259c4a34d9177aa818cf5a21dc1edd849fad64", + "outer/PROOF-GRID-MAX.md": "19dc50ad398993d156f9366fc752321a88a7337dc016c00b0d5a53eceff93cf6", + "outer/RECT-BOUNDARY.md": "17ece1cc1eb4a02df4d8433e3612231768633e6674d315acbcf880f36e30bdc7", + "outer/RETUNED-SLACKS.md": "d87beb3869fb60143c2c3872d7c427ee16174aa51b5e6f42689312fbd40d3d42", + "outer/STRUCTURED-BOUNDARY.md": "ceef915be6462a8ad81449eefb86bf4d97db6ac41c87660e9dd7cfd2c2bc1efa", + "outer/UNION-SCHEDULE.md": "bc8e9cf7c178bb39b092ab5aafc4eeb523e72b1f69639bfcb9f27d0f74109357", + "outer/check_fine_padding.py": "a0ae691251cc50ba20b7f23f89fffaed802d62f9192a441131476914a5bdfae8", + "outer/check_gaugefree.py": "2957d2aafc56e3b757c5734bb29c3258cdf0ab167bd06ee0daf95281b5207e10", + "outer/check_ledger.py": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "outer/replay_evidence.py": "d3bdcfc8ce29865b3a76d64d99b5177e73fe994a2eb915f35fa233c5ab81df65", + "outer/run_outer.py": "9d5dc0a7ea38973ce52a1cda02d311c235bc7c39c4d20921d5811cab1a57ef8c", + "outer/sched_review.py": "f440a57f1f46119ee8c2934c8f0d618ca1c85c73cda8cfb8453c2aa1b9fc40fb", + "outer/sched_test.py": "f96d09b5990931e3df8cea291520bf17c424215748cd9ec068214c58309a21c8", + "outer/struct_check.py": "f1df92bb6247034a22e141dcb39c1e8b6b9df6eb9791493be25a3911f7add8d4", + "reconstruct.py": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "replay.py": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "requirements.txt": "255a2ee4a60637759d4d5c89448c55849153e81ec1d1383555c6697784d9dc97", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/CLAIM.json": "bc9e90a475333b957a8c4eae8b950988caea89e20e9b44a919e83415fb76b1b8", + "vendor/pr1297/COMPOSITION.json": "6fb74e73fd298b356402eb2fbcd625463b2fa540a6be4ef2d6335ddfa31d70f6", + "vendor/pr1297/CONSTRUCTION.json": "fb5f74f59c89b93c63ec47e32e2c9264658e115d1f21eed3eceefec7dc7a0cde", + "vendor/pr1297/CONTROL-SITES-base.json": "b41361f5a2f6ab3d223c146269c8027a0537f1a6e3c963f28cf1ebbe05c5d7e2", + "vendor/pr1297/CONTROL-SITES-extra.json": "f1aada769389ec410b41bc9e2082826bb916b8332c915ee9e07045135c30393b", + "vendor/pr1297/DEPENDENCIES.json": "9c9fff3ac059da4d4e2f13e655afb9e42ada1a57987f5b47b68dda4b64797966", + "vendor/pr1297/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "vendor/pr1297/EXACT-RELATIONS.json": "6864f378d917d0ecfd8cd53cc26303217ebb48f47f2987bbc01cf1e2c9a28093", + "vendor/pr1297/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/pr1297/INDEPENDENT-DERIVATION.patch": "6b3af098ec1c9e2360a366933eb7fbf0e16ebb37d43809d26b275e66fb5ee779", + "vendor/pr1297/KERNEL-CONTROLS-base.json": "cbe755333f469a1f01258b65f2b273763212dba6642edabfb58f7490f326abda", + "vendor/pr1297/KERNEL-CONTROLS-extra.json": "cf255deb866ecaefca4b6ecb72f105d6b08dc8ea907a8381d45aedc39b2022cf", + "vendor/pr1297/MANIFEST.json": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "vendor/pr1297/MAPPED-RECIPE.json": "09aca649da97a37116262827cbd3ebe0addcd2b1a33c08e8347f3daf3394176a", + "vendor/pr1297/NATIVE-VALIDATION.json": "755b7087e0ae964c538e9378311e07dba2867c16b568d1bf6ae9051657f9f5cb", + "vendor/pr1297/NOTICE": "b352129a07fc8693f57c77cbb0ea92230b2fa77439f86c9f35b828213f9c42db", + "vendor/pr1297/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/pr1297/PRICE.json": "e19f9f9e70e4fda2bc4a39fae93ea44555945cdaea59728864c5a44dcc5522e6", + "vendor/pr1297/PROFILE.json": "d9bbe0d73ba005749615915a2d884819a6b141e3402d9e7f87f4592a2d27af99", + "vendor/pr1297/README.md": "102ac7f080c1799aaedd5345ffb3631845215e8ab770e2af34750c25f667686d", + "vendor/pr1297/RECIPE-base.json.gz": "0f2db2c658e9732fdd1aeb7bbbb5c786d6045de8a2575b7654b9e6fddc71b03d", + "vendor/pr1297/RECIPE-extra.json.gz": "9e6f58570b0a8f9e8271bfbc73a339fce42f1cf28bf14d4db93f246b8f63a3c9", + "vendor/pr1297/SEARCH-RESULT.json": "7cdacadcbbf83b81f9f91668fcc707f8a238c6025f35a8bdc36758619c2591c4", + "vendor/pr1297/SOURCE-PIN.json": "e93f303f4de383757e50d612ada5e379533d46737a32281aa6879fb4b6138e09", + "vendor/pr1297/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "vendor/pr1297/UPSTREAM-NOTICE.md": "b97fb4731e84aef736c58a9c126334eb5b8d3a057a8d9d45b4ffff24af65c38b", + "vendor/pr1297/VALIDATION.json": "1008f637a22f954ee774920a8362931ca7cfed63ca146e725768c0f39803c0a5", + "vendor/pr1297/audit_mixed.py": "7466461cc15cbb12135d94f2d904d4e90e78cbf4755d0293ab9bd55e3568d4b0", + "vendor/pr1297/build_word.py": "ff08af2851b4813c113ef63113566cbd79625e9310611292913d51be554b5aa9", + "vendor/pr1297/construct.py": "71aff454291d4a35068c43dbb65c00ff511f48e91ab7cdada462833f04ac73e3", + "vendor/pr1297/controls.py": "935cf39ed6601eb6ac411b7b1a4adf5d4238589cad9fd5969d7dca967ace4c4b", + "vendor/pr1297/extra-word.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "vendor/pr1297/freeze_spec.py": "0f5c8ad43180a633a2cbbd11f7832729039402c68f593679552c43a1693d69fa", + "vendor/pr1297/gauge44-word.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "vendor/pr1297/independent_core.py": "d1dcd5593a05cf647b485db38891984f829abea5f95c6cc91e37d554bf163d48", + "vendor/pr1297/inputs/base.json.gz": "b87c706d14a7e1972514ee901002a930908073811ef38761def31c8e36351916", + "vendor/pr1297/inputs/extra.json.gz": "ded6903e00deb9e158fa700b03ccc9b8bfaae6c8bad8ca4842f0ad9b963234ab", + "vendor/pr1297/kernel543_controls.py": "ac16d605e773197e3664643d40b36c15a7130a45e95e36bfe7b42d939644367c", + "vendor/pr1297/kernel_controls.py": "436e3f3d9974da7c1968ef99fdde5ad203a61544d8195493e3150eb25869f4dc", + "vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/premise/inputs/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "vendor/pr1297/premise/premise_check.py": "28a7f881a988b29b8ed3c927dd142ac3d4ee273dedab3a65bb02c01a64eb2639", + "vendor/pr1297/premise/verify_1049.py": "a1736324c6db161733d8e11f608defd87b7f97cacd611203d22499e4c7de5545", + "vendor/pr1297/replay.py": "d3ea7c2e74ff6df9d14969f994eaa85f825372cee92dafb77bec4767edb242e7", + "vendor/pr1297/search_relations.py": "58f3bd092cb8592a070d7879918ff318a658a6fa02bfad7b5b8f4cb0fe16691c", + "vendor/pr1297/upstream-layout.tar.gz": "a0cc229bb0fc9ab8ee5c14d5de87b3de31d1fcb793e99192c9cdc63781e794a0", + "vendor/pr1297/vendor/pr1193/CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "vendor/pr1297/vendor/pr1193/MANIFEST.json": "4837d070679d9e70218c7cfa2d3e70d7d742a5b74dc66d224840b1a3a4ac4a31", + "vendor/pr1297/vendor/pr1193/NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "vendor/pr1297/vendor/pr1193/PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "vendor/pr1297/vendor/pr1193/README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "vendor/pr1297/vendor/pr1193/SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "vendor/pr1297/vendor/pr1193/audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "vendor/pr1297/vendor/pr1193/build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "vendor/pr1297/vendor/pr1193/common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "vendor/pr1297/vendor/pr1193/construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "vendor/pr1297/vendor/pr1193/controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "vendor/pr1297/vendor/pr1193/controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "vendor/pr1297/vendor/pr1193/data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "vendor/pr1297/vendor/pr1193/data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "vendor/pr1297/vendor/pr1193/data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/vendor/pr1193/data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "vendor/pr1297/vendor/pr1193/data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "vendor/pr1297/vendor/pr1193/evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "vendor/pr1297/vendor/pr1193/evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "vendor/pr1297/vendor/pr1193/evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "vendor/pr1297/vendor/pr1193/local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "vendor/pr1297/vendor/pr1193/native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "vendor/pr1297/vendor/pr1193/package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "vendor/pr1297/vendor/pr1193/prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "vendor/pr1297/vendor/pr1193/price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1297/vendor/pr1193/verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29", + "vendor/pr1297/verify.py": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "vendor/pr1297/x54_controls.py": "82f91b81be9173dca546345dbdaddfc71e6d21e626fb84a8b4d1b4ba0d673814", + "vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "vendor/pr1673/capped-phase-fusion/MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "vendor/pr1673/capped-phase-fusion/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json": "298f1eaf79b5d5d57cb96fb3abb422174b78c31c14491a878f6176431d731d04", + "vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "vendor/pr1673/capped-phase-fusion/README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "vendor/pr1673/capped-phase-fusion/VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "vendor/pr1673/capped-phase-fusion/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "vendor/pr1673/capped-phase-fusion/make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "vendor/pr1673/capped-phase-fusion/verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "vendor/pr1786/FINE-PRIME-PADDING.md": "47d1b1b4df28aadda3cd6bdeb1fbc47290595e9208cd09c1a1f338520d33fdce", + "vendor/pr1786/NOTICE.md": "dcc1adb2461aa93ca62b6a912dbd8b215599e6af8053dfbacb7423b544dd659a", + "verify.py": "4dbb80917a2324b5f7bd89485963a009e54db98f99e91469811e1d36101bea95", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_release.py": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800" + }, + "manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "package": "research/gmx-t74-borrow43-handoff", + "repo": "philippeVV/integer-mult-bounds" +} diff --git a/research/superior-replica-kappa/vendor/frontier/SOURCE-NOTICE b/research/superior-replica-kappa/vendor/frontier/SOURCE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/SOURCE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/superior-replica-kappa/vendor/frontier/SOURCES.json b/research/superior-replica-kappa/vendor/frontier/SOURCES.json new file mode 100644 index 0000000000..aa59a560ca --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/SOURCES.json @@ -0,0 +1,132 @@ +{ + "schema_version": 1, + "base_commit": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "files": [ + { + "path": "AGENTS.md", + "usage": "provenance", + "git_blob": "00c96932e109c701310f4910057bae2d6cec0c0f", + "sha256": "2d47ee25f6900efa3bac76f66f59cc6d6e077ed1e7301497ab332668ad288d4c" + }, + { + "path": "CONTRIBUTING.md", + "usage": "provenance", + "git_blob": "e51435543687f1bd88ab22248082dc689ce8b853", + "sha256": "df5b5646602f42cb5da5844f04ac925182ddcd0f627b9de1c96a5095bb7a277a" + }, + { + "path": "autoresearch.md", + "usage": "provenance", + "git_blob": "0515a31cd888a18e5830987da12d4051f552c8cc", + "sha256": "e3e85885c27919c4f603954ef25339e9c1be4bd107f829921078b8134b366044" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "889b95d936746df124872133ae1e7cc339adcb92", + "sha256": "7d185cd8c2af35988d638d969748ad7b670f902606444dbfc748e4402c340df6" + }, + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/current-status.md", + "usage": "provenance", + "git_blob": "d73b4ff9da41f044e793422db4318be17e234a6c", + "sha256": "adb54af005eb11edaf84d782fe729338680ff908f6d4fbf39ba1062d2e7d8a77" + }, + { + "path": "research/t74-joint-twelve/README.md", + "usage": "provenance", + "git_blob": "77ab0d3121069a8aa365bf0f6c35ee8e5ac15ac8", + "sha256": "d8501fbc11b3dc87fc618122c83f10a56cd4457c7abdab792e2f9506bab4666e" + }, + { + "path": "research/t74-joint-twelve/CLAIM.json", + "usage": "provenance", + "git_blob": "48ad23a430def28e485ee311ac92828ac9664a0c", + "sha256": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438" + }, + { + "path": "research/t74-joint-twelve/verify.py", + "usage": "provenance", + "git_blob": "bae5b71ecc554b787deab407b1beb394124cf86a", + "sha256": "d97bcc7208abd7e2f6f836c5558dae93e92ebbf6b17b0f413bc6e78ac68d62fc" + }, + { + "path": "research/t74-joint-twelve/independent_owners.py", + "usage": "provenance", + "git_blob": "93270b725a4efd56b283b02f9abf7a5d0e66c55f", + "sha256": "4e0785a659b4a6516581f15476c054de1581aa4b3763ce45b1fd20e45c2bb5af" + }, + { + "path": "research/t74-joint-twelve/workflow/admit.py", + "usage": "provenance", + "git_blob": "4606a5024ee5fe12ecaf18d983f010ebd944acdd", + "sha256": "f0d510b46a5f05b033b13fecb706389ab374b783bd46ef30e7386195d9e56d3e" + }, + { + "path": "research/t74-joint-twelve/generate.py", + "usage": "provenance", + "git_blob": "82ca3d20a5e2fd8c4b67b19e9b9ecd5fca423853", + "sha256": "55d87e7490a7011d881e48f3ab946b7f8b95e0b1b3e91987a8ff8129f18d5869" + }, + { + "path": "research/t74-joint-twelve/packing_cap.py", + "usage": "provenance", + "git_blob": "dd97566afb7ac6686606b50dc644fd14a559d301", + "sha256": "86b768616359b43a4a4fe4135370c7713f9436b5009553bb8e7b984367f54593" + }, + { + "path": "research/t74-joint-twelve/test_integrity.py", + "usage": "provenance", + "git_blob": "73c4e96005f0699a05642dcc39308d4b279e2707", + "sha256": "f2cabdb261761ebfa6f9b6ed2f3aae1a0853c79bc6ddc2808c6e8bbe5b46e68b" + }, + { + "path": "research/t74-joint-twelve/full_replay.py", + "usage": "provenance", + "git_blob": "d9718b8b5b173ab81efaee24c04e5c99b6e70e94", + "sha256": "3f7ff263775253f73a87abc43a76f39f23e8bc0ce433a562d17f2c0705b5a02b" + }, + { + "path": "research/t74-joint-twelve/OVERLAY-PINS.json", + "usage": "provenance", + "git_blob": "ec223bdbe25510166f6bad3bf21d039512dc5177", + "sha256": "c5aab657b189d1324b75c2a35dd21063877229ebfd58b4b64261fdf0e5861e75" + }, + { + "path": "research/t74-joint-twelve/DERIVATIVE-OVERLAY.tar.gz", + "usage": "provenance", + "git_blob": "46f7ce76d81b9c46fde6b0fb204bcad4763e1a87", + "sha256": "16468f7428c6e01522fcb15a8e3040d13de6cb8856428e32dcfbce8dbe46b8ec" + }, + { + "path": "research/t74-joint-twelve/inputs/WORD-base.json.gz", + "usage": "provenance", + "git_blob": "f1fc67a6eaf4bcc5dfa852b448aa2659070fa5f8", + "sha256": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a" + }, + { + "path": "research/t74-joint-twelve/inputs/WORD-extra.json.gz", + "usage": "provenance", + "git_blob": "f06e80c4dddb9741d0051cb85a57d356e673f687", + "sha256": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127" + }, + { + "path": "research/t74-joint-twelve/inputs/PROVIDERS.json", + "usage": "provenance", + "git_blob": "26be26b6d25be67327ae77623c2eaa0a9fe463dc", + "sha256": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66" + }, + { + "path": "research/t74-joint-twelve/inputs/FILL.json.gz", + "usage": "provenance", + "git_blob": "17129e917b31b15625c53181d303b68e17ffed55", + "sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1" + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/TASK.json b/research/superior-replica-kappa/vendor/frontier/TASK.json new file mode 100644 index 0000000000..61c622f03f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/TASK.json @@ -0,0 +1,82 @@ +{ + "schema_version": 1, + "task_id": "selected-packing", + "priority_revision": 5, + "base_commit": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "original_card": { + "id": "selected-packing", + "question": "Is there a genuinely unsearched, explicitly bounded improvement to the selected packing?", + "starting_points": [ + "certificates/selected-result.json", + "research/heterogeneous-owner-assembly/README.md", + "research/complex-local-word-ceiling/README.md" + ], + "methods": [ + "Search a named unclaimed canonical candidate domain with a reproducible partition.", + "Prove a stronger scoped relaxation or exact optimum for one named residual subproblem." + ], + "acceptance_gate": "Check live PR overlap first, price both suppliers and distinguish a search best from an optimum. Report the word's packing cap from ceiling.ceiling() and the fraction of it realized; label packing gains as such.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Locate the selected packing source in the review and check live PRs for the same residual problem.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Define an unclaimed canonical domain and a favorable bound before starting a new search.", + "bottleneck_link": "An actual paid-profile gain can improve the frontier up to the other supplier cap.", + "allowed_variations": [ + "One bounded residual packing instance or exact relaxation.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Rerunning an existing search with only a different seed as a separate mathematical contribution." + ], + "overlap_terms": [ + "T16", + "owner exchange", + "packing" + ] + }, + "task_classification": "Explicit coordinator assignment (joint retired-lender / lender assignment on our local retired5 words, every existing hosting movable), not a random card draw.", + "scope_status": "changed", + "actual_scope": "Extended retired-lender census on the retired5 words (PR2751 + five retired-lender aliases) treating every existing B-warp hosting as movable; two hostee moves (warps 30/31: 401->564, 403->565) with exact refits enable two more PR2679-type aliases 667<-401, 669<-403; certified frames; compacted owner fill; complete release through PR2751's own full replay.", + "scope_change_reason": "No retired lender with frame floor <= 5 retires before the four remaining rank-4 followers enter, but 24 hosted lenders do once their hostees move to the two free floor-5 lenders 564/565, which retire before the hostees enter; an exact one-rank refit of those lenders' last gates makes the moves and two more aliases feasible.", + "bottleneck_link": "Removing two more width-5 helpers per call frees 1332 hosted cells as idle 5-remainders while the certified frames merge jumps (local {1:-4,2:+6,3:-6}); the paid moment drops and the complex endpoint rises by 3.86e-7 over retired5 (6.53e-7 over PR2751, 5.38e-7 over PR2766/PR2767).", + "stop_rule": "One explicit pair of hostee moves and two aliases on both providers after an exact augmenting-path census (192 paths, at most two extra aliases); no exhaustive search over other mechanisms claimed. Stop after complete release and handoff.", + "declared_milestone": "Integrated conditional kappa, subject to the inherited all-size/interface/analytic assumptions.", + "obligation_ledger": { + "native_words": "Two new words; fresh five-stage native runs passed; PR2679/PR2751 and retired5 stage controls retained and the new refit7/hostmove2/alias7/refit7c stages carry their own tamper controls (retired7_controls.py).", + "physical_hosting": "Complete literal owner fill (271728 roles, R 408) checked by reconstruct.py and the independent integer-chronology/bit-mask checker.", + "supplier_and_outer": "Discovery/unpin/freeze, strict T74 replay and the package's own verify_release.py passed in the full cold release.", + "inherited": "All universal obligations of PR2751 and its lineage are inherited unchanged." + }, + "family_expansion_decision": "Explicit request to improve the latest pending construction; the retired-lender alias family (PR2679) is extended by an exact refit census on the new words, not reopened unchanged.", + "outcome": "completed", + "evidence": "Full cold release (four fresh native providers, retained parent, complete admission, PASS_RELEASE) and registered hook (seven-stage rebuild, pinned PR2679 auditor on eight states, 142 tamper controls, literal owner fill, exact 1e-24 bracket, 80-digit root, kappa above PR2751, PR2766, PR2767). Evidence in evidence/retired7.", + "author": "Marius-Paul Dumitrean (@mdumitrean)", + "ai_assistance": "Substantial AI assistance (Anthropic Claude, via Claude Code) in the census, augmenting-path search, pricing, stage construction, checker adaptations, certification runs and documentation. No independent human review or formal theorem claimed.", + "open_questions": [ + { + "question": "Can a gate-level (kernel) edit make the rank-1-entrance followers alias-feasible?", + "why_it_matters": "The 48 rank-1 followers are width-8 helpers (about 1e-6 relaxed value each), but every lender's exact frame floor is at least rank 4.", + "first_step": "Price single-gate kernel edits that lower one candidate lender's retirement frame floor below rank 2, with the auditor and native chain.", + "blocked_by": "No retired lender reaches rank <= 1 under any refit of the fixed gate lists." + }, + { + "question": "Can a third free floor-5 lender be opened for followers 670 and 671?", + "why_it_matters": "Each further width-5 alias of this kind priced about +1.9e-7 here.", + "first_step": "Search frame refits or gate moves that lower a free lender's floor to rank 5 with retirement before B941.", + "blocked_by": "Only 564 and 565 are free lenders with floor <= 5; both now host the moved warps." + }, + { + "question": "Do the retired5 and retired7 stages stack with PR2767's post-cut partner correction?", + "why_it_matters": "Both improve PR2751 independently; a stack could add their gains.", + "first_step": "Apply the seven stages to PR2767's words and re-run the census and the certified frames.", + "blocked_by": "PR2767's words differ from PR2751's; the stage inputs are word-specific." + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/VERIFY.json b/research/superior-replica-kappa/vendor/frontier/VERIFY.json new file mode 100644 index 0000000000..a4c9fb33d0 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/VERIFY.json @@ -0,0 +1,50 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 300, + "checks": "Literal review: PR2751 construction reproduced, the seven declared stages (retired5 refit5/alias5/refit5c, retired7 refit7/hostmove2/alias7/refit7c) rebuild both candidate words, candidate fill = declared compaction (seven removed helpers), independent symbolic/frame/cleanup checks with six mutations, literal owner fill (R 408) with one mutation, exact adjacent root bracket, claim binding and strict improvement over PR2733, PR2745, PR2751, PR2766 and PR2767." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify_retired7.py" + ], + "timeout_seconds": 300, + "checks": "Seven-stage structure, the pinned PR2679 auditor on all eight states, 142 tamper controls (retired5: lender refit undone by warp frame mismatch, follower raise undone, 35 alias mutations, corrupted certified frame; retired7: new-lender refit undone by warp frame mismatch, 4 controls per hostee move, the PR2679 alias suite per new alias, corrupted certified frame; every mutant re-derives its cleanup and must be rejected for a real reason), literal owner fill (R 408), 80-digit root and kappa = C - 1e-46 - 1e-70 above PR2751, PR2766 and PR2767." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "{package}/packing_cap.py" + ], + "timeout_seconds": 120, + "checks": "Pinned generic coverage-law ceiling and realized fraction for the candidate, not a sharp packing optimum." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/test_integrity.py" + ], + "timeout_seconds": 300, + "checks": "Git-free read-only relocation; altered claim/input and optimized execution refusals." + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/composition.py b/research/superior-replica-kappa/vendor/frontier/composition.py new file mode 100644 index 0000000000..bb455e907d --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/composition.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Deterministic PR2673 priority-fill / PR2679 pre-life-word composition. + +No solver and no native execution. Match helper indices in increasing order +within each width queue, delete seven surplus width-4 roles per call, then +compact each physical bin. Helper indices are width-registry positions, not +register identities. Final whole-call geometry is checked separately by both +literal implementations in verify.py; full_replay.py binds actual natives. + +Credit Jeremy Kothe's PR2673 fill and PR2621's priority scheduling idea, +PR2679's pre-life/refit words, PR2588/PR2530 and retained supplier lineage. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import importlib.util +import json +from pathlib import Path +import sys +sys.dont_write_bytecode = True + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def transform(old, new, fill, order, initial_dispatch, words): + """Reconstruct the full candidate and mapping from authenticated inputs.""" + need(set(old) == set(new) == set(words) == {'gauge44', 'extra'}, 'provider identities') + need(len(order) == 666 and len(set(map(tuple, order))) == 666, 'composition call count') + need(len(fill['rows']) == 281052, 'source role count') + dispatch = dict(initial_dispatch) + for s, r, pid in fill['dispatch_overrides']: + need((s, r) in dispatch and pid in new, 'source dispatch override') + dispatch[s, r] = pid + need(set(dispatch) == set(map(tuple, order)), 'source dispatch coverage') + maps, dropped, bindings = {}, {}, {} + for pid in sorted(new): + oldq, newq = defaultdict(list), defaultdict(list) + for i, width in enumerate(old[pid]['widths']): + oldq[width].append(i) + for i, width in enumerate(new[pid]['widths']): + newq[width].append(i) + need(len(old[pid]['widths']) == 422 and len(new[pid]['widths']) == 415, 'old/new helper counts') + need(set(oldq) == set(newq) == {4, 5, 7, 8, 9}, 'width support') + need({w:len(oldq[w])-len(newq[w]) for w in oldq} == {4:7, 5:0, 7:0, 8:0, 9:0}, 'seven surplus width-4 roles') + maps[pid] = {i:j for w in sorted(newq) for i,j in zip(oldq[w], newq[w])} + dropped[pid] = sorted(set(range(422)) - set(maps[pid])) + need(len(maps[pid]) == 415 and set(maps[pid].values()) == set(range(415)), 'new helper bijection') + need(all(old[pid]['widths'][i] == new[pid]['widths'][j] for i,j in maps[pid].items()), 'width-preserving bijection') + need(len(dropped[pid]) == 7 and all(old[pid]['widths'][i] == 4 for i in dropped[pid]), 'deleted widths') + # This binds declared widths/report to the raw word, without claiming + # that reading its report proves the actual native program semantics. + word = words[pid] + remaining = [r for r in range(224, 704) if r not in set(word['removed'])] + final = {int(k):v for k,v in word['helper_final'].items()} + extra = {int(k):v for k,v in word['start_extra'].items()} + actual = [len(final.get(r, range(9))) - len(extra.get(r, [])) for r in remaining] + need(actual == new[pid]['widths'], 'raw-word ordered width binding') + need(word['report']['local_profile'] == new[pid]['actual_paid_profile'], 'raw-word reported profile binding') + bindings[pid] = dict(helpers=len(remaining), + width_inventory=dict(sorted(Counter(actual).items()))) + rows, removed, bins, oldbins, per_call = [], [], defaultdict(list), defaultdict(list), defaultdict(set) + for i, row in enumerate(fill['rows']): + need(len(row) == 6 and all(type(v) is int for v in row), 'source role shape') + t, h, owner, child, port, offset = row + need(0 <= t < 666 and 0 <= h < 422, 'source role bounds') + need(h not in per_call[t], 'source duplicate helper') + per_call[t].add(h) + pid = dispatch[tuple(order[t])] + oldbins[owner, child, port].append(old[pid]['widths'][h]) + if h not in maps[pid]: + removed.append((owner, child, port)) + continue + bins[owner, child, port].append(len(rows)) + rows.append([t, maps[pid][h], owner, child, port, offset]) + need(set(per_call) == set(range(666)) and all(x == set(range(422)) for x in per_call.values()), 'source helper coverage') + need(len(removed) == 4662 and len(set(removed)) == 4662, '4662 distinct affected bins') + need(all(sorted(oldbins[key]) == [4, 9, 9, 9] for key in removed), 'source deletion-bin patterns') + for indices in bins.values(): + offset = 0 + for i in sorted(indices, key=lambda j:rows[j][5]): + row = rows[i] + row[5] = offset + offset += new[dispatch[tuple(order[row[0]])]]['widths'][row[1]] + need(len(rows) == 276390, 'composed role count') + candidate = dict(fill, rows=rows) + mapping = dict(keep_maps=maps, dropped=dropped) + report = dict(status='PASS_DETERMINISTIC_WIDTH_QUEUE_COMPOSITION', removed_roles=4662, + affected_bins=4662, source_bin_widths=[4, 9, 9, 9], remaining_bin_widths=[9, 9, 9], + roles=len(rows), calls=666, helpers_per_call=415, width_bindings=bindings, + fill_canonical_sha256=hashlib.sha256(canonical(candidate)).hexdigest()) + return candidate, mapping, report + + +def check(data): + obj = data['objects'] + original_order = obj['source/pr2673/ORDER.json'] + initial = {(s,r):p for s,r,p in obj['source/pr2673/DISPATCH.json.gz']} + need(initial == data['dispatch'], 'unchanged source dispatch') + candidate, mapping, report = transform( + obj['source/pr2673/PROVIDERS.json'], data['providers'], + obj['source/pr2673/FILL.json.gz'], original_order, initial, + {'gauge44':obj['source/pr2679/WORD-base.json.gz'], 'extra':obj['source/pr2679/WORD-extra.json.gz']}) + need(data['candidate_order'] == original_order, 'unchanged priority order') + need(candidate == data['candidate_fill'], 'complete deterministic candidate equality') + need(json.loads(canonical(mapping)) == obj['candidate/MAPPING.json'], 'complete deterministic mapping equality') + report['mapping_canonical_sha256'] = hashlib.sha256(canonical(json.loads(canonical(mapping)))).hexdigest() + return report diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/ADMISSION.json b/research/superior-replica-kappa/vendor/frontier/evidence/ADMISSION.json new file mode 100644 index 0000000000..df8d10716f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/ADMISSION.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "1717141586348426338109/1000000000000000000000000", + "fill_sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "gain": "6257252193655137/6250000000000000000000", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "native_receipt_sha256": "c33bf92fccb63f4d9a3ff6f7e025ac831ad012dd92d236b0f046bc4b1c6a29b2", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "32": 1, + "4": 79920, + "48": 26558, + "5": 22532, + "8": 5328 + }, + "release_receipt_sha256": "5839b3b3448d67d7a936fe962298d7d77cb83ee489321343af7769166f5d0142", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/reconstruct.py", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/owners" + ], + "exit_code": 0, + "log_sha256": "ea77455da769b04c89d99695cb56a77c635a8ff46c760b826bf79e9689baa3db", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 7.02489157000673 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/lift_parent.py", + "--owners", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/owners", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 10.359581939002965 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/new/rebind.py", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "2bebde6c85961ee26457f1a7d2fe6e6672a95aeebcd81194c7ecf30804f6346b", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.542834171996219 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/layout/packing74/replay.py", + "--data", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/layout/packing74/candidate", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/discovery", + "--local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "7259104fe82131c1dd33d27a26f074197ddae0190425675ba761a62c8155de98", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 117.20071977899352 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "b148cd9ee46327427df78e9e351d4d7144b62dc180fae092d82c8e51bf62b2cd", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.08087540300039109 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "edfd0610e9edc82ff330651fed281fb6e5f3b8dec5a3e48feea760009ae3c21a", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.07375459698960185 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/package/verify_release.py", + "--main", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/source-fixed", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/admission/release", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "94711a507533c0e2cb36f1f9fb66dfb4f06957aa76f4f83b667e1e4e5260661f", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 395.8588478729944 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/INDEPENDENT.json b/research/superior-replica-kappa/vendor/frontier/evidence/INDEPENDENT.json new file mode 100644 index 0000000000..750227462f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/INDEPENDENT.json @@ -0,0 +1,662 @@ +{ + "source_checker_sha256": "ab384bca6be86e5cef39b88c313113a33b4c225534f833d8fcd97b9de58cfd53", + "providers": { + "base": { + "profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "section_profiles": { + "A": { + "1": 924, + "2": 24, + "4": 56 + }, + "cut": { + "8": 8 + }, + "B": { + "1": 1078, + "2": 510, + "4": 64, + "3": 226, + "5": 26 + }, + "restore": { + "1": 47, + "2": 38, + "3": 8 + }, + "ends": { + "1": 317, + "2": 74, + "3": 63 + } + }, + "inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "center_paths": [ + { + "center": 92, + "start_rank": 8, + "target_offsets": [ + 12, + 100, + 103, + 17, + 72, + 94, + 70, + 62, + 101, + 54, + 18, + 40, + 0, + 57, + 98, + 48, + 45, + 107, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 57, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 72, + 94, + 70, + 62, + 83, + 73, + 59, + 30, + 0, + 57, + 80, + 67, + 8, + 95, + 68, + 5, + 96, + 64 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 81, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 12, + 100, + 103, + 17, + 101, + 54, + 18, + 40, + 83, + 73, + 59, + 30, + 27, + 7, + 13, + 16, + 15, + 42 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 224, + "start_rank": 8, + "target_offsets": [ + 27, + 7, + 98, + 48, + 45, + 107, + 80, + 67, + 8, + 95, + 13, + 16, + 15, + 42, + 68, + 5, + 96, + 64, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 11, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 56, + 31, + 38, + 77, + 91, + 10, + 36, + 20, + 32, + 85, + 24, + 35, + 3, + 88, + 66, + 26, + 53, + 105 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 240, + "start_rank": 8, + "target_offsets": [ + 91, + 10, + 102, + 55, + 19, + 39, + 84, + 74, + 60, + 29, + 36, + 20, + 53, + 105, + 69, + 4, + 97, + 65, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 9, + "start_rank": 8, + "target_offsets": [ + 56, + 31, + 38, + 77, + 89, + 79, + 84, + 74, + 60, + 29, + 111, + 46, + 3, + 88, + 66, + 26, + 51, + 44, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 256, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 89, + 79, + 102, + 55, + 19, + 39, + 111, + 46, + 32, + 85, + 24, + 35, + 51, + 44, + 69, + 4, + 97, + 65 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + } + ], + "cleanup": 4540, + "algebra": { + "forward": "PASS", + "dual": "PASS" + }, + "rejecting_controls": [ + "drop_anticipatory", + "reverse_anticipatory", + "drop_source_restoration" + ] + }, + "extra": { + "profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "section_profiles": { + "A": { + "1": 924, + "2": 24, + "4": 56 + }, + "cut": { + "8": 8 + }, + "B": { + "1": 1078, + "2": 510, + "4": 64, + "3": 226, + "5": 26 + }, + "restore": { + "1": 47, + "2": 38, + "3": 8 + }, + "ends": { + "1": 317, + "2": 74, + "3": 63 + } + }, + "inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "center_paths": [ + { + "center": 92, + "start_rank": 8, + "target_offsets": [ + 12, + 100, + 103, + 17, + 72, + 94, + 70, + 62, + 101, + 54, + 18, + 40, + 0, + 57, + 98, + 48, + 45, + 107, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 57, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 72, + 94, + 70, + 62, + 83, + 73, + 59, + 30, + 0, + 57, + 80, + 67, + 8, + 95, + 68, + 5, + 96, + 64 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 81, + "start_rank": 8, + "target_offsets": [ + 6, + 82, + 93, + 58, + 12, + 100, + 103, + 17, + 101, + 54, + 18, + 40, + 83, + 73, + 59, + 30, + 27, + 7, + 13, + 16, + 15, + 42 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 224, + "start_rank": 8, + "target_offsets": [ + 27, + 7, + 98, + 48, + 45, + 107, + 80, + 67, + 8, + 95, + 13, + 16, + 15, + 42, + 68, + 5, + 96, + 64, + 49, + 34, + 108, + 22 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 11, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 56, + 31, + 38, + 77, + 91, + 10, + 36, + 20, + 32, + 85, + 24, + 35, + 3, + 88, + 66, + 26, + 53, + 105 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 240, + "start_rank": 8, + "target_offsets": [ + 91, + 10, + 102, + 55, + 19, + 39, + 84, + 74, + 60, + 29, + 36, + 20, + 53, + 105, + 69, + 4, + 97, + 65, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 9, + "start_rank": 8, + "target_offsets": [ + 56, + 31, + 38, + 77, + 89, + 79, + 84, + 74, + 60, + 29, + 111, + 46, + 3, + 88, + 66, + 26, + 51, + 44, + 50, + 33, + 109, + 23 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + }, + { + "center": 256, + "start_rank": 8, + "target_offsets": [ + 75, + 1, + 28, + 86, + 89, + 79, + 102, + 55, + 19, + 39, + 111, + 46, + 32, + 85, + 24, + 35, + 51, + 44, + 69, + 4, + 97, + 65 + ], + "reader_lines": [ + [] + ], + "paid_degrees": [ + 8 + ] + } + ], + "cleanup": 4540, + "algebra": { + "forward": "PASS", + "dual": "PASS" + }, + "rejecting_controls": [ + "drop_anticipatory", + "reverse_anticipatory", + "drop_source_restoration" + ] + } + }, + "status": "PASS_INDEPENDENT_LOCAL_COMPOSITION_WITH_CONTROLS" +} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-BASE.json b/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-BASE.json new file mode 100644 index 0000000000..fd79ad2f2a --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-BASE.json @@ -0,0 +1,27 @@ +[ + { + "step": "native", + "exit_code": 0, + "seconds": 1.093574318991159 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.2534982020006282 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 36.74402106899652 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 6.469144934992073 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 284.8359740910091 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-EXTRA.json b/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-EXTRA.json new file mode 100644 index 0000000000..930bbf3cd1 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/NATIVE-EXTRA.json @@ -0,0 +1,27 @@ +[ + { + "step": "native", + "exit_code": 0, + "seconds": 1.1837458390073152 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 1.2502824249968398 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 38.17951157900097 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 6.418584338010987 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 281.4837235180021 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/OWNERS.json b/research/superior-replica-kappa/vendor/frontier/evidence/OWNERS.json new file mode 100644 index 0000000000..00ff9fe9e4 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/OWNERS.json @@ -0,0 +1,26 @@ +{ + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 276390, + "calls": 666, + "helpers_per_call": 415, + "windows": 1332, + "window_sha256": "d301aa0d102381aecc3dd746c424d55ea6f4ade9f87b833c8db6d643e205c846", + "idle": { + "1": 17316, + "3": 6594, + "5": 5216, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512 +} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PACKING-CAP.json b/research/superior-replica-kappa/vendor/frontier/evidence/PACKING-CAP.json new file mode 100644 index 0000000000..e304fa1a3a --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PACKING-CAP.json @@ -0,0 +1,25 @@ +{ + "status": "PASS_FIXED_WORD_PACKING_CEILING", + "source_sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "local_per_call": { + "1": "2366", + "2": "646", + "3": "297", + "4": "120", + "5": "26", + "8": "8" + }, + "dimension": 73, + "families": 896, + "stages": 9, + "centre_rank_per_call": 64, + "max_idle_rank": 51, + "complex_cap_bracket": [ + "1750373331783/1000000000000000", + "218796666473/125000000000000" + ], + "complex_cap_upper_decimal": "0.001750373331784", + "realized_fraction_lower": "1717141586348426338109/1750373331784000000000", + "realized_fraction_decimal": "0.98101448140683022362961556380933079811273967260851", + "scope": "Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PR2733-CLAIM.json b/research/superior-replica-kappa/vendor/frontier/evidence/PR2733-CLAIM.json new file mode 100644 index 0000000000..e97166d501 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PR2733-CLAIM.json @@ -0,0 +1,75 @@ +{ + "status": "PASS_COMPLETE_CONDITIONAL_COMPOSITION", + "kappa": "17161404259974415161889999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017161404259974415161889999999999999999999998999999999999999999999999", + "complex_lower": "1716140425997441516189/1000000000000000000000000", + "complex_upper": "171614042599744151619/100000000000000000000000", + "global_profile": { + "1": 1595736, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "7": 2664, + "8": 2664, + "32": 1, + "48": 26558 + }, + "local_profile": { + "1": 2370, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "7": 4, + "8": 4 + }, + "comparison": { + "pr": 2696, + "head": "5a42add713e09a8798a84d0be7a8276626d9e785", + "kappa": "1715599770234969498857/1000000000000000000000000" + }, + "gain": "5406557624720173319999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "gain_percent": "0.0315140962275816123491750493328909085601430052934617650373906", + "helpers": 415, + "calls": 666, + "roles": 276390, + "private_zero_buffers": 72, + "live": 66304, + "physical": 66801, + "rank_mass": 4816512, + "full_receipt": "evidence/full/RESULT.json", + "full_receipt_sha256": "5fdf5db9538e113011ed8f9a6b824658fa21e0444f51e9256521d0c9ad585c68", + "source2679_head": "2e2cf56521df8a2b816b2689144765ee00b69a24", + "source2679_manifest_sha256": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba", + "source2696_head": "5a42add713e09a8798a84d0be7a8276626d9e785", + "candidate_manifest_sha256": "f9b8b8cbed9e55b32d821c50ab76fef0afb1466f29d11204254fb50d2533e680", + "coverage": { + "current_stages": 18, + "retained_parent_stages": 18, + "strict_steps": 8, + "supplier_inequalities": 47, + "modern_inequalities": 63, + "modern_negative_controls": 17, + "evidence_replays": 19, + "admission_controls": 114, + "bit_controls": 12, + "current_controller_mutations": 25, + "independent_owner_controls": 8, + "geometry_controls": 6, + "prelife_mutations_per_provider": 78, + "alias_mutations_per_provider": 7, + "native_recipe_mutations_per_provider": 13, + "dirty_columns_each_orientation": 639, + "native_operator_count": 65, + "native_physical_classes": 166, + "native_columns_per_class": 512, + "ordinary_sufficient_stages": 37 + }, + "native_and_parent_receipt_reuse": false, + "inherited_parent_geometry_reuse": true, + "selected_main_changed": false, + "human_review": false, + "proof_assistant_verified": false, + "scope": "Finite conditional construction and exact outer inequalities; inherited all-size, machine, analytic and bit assumptions remain." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PR2745-CLAIM.json b/research/superior-replica-kappa/vendor/frontier/evidence/PR2745-CLAIM.json new file mode 100644 index 0000000000..abec1247c3 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PR2745-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017161404259974415161896013041594543449983294017148473346276661102545764922636862044436515522027985344855150098983775041629263547163125251675447485565747834806239987578441798524484107323821701155622513700644347867401071725594568449315612515905509495884766777581839230346402338825584407497351281622158523841356428865401099338720394236958852711790336260146409872571430665117721061110787229662189541453346975519235175074214477852592724575176166998622326679703333110937366407386120214229951631808518138363267905219813176599566097495754886721517267608875850230494908103506213162350791792331441348765518613305970280449654319065477042690202246342215539071518651408763289495785152089370669825080936842027153325568738439807598194885970251801409980086488948376188447193890829832107433406905825705915805396663182725240672176836077304022063208695113974303331915673309845548803340773541582855377159749875816944631212718991851923170152142435905798890231819219511903192222342830815515007978720397740590172699682116121332914982675237191807778248656942621543376826831174051827492854427715467348053277451337090533404165485527518485679836878102147066380869160639898847390703384489759823584393568428907697605006663034567580331614359947761732591931622309384133441737507681841821011957259754052851823112401129848773767009687002041129258012185486237367939005884767039702540144053399361647325610251525609642619783749057193121726684680919138377929721804998916785273913752644037950482372045322071573538992195433777074257109555074353721999902013276517157169940561568178386620728836049772478450854453389987158727572804602321996019260738152156757161348267887911191286780813615476385696509733698463920053360075825699816566817800871673208690336294749647427947527499679407036440023012434171281046642426063654970939957181652265529443590787097461531801386011463743969975862780264085637768256289418782679823530263960075114664371507347732276812969864267561045514124389130733313432877811559115885025512526570171968931566958796992173385070063858597422249224774059391355832669440787433006251720806671766291989349470710554806666610191428287150962949669966874896220499275076889892936459607089678667559585864417586998756676345103422137383436139164074064413916005285172972434222534980758037678651337185451875937225517472532035922749947894047044307464181536443210914044182443803479301179986710313174104876273478382938568847726302351705419077804666452283789684993513210200088330639281177607666875663921738211690621348879356694620400978434606801942412927215162093602305185615637438642656133240614451101846652516809817309035289035489847973460879066277497551043498065469308439704045371771254463714675858553654131998769759361591778931496023325741201834604057378735990243836231494186018058285686722518542636221903820347998951060107655579200518923393481166710944469301744664814911217117960681084006650202202241059630268904883784070678343948707778708019904797605161781920696887549836082383733184920473162729765214804978776850316187016051529352187958399999999999999999999998999999999999999999999999", + "kappa_rational": "17161404259974415161896013041594543449983294017148473346276661102545764922636862044436515522027985344855150098983775041629263547163125251675447485565747834806239987578441798524484107323821701155622513700644347867401071725594568449315612515905509495884766777581839230346402338825584407497351281622158523841356428865401099338720394236958852711790336260146409872571430665117721061110787229662189541453346975519235175074214477852592724575176166998622326679703333110937366407386120214229951631808518138363267905219813176599566097495754886721517267608875850230494908103506213162350791792331441348765518613305970280449654319065477042690202246342215539071518651408763289495785152089370669825080936842027153325568738439807598194885970251801409980086488948376188447193890829832107433406905825705915805396663182725240672176836077304022063208695113974303331915673309845548803340773541582855377159749875816944631212718991851923170152142435905798890231819219511903192222342830815515007978720397740590172699682116121332914982675237191807778248656942621543376826831174051827492854427715467348053277451337090533404165485527518485679836878102147066380869160639898847390703384489759823584393568428907697605006663034567580331614359947761732591931622309384133441737507681841821011957259754052851823112401129848773767009687002041129258012185486237367939005884767039702540144053399361647325610251525609642619783749057193121726684680919138377929721804998916785273913752644037950482372045322071573538992195433777074257109555074353721999902013276517157169940561568178386620728836049772478450854453389987158727572804602321996019260738152156757161348267887911191286780813615476385696509733698463920053360075825699816566817800871673208690336294749647427947527499679407036440023012434171281046642426063654970939957181652265529443590787097461531801386011463743969975862780264085637768256289418782679823530263960075114664371507347732276812969864267561045514124389130733313432877811559115885025512526570171968931566958796992173385070063858597422249224774059391355832669440787433006251720806671766291989349470710554806666610191428287150962949669966874896220499275076889892936459607089678667559585864417586998756676345103422137383436139164074064413916005285172972434222534980758037678651337185451875937225517472532035922749947894047044307464181536443210914044182443803479301179986710313174104876273478382938568847726302351705419077804666452283789684993513210200088330639281177607666875663921738211690621348879356694620400978434606801942412927215162093602305185615637438642656133240614451101846652516809817309035289035489847973460879066277497551043498065469308439704045371771254463714675858553654131998769759361591778931496023325741201834604057378735990243836231494186018058285686722518542636221903820347998951060107655579200518923393481166710944469301744664814911217117960681084006650202202241059630268904883784070678343948707778708019904797605161781920696887549836082383733184920473162729765214804978776850316187016051529352187958399999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PR2751-CLAIM.json b/research/superior-replica-kappa/vendor/frontier/evidence/PR2751-CLAIM.json new file mode 100644 index 0000000000..48ad23a430 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PR2751-CLAIM.json @@ -0,0 +1,24 @@ +{ + "status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE", + "complex_lower": "0.001717141586348426338109", + "complex_upper": "0.001717141586348426338110", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": 2733, + "comparison_head": "2761b52b17590b8cf94f2e410004a8252d5592dc", + "scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.", + "latest_comparison": { + "pr": 2745, + "head": "4f485de05544884fa0f2edf6063bb9259decad30", + "exact_claim": "evidence/PR2745-CLAIM.json" + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PR2766-CLAIM.json b/research/superior-replica-kappa/vendor/frontier/evidence/PR2766-CLAIM.json new file mode 100644 index 0000000000..d352e67b80 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PR2766-CLAIM.json @@ -0,0 +1,26 @@ +{ + "status": "COMPLETE_FINITE_RELEASE_PASSED_CONDITIONAL_KAPPA", + "complex_lower": "0.001717256973467002308270", + "complex_upper": "0.001717256973467002308271", + "kappa": "17172569734670023082699999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017172569734670023082699999999999999999999998999999999999999999999999", + "profile": { + "1": 1591740, + "2": 430902, + "3": 204396, + "4": 79920, + "5": 22532, + "8": 5328, + "32": 1, + "48": 26558 + }, + "comparison_pr": 2751, + "comparison_head": "4cfbb0cc8314d7fb4e8e754545a49a42eb590a69", + "comparison_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "absolute_gain": "115387118575970161/1000000000000000000000000", + "relative_gain": "1153871185759701610000000000000000000000000000000000000000000000/17171415863484263381089999999999999999999998999999999999999999999999", + "relative_gain_percent_decimal": "0.006719720697076920262999344663512072867487887126182086416724216655132904", + "credited_refit_pr": 2733, + "credited_refit_head": "a63c55ff56aaa8645d64d1162d1f017b59ded42a", + "scope": "New composition of the credited PR2733 frame refit with PR2751 joint twelve-source recovery. Complete finite native, supplier and modern outer release passed; inherited universal hypotheses and selected frontier unchanged." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json b/research/superior-replica-kappa/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json new file mode 100644 index 0000000000..2bb218a750 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PR2767-OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999", + "kappa_rational": "17172569734670023082709447969069152126118769780965028281008777096022519916744024507755781541393565107541777345616367652506197068005633337706659261256966375316821124413350346601705176280553912235149970753181426298001293678362122690855686275720239412792316093597276141944155457489339446224311536862711549926054504931270560356314999015644110485022254405640527426463064952462185589768355732358008424134781124147412002557999341130922954560743011637806547436549181955782473753496979703362588896807515818466546937711049279980942794048991491326287505803399514341852820837943067785939680385921588672688420201433278727269345703864690376991542653902864701881652568311532870078191785893592410790571289085509481502003170258982906991486560315611931860697467696290292055253082068400551006212099824229936930413663128901131121759917302246165771388714185911541104549988804338712295071202096399100335791126922173037775327463059771433440926266880163896249389966745756271553563709591781001439768394342152913377499665536820868707787226505884376108228421715755450623096661691184454221995927505823408578749208545463740410015863275806178269842001719301762674785169518465683571440572993799589490631487105886295095493149586094319859314875095378861401422556789940186941047005736880403188010645106677026296918442629431903843644855362525736842630354486796094857852734997386028457768569824115555112581868166739336167277381787859006062432028767244521059628397246359398320786429319939420672411083838467729316208932075333803830898035322664949004091568509869438186415465161733566756555736356233923851918780823353640473134174987172652099048421354257100239255942629158502164301318171598492065833037847549681946684768605491450323194076412999983215955509460578326463064191168457600338240713840193411472575547950797115245206022145794895788468041089449169787357317266308048623204566140235628233017090878916323527128156264726328354041412616033952419944700431126936863322584716859502347695311920748466005526768515925854102406706307520896865670601578650767111842955685088409462542848610347972939615154323284480230135034841876444061631325858729157683020840589884429004551623552818746676680914576485067803186939296066606405395766033283905684054983159064863223300983125666776604195695852034071159764621179219686754472092896427897404874394357914200560727383691925322278679456774883229095577135736844500900384756502718708923562610023580899942766723533449198010932258174758894762374984951419979309148647906675840732792544402297243181446952503231023897790927353688424025440209475595384587082902426402767980019136142593982138839226181846487690619361976037727824614860473865262796331567734540250992369604076843182445798287538318092729802017130103545991079143478304625081199840311512857747798081094366427632011938791580334466991754850298586038018016640436196908298039209188887977906075656186932051633274060946735331678245512576959516444591775914847982031747835727960828045213036341689251316473265483110696205040246018249882524641792097396874190897482609999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method; this package: six pre-life hostings (cold hosts 273, 275, 289, 291, 305, 321 host helpers 482, 483, 494, 495, 507, 519), a one-gate frame refit with the retired-lender alias 653<-563, and a new exact owner fill", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/PUBLIC-WRAPPER.json b/research/superior-replica-kappa/vendor/frontier/evidence/PUBLIC-WRAPPER.json new file mode 100644 index 0000000000..e705eabcff --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/PUBLIC-WRAPPER.json @@ -0,0 +1,221 @@ +{ + "cold_seconds": 543.6799636979995, + "cold_stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/verify.py" + ], + "exit_code": 0, + "log_sha256": "fdbe439b439749750ed8d662d003744807c114453487bc07699dd997bbeb3786", + "name": "literal-review", + "script_sha256": "3dfcdde58f1695878668f140efc512fc06c2a30c70c78b65334a15e81844f213", + "seconds": 8.92684423099854 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/workflow/admit.py", + "--source", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/source", + "--fill", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/inputs/FILL.json.gz", + "--order", + "/home/zoe/MP/maths/mult/integer-mult-joint12/research/t74-joint-twelve/inputs/ORDER.json", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache", + "--native-receipt", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/NATIVE-RECEIPT.json", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "77e1a3852e31ca96cc7b7050bfe6f4876bb74db16aa8bbb901c92872344cd014", + "name": "complete-admission", + "script_sha256": "f0d510b46a5f05b033b13fecb706389ab374b783bd46ef30e7386195d9e56d3e", + "seconds": 534.4106610509916 + } + ], + "complex_lower": "1717141586348426338109/1000000000000000000000000", + "environment": { + "executable": "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.5.4", + "scipy": "1.18.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": true, + "fill_sha256": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1", + "gain": "6257252193655137/6250000000000000000000", + "kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "native_receipt_sha256": "c2559bc69911798aeb62a49aef185c0aaf28e48ad2b08041b76ee8478d27dd5c", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1593072, + "2": 430236, + "3": 204396, + "32": 1, + "4": 79920, + "48": 26558, + "5": 22532, + "8": 5328 + }, + "release_receipt_sha256": "7e6114c63c133769c21ea79bb13a5cd96fe6ba0ef6a9389ea91ed1f1d206a5a4", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "7980dbde79b63de4093cde89d1564a18c6bf16a2e35d810e38cf9797fe09e0cf", + "stages": [ + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/reconstruct.py", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/owners" + ], + "exit_code": 0, + "log_sha256": "ea77455da769b04c89d99695cb56a77c635a8ff46c760b826bf79e9689baa3db", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 7.053403829995659 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/lift_parent.py", + "--owners", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/owners", + "--out", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 10.136882726001204 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/new/rebind.py", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127/local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "2bebde6c85961ee26457f1a7d2fe6e6672a95aeebcd81194c7ecf30804f6346b", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 1.5739846880023833 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/layout/packing74/replay.py", + "--data", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/layout/packing74/candidate", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/discovery", + "--local", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache/ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "7259104fe82131c1dd33d27a26f074197ddae0190425675ba761a62c8155de98", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 116.71028798099724 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "b148cd9ee46327427df78e9e351d4d7144b62dc180fae092d82c8e51bf62b2cd", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.07842145599715877 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "edfd0610e9edc82ff330651fed281fb6e5f3b8dec5a3e48feea760009ae3c21a", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.05850559000100475 + }, + { + "command": [ + "/home/zoe/MP/maths/mult/seed39-runtime/bin/python", + "-B", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/package/verify_release.py", + "--main", + "/home/zoe/MP/maths/mult/t74-joint12-experiment", + "--work", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/admission/release", + "--native-cache", + "/home/zoe/MP/maths/mult/t74-joint12-experiment/public-wrapper/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "94711a507533c0e2cb36f1f9fb66dfb4f06957aa76f4f83b667e1e4e5260661f", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 397.45473003099323 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/RELEASE.json b/research/superior-replica-kappa/vendor/frontier/evidence/RELEASE.json new file mode 100644 index 0000000000..e44dc7c69b --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/RELEASE.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017171415863484263381089999999999999999999998999999999999999999999999", + "manifest_sha256": "132012fcd14ae053c0ad8525537af3a5d2297ce6a3dcda64b65e46abc79f7f8a", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 1717141586348426338109/1000000... brackets the ledger's b = 171714158634842633810899999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017171415863484263381089999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 395.76 +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json new file mode 100644 index 0000000000..51fc187607 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-RESULT.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "214676164541936455431/125000000000000000000000", + "fill_sha256": "3501f6bd9d56d9da9fdc912d957d08077434525a804bb647df1e630fc30b6a3f", + "gain": "1268890338050127259/1000000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "native_receipt_sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "release_receipt_sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json new file mode 100644 index 0000000000..a5d5bc1130 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/ADMISSION-STAGES.json @@ -0,0 +1,111 @@ +[ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CERT2751.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CERT2751.json new file mode 100644 index 0000000000..dde7a0f3d0 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CERT2751.json @@ -0,0 +1,199 @@ +{ + "target": "PR2751 (tekuuu, head 4cfbb0cc) words + five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562", + "census": { + "followers": 57, + "lenders": 409, + "live_pairs": 3747, + "fixed_ok": 0, + "refit_ok": 35, + "helpers": [ + 606, + 635, + 637, + 638, + 639 + ], + "lenders_ok": [ + 550, + 551, + 552, + 553, + 562, + 564, + 565 + ] + }, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "literal_fill": { + "checkers": [ + "PR2745-package reconstruct.py + lift_parent.py (construction run)", + "independent_owners.py (R 410) in verify.py and verify_retired5.py", + "reconstruct.py inside the complete admission" + ], + "root80": "0.0017174093163354916434484584775411722292820274055897657035793607344277615998944" + }, + "stages": [ + { + "stage": "literal-review", + "exit_code": 0, + "seconds": 3.1 + }, + { + "stage": "native-extra", + "exit_code": 0, + "seconds": 105.6 + }, + { + "stage": "native-base", + "exit_code": 0, + "seconds": 106.5 + }, + { + "stage": "native-retained-base", + "exit_code": 0, + "seconds": 86.9 + }, + { + "stage": "native-retained-extra", + "exit_code": 0, + "seconds": 87.1 + }, + { + "stage": "retained-parent", + "exit_code": 0, + "seconds": 67.4 + }, + { + "stage": "complete-admission", + "exit_code": 0, + "seconds": 209.5 + }, + { + "stage": "admission:owners", + "exit_code": 0, + "seconds": 2.6 + }, + { + "stage": "admission:parent-lift", + "exit_code": 0, + "seconds": 3.4 + }, + { + "stage": "admission:rebind", + "exit_code": 0, + "seconds": 0.5 + }, + { + "stage": "admission:discovery", + "exit_code": 0, + "seconds": 42.9 + }, + { + "stage": "admission:outer-check_ledger.py", + "exit_code": 0, + "seconds": 0.0 + }, + { + "stage": "admission:outer-independent_check.py", + "exit_code": 0, + "seconds": 0.0 + }, + { + "stage": "admission:release", + "exit_code": 0, + "seconds": 159.6 + }, + { + "stage": "release:verify:fine-engine-oracle", + "exit_code": 0 + }, + { + "stage": "release:verify:retained-provider-and-parent-admission", + "exit_code": 0 + }, + { + "stage": "release:verify:rebuild-words-566", + "exit_code": 0 + }, + { + "stage": "release:verify:reconstruct-owners", + "exit_code": 0 + }, + { + "stage": "release:verify:lift-parent", + "exit_code": 0 + }, + { + "stage": "release:verify:rebuild-borrow-words", + "exit_code": 0 + }, + { + "stage": "release:verify:audit-local-566-base", + "exit_code": 0 + }, + { + "stage": "release:verify:audit-local-566-extra", + "exit_code": 0 + }, + { + "stage": "release:verify:rebind-566", + "exit_code": 0 + }, + { + "stage": "release:verify:lemmag-labels", + "exit_code": 0 + }, + { + "stage": "release:verify:strict-t74", + "exit_code": 0 + }, + { + "stage": "release:verify:geometry-controls", + "exit_code": 0 + } + ], + "result": { + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE", + "release": "PASS_RELEASE", + "complex_lower": "214676164541936455431/125000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "precision": "endpoint certified at 1e-24 (accept at C, reject at C+1e-24); kappa = C - 1e-46 - 1e-70 exactly", + "margins": { + "PR2751": "267729987065305339/1000000000000000000000000", + "PR2766": "76171434244667589/500000000000000000000000", + "PR2767": "1.5234286848933516942947e-07" + }, + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "cold_seconds": 473.9 + }, + "package": { + "path": "research/t74-joint-twelve-retired5", + "overlay_sha256": "4305a3b9e98145d00417ae1b27caa4d9c7eed263a29ad52389fa5ffd33714ef0", + "derived_manifest": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "claim_sha256": "405e5840859b64209687b2c58d0097d9bbbdc0e007da88d91a001ccd093a79f1" + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json new file mode 100644 index 0000000000..9785264a78 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43base.json @@ -0,0 +1,180 @@ +{ + "all_rejected": true, + "controls": { + "606<-550 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 63", + "real_reason": true + }, + "606<-550 warp dropped": { + "rejected": true, + "reason": "frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "real_reason": true + }, + "606<-550 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "606<-550 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "real_reason": true + }, + "606 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "635<-551 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 warp dropped": { + "rejected": true, + "reason": "frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "635<-551 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "635<-551 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "real_reason": true + }, + "635 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "637<-552 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 35", + "real_reason": true + }, + "637<-552 warp dropped": { + "rejected": true, + "reason": "frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "637<-552 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "637<-552 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "real_reason": true + }, + "637 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "638<-553 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "638<-553 warp dropped": { + "rejected": true, + "reason": "frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "638<-553 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "638<-553 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "real_reason": true + }, + "638 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "639<-562 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "639<-562 warp dropped": { + "rejected": true, + "reason": "frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "639<-562 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "639<-562 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "real_reason": true + }, + "639 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json new file mode 100644 index 0000000000..9785264a78 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/CONTROLS-ALIAS5-43extra.json @@ -0,0 +1,180 @@ +{ + "all_rejected": true, + "controls": { + "606<-550 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 11", + "real_reason": true + }, + "606<-550 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 63", + "real_reason": true + }, + "606<-550 warp dropped": { + "rejected": true, + "reason": "frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "real_reason": true + }, + "606<-550 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "606<-550 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "real_reason": true + }, + "606 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "635<-551 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "635<-551 warp dropped": { + "rejected": true, + "reason": "frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "635<-551 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "635<-551 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "real_reason": true + }, + "635 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "637<-552 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "637<-552 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 35", + "real_reason": true + }, + "637<-552 warp dropped": { + "rejected": true, + "reason": "frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "637<-552 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "637<-552 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "real_reason": true + }, + "637 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "638<-553 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "638<-553 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "638<-553 warp dropped": { + "rejected": true, + "reason": "frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "638<-553 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "638<-553 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "real_reason": true + }, + "638 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "639<-562 borrowed read sign flipped": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed read doubled": { + "rejected": true, + "reason": "target map failed 45", + "real_reason": true + }, + "639<-562 borrowed write sign flipped": { + "rejected": true, + "reason": "target map failed 32", + "real_reason": true + }, + "639<-562 warp dropped": { + "rejected": true, + "reason": "frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "real_reason": true + }, + "639<-562 G wrong": { + "rejected": true, + "reason": "G(from)!=to", + "real_reason": true + }, + "639<-562 warp before lender retirement": { + "rejected": true, + "reason": "warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "real_reason": true + }, + "639 kept with an entrance frame": { + "rejected": true, + "reason": "start_extra/helper_final must name remaining helpers", + "real_reason": true + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json new file mode 100644 index 0000000000..d276ca96c5 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-RESULT.json @@ -0,0 +1,295 @@ +{ + "cold_seconds": 473.86783904209733, + "cold_stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/verify.py" + ], + "exit_code": 0, + "log_sha256": "f29e2b1e3f365895dbbb150a0c809a8fa8f6bd31fefe2a95d156b9ab38b1d1ac", + "name": "literal-review", + "script_sha256": "9e2255942bf283cc7402f3f2dfe9b1068004d83e54aa093680697bce5fa002e4", + "seconds": 3.138666331768036 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + ], + "exit_code": 0, + "log_sha256": "d4978b408406e14a9589e8f130cafe93ca108c61e7a1988021582d627e9ecd88", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 105.63651245832443 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + ], + "exit_code": 0, + "log_sha256": "e46f44d5369c79f4b7479bc9834993bf11a8c0a2c6c04ad6c354e4ed149533fc", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 106.45441208221018 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/gauge44-word.json.gz", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 86.9097792096436 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/extra-word.json.gz", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 87.08368291519582 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/vendor/pr1297/verify.py", + "--work", + "$WORK/retained-parent", + "--base-native-from", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 67.37584125064313 + }, + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/workflow/admit.py", + "--source", + "$WORK/source", + "--fill", + "$PACKAGE/inputs/FILL.json.gz", + "--order", + "$PACKAGE/inputs/ORDER.json", + "--native-cache", + "$WORK/native-cache", + "--native-receipt", + "$WORK/NATIVE-RECEIPT.json", + "--work", + "$WORK/admission", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "78e003fec9be06b771f97b231364c81db916f005cd61b3e4676375b18b3d42d8", + "name": "complete-admission", + "script_sha256": "68c8eda7343ba8119cfe98f464aeaf27ba61d913a2088ac4aaa74ac3b1a26ea8", + "seconds": 209.51657162606716 + } + ], + "complex_lower": "214676164541936455431/125000000000000000000000", + "environment": { + "executable": "$PYTHON", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.4.4", + "scipy": "1.17.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": false, + "fill_sha256": "3501f6bd9d56d9da9fdc912d957d08077434525a804bb647df1e630fc30b6a3f", + "gain": "1268890338050127259/1000000000000000000000000", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "native_receipt_sha256": "a6699f7c413a023c54002383427a406c5abab01e24044ea2d0bf477f2847358b", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1606392, + "2": 427572, + "3": 189078, + "32": 1, + "4": 85248, + "48": 26558, + "5": 25862, + "8": 5328 + }, + "release_receipt_sha256": "4d7e7d7c9fc4409cb1349ccba8cb7684cf728c62c256eb035a312a4effb3e417", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "stages": [ + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/reconstruct.py", + "--out", + "$WORK/admission/owners" + ], + "exit_code": 0, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.603047166019678 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/lift_parent.py", + "--owners", + "$WORK/admission/owners", + "--out", + "$WORK/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.375074163079262 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/new/rebind.py", + "$WORK/admission/package", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local", + "$WORK/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.45554850064218044 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/layout/packing74/replay.py", + "--data", + "$WORK/admission/layout/packing74/candidate", + "--work", + "$WORK/admission/discovery", + "--local", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "47e527508e79492bac115ed986f64952061d62d4e0e398493a5503177efa715c", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 42.93201891891658 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "3600dc9da6e2d8a7890ba25d653b5c4a5d8665258138b4a1fbc513cd10d1ce9d", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04852970875799656 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "be184bf84423d7099020df8eac83ab5d4f21a6d98e30df2941e7d6f55233c5da", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023921916261315346 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/admission/package/verify_release.py", + "--main", + "$SCRATCH/t51", + "--work", + "$WORK/admission/release", + "--native-cache", + "$WORK/native-cache", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "feda4a5293171f0bf66be05056d778b9ea7697cbb60e26d4b029d9cc757fb9ad", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 159.62109053879976 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json new file mode 100644 index 0000000000..384e4a8a7e --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/FULL-REPLAY-STAGES.json @@ -0,0 +1,114 @@ +[ + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/verify.py" + ], + "exit_code": 0, + "log_sha256": "f29e2b1e3f365895dbbb150a0c809a8fa8f6bd31fefe2a95d156b9ab38b1d1ac", + "name": "literal-review", + "script_sha256": "9e2255942bf283cc7402f3f2dfe9b1068004d83e54aa093680697bce5fa002e4", + "seconds": 3.138666331768036 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "$WORK/native-cache/4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + ], + "exit_code": 0, + "log_sha256": "d4978b408406e14a9589e8f130cafe93ca108c61e7a1988021582d627e9ecd88", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 105.63651245832443 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/new/run_native_borrow.py", + "$WORK/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "$WORK/native-cache/a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + ], + "exit_code": 0, + "log_sha256": "e46f44d5369c79f4b7479bc9834993bf11a8c0a2c6c04ad6c354e4ed149533fc", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 106.45441208221018 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/gauge44-word.json.gz", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 86.9097792096436 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "$WORK/source/vendor/pr1297/extra-word.json.gz", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 87.08368291519582 + }, + { + "command": [ + "$PYTHON", + "-B", + "$WORK/source/vendor/pr1297/verify.py", + "--work", + "$WORK/retained-parent", + "--base-native-from", + "$WORK/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "$WORK/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 67.37584125064313 + }, + { + "command": [ + "$PYTHON", + "-B", + "$PACKAGE/workflow/admit.py", + "--source", + "$WORK/source", + "--fill", + "$PACKAGE/inputs/FILL.json.gz", + "--order", + "$PACKAGE/inputs/ORDER.json", + "--native-cache", + "$WORK/native-cache", + "--native-receipt", + "$WORK/NATIVE-RECEIPT.json", + "--work", + "$WORK/admission", + "--jobs", + "2" + ], + "exit_code": 0, + "log_sha256": "78e003fec9be06b771f97b231364c81db916f005cd61b3e4676375b18b3d42d8", + "name": "complete-admission", + "script_sha256": "68c8eda7343ba8119cfe98f464aeaf27ba61d913a2088ac4aaa74ac3b1a26ea8", + "seconds": 209.51657162606716 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/GENERATE-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/GENERATE-LOG.txt new file mode 100644 index 0000000000..58bf5e8244 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/GENERATE-LOG.txt @@ -0,0 +1,270 @@ +wrote $OUT/gen-out2/canonical-base.json.gz 1901 4504 42 78 +BUILT base newops 12 targets {126: [45], 153: [45], 218: [45], 164: [45], 133: [45], 149: [45], 222: [45], 159: [45], 155: [45], 190: [45], 216: [45], 211: [45]} file $OUT/gen-out2/joint/eight-alias-base.json.gz +warps 58 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 646 independent inputs +free-algebra dual PASS 646 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "eight-alias-base.json.gz", + "content_sha256": "3b3f4257310076afeb608d249a1b070ea256c6764a2a865b533876873d4d2f25", + "compressed_sha256": "fe6107728d9534ea7514c01ad1c055ed5ef281eb6f1636c3c51345e532517065", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2359, + "2": 632, + "3": 318, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.35123725049197674, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 65 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 639 independent inputs +free-algebra dual PASS 639 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-base.json.gz", + "content_sha256": "f5dc7b45551de05ac239bab283dd6b73c365c7f1a132d480c70d878eb9a41de1", + "compressed_sha256": "675cd7471865da6e762af662d0aad46c73751051a2451d4aa52bc675ea79ed89", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 65, + "independent_inputs": 639, + "warps": 65, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 133, + "local_profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5223, + "width_inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 639, + "elapsed_seconds": 0.3255330827087164, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 70 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 634 independent inputs +free-algebra dual PASS 634 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-retired5-base.json.gz", + "content_sha256": "9e290bc9f46951a66869d90036e771c6071f52198437879be33c08c05d7ad7d5", + "compressed_sha256": "30583d34f5668a0e3ff808ed49893656b027bb83e75da132f2cbd01b439cd8dd", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 70, + "independent_inputs": 634, + "warps": 70, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 128, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5198, + "width_inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 634, + "elapsed_seconds": 0.33066937513649464, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +wrote $OUT/gen-out2/canonical-extra.json.gz 1901 4504 42 78 +BUILT extra newops 12 targets {126: [45], 153: [45], 218: [45], 164: [45], 133: [45], 149: [45], 222: [45], 159: [45], 155: [45], 190: [45], 216: [45], 211: [45]} file $OUT/gen-out2/joint/eight-alias-extra.json.gz +warps 58 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 646 independent inputs +free-algebra dual PASS 646 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "eight-alias-extra.json.gz", + "content_sha256": "f4d06b9b54a124eb82083ad7720c547f9624b053283081f06e3c9dd1fc00c63f", + "compressed_sha256": "0fa262b62c1e954f6b3305c6da479e8d2d126d910c981809ed226f0d02348961", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 58, + "independent_inputs": 646, + "warps": 58, + "corrections": 0, + "restored_cold": 78, + "zero_buffers": 78, + "entering": 134, + "local_profile": { + "1": 2359, + "2": 632, + "3": 318, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5251, + "width_inventory": { + "4": 33, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 646, + "elapsed_seconds": 0.32189466804265976, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 65 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 639 independent inputs +free-algebra dual PASS 639 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-extra.json.gz", + "content_sha256": "57a1598881750f3ba3d262bb577142b723208d687f29bec848381ac8bf9487f6", + "compressed_sha256": "b7cd725e8486d0cf600aa9c3a50588c4f02bc481de404db8e7d32be3fcefcbd9", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 65, + "independent_inputs": 639, + "warps": 65, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 133, + "local_profile": { + "1": 2366, + "2": 646, + "3": 297, + "4": 120, + "5": 26, + "8": 8 + }, + "local_mass": 5223, + "width_inventory": { + "4": 26, + "5": 9, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 639, + "elapsed_seconds": 0.3282842505723238, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +warps 70 PASS static K_G checks +frames/profile PASS +free-algebra forward PASS 634 independent inputs +free-algebra dual PASS 634 independent inputs +{ + "status": "PASS_INDEPENDENT_EXACT_BORROWING_WORD", + "input_file": "WORD-retired5-extra.json.gz", + "content_sha256": "69b82b55690b5107021947b14ab81b9bb169848667063920cc5c72d17d1d9f91", + "compressed_sha256": "e2e99424ff650e90b254981e358885ff515b43e650cd7930ba660d02e807d83d", + "v": 112, + "h": 9, + "R": 480, + "removed_helpers": 70, + "independent_inputs": 634, + "warps": 70, + "corrections": 36, + "restored_cold": 72, + "zero_buffers": 72, + "entering": 128, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + }, + "local_mass": 5198, + "width_inventory": { + "4": 26, + "5": 4, + "7": 62, + "8": 78, + "9": 240 + }, + "orientations": { + "forward": "PASS", + "dual": "PASS" + }, + "base": null, + "checked_columns": 634, + "elapsed_seconds": 0.33145875111222267, + "scope": "Exact free-operator-algebra replay (every remaining input is an independent column): K_G warps with G invertible, G(from)=to, symplectic form fixing L_0/L_FULL and sending L_from to L_to (rank 0), literal frame chain with warps, relaxed fixed initial compensation, derived inverse-reverse cleanup at FULL with inverse warps and private zero buffers. No Clifford phase/Gaussian product, no owner admission, no repricing." +} +PASS_REGENERATED_JOINT_TWELVE_RETIRED5_BOTH_WORDS +exit 0 diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/HOOK-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/HOOK-RESULT.json new file mode 100644 index 0000000000..c2f514c451 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/HOOK-RESULT.json @@ -0,0 +1,151 @@ +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED5_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 273060 + }, + "complex_lower": "214676164541936455431/125000000000000000000000", + "root_80_digits": "0.00171740931633549164344845847754117222928202740558976570357936073442776159989441", + "kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "2.67729987065305339E-7", + "exact": "267729987065305339/1000000000000000000000000" + }, + "PR2766": { + "decimal": "1.52342868489335178E-7", + "exact": "76171434244667589/500000000000000000000000" + }, + "PR2767": { + "decimal": "1.52342868489335177055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json new file mode 100644 index 0000000000..b30f12f22c --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/NATIVE-RECEIPT.json @@ -0,0 +1,127 @@ +{ + "cache_files": { + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/CACHE.json": "3a8e1a43fdffa349ce9118cfdd8aaef605b69ccfc1ae1af8f35d71c3aa9a197e", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/STEPS.json": "96a871833ed290b21e6adf82bb9b3f48d2713180a1b0ccfb2d2c1b5dc0ef7ab0", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CANONICAL-WORD.json.gz": "a43a2d003b1f5599738510bbfcd0b99df5dbcb8c6365bba9e444dee8cd87ebfc", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CLIFFORD-RECIPES.json": "4da93cfd42d30cab4e4ab0b1e7fbf531584a667e738fa3fdbcf6d6f1ef40bcbb", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/CLIFFORD-REVIEW.json": "362cc95a9464f00a42c114e979207ebe1faacc4e361e50c2336ba66b14dc8b36", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/FULL-WORD.json.gz": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/INDEPENDENT-LOCAL-REPLAY.json": "3fe075d088dad87ff4476300a6aa3526c001b2825a9048b31e0ae5c218145b08", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/RESIDUAL-ADAPTERS.json": "af733093f55c810dfc709d1862c786708c600f45b0319a53879c05fbca3e7fbd", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/SCALAR-FRAME-AUDIT.json": "d5313b030f3fa5220d35f89f8f8fc86b2e6602cabd379d7bd5f36ed44bfe350e", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/WARP-RECIPE-CHECKS.json": "77bf18ae4cb3a8bedf850660a29eb51310bc55d527729f773c5d77c4594faf63", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/native.log": "7524fe7dcc731a784dd413eac9cec1315cfbf106e6b01bf50821575711f544f2", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/phases.log": "9d87e97edbc1e9f7c7efe52ae5157d71c043a7a87c04e38658497dce98ffb6bb", + "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "6575f1c713149ac6ff3bf393c52d5e6dbc2eb452400c170431fb1a4edeb1f96b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "5a490ae4444dd0d46b6e1896b2c4aaa08c47b450b2cac39db73e7cf82a661c0d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "129d7ec37b2ff33d6986f23a6aab15ad8a5be3f3162d757c54d46d139885f8d9", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "f2f24a52e5ae920e4af9322ad0d94c9ea88ca408f1a1027e2433792255986b91", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "521b0a7de15c7b843436cf267cf3b33d157ad4ef1b1a94ef24e13668e5b058df", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "215f3f3acc8c02be35ec408984e6d9e7261c41a4c089af2671fe133323b1d869", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "ff50f7fe4101be80eb824b0ca5353edda38fc569a97db317a26a2768aa6d145f", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "5e3d10375a0a5540e8f2082797953fc02c1322a008c35f6c5149e2e752932635", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "d4e22101ed0a9e7af148b8fa2fa82f3e3133b2b6d4c9f07a73be071f5607ff6b", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/CACHE.json": "578d98897d675277781be661ed0515d24c7c4fe880ed593bf2fc8e2cfcf7e8fd", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/STEPS.json": "38cae98ac7b55cd316360467d1af056d7bd02caee0e9f85cad2995ddb7934ede", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CANONICAL-WORD.json.gz": "af947314ca54dcb046c8e7b5c9f6b5e599ccff6bae47f7e61752b168c67364ea", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CLIFFORD-RECIPES.json": "0bc2e47fcdceb7c4ade7a4e63547dae76b903b1b413eda2b83fa145343b22685", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/CLIFFORD-REVIEW.json": "62c6b6edc9f5a5a6f3607c26d883a68b01132bd1702c4e40d058797877045f41", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/FULL-WORD.json.gz": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/INDEPENDENT-LOCAL-REPLAY.json": "a8853fd4a8c875cd032634de84f3079e4ff7acdf32e9cbe71b5d9f57a0515cf6", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/RESIDUAL-ADAPTERS.json": "fc9a31c8e7e76d6ee300c63fe67bffd5e36f29a495f4298877947eddbf7598e8", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/SCALAR-FRAME-AUDIT.json": "ca4d2e2f61247d608939b9447842fc2862c32864134e2cc15194b60d7698ffc5", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/WARP-RECIPE-CHECKS.json": "b458da602728252c4e45dc66278b1769364f1dc192d01e6d4b4c3e6d8a1ef8ba", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/native.log": "0914ca423784c0625f4468df4f2a7e78089a6bc8b38865ec27196dcd33d6266f", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/phases.log": "b4ce593a37eb15ad871d51fcab31c4ccdbcd079ebab95bc534cc2a5b1b1c31a6", + "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "6636a564339c2fd6b2b2a668029c8d3e422a460a5bc8418deab1de523a8c7cf2", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "3d4f52362da2e9cc28995cd46268c82ae803076a94a3270161102c1d0170e07a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "8c3dead2f3403ac3da93d75b553a57a5551228ed393ee837c380a0de9872c71c", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "fc0c6c4182159069af394f13210a0db0c98cb0182c2293bc8477f65ac077eb42", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "a4afe4dea39737eb033756d09217457ead4be1794e6f4f75730722c22bd0d615", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "93da0be182661d2c88fd25dd3107a05687829f75f225ad9ea537cd2b94874002", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "0288172f1fdef2dabf82a8367fdb2f15bfbba62caea2a953d91b03b0dd9c97b3", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "38cae98ac7b55cd316360467d1af056d7bd02caee0e9f85cad2995ddb7934ede", + "ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "af947314ca54dcb046c8e7b5c9f6b5e599ccff6bae47f7e61752b168c67364ea", + "local/CLIFFORD-RECIPES.json": "0bc2e47fcdceb7c4ade7a4e63547dae76b903b1b413eda2b83fa145343b22685", + "local/CLIFFORD-REVIEW.json": "62c6b6edc9f5a5a6f3607c26d883a68b01132bd1702c4e40d058797877045f41", + "local/FULL-WORD.json.gz": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b", + "local/INDEPENDENT-LOCAL-REPLAY.json": "a8853fd4a8c875cd032634de84f3079e4ff7acdf32e9cbe71b5d9f57a0515cf6", + "local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "local/RESIDUAL-ADAPTERS.json": "fc9a31c8e7e76d6ee300c63fe67bffd5e36f29a495f4298877947eddbf7598e8", + "local/SCALAR-FRAME-AUDIT.json": "ca4d2e2f61247d608939b9447842fc2862c32864134e2cc15194b60d7698ffc5", + "local/WARP-RECIPE-CHECKS.json": "b458da602728252c4e45dc66278b1769364f1dc192d01e6d4b4c3e6d8a1ef8ba", + "local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "native.log": "0914ca423784c0625f4468df4f2a7e78089a6bc8b38865ec27196dcd33d6266f", + "phases.log": "b4ce593a37eb15ad871d51fcab31c4ccdbcd079ebab95bc534cc2a5b1b1c31a6", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "a4f4c149731fda76873a6c68870c6b7372c32bae4617a15435d58745ed29629b" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "96a871833ed290b21e6adf82bb9b3f48d2713180a1b0ccfb2d2c1b5dc0ef7ab0", + "ledgers.log": "d03c0543d9f276345119cbda2dcd5fd4976a48f9bd53280009661077d4d9daa1", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "a43a2d003b1f5599738510bbfcd0b99df5dbcb8c6365bba9e444dee8cd87ebfc", + "local/CLIFFORD-RECIPES.json": "4da93cfd42d30cab4e4ab0b1e7fbf531584a667e738fa3fdbcf6d6f1ef40bcbb", + "local/CLIFFORD-REVIEW.json": "362cc95a9464f00a42c114e979207ebe1faacc4e361e50c2336ba66b14dc8b36", + "local/FULL-WORD.json.gz": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8", + "local/INDEPENDENT-LOCAL-REPLAY.json": "3fe075d088dad87ff4476300a6aa3526c001b2825a9048b31e0ae5c218145b08", + "local/LOCAL-CHECKS.json": "c7f4119c675aaa4c682b176ca70c0f1f528dd401b90016c4fee58d08d7ee0de8", + "local/LOCAL-PROGRAMS.json.gz": "7cebc9c7c6c3d544318d25418f30008a9a7a97b5e6d3ee5c627435f280452cbe", + "local/RESIDUAL-ADAPTERS.json": "af733093f55c810dfc709d1862c786708c600f45b0319a53879c05fbca3e7fbd", + "local/SCALAR-FRAME-AUDIT.json": "d5313b030f3fa5220d35f89f8f8fc86b2e6602cabd379d7bd5f36ed44bfe350e", + "local/WARP-RECIPE-CHECKS.json": "77bf18ae4cb3a8bedf850660a29eb51310bc55d527729f773c5d77c4594faf63", + "local/WRAPPER-CHECKS.json": "67ae6599bbae4acbff806cf163fb628a2fc475c718053f63667248e13d21af2f", + "native.log": "7524fe7dcc731a784dd413eac9cec1315cfbf106e6b01bf50821575711f544f2", + "phases.log": "9d87e97edbc1e9f7c7efe52ae5157d71c043a7a87c04e38658497dce98ffb6bb", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "4fb7e28a5c4166c7c81ec8448df35674a8546f86a55c932cefde6c63ee5c2cf8" + } + }, + "retained_parent_receipt_sha256": "ff50f7fe4101be80eb824b0ca5353edda38fc569a97db317a26a2768aa6d145f", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..9119865da2 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,13 @@ +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json new file mode 100644 index 0000000000..b4684a573d --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-RECEIPT.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017174093163354916434479999999999999999999998999999999999999999999999", + "manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 214676164541936455431/12500000... brackets the ledger's b = 171740931633549164344799999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017174093163354916434479999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 159.58 +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json new file mode 100644 index 0000000000..7caccd3f8f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-RESULT.json @@ -0,0 +1,98 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "171446487838083/100000000000000000", + "kappa_decimal": "0.00171446487838083", + "manifest_sha256": "fdb18c58ebd9e88d71d636ae7722f053a53041dafdc673873c0abe8af5f5c83c", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 273060, + "prefix_bits": 1443, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.7939643766731024, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.1763007901608944 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4441820420324802, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.665369501337409, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.473093580454588, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 97.6485572103411, + "log_sha256": "9fde2d3b4e631660ebb5848638bb4e7bd6697fa665b2ae0560cd36c3b7e431e3" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.5301409177482128, + "log_sha256": "2b03816ce8bbfde22d7aade223f5b504ff5dd05b5fd8f789d25f1ee965152ab5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.5267670825123787, + "log_sha256": "37d013a62a467be5fceb14c22e9e7ca30259dbc78378633fb65304f1fd59686b" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.4506230838596821, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.428194791078568, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 43.606457874178886, + "log_sha256": "8c2319cf48a02955e33740c7dd082c3b8eb08f445f13bdf921a1e5d3d339d66f" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.23889125138521194, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json new file mode 100644 index 0000000000..aff147d9ed --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RELEASE-VERIFY-STAGES.json @@ -0,0 +1,74 @@ +[ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.7939643766731024, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.1763007901608944 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4441820420324802, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.665369501337409, + "log_sha256": "17b03ca75295619857e9f46d9612a0f64fae67e6a94e05061acf2d34d3685afd" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.473093580454588, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 97.6485572103411, + "log_sha256": "9fde2d3b4e631660ebb5848638bb4e7bd6697fa665b2ae0560cd36c3b7e431e3" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.5301409177482128, + "log_sha256": "2b03816ce8bbfde22d7aade223f5b504ff5dd05b5fd8f789d25f1ee965152ab5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.5267670825123787, + "log_sha256": "37d013a62a467be5fceb14c22e9e7ca30259dbc78378633fb65304f1fd59686b" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.4506230838596821, + "log_sha256": "268b3cee5b4109b8bdb83816ad31e5342a1ae2e2b1c7bb5a5be650cd5b2ad59f" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.428194791078568, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 43.606457874178886, + "log_sha256": "8c2319cf48a02955e33740c7dd082c3b8eb08f445f13bdf921a1e5d3d339d66f" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.23889125138521194, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } +] \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json new file mode 100644 index 0000000000..2fea51a3dd --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired5/RUNTIME-PATCHES.json @@ -0,0 +1,32 @@ +[ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json new file mode 100644 index 0000000000..4ceb18a849 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-RESULT.json @@ -0,0 +1,168 @@ +{ + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "fill_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "gain": "827279060596573819/500000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "native_receipt_sha256": "5b017e61828c567bc3093df8a3e7e57230cac97c9177bd6154d2cf80ed99ba4e", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "32": 1, + "4": 85248, + "48": 26558, + "5": 27194, + "8": 5328 + }, + "release_receipt_sha256": "bc68e064840769ee819bbba0213cd7cad3c82f8b60dbe3e1c49c2e079cc33445", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } + ], + "status": "PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json new file mode 100644 index 0000000000..8b12d62f6f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/ADMISSION-STAGES.json @@ -0,0 +1,111 @@ +[ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json new file mode 100644 index 0000000000..0205988129 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CENSUS-AND-AUGMENTING-PATHS.json @@ -0,0 +1,66 @@ +{ + "words": "retired5 candidate words (PR2751 + five retired-lender aliases)", + "rule": "new/borrow/refit/search pairs.py: lender last event before the follower first B gate, lender untouched later, dim lo(lender last) <= dim hi(follower first); chains counted", + "helper_status": { + "touched-before-B": 286, + "restored-cold": 72, + "follower": 52 + }, + "follower_hist": { + "(1, 1, 8)": 48, + "(4, 5, 5)": 4 + }, + "lenders": 404, + "lender_lo_hist": { + "(6, 'gate', False)": 124, + "(8, 'gate', True)": 70, + "(8, 'gate', False)": 194, + "(7, 'gate', False)": 14, + "(5, 'gate', False)": 2 + }, + "direct_pairs": 0, + "chain_edges": 0, + "augmenting_paths": 192, + "paths_by_follower": { + "667": 48, + "669": 48, + "670": 48, + "671": 48 + }, + "paths_by_free_lender": { + "564": 96, + "565": 96 + }, + "movable_hosted_warps": [ + 1, + 2, + 3, + 4, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ], + "max_extra_aliases": 2, + "certified_singles": { + "warps 30/31/32/41 (hostee entrance already rank 5), any follower 667/669/670/671": "local {1:-2,2:+3,3:-3}, +1.928e-7 realized over retired5", + "warp 1 (hostee raise closure 16 gates)": "local {1:+2,2:+11,3:-15,4:+4}, -3.30e-7" + }, + "chosen": "warps 30 (401->564) and 31 (403->565); aliases 667<-401, 669<-403: local {1:-4,2:+6,3:-6}, +3.857e-7 over retired5" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json new file mode 100644 index 0000000000..45cecc552b --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43base.json @@ -0,0 +1,130 @@ +{ + "all_rejected_for_real_reasons": true, + "controls": { + "refit7 B911 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "refit7 B912 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move30 401->564 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move30 401->564 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "move31 403->565 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move31 403->565 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667<-401 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "669<-403 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 26", + "real_reason": true + }, + "669<-403 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669<-403 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "669<-403 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "refit7c certified frame corrupted": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))", + "real_reason": true + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json new file mode 100644 index 0000000000..45cecc552b --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/CONTROLS-RETIRED7-43extra.json @@ -0,0 +1,130 @@ +{ + "all_rejected_for_real_reasons": true, + "controls": { + "refit7 B911 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "refit7 B912 lender refit undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move30 401->564 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move30 401->564 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "real_reason": true + }, + "move30 401->564 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "move31 403->565 warp lender reverted": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 move undone": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "real_reason": true + }, + "move31 403->565 warp before lender retirement": { + "rejected": true, + "reason": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "real_reason": true + }, + "move31 403->565 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "667<-401 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667<-401 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "667<-401 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "667 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "669<-403 borrowed read sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed read doubled": { + "rejected": true, + "reason": "RuntimeError: target map failed 3", + "real_reason": true + }, + "669<-403 borrowed write sign flipped": { + "rejected": true, + "reason": "RuntimeError: target map failed 26", + "real_reason": true + }, + "669<-403 warp dropped": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669<-403 G wrong": { + "rejected": true, + "reason": "RuntimeError: G(from)!=to", + "real_reason": true + }, + "669<-403 warp after the follower's first gate": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "real_reason": true + }, + "669 kept with an entrance frame": { + "rejected": true, + "reason": "RuntimeError: start_extra/helper_final must name remaining helpers", + "real_reason": true + }, + "refit7c certified frame corrupted": { + "rejected": true, + "reason": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))", + "real_reason": true + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json new file mode 100644 index 0000000000..5cced4b2db --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-RESULT.json @@ -0,0 +1,295 @@ +{ + "cold_seconds": 410.72115191817284, + "cold_stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/verify.py" + ], + "exit_code": 0, + "log_sha256": "2c74f838e832460b1cc61ba99ae2b041c8ada28597985d1190c703f81d5eb19b", + "name": "literal-review", + "script_sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "seconds": 3.4852952491492033 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/extra-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.01782804168761 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/gauge44-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.23545237630606 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + ], + "exit_code": 0, + "log_sha256": "f9d3dd98f95cd1b5358cb889c34965e40b4422712ed3682ff507175f74ba2b42", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 107.73961633443832 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + ], + "exit_code": 0, + "log_sha256": "c9003f19404118e12ef149d3bfbbeae7ffa0fd3b7e18ad408ff172625619880a", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 109.27364500053227 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/verify.py", + "--work", + "/r10/agents/F-lenders/full7/work/retained-parent", + "--base-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 70.37898799963295 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/workflow/admit.py", + "--source", + "/r10/agents/F-lenders/full7/work/source", + "--fill", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "--order", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--native-receipt", + "/r10/agents/F-lenders/full7/work/NATIVE-RECEIPT.json", + "--work", + "/r10/agents/F-lenders/full7/work/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "eba644f08e808bfd8acb0cac6376f6064d095516bc7773d0337bf416bc406d5c", + "name": "complete-admission", + "script_sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "seconds": 227.28487924858928 + } + ], + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "environment": { + "executable": "~/Desktop/dev/aigent/agi/.venv/bin/python", + "python": "3.14.7", + "versions": { + "mpmath": "1.3.0", + "numpy": "2.4.4", + "scipy": "1.17.1", + "sympy": "1.14.0" + } + }, + "explicit_native_cache_reuse": false, + "fill_sha256": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9", + "gain": "827279060596573819/500000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "native_receipt_sha256": "5b017e61828c567bc3093df8a3e7e57230cac97c9177bd6154d2cf80ed99ba4e", + "order_sha256": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7", + "package_manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "patches": [ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } + ], + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "32": 1, + "4": 85248, + "48": 26558, + "5": 27194, + "8": 5328 + }, + "release_receipt_sha256": "bc68e064840769ee819bbba0213cd7cad3c82f8b60dbe3e1c49c2e079cc33445", + "scope": "Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.", + "source_commit": "local-joint12-pr2733", + "source_files_sha256": "4191b13800d48048f8b3b736c888040445d02c31ee7756915c21e011da62f5a1", + "source_manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "stages": [ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/reconstruct.py", + "--out", + "/r10/agents/F-lenders/full7/work/admission/owners" + ], + "exit_code": 0, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e", + "name": "owners", + "script_sha256": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "seconds": 2.8202367927879095 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/lift_parent.py", + "--owners", + "/r10/agents/F-lenders/full7/work/admission/owners", + "--out", + "/r10/agents/F-lenders/full7/work/admission/parent-data" + ], + "exit_code": 0, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "name": "parent-lift", + "script_sha256": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "seconds": 3.6723769158124924 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/new/rebind.py", + "/r10/agents/F-lenders/full7/work/admission/package", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local", + "/r10/agents/F-lenders/full7/work/admission/rebound" + ], + "exit_code": 0, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551", + "name": "rebind", + "script_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "seconds": 0.48127808421850204 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/replay.py", + "--data", + "/r10/agents/F-lenders/full7/work/admission/layout/packing74/candidate", + "--work", + "/r10/agents/F-lenders/full7/work/admission/discovery", + "--local", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local", + "--discover" + ], + "exit_code": 0, + "log_sha256": "e8a25bdfe9b7c18669ed861d9520feaefa205a770ecf1a371887e75d90e61cae", + "name": "discovery", + "script_sha256": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "seconds": 41.42458229139447 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/check_ledger.py" + ], + "exit_code": 0, + "log_sha256": "8397d0e4725bf04344ef102d28f38f1c23cf63dd3eb604f58451be5fa409b761", + "name": "outer-check_ledger.py", + "script_sha256": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "seconds": 0.04806916229426861 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/outer/independent_check.py" + ], + "exit_code": 0, + "log_sha256": "7bdaae980b79d0d12e70ae4a1c65124027691f76122267fb3850a82c42b3e2f6", + "name": "outer-independent_check.py", + "script_sha256": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "seconds": 0.023633752018213272 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/admission/package/verify_release.py", + "--main", + "/r10/agents/F-lenders/full7", + "--work", + "/r10/agents/F-lenders/full7/work/admission/release", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "287380b9122f9d4bb25d0680bbfc33360fa0e5222d6ecfa54057e6fecb2b5295", + "name": "release", + "script_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "seconds": 178.32332853972912 + } + ], + "status": "PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json new file mode 100644 index 0000000000..4d4b3a7915 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/FULL-REPLAY-STAGES.json @@ -0,0 +1,114 @@ +[ + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/verify.py" + ], + "exit_code": 0, + "log_sha256": "2c74f838e832460b1cc61ba99ae2b041c8ada28597985d1190c703f81d5eb19b", + "name": "literal-review", + "script_sha256": "f80db78605024a9681ebf87b26afc0642a7b68e93ef12376258ea7425e4e610d", + "seconds": 3.4852952491492033 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/extra-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-extra", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.01782804168761 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/retained-layout/joint1148-round45/source/research/k8-eight-ends/replay_native.py", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/gauge44-word.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e" + ], + "exit_code": 0, + "log_sha256": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "name": "native-retained-base", + "script_sha256": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "seconds": 89.23545237630606 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43extra.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + ], + "exit_code": 0, + "log_sha256": "f9d3dd98f95cd1b5358cb889c34965e40b4422712ed3682ff507175f74ba2b42", + "name": "native-extra", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 107.73961633443832 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/new/run_native_borrow.py", + "/r10/agents/F-lenders/full7/work/source/new/borrow/words/BORROW-WORD-43base.json.gz", + "/r10/agents/F-lenders/full7/work/native-cache/dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + ], + "exit_code": 0, + "log_sha256": "c9003f19404118e12ef149d3bfbbeae7ffa0fd3b7e18ad408ff172625619880a", + "name": "native-base", + "script_sha256": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "seconds": 109.27364500053227 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/r10/agents/F-lenders/full7/work/source/vendor/pr1297/verify.py", + "--work", + "/r10/agents/F-lenders/full7/work/retained-parent", + "--base-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "--extra-native-from", + "/r10/agents/F-lenders/full7/work/native-cache/7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905" + ], + "exit_code": 0, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24", + "name": "retained-parent", + "script_sha256": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "seconds": 70.37898799963295 + }, + { + "command": [ + "~/Desktop/dev/aigent/agi/.venv/bin/python", + "-B", + "/wt-claim7/research/t74-joint-twelve-retired7/workflow/admit.py", + "--source", + "/r10/agents/F-lenders/full7/work/source", + "--fill", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/FILL.json.gz", + "--order", + "/wt-claim7/research/t74-joint-twelve-retired7/inputs/ORDER.json", + "--native-cache", + "/r10/agents/F-lenders/full7/work/native-cache", + "--native-receipt", + "/r10/agents/F-lenders/full7/work/NATIVE-RECEIPT.json", + "--work", + "/r10/agents/F-lenders/full7/work/admission", + "--jobs", + "4" + ], + "exit_code": 0, + "log_sha256": "eba644f08e808bfd8acb0cac6376f6064d095516bc7773d0337bf416bc406d5c", + "name": "complete-admission", + "script_sha256": "5c379eea79464eb85c936442be405cdc4dd1ce435de9331a989a9f133b7704c3", + "seconds": 227.28487924858928 + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/HOOK-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/HOOK-RESULT.json new file mode 100644 index 0000000000..e29b039fd3 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/HOOK-RESULT.json @@ -0,0 +1,211 @@ +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728 + }, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "root_80_digits": "0.00171779498411863466382722991842817890408858438546231220090092725676198114516931", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "6.53397770208325718E-7", + "exact": "326698885104162859/500000000000000000000000" + }, + "PR2766": { + "decimal": "5.38010651632355557E-7", + "exact": "538010651632355557/1000000000000000000000000" + }, + "PR2767": { + "decimal": "5.38010651632355556055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json new file mode 100644 index 0000000000..a82fb1ff37 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-RECEIPT.json @@ -0,0 +1,127 @@ +{ + "cache_files": { + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/CACHE.json": "f365738d4a566219463896730ddc6442e9a3692eec745021d9dc049ff1a21b79", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/STEPS.json": "1575294f54a7cd088abbca743e87b79931ca736b71bd2326859522d55a1f4501", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/CLIFFORD-REVIEW.json": "dc9166e75871d21e7d7e23508b204a1d77205fa24684112cd12752d26f9ed89b", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/SCALAR-FRAME-AUDIT.json": "9ebdc3ef10740edd0be047ba35d9f8508d567737a28c555f5747210ad5bf2edb", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/native.log": "66ab85b104998334f95b0078b8e6fe859d5d6005f39308d78e8e77e3b38da795", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/phases.log": "c4eeb90b233202d2cbb5a8d98b7e659b252f6603795132f07c30d15be19d9a8c", + "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/CACHE.json": "7158575db76d8c0016aa45b8c51d33a5cd65485fd6d75ee559f1e4f6492fbf94", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/STEPS.json": "0500d5d2f2b977db012398e5a1d7aee1a48d5ba45b47d8eccfbe526e9e2c671c", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/CLIFFORD-REVIEW.json": "a9d93d0bb1b3d01bb4966bd660d91094f4ba7d6e52ee19aa3550866abfd6085d", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/FULL-WORD.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/SCALAR-FRAME-AUDIT.json": "fcbc50a1ca25c8cd8776c32efc03728c529c52ab7c5e83453a034ff0a5884732", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/native.log": "9ae59372e93cf456e807ff2cbd824457f92e30f36728ec943800ca1bf7d838df", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/phases.log": "6c3a02ede486e8157693db43b4b117335751e31c4749f13f3c281d671861666e", + "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RECEIPT.json": "8e23031a5729041e46882e654b8ea1dba44fc01682cc3bbc354d7e0a126a1d75", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/RESULT.json": "7bbf85e49e334b5bf56227d3f0ea536ad7a60a1497316c1322108ea98b4eb924", + "_receipts/e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4/STAGES.json": "531ad818e1982231b906cb2a1ff4648a8f119ef4043ac1e8abda216c63d51017", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/CACHE.json": "de531be30d5b8266573f0a20391ff5d9c246986e3dca04f3ee4808ac9f5c5fc0", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/STEPS.json": "b9a277e320cfc24843057bc977b8c855cb579340d1c396281ea2af44134a9724", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/CLIFFORD-REVIEW.json": "8838336b5dac50f7a6b1271f4653fc0e09f6aa1d1cc8104edfadfdb3a9c3cd2d", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/SCALAR-FRAME-AUDIT.json": "80a20a57c2f389c35dd1871a927febfa8b970493c6f1fa2882e758b8427f3819", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/native.log": "9743caaa1bcf00835cb3da5614f08f2bcc5954211201cdb8016dfd72fe986ed3", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/phases.log": "cb955c070e5e839c3822dabd9bf38e5c99367a7835eeb1fd9c3f20c8c5b2b81b", + "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66/wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/CACHE.json": "1491080d42c36a4a9ebdb8405f03acc9f01b475a643dacab7fdbaba0b3aab0bf", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/STEPS.json": "eae11302beadc4c53cbecd4121491dbea883b13c53aaca14905416eb506df070", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/ledgers.log": "2f40f12c67d436dde2ea415ea3e033ec60a9d43cc71427dcc1bf987962da34d7", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local-replay.log": "dd643a58258431c3b07d3b06d9060c49677fa23b4fafc9f10988ed1f6867bd9a", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/CLIFFORD-REVIEW.json": "5c3679733c9b5790c7e8ef7fe980ae0725ec92f111c4c5178896cbe42a659ee6", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/FULL-WORD.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/SCALAR-FRAME-AUDIT.json": "72e3af5880fe75aebdb880cd46e2ad75d50b3f58818e0a999f13ee5d5ace04cc", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/native.log": "5fb0494d5f2dfeb1372dcff4940380703f3f927ae24f38009ee511825a5dbebc", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/phases.log": "7f2738850affa652cc3245a29580bc9d3ed4a040fe5a80049b1975b5b337b94c", + "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e/wrappers.log": "74b13cf8570ca2f32ce0018575b1b73e95af77a28e59d09556fec59260bdbba5" + }, + "manifest_sha256": "9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451", + "providers": { + "base": { + "complete_native_files": { + "STEPS.json": "b9a277e320cfc24843057bc977b8c855cb579340d1c396281ea2af44134a9724", + "ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "f64b300ef79ee2b641ae45c454ad88fcdf686e2230787f0a43a3eb6e5c446959", + "local/CLIFFORD-RECIPES.json": "385718b0e596adcd34f35f90ebbf09524051114d4478e5b3cf0b06f9c9cf7fc4", + "local/CLIFFORD-REVIEW.json": "8838336b5dac50f7a6b1271f4653fc0e09f6aa1d1cc8104edfadfdb3a9c3cd2d", + "local/FULL-WORD.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66", + "local/INDEPENDENT-LOCAL-REPLAY.json": "d058f12ccdfa23e4448bec7240c2560a7924d769d2bf24b2724eabea6cbb9554", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "cb24ff72025d5d6a91e41507f4e80460b0600605236a0904c70f72134b3ca53f", + "local/SCALAR-FRAME-AUDIT.json": "80a20a57c2f389c35dd1871a927febfa8b970493c6f1fa2882e758b8427f3819", + "local/WARP-RECIPE-CHECKS.json": "1a3007ae1b53a2479c6e6667fd7ae8f79886be702aa0b1ee96a97ff300e9bfe8", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "9743caaa1bcf00835cb3da5614f08f2bcc5954211201cdb8016dfd72fe986ed3", + "phases.log": "cb955c070e5e839c3822dabd9bf38e5c99367a7835eeb1fd9c3f20c8c5b2b81b", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66" + }, + "extra": { + "complete_native_files": { + "STEPS.json": "1575294f54a7cd088abbca743e87b79931ca736b71bd2326859522d55a1f4501", + "ledgers.log": "83766b5e8869ad38321c719055ec63e1c3e9c7afdd78d980dc5f3d151c09104f", + "local-replay.log": "2fac3873f6c1a23bc0393c701003ea73ac06fa077eb049dea0e4e158903ec402", + "local/CANONICAL-WORD.json.gz": "ebdada36842012ee9922947577a26a137bb9bd1cefe2d7f8d622019fccf38052", + "local/CLIFFORD-RECIPES.json": "eb462f07e0518ea8ecf6acff889eaf595ebce372b59b978104f107701786424d", + "local/CLIFFORD-REVIEW.json": "dc9166e75871d21e7d7e23508b204a1d77205fa24684112cd12752d26f9ed89b", + "local/FULL-WORD.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7", + "local/INDEPENDENT-LOCAL-REPLAY.json": "1b5b6d58ce5b12688eea7b5f69cd3e5b0776d80130886cbe35fa350144e1dfb2", + "local/LOCAL-CHECKS.json": "d53000e5127eb5311cf118760469ed5c0c1ab7b12c9198b90c124ee4adc21125", + "local/LOCAL-PROGRAMS.json.gz": "88573170cf4258fe520638bbf3d76ee94cc56126dd650189ab6c7774289b5898", + "local/RESIDUAL-ADAPTERS.json": "53c2a9d31a75c8aa34f314d67afb8c5b16026aa31e745b1ba13d5103f55c4f35", + "local/SCALAR-FRAME-AUDIT.json": "9ebdc3ef10740edd0be047ba35d9f8508d567737a28c555f5747210ad5bf2edb", + "local/WARP-RECIPE-CHECKS.json": "3182c6c967a63b55b98ef19024517fd3955f20cf1d099ca8bcad066185c6665c", + "local/WRAPPER-CHECKS.json": "00c62303b0981544f84bacef519b0917212dbe90b11853e10f0bb3074b4aa156", + "native.log": "66ab85b104998334f95b0078b8e6fe859d5d6005f39308d78e8e77e3b38da795", + "phases.log": "c4eeb90b233202d2cbb5a8d98b7e659b252f6603795132f07c30d15be19d9a8c", + "wrappers.log": "074b32c21888efe76c0fbe8d55e9436fd23e0bd4b23c3d8e382350736bdc554b" + }, + "word_sha256": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7" + } + }, + "retained_parent_receipt_sha256": "8e23031a5729041e46882e654b8ea1dba44fc01682cc3bbc354d7e0a126a1d75", + "source_commit": "local-joint12-pr2733", + "status": "PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json new file mode 100644 index 0000000000..6646251c6f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/NATIVE-STANDALONE.json @@ -0,0 +1,25 @@ +{ + "runner": "new/run_native_borrow.py (PR2745 copy with PR2751 pinned bw_audit_local.py overlay 08d5864d)", + "words": { + "base": { + "steps": [ + "PASS native 0.4", + "PASS ledgers 0.5", + "PASS local-replay 10.1", + "PASS wrappers 2.0", + "PASS phases 94.9" + ], + "rc": "rc 0" + }, + "extra": { + "steps": [ + "PASS native 0.4", + "PASS ledgers 0.5", + "PASS local-replay 10.0", + "PASS wrappers 2.0", + "PASS phases 94.1" + ], + "rc": "rc 0" + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/OWNER-CHECK.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/OWNER-CHECK.json new file mode 100644 index 0000000000..d6c74e2ba0 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/OWNER-CHECK.json @@ -0,0 +1,65 @@ +{ + "removed": [ + 667, + 669 + ], + "dropped_roles": 1332, + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728, + "calls": 666, + "helpers_per_call": 408, + "windows": 1332, + "window_sha256": "d301aa0d102381aecc3dd746c424d55ea6f4ade9f87b833c8db6d643e205c846", + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "rank_mass": 4816512 + }, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "idle": { + "1": 17316, + "3": 6594, + "5": 9878, + "8": 0, + "16": 0, + "32": 1, + "48": 26558 + }, + "profile": { + "1": 1603728, + "2": 431568, + "3": 185082, + "4": 85248, + "5": 27194, + "8": 5328, + "32": 1, + "48": 26558 + }, + "root80": "0.0017177949841186346638272299184281789040885843854623122009009272567619811451693129", + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.001717794984118634663827", + "margin_over_candidate": "3.85667783143e-7" +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..065d3aa653 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,18 @@ +wrote /55/_ntn26sn71d4_4mtlsn7_v200000gn/T/tmpfv9jr2nd/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS base rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +wrote /55/_ntn26sn71d4_4mtlsn7_v200000gn/T/tmpxwxk_b0g/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS extra rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW +rc 0 diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt new file mode 100644 index 0000000000..4a2aa3c2d0 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/REGISTERED-HOOK-LOG.txt @@ -0,0 +1,252 @@ +CHECK Literal review: PR2751 construction reproduced, the seven declared stages (retired5 refit5/alias5/refit5c, retired7 refit7/hostmove2/alias7/refit7c) rebuild both candidate words, candidate fill = declared compaction (seven removed helpers), independent symbolic/frame/cleanup checks with six mutations, literal owner fill (R 408) with one mutation, exact adjacent root bracket, claim binding and strict improvement over PR2733, PR2745, PR2751, PR2766 and PR2767. +{ + "status": "PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY", + "roles": 271728, + "local_mutations_rejected": 6, + "owner_mutations_rejected": 1, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "complex_upper": "429448746029658665957/250000000000000000000000", + "scope": "Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate." +} +CHECK Seven-stage structure, the pinned PR2679 auditor on all eight states, 142 tamper controls (retired5: lender refit undone by warp frame mismatch, follower raise undone, 35 alias mutations, corrupted certified frame; retired7: new-lender refit undone by warp frame mismatch, 4 controls per hostee move, the PR2679 alias suite per new alias, corrupted certified frame; every mutant re-derives its cleanup and must be rejected for a real reason), literal owner fill (R 408), 80-digit root and kappa = C - 1e-46 - 1e-70 above PR2751, PR2766 and PR2767. +{ + "words": { + "base": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "extra": { + "refit5_frames": 26, + "alias5_gate_edits": 70, + "refit5c_frames": 32, + "refit7_frames": 2, + "hostmove2_gate_edits": 28, + "alias7_gate_edits": 28, + "refit7c_frames": 2, + "retired7_controls": 25, + "local_profile": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + } + }, + "controls": { + "base": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + }, + "extra": { + "lender 550 refit undone": "RuntimeError: warp frame mismatch (66, 550, (390, 66, 36, 16, 8, 1), (406, 66, 36, 8, 1))", + "lender 551 refit undone": "RuntimeError: warp frame mismatch (67, 551, (385, 66, 34, 16, 9, 6), (385, 66, 36, 22, 9))", + "lender 552 refit undone": "RuntimeError: warp frame mismatch (68, 552, (258, 130, 68, 37, 17, 8), (258, 130, 85, 37, ", + "lender 553 refit undone": "RuntimeError: warp frame mismatch (69, 553, (258, 130, 67, 34, 22, 15), (258, 130, 67, 45,", + "lender 562 refit undone": "RuntimeError: warp frame mismatch (70, 562, (260, 131, 66, 36, 16, 9), (276, 131, 66, 36, ", + "follower 606 raise undone": "RuntimeError: frame not monotone (600, (409, 80, 40, 5, 2), (80, 40, 5, 2))", + "follower 635 raise undone": "RuntimeError: frame not monotone (551, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 637 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 638 raise undone": "RuntimeError: frame not monotone (632, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "follower 639 raise undone": "RuntimeError: frame not monotone (633, (257, 129, 76, 42, 30), (257, 129, 102, 30))", + "606<-550 borrowed read sign flipped": "RuntimeError: target map failed 11", + "606<-550 borrowed read doubled": "RuntimeError: target map failed 11", + "606<-550 borrowed write sign flipped": "RuntimeError: target map failed 63", + "606<-550 warp dropped": "RuntimeError: frame not monotone (550, (406, 66, 36, 8, 1), (409, 80, 40, 5, 2))", + "606<-550 G wrong": "RuntimeError: G(from)!=to", + "606<-550 warp before lender retirement": "RuntimeError: warp frame mismatch (66, 550, (102,), (406, 66, 36, 8, 1))", + "606<-550 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "635<-551 borrowed read sign flipped": "RuntimeError: target map failed 32", + "635<-551 borrowed read doubled": "RuntimeError: target map failed 32", + "635<-551 borrowed write sign flipped": "RuntimeError: target map failed 32", + "635<-551 warp dropped": "RuntimeError: frame not monotone (551, (385, 66, 36, 22, 9), (257, 129, 76, 42, 30))", + "635<-551 G wrong": "RuntimeError: G(from)!=to", + "635<-551 warp before lender retirement": "RuntimeError: warp frame mismatch (67, 551, (102,), (385, 66, 36, 22, 9))", + "635<-551 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "637<-552 borrowed read sign flipped": "RuntimeError: target map failed 32", + "637<-552 borrowed read doubled": "RuntimeError: target map failed 32", + "637<-552 borrowed write sign flipped": "RuntimeError: target map failed 35", + "637<-552 warp dropped": "RuntimeError: frame not monotone (552, (258, 130, 85, 37, 8), (257, 129, 76, 42, 30))", + "637<-552 G wrong": "RuntimeError: G(from)!=to", + "637<-552 warp before lender retirement": "RuntimeError: warp frame mismatch (68, 552, (85,), (258, 130, 85, 37, 8))", + "637<-552 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "638<-553 borrowed read sign flipped": "RuntimeError: target map failed 32", + "638<-553 borrowed read doubled": "RuntimeError: target map failed 32", + "638<-553 borrowed write sign flipped": "RuntimeError: target map failed 45", + "638<-553 warp dropped": "RuntimeError: frame not monotone (553, (258, 130, 67, 45, 22), (257, 129, 76, 42, 30))", + "638<-553 G wrong": "RuntimeError: G(from)!=to", + "638<-553 warp before lender retirement": "RuntimeError: warp frame mismatch (69, 553, (85,), (258, 130, 67, 45, 22))", + "638<-553 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "639<-562 borrowed read sign flipped": "RuntimeError: target map failed 45", + "639<-562 borrowed read doubled": "RuntimeError: target map failed 45", + "639<-562 borrowed write sign flipped": "RuntimeError: target map failed 32", + "639<-562 warp dropped": "RuntimeError: frame not monotone (562, (276, 131, 66, 36, 9), (257, 129, 76, 42, 30))", + "639<-562 G wrong": "RuntimeError: G(from)!=to", + "639<-562 warp before lender retirement": "RuntimeError: warp frame mismatch (70, 562, (75,), (276, 131, 66, 36, 9))", + "639<-562 helper kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "certified frame corrupted": "RuntimeError: frame not monotone (197, (44, 30), (1,))", + "refit7 B911 lender refit undone": "RuntimeError: warp frame mismatch (30, 564, (258, 130, 76, 44, 24, 1), (258, 130, 84, 44, ", + "refit7 B912 lender refit undone": "RuntimeError: warp frame mismatch (31, 565, (258, 130, 74, 43, 25, 6), (258, 130, 74, 45, ", + "move30 401->564 warp lender reverted": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (258, 130, 84, 44, 1))", + "move30 401->564 move undone": "RuntimeError: warp frame mismatch (30, 401, (264, 136, 85, 51), (265, 137, 75, 45))", + "move30 401->564 warp before lender retirement": "RuntimeError: warp frame mismatch (30, 564, (120,), (258, 130, 84, 44, 1))", + "move30 401->564 G wrong": "RuntimeError: G(from)!=to", + "move31 403->565 warp lender reverted": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (258, 130, 74, 45, 31))", + "move31 403->565 move undone": "RuntimeError: warp frame mismatch (31, 403, (264, 136, 85, 51), (265, 137, 75, 45))", + "move31 403->565 warp before lender retirement": "RuntimeError: warp frame mismatch (31, 565, (120,), (258, 130, 74, 45, 31))", + "move31 403->565 G wrong": "RuntimeError: G(from)!=to", + "667<-401 borrowed read sign flipped": "RuntimeError: target map failed 3", + "667<-401 borrowed read doubled": "RuntimeError: target map failed 3", + "667<-401 borrowed write sign flipped": "RuntimeError: target map failed 3", + "667<-401 warp dropped": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667<-401 G wrong": "RuntimeError: G(from)!=to", + "667<-401 warp after the follower's first gate": "RuntimeError: frame not monotone (401, (265, 137, 75, 45), (264, 136, 85, 51))", + "667 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "669<-403 borrowed read sign flipped": "RuntimeError: target map failed 3", + "669<-403 borrowed read doubled": "RuntimeError: target map failed 3", + "669<-403 borrowed write sign flipped": "RuntimeError: target map failed 26", + "669<-403 warp dropped": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669<-403 G wrong": "RuntimeError: G(from)!=to", + "669<-403 warp after the follower's first gate": "RuntimeError: frame not monotone (403, (265, 137, 75, 45), (264, 136, 85, 51))", + "669 kept with an entrance frame": "RuntimeError: start_extra/helper_final must name remaining helpers", + "refit7c certified frame corrupted": "RuntimeError: frame not monotone (381, (258, 130, 85, 45), (1,))" + } + }, + "status": "PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT", + "owner": { + "status": "PASS_INDEPENDENT_INTEGER_CHRONOLOGY_AND_MASK_FILL", + "roles": 271728 + }, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "root_80_digits": "0.00171779498411863466382722991842817890408858438546231220090092725676198114516931", + "kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000", + "margins": { + "PR2751": { + "decimal": "6.53397770208325718E-7", + "exact": "326698885104162859/500000000000000000000000" + }, + "PR2766": { + "decimal": "5.38010651632355557E-7", + "exact": "538010651632355557/1000000000000000000000000" + }, + "PR2767": { + "decimal": "5.38010651632355556055203093084787388122", + "exact": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)" + } + }, + "scope": "Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py)." +} +CHECK Pinned generic coverage-law ceiling and realized fraction for the candidate, not a sharp packing optimum. +{ + "status": "PASS_FIXED_WORD_PACKING_CEILING", + "source_sha256": "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc", + "local_per_call": { + "1": "2382", + "2": "648", + "3": "268", + "4": "128", + "5": "26", + "8": "8" + }, + "dimension": 73, + "families": 896, + "stages": 9, + "centre_rank_per_call": 64, + "max_idle_rank": 51, + "complex_cap_bracket": [ + "1758085934629/1000000000000000", + "175808593463/100000000000000" + ], + "complex_cap_upper_decimal": "0.00175808593463", + "realized_fraction_lower": "1717794984118634663827/1758085934630000000000", + "realized_fraction_decimal": "0.97708249083976386253139135041007810556867284138782", + "scope": "Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used." +} +CHECK Git-free read-only relocation; altered claim/input and optimized execution refusals. +PASS_JOINT_TWELVE_RELOCATED_READ_ONLY_AND_INTEGRITY_CONTROLS +PASS_REGISTERED_RESEARCH_PACKAGE research/t74-joint-twelve-retired7 outcome=completed +rc 0 diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt new file mode 100644 index 0000000000..b5157e14f3 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-REBUILD-BORROW-WORDS-LOG.txt @@ -0,0 +1,17 @@ +wrote /r10/agents/F-lenders/full7/work/admission/release/verify/tmp/tmp5q5z4d_j/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS base rejected 10 of 10 +ALIAS5-CONTROLS base rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS base rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD base cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD base helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True +gauge44 {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +wrote /r10/agents/F-lenders/full7/work/admission/release/verify/tmp/tmpws2cgamq/w.json.gz 1901 4504 42 78 +REFIT5-CONTROLS extra rejected 10 of 10 +ALIAS5-CONTROLS extra rc 0 ['ALL CONTROLS REJECTED'] +RETIRED7-CONTROLS extra rc 0 ['ALL RETIRED7 CONTROLS REJECTED 25 of 25'] +CUT-CENTRE-GUARD extra cut gates 176 violations 0 negative control rejected True +HELPER-INDEX-GUARD extra helper_final keys 72 violations 0 negative control (key -1) rejected True +ENTRANCE-WIDTH-BINDING extra raised 24 bound True dim1 tamper rejected True +extra {'rebuild_plus_patches_equals_shipped': True, 'patches': ['refit', 'kernel', 'handoff', 'entrance', 'lowfour', 'alias8', 'prelife', 'refit563', 'alias1', 'refit5', 'alias5', 'refit5c', 'refit7', 'hostmove2', 'alias7', 'refit7c'], 'kernel_edit_exact': True, 'prior_state_audit_rc': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'audit_rc': 0, 'controls_rc': 0, 'lowfour_controls_rc': 0, 'prelife_controls_ok': True, 'refit563_undone_rejected_by_warp_frame_mismatch': True, 'alias1_controls_rc': 0, 'refit5_undone_controls': {'lender550_refit_undone': True, 'lender551_refit_undone': True, 'lender552_refit_undone': True, 'lender553_refit_undone': True, 'lender562_refit_undone': True, 'follower606_raise_undone': True, 'follower635_raise_undone': True, 'follower637_raise_undone': True, 'follower638_raise_undone': True, 'follower639_raise_undone': True}, 'alias5_controls_rc': 0, 'refit5c_tamper_rejected': True, 'retired7_controls_rc': 0, 'kernel_controls_rejected': {'kernel_sign_flipped': True, 'kernel_read_dropped': True, 'kernel_coefficient_doubled': True, 'kernel_read_moved_to_neighbour_register': True, 'alias8_sign_flipped': True, 'alias8_coefficient_doubled': True, 'alias8_warp_dropped': True, 'entrance_start_frame_dropped': True, 'entrance_start_frame_widened': True, 'handoff_sign_flipped': True, 'handoff_coefficient_doubled': True}, 'refit_tamper_rejected': True, 'cut_centre_guard_violations': 0, 'cut_centre_guard_negative_control_rejected': True, 'helper_index_guard_violations': 0, 'helper_index_guard_negative_control_rejected': True, 'entrance_widths_bound_to_providers': True, 'dim1_delivery_rejected': True, 'raised_buffers': 24} +PASS_REBUILD_BORROW diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json new file mode 100644 index 0000000000..37735f2254 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-RECEIPT.json @@ -0,0 +1,7 @@ +{ + "status": "PASS_RELEASE", + "kappa_decimal": "0.0017177949841186346638269999999999999999999998999999999999999999999999", + "manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "proof": "Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, parent lift, strict T74 admission, geometry controls): `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`, native reuse {'base': 'e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e', 'extra': '7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905'}; its complex endpoint 1717794984118634663827/1000000... brackets the ledger's b = 171779498411863466382699999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. Outer (PR1673 capped phase-cell fusion): regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. Conditional kappa 0.0017177949841186346638269999999999999999999998999999999999999999999999 (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-104, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 24-digit rejection call).", + "seconds": 178.29 +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json new file mode 100644 index 0000000000..680f2d73e5 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-RESULT.json @@ -0,0 +1,98 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "1714849224721887/1000000000000000000", + "kappa_decimal": "0.001714849224721887", + "manifest_sha256": "9f55bb569df4ccd8109481ce2d3431d45afc3865e737a47ccb33f2da456d1d55", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 271728, + "prefix_bits": 1443, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.803630419075489, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.18620125018060207 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4626617915928364, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.719976831227541, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.5223765429109335, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 119.44411616958678, + "log_sha256": "f5a192c4bc04d9f0e5dfd66d7637bd407e1b2246b97b3834897addc53628dfd6" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.6294267904013395, + "log_sha256": "4f0c4a586307535773c34b72711598f9a4f87eb530567d16b41c59ac69779af5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.6089366264641285, + "log_sha256": "005e1643b19a9951e0c5715153a44c62abdf540719ec725ae8230081c5f42335" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.5283321235328913, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.94623183272779, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 39.691487001255155, + "log_sha256": "920307b299933c8879b991b2293674236e8cbab497bbf2bfc1bb3af8bdaa4821" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.24792424961924553, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json new file mode 100644 index 0000000000..3686810428 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RELEASE-VERIFY-STAGES.json @@ -0,0 +1,74 @@ +[ + { + "name": "fine-engine-oracle", + "exit_code": 0, + "seconds": 0.803630419075489, + "log_sha256": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3" + }, + { + "name": "retained-provider-and-parent-admission", + "reused_receipt": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "exit_code": 0, + "seconds": 0.18620125018060207 + }, + { + "name": "rebuild-words-566", + "exit_code": 0, + "seconds": 1.4626617915928364, + "log_sha256": "dcbcbeda80423df29ef008bfac58409378f1fd0a3b9b23fc31ab9f03659dd86f" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 2.719976831227541, + "log_sha256": "428588251ab1741a8a8ffc8ceb82234c35b3e3b2cc565d0f83ae861fcacddb0e" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 3.5223765429109335, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "rebuild-borrow-words", + "exit_code": 0, + "seconds": 119.44411616958678, + "log_sha256": "f5a192c4bc04d9f0e5dfd66d7637bd407e1b2246b97b3834897addc53628dfd6" + }, + { + "name": "audit-local-566-base", + "exit_code": 0, + "seconds": 0.6294267904013395, + "log_sha256": "4f0c4a586307535773c34b72711598f9a4f87eb530567d16b41c59ac69779af5" + }, + { + "name": "audit-local-566-extra", + "exit_code": 0, + "seconds": 0.6089366264641285, + "log_sha256": "005e1643b19a9951e0c5715153a44c62abdf540719ec725ae8230081c5f42335" + }, + { + "name": "rebind-566", + "exit_code": 0, + "seconds": 0.5283321235328913, + "log_sha256": "4a3b55e95ba8de46777dbfea80494c9610870aca2bdda18a98bc1d4dde62e551" + }, + { + "name": "lemmag-labels", + "exit_code": 0, + "seconds": 13.94623183272779, + "log_sha256": "91fafdc76824e278546bb51465cf84d60a3513df3f2e8ab9854919c416cd3469" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 39.691487001255155, + "log_sha256": "920307b299933c8879b991b2293674236e8cbab497bbf2bfc1bb3af8bdaa4821" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.24792424961924553, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt new file mode 100644 index 0000000000..b0448692e4 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RESEARCH-TESTS-LOG.txt @@ -0,0 +1,13 @@ +le> +AssertionError: invalid fixture +Traceback (most recent call last): + File "", line 1, in +AssertionError: invalid fixture +....CHECK Scoped test fixture +PASS_REGISTERED_RESEARCH_PACKAGE research/fixture outcome=partial +CHECK Scoped test fixture +................sss...... +---------------------------------------------------------------------- +Ran 69 tests in 5.817s + +OK (skipped=3) diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json new file mode 100644 index 0000000000..ce6e8881de --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/RUNTIME-PATCHES.json @@ -0,0 +1,32 @@ +[ + { + "after_sha256": "52f8b4cec2dab69cbe590e1fd0f7a68e1b35de5a540bd22fd2adfce07a92b46b", + "before_sha256": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "path": "new/rebind.py", + "replacements": [ + [ + "physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))" + ] + ] + }, + { + "after_sha256": "ebc59b6af8b8eef9390715b15848a504498fba26e69840741afd0a31051711ce", + "before_sha256": "245b244984355da7a43d6b89359c6d4cd723bc29abccd6f1788fefe044385800", + "path": "verify_release.py", + "replacements": [ + [ + "Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)", + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))" + ], + [ + "epsilon=1-(1025/1024)e-3080", + "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}" + ], + [ + "at the one 3000-digit rejection call", + "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call" + ] + ] + } +] diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/STAGES7.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/STAGES7.json new file mode 100644 index 0000000000..1e3fe61a7d --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/STAGES7.json @@ -0,0 +1,136 @@ +{ + "base": { + "refit7": 2, + "hostmove2_edits": 28, + "alias2_edits": 28, + "refit7c": [ + [ + "B", + 1170 + ], + [ + "B", + 1171 + ] + ], + "profiles": { + "refit7": { + "1": 2388, + "2": 646, + "3": 268, + "4": 130, + "5": 26, + "8": 8 + }, + "hostmove2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 28, + "8": 8 + }, + "alias2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "retired7": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "audits": { + "refit7": [ + 0, + "PASS" + ], + "hostmove2": [ + 0, + "PASS" + ], + "alias2": [ + 0, + "PASS" + ], + "retired7": [ + 0, + "PASS" + ] + } + }, + "extra": { + "refit7": 2, + "hostmove2_edits": 28, + "alias2_edits": 28, + "refit7c": [ + [ + "B", + 1170 + ], + [ + "B", + 1171 + ] + ], + "profiles": { + "refit7": { + "1": 2388, + "2": 646, + "3": 268, + "4": 130, + "5": 26, + "8": 8 + }, + "hostmove2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 28, + "8": 8 + }, + "alias2": { + "1": 2386, + "2": 646, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + }, + "retired7": { + "1": 2382, + "2": 648, + "3": 268, + "4": 128, + "5": 26, + "8": 8 + } + }, + "audits": { + "refit7": [ + 0, + "PASS" + ], + "hostmove2": [ + 0, + "PASS" + ], + "alias2": [ + 0, + "PASS" + ], + "retired7": [ + 0, + "PASS" + ] + } + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/evidence/retired7/VERIFY-RESULT.json b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/VERIFY-RESULT.json new file mode 100644 index 0000000000..8b8cb29852 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/evidence/retired7/VERIFY-RESULT.json @@ -0,0 +1,9 @@ +{ + "status": "PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY", + "roles": 271728, + "local_mutations_rejected": 6, + "owner_mutations_rejected": 1, + "complex_lower": "1717794984118634663827/1000000000000000000000000", + "complex_upper": "429448746029658665957/250000000000000000000000", + "scope": "Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate." +} diff --git a/research/superior-replica-kappa/vendor/frontier/exact_moment.py b/research/superior-replica-kappa/vendor/frontier/exact_moment.py new file mode 100644 index 0000000000..30dc8aa229 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/exact_moment.py @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: Apache-2.0 +# Tekalign with substantial OpenAI Codex assistance. +from fractions import Fraction as F +DIMENSION=73 +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_reduced(x): + """Forty atanh terms with their positive geometric tail.""" + require(1 <= x <= 2, 'log reduction range') + t = (x - 1) / (x + 1) + lower = sum((2 * t ** (2 * j + 1) / (2 * j + 1) + for j in range(40)), F(0)) + tail = 2 * t ** 81 / (81 * (1 - t * t)) + return lower, lower + tail + + +def log_bounds(x): + require(x >= 1, 'positive logarithm range') + power = 0 + while x >= 2: + x /= 2 + power += 1 + a, b = log_reduced(x) + c, d = log_reduced(F(2)) + return a + power * c, b + power * d + + +def exp_bounds(x): + """Taylor terms 0..15; later term ratios are bounded by x/17.""" + require(0 <= x < F(1, 100), 'exponential argument range') + term, lower = F(1), F(1) + for n in range(1, 16): + term = term * x / n + lower += term + tail = term * x / 16 / (1 - x / 17) + return lower, lower + tail + + +def moment_bounds(profile, exponent): + lower = upper = F(0) + for rank, count in sorted(profile.items()): + log_lo, log_hi = log_bounds(F(DIMENSION, rank)) + exp_lo, _ = exp_bounds(exponent * log_lo) + _, exp_hi = exp_bounds(exponent * log_hi) + weight = F(count * rank, DIMENSION) + lower += weight * exp_lo + upper += weight * exp_hi + return lower, upper diff --git a/research/superior-replica-kappa/vendor/frontier/full_replay.py b/research/superior-replica-kappa/vendor/frontier/full_replay.py new file mode 100644 index 0000000000..d9718b8b5b --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/full_replay.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Cold reproduction of the joint twelve-source/pre-life composition. + +Default: authenticated source download, fresh native providers and retained +parent admission, then the complete original supplier/release verifier. An +explicit --prepared-native-cache must match every published reuse file hash. +All large/generated artifacts remain under a fresh external --work directory. +""" +import argparse +from concurrent.futures import ThreadPoolExecutor +from fractions import Fraction as Q +import gzip +import hashlib +import importlib +import json +import os +from pathlib import Path, PurePosixPath +import platform +import shutil +import subprocess +import sys +import tarfile +import threading +import time +from urllib.parse import quote +from urllib.request import Request, urlopen + +HERE = Path(__file__).resolve().parent +REPOSITORY = HERE.parents[1] +STEPS = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n') + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unauthenticated symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def safe(name): + path = PurePosixPath(name) + need(isinstance(name, str) and '\\' not in name and path.parts and not path.is_absolute() + and '..' not in path.parts and path.as_posix() == name, 'unsafe source path') + + +def download(url, expected): + for attempt in range(3): + try: + req = Request(url, headers={'User-Agent': 'integer-mult-prelife-priority/1', 'Accept-Encoding': 'identity'}) + with urlopen(req, timeout=90) as response: + body = response.read() + need(hashlib.sha256(body).hexdigest() == expected, 'download hash mismatch') + return body + except (OSError, RuntimeError): + if attempt == 2: + raise + time.sleep(attempt + 1) + + +def source_copy(source, destination, pins, jobs): + destination.mkdir() + entries = {'MANIFEST.json': pins['manifest_sha256'], **pins['files']} + need(len(pins['files']) == pins['count'] == 491, 'source file count') + + def copy(item): + name, digest = item + safe(name) + target = destination / name + target.parent.mkdir(parents=True, exist_ok=True) + if source: + need(not (source / name).is_symlink(), 'source symlink') + body = (source / name).read_bytes() + need(hashlib.sha256(body).hexdigest() == digest, 'source bytes: ' + name) + else: + body = download(pins['base_url'] + quote(name, safe='/'), digest) + target.write_bytes(body) + + with ThreadPoolExecutor(max_workers=min(jobs, 8)) as pool: + for _ in pool.map(copy, sorted(entries.items())): + pass + need(read(destination / 'MANIFEST.json') == pins['files'] + and tree(destination) == entries, 'complete source authentication') + + +def bind_native(entry, word): + need(gzip.decompress((entry / 'local/FULL-WORD.json.gz').read_bytes()) == gzip.decompress(word.read_bytes()), + 'native complete word binding') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == STEPS and all(s['exit_code'] == 0 for s in stages), 'native stage coverage') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source', type=Path, help='Exact original PR2679 package directory; otherwise download pinned files.') + ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--prepared-native-cache', type=Path, help='Explicit reuse of the complete published pinned cache.') + ap.add_argument('--jobs', type=int, default=4) + a = ap.parse_args() + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + versions = {} + for name in ('numpy', 'sympy', 'scipy', 'mpmath'): + try: + versions[name] = str(importlib.import_module(name).__version__) + except ImportError as exc: + raise RuntimeError('install requirements.txt in this Python environment before full replay') from exc + need(versions['sympy'] == '1.14.0', 'pinned predecessor evidence requires sympy==1.14.0') + work = a.work.resolve() + need(not work.exists() and not work.is_relative_to(REPOSITORY), 'fresh external work required') + for path in (a.source, a.prepared_native_cache): + need(path is None or (path.is_dir() and not work.is_relative_to(path.resolve())), 'input/work separation') + pins, reuse, claim = read(HERE / 'SOURCE-FILES.json'), read(HERE / 'REUSE-PINS.json'), read(HERE / 'CLAIM.json') + work.mkdir(parents=True) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1') + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, lock = [], threading.Lock() + started = time.monotonic() + + def run(name, script, *args): + begin = time.monotonic() + log = work / (name + '.log') + command = [sys.executable, '-B', str(script), *map(str, args)] + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + with lock: + stages.append(dict(name=name, command=command, exit_code=result.returncode, + script_sha256=sha(script), seconds=time.monotonic()-begin, log_sha256=sha(log))) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + run('literal-review', HERE / 'verify.py') + source = work / 'source' + source_copy(a.source.resolve() if a.source else None, source, pins, a.jobs) + overlay = read(HERE / 'OVERLAY-PINS.json') + need(sha(source/'MANIFEST.json') == overlay['original_manifest_sha256'], 'overlay base manifest') + need(sha(HERE/'DERIVATIVE-OVERLAY.tar.gz') == overlay['archive_sha256'], 'overlay archive') + with tarfile.open(HERE/'DERIVATIVE-OVERLAY.tar.gz') as archive: + members=archive.getmembers() + need(set(m.name for m in members)==set(overlay['files']) and len(members)==len(overlay['files']), 'exact overlay paths') + for member in members: + safe(member.name);need(member.isfile(), 'regular overlay file') + body=archive.extractfile(member).read() + need(hashlib.sha256(body).hexdigest()==overlay['files'][member.name], 'overlay member hash') + (source/member.name).write_bytes(body) + need(sha(source/'MANIFEST.json')==overlay['derived_manifest_sha256'] and + tree(source,('MANIFEST.json',))==read(source/'MANIFEST.json'), 'complete derived source tree') + pins=dict(pins,commit='local-joint12-pr2733',manifest_sha256=overlay['derived_manifest_sha256']) + cache = work / 'native-cache' + if a.prepared_native_cache: + need(tree(a.prepared_native_cache.resolve()) == reuse['cache_files'], 'published complete cache pins') + shutil.copytree(a.prepared_native_cache.resolve(), cache) + native_receipt = reuse + else: + cache.mkdir() + layout = work / 'retained-layout' + layout.mkdir() + old = source / 'vendor/pr1297' + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + retained_driver = layout / 'joint1148-round45/source/research/k8-eight-ends/replay_native.py' + words = {'base': source / 'new/borrow/words/BORROW-WORD-43base.json.gz', + 'extra': source / 'new/borrow/words/BORROW-WORD-43extra.json.gz', + 'retained-base': old / 'gauge44-word.json.gz', 'retained-extra': old / 'extra-word.json.gz'} + + def fresh_native(tag): + word = words[tag] + entry = cache / sha(word) + script = retained_driver if tag.startswith('retained-') else source / 'new/run_native_borrow.py' + run('native-' + tag, script, word, entry) + bind_native(entry, word) + write(entry / 'CACHE.json', dict(word_sha256=sha(word), files=tree(entry))) + + with ThreadPoolExecutor(max_workers=min(a.jobs, 4)) as pool: + for _ in pool.map(fresh_native, words): + pass + run('retained-parent', old / 'verify.py', '--work', work / 'retained-parent', + '--base-native-from', cache / sha(words['retained-base']), + '--extra-native-from', cache / sha(words['retained-extra'])) + parent = read(work / 'retained-parent/RESULT.json') + need(parent['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent['kappa'] == read(old / 'CLAIM.json')['kappa'], 'fresh retained parent admission') + pm = sha(old / 'MANIFEST.json') + receipts = cache / '_receipts' / pm + receipts.mkdir(parents=True) + for name in ('RESULT.json', 'STAGES.json'): + shutil.copy2(work / 'retained-parent' / name, receipts / name) + write(receipts / 'RECEIPT.json', dict(schema='parent-receipt/1', vendor_manifest_sha256=pm, + claim_sha256=sha(old / 'CLAIM.json'), words={tag:sha(words['retained-'+tag]) for tag in ('base','extra')}, + files={name:sha(receipts / name) for name in ('RESULT.json','STAGES.json')})) + providers = {tag:dict(word_sha256=sha(words[tag]), complete_native_files=tree(cache / sha(words[tag]), ('CACHE.json',))) + for tag in ('base','extra')} + native_receipt = dict(status='PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE', + source_commit=pins['commit'], manifest_sha256=pins['manifest_sha256'], providers=providers, + retained_parent_receipt_sha256=sha(receipts / 'RECEIPT.json'), cache_files=tree(cache)) + write(work / 'NATIVE-RECEIPT.json', native_receipt) + run('complete-admission', HERE / 'workflow/admit.py', '--source', source, + '--fill', HERE / 'inputs/FILL.json.gz', '--order', HERE / 'inputs/ORDER.json', + '--native-cache', cache, '--native-receipt', work / 'NATIVE-RECEIPT.json', + '--work', work / 'admission', '--jobs', a.jobs) + result = read(work / 'admission/RESULT.json') + need(result['status'] == 'PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE' + and Q(result['kappa']) == Q(claim['kappa']) and Q(result['complex_lower']) == Q(claim['complex_lower']), + 'published complete claim binding') + need(result['profile'] == {str(k):v for k,v in read(HERE / 'CLAIM.json')['profile'].items()}, 'published complete profile binding') + result.update(status='PASS_T74_JOINT_TWELVE_COLD_COMPLETE_RELEASE', explicit_native_cache_reuse=bool(a.prepared_native_cache), + source_files_sha256=sha(HERE / 'SOURCE-FILES.json'), native_receipt_sha256=sha(work / 'NATIVE-RECEIPT.json'), + cold_stages=stages, cold_seconds=time.monotonic()-started, + environment=dict(python=platform.python_version(), executable=sys.executable, versions=versions)) + write(work / 'RESULT.json', result) + print(result['status'], result['kappa_decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/vendor/frontier/generate.py b/research/superior-replica-kappa/vendor/frontier/generate.py new file mode 100644 index 0000000000..dafca20149 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/generate.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Rebuild the changed twelve-alias word and PR2679 pre-life/refit composition. +Pristine source is authenticated; only a fresh output directory is written. +""" +from pathlib import Path +import argparse,copy,gzip,hashlib,json,sys +sys.dont_write_bytecode=True +HERE=Path(__file__).resolve().parent +sys.path.insert(0,str(HERE)) +import joint_engine as J +ASSIGNMENTS=[(696,33,49),(697,55,101),(698,74,83),(700,85,98),(680,49,33),(681,83,74),(682,98,85),(684,101,55),(688,68,4),(689,80,88),(690,88,80),(692,31,12)] +def need(ok,msg): + if not ok:raise ValueError(msg) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def wr(p,w):p.write_bytes(gzip.compress((json.dumps(w,sort_keys=True,separators=(',',':'))+'\n').encode(),mtime=0)) +def main(): + need(__debug__,'assertions must be enabled') + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--source',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() + source=a.source.resolve();out=a.out.resolve();pins=rd(HERE/'GENERATOR-PINS.json') + sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() + need(sha(source/'MANIFEST.json')==pins['pr2679_manifest'],'PR2679 source manifest') + need(all(sha(source/k)==v for k,v in rd(source/'MANIFEST.json').items()),'complete source files') + need(all(sha(HERE/k)==v for k,v in pins['vendor'].items()),'vendor sources') + need(not out.exists() and not out.is_relative_to(source),'fresh separate output required');out.mkdir(parents=True) + S=source/'new/borrow';sys.path[:0]=[str(S),str(S/'prelife/search')] + import build_word,word_patch as W,prelife2 as P,repair2,alias_build as AB,audit_local as AU + for canon,tag,h in [('gauge44','base','eeb6a236'),('extra','extra','cd417b90')]: + f=out/f'canonical-{tag}.json.gz';build_word.main(str(S/f'inputs/{canon}.canonical.json.gz'),str(S/'inputs/blocks.json'),str(S/f'inputs/witness_43_{tag}.json'),str(f),h);w=rd(f) + patch=rd(S/f'inputs/refit_43{tag}.json') + for sec,i,frame in patch['frames']:w[sec][i][-1]=frame + w['report']['local_profile']=patch['local_profile'];w['cleanup']=W.derive_cleanup(w,W.restored_of(w)) + w=W.apply_kernel(w,rd(S/f'inputs/kernel_43{tag}.json')) + for name in ['handoff','entrance']:w=W.apply_handoff(w,rd(S/f'inputs/{name}_43{tag}.json')) + need(W.apply_lowfour(w,rd(S/f'inputs/lowfour_43{tag}.json'))==rd(HERE/f'inputs/POSITIVE2462-{tag}.json.gz'),'complete PR2462 positive reconstruction') + w['prelude_events']=0;w=J.make(source,out/'joint',tag,seed=w,assignments=ASSIGNMENTS) + patch=rd(S/f'inputs/prelife_43{tag}.json') + for pair in patch['pairs']: + host,borrower=pair['h'],pair['L'];E=next(x[4] for x in patch['fields']['warps'][58:] if x[1]==host) + P.TRACE,_=repair2.run(copy.deepcopy(w),None);w=P.build(w,borrower,host,E) + indices=[i for i,g in enumerate(w['B']) if g[:5]==['add',515,563,1,1]];need(len(indices)==1,'unique refit gate') + w['B'][indices[0]][-1]=rd(S/f'inputs/refit563_43{tag}.json')['frames'][0][-1] + w,_=AB.alias(w,653,563);lp,wi=AB.profile(w);w['report'].update(local_profile=lp,width_inventory=wi) + f=out/f'WORD-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD2751-{tag}.json.gz'),'complete regenerated PR2751 word equality') + # retired5 + retired7: the declared stages refit5 -> alias5 -> refit5c -> refit7 -> hostmove2 -> alias7 -> refit7c turn the regenerated PR2751 word into the candidate word + for st in ('refit5','alias5','refit5c','refit7','hostmove2','alias7','refit7c'): + p_=rd(HERE/f'inputs/{st}_43{tag}.json') + if st in ('alias5','hostmove2','alias7'):w=W.apply_lowfour(w,p_) + else: + w=copy.deepcopy(w) + for sec,i,frame in p_['frames']:need(w[sec][i][:-1]==rd(f)[sec][i][:-1] or st in ('refit5c','refit7','refit7c'),'refit gate');w[sec][i][-1]=frame + w['report']['local_profile']=p_['local_profile'] + f=out/f'WORD-retired7-{tag}.json.gz';wr(f,w);AU.run(f,out/f'audit-retired7-{tag}.json') + need(rd(f)==rd(HERE/f'inputs/WORD-{tag}.json.gz'),'complete regenerated candidate word equality') + print('PASS_REGENERATED_JOINT_TWELVE_RETIRED7_BOTH_WORDS') +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/vendor/frontier/independent_local.py b/research/superior-replica-kappa/vendor/frontier/independent_local.py new file mode 100644 index 0000000000..e0b556adc3 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/independent_local.py @@ -0,0 +1,161 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Mason Hale/Codex PR2696 literal replay, extended by Tekalign/Codex. +Adds anticipatory corrections, checks six pre-life hosts and checks all twelve +source-recovery assertions at operator IDs47 through58. +""" +import json,gzip,hashlib +from collections import Counter,defaultdict +from fractions import Fraction as F +from functools import lru_cache +from pathlib import Path +@lru_cache(None) +def span(vs): + s={0} + for v in vs:s|={x^v for x in tuple(s)} + return frozenset(s) +def S(vs):return span(tuple(vs)) +def rank(vs):return len(S(vs)).bit_length()-1 +def dm(s):return len(s).bit_length()-1 +FULL=S([1<>i&1:a^=c + return a +def regs(g):return g[1:3] if g[0]=='add' else g[1:2] +def nt(r):return not 112<=r<224 +def load(p):return json.loads(gzip.decompress(p.read_bytes())) +def chronological(w): + d=defaultdict(list) + for op,(p,r,*_) in enumerate(w['warps'],1):d[p].append(['warp',r,op]) + b=[] + for i in range(len(w['B'])+1): + b+=d[i] + if i0 else (new,old) + assert frozenset(im(cols,x) for x in S(a))==S(b) + cur[r]=S(new) + for g in w['A']: + if g[0]=='warp':warp(*g[1:]) + else: + for r in regs(g):climb(r,g[-1]) + bysection['A']=dict(counts);prev=counts.copy() + lev={int(k):S(v) for k,v in w['target_levels'].items()} + assert all(cur[112+t]==lev.get(t,S([])) for t in range(112)) + paths=[] + for r,vs in zip(w['centers'],w['center_frames']): + s=S(vs);assert cur[r]==s + targets=[g[1]-112 for g in w['cut'] if g[2]==r] + frames=sorted({lev.get(t,S([])) for t in targets},key=lambda s:-len(s)) + ds=[] + for f in frames: + assert f<=s + d=dm(s)-dm(f) + if d:counts[d]+=1;ds.append(d) + s=f + paths.append({'center':r,'start_rank':rank(vs),'target_offsets':targets,'reader_lines':[sorted(f-{0}) for f in frames],'paid_degrees':ds}) + bysection['cut']=dict(counts-prev);prev=counts.copy() + ops=defaultdict(list) + for op,rec in enumerate(w['warps'],1):ops[rec[0]].append((op,rec)) + for i in range(len(w['B'])+1): + for op,(_,r,cols,old,new) in ops[i]:warp(r,op,old,new) + if i=224) + assert counts==Counter({int(k):v for k,v in w['report']['local_profile'].items()}) + assert inventory==Counter({int(k):v for k,v in w['report']['width_inventory'].items()}) + return {'profile':dict(sorted(counts.items())),'section_profiles':bysection,'inventory':dict(sorted(inventory.items())),'center_paths':paths},start,ends + +def check_cleanup(w): + restored=set(map(int,w['helper_final'])) + cold=lambda r:r+704 if r in restored else r + forward=w['A'][w['prelude_events']:]+chronological(w)+w['restore'] + expected=[] + for g in reversed(forward): + if g[0]=='warp':expected.append(['warp',cold(g[1]),-g[2]]) + elif nt(g[1]): + if g[0]=='add':expected.append(['add',cold(g[1]),cold(g[2]),-g[3],g[4]]) + else:expected.append(['scale',cold(g[1]),g[3],g[2]]) + assert expected==[g[:-1] for g in w['cleanup']] + assert all(S(g[-1])==FULL for g in w['cleanup']) + return len(expected) + +def algebra(w): + # A monomial records its operations oldest-first; appending an inverse + # cancels the newest symbol. No native/generator/audit modules imported. + live=set(range(704))-set(w['removed']);cold=set(map(int,w['helper_final'])) + assert all(112<=x['target']<224 and x['source'] in {273,275,289,291,305,321} for x in w['initial_corrections']) + program=[['correction',x] for x in w['initial_corrections']]+w['precondition']+w['compensation']+w['A']+w['cut']+chronological(w)+w['restore'] + result={} + for dual in [False,True]: + rows={r:{(r,()):F(1)} for r in live} + rows.update({704+r:{} for r in cold}) + def apply(g): + op=g[0] + if op=='correction': + x=g[1];t,s=x['target'],x['source'];q=F(x['coefficient']) + ops=list(reversed(x['operator_word'])) + if dual: + t,s,q=s,t,-q + ops=[-(abs(v)+1000)*(1 if v>0 else -1) for v in x['operator_word']] + for (r,word),c in list(rows[s].items()): + for v in ops:word=word[:-1] if word and word[-1]==-v else word+(v,) + key=(r,word);value=rows[t].get(key,F(0))+q*c + if value:rows[t][key]=value + else:rows[t].pop(key,None) + elif op=='add': + t,s=g[1:3];q=F(g[3],g[4]);assert t!=s + if dual:t,s,q=s,t,-q + for term,c in list(rows[s].items()): + v=rows[t].get(term,F(0))+q*c + if v:rows[t][term]=v + else:rows[t].pop(term,None) + elif op=='scale': + q=F(g[2],g[3]);q=1/q if dual else q + rows[g[1]]={term:q*c for term,c in rows[g[1]].items()} + elif op=='warp': + d=g[2] + if not dual and 460 else -1) + rows[g[1]]={(r,word[:-1] if word and word[-1]==-d else word+(d,)):c for (r,word),c in rows[g[1]].items()} + else:raise AssertionError(op) + for g in program:apply(g) + if not dual: + assert all(rows[112+t]=={(112+t,()):F(1),(t,()):F(1)} for t in range(112)) + assert all(rows[r]=={(r,()):F(1)} for r in cold) + assert all(not any(var in cold-{r} for (var,word) in rows[r]) for r in live) + for g in w['cleanup']:apply(g) + for r in live: + exp={(r,()):F(1)} + if dual and r<112:exp[(112+r,())]=F(-1) + if not dual and 112<=r<224:exp[(r-112,())]=F(1) + assert rows[r]==exp,(dual,r,rows[r]) + assert all(not rows[704+r] for r in cold) + result['dual' if dual else 'forward']='PASS' + return result diff --git a/research/superior-replica-kappa/vendor/frontier/independent_owners.py b/research/superior-replica-kappa/vendor/frontier/independent_owners.py new file mode 100644 index 0000000000..b196522f05 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/independent_owners.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Independent integer-time chronology and bit-mask whole-fill verification. + +No retained window code, donor generator, solver or native checker is imported. +Credit PR2679's pre-life/refit words, PR2673/PR2621 priority scheduling, +PR2588's swapped words, PR2559's evacuation, PR2530's source-partner +fill and the PR2462/PR2322/PR2436 lineage; +Hao Yan and the retained controller authors supply the underlying schedule. +This checks a finite hosting witness, not native circuitry or an exponent. +""" +import argparse +import sys +sys.dont_write_bytecode=True +import gzip +import hashlib +import json +from collections import Counter +from pathlib import Path + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def windows(template, order): + ranks={c['child']:c['rank'] for c in template['idle_children']} + pairs={e['stage']:e['pair'] for e in template['recipe'] if e['kind']=='local'} + blocks={};stage=None + for event in template['execution_schedule']: + if event['kind'] in ('bank_padding_cover_sweep','translate_every_live_family'): + continue + if event['kind']=='local_cover_sweep': + stage=event['stage'];blocks[stage]=[] + need(stage is not None,'event before first call') + blocks[stage].append(event) + progression=[0]*74;last={};result={} + for t,(stage,replica) in enumerate(order): + need(0<=replica<74 and stage==progression[replica],'order chronology') + progression[replica]+=1 + for j,event in enumerate(blocks[stage]): + kind=event['kind'] + if kind=='local_cover_sweep': + need(j==0,'local call position') + last[replica,pairs[stage]]=t + elif kind=='bridge': + last[replica,event['src']]=last[replica,event['dst']]=t + elif kind=='idle_cover_sweep': + need(j>0,'idle position') + start=last.get((replica,event['pair']),-1) + for child in event['child_indices']: + if child in ranks: + result[replica,child]=(ranks[child],start,t) + need(progression==[9]*74,'complete replica progression') + return result + + +def check(plan, template, order, fill, providers, initial_dispatch, expected_profile): + need(len(order)==666 and len(set(map(tuple,order)))==666,'call coverage') + win=windows(template,order) + dispatch=dict(initial_dispatch) + for s,r,pid in fill['dispatch_overrides']: + need((s,r) in dispatch and pid in providers,'dispatch override') + dispatch[s,r]=pid + need(set(dispatch)==set(map(tuple,order)),'dispatch coverage') + need(fill['columns']==['time','helper','owner_replica','child','port','offset'],'role columns') + R=len(next(iter(providers.values()))['widths']) # retired5: helper count from the providers (was 415) + need(len(fill['rows'])==666*R,'role count') + need(all(len(p['widths'])==R for p in providers.values()),'helper widths') + helper_bits=[0]*666;family_bits=[0]*666;occupied={} + for row in fill['rows']: + need(len(row)==6 and all(type(v) is int for v in row),'role shape') + t,h,o,c,port,offset=row + need(0<=t<666 and 0<=h 5, the exact propagated floor) and raises each follower's first gate (606, 635, 637, 638, 639: dim 4 -> 5, the exact ceiling), with their meet/join closures; gates unchanged", + "frames": [ + [ + "B", + 901, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 902, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 903, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 909, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 910, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "B", + 947, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 948, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 949, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 951, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 952, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1024, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1025, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1026, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1027, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1028, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1029, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1030, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1031, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1032, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1033, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1034, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1035, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1040, + [ + 257, + 129, + 67, + 37, + 17, + 15 + ] + ], + [ + "B", + 1041, + [ + 257, + 129, + 68, + 34, + 22, + 8 + ] + ], + [ + "B", + 1042, + [ + 257, + 129, + 76, + 40, + 28, + 2 + ] + ], + [ + "B", + 1043, + [ + 257, + 129, + 73, + 42, + 27, + 5 + ] + ] + ], + "local_profile": { + "1": 2401, + "2": 639, + "3": 278, + "4": 129, + "5": 26, + "8": 8 + }, + "refit_log": [ + { + "h": 606, + "L": 550, + "lowered": [ + [ + 11940, + 6, + 5 + ] + ], + "raised": [ + [ + 11993, + 4, + 5 + ], + [ + 11994, + 4, + 5 + ], + [ + 11995, + 4, + 5 + ], + [ + 11997, + 4, + 5 + ], + [ + 11998, + 4, + 5 + ] + ] + }, + { + "h": 635, + "L": 551, + "lowered": [ + [ + 11941, + 6, + 5 + ] + ], + "raised": [ + [ + 12082, + 4, + 5 + ], + [ + 12083, + 4, + 5 + ], + [ + 12084, + 4, + 5 + ], + [ + 12085, + 4, + 5 + ], + [ + 12086, + 4, + 5 + ], + [ + 12087, + 4, + 5 + ], + [ + 12088, + 4, + 5 + ], + [ + 12089, + 4, + 5 + ], + [ + 12090, + 4, + 5 + ], + [ + 12091, + 4, + 5 + ], + [ + 12092, + 4, + 5 + ], + [ + 12093, + 4, + 5 + ], + [ + 12098, + 5, + 6 + ], + [ + 12099, + 5, + 6 + ], + [ + 12100, + 5, + 6 + ], + [ + 12101, + 5, + 6 + ] + ] + }, + { + "h": 637, + "L": 552, + "lowered": [ + [ + 11948, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 638, + "L": 553, + "lowered": [ + [ + 11949, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 639, + "L": 562, + "lowered": [ + [ + 11942, + 6, + 5 + ] + ], + "raised": [] + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit5_43extra.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit5_43extra.json new file mode 100644 index 0000000000..73fa6c445a --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit5_43extra.json @@ -0,0 +1,473 @@ +{ + "kind": "FRAME_REFIT_FOR_FIVE_ALIASES", + "credit": "exact minimal-change frame refit for the five retired-lender aliases (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): new/borrow/refit/search lowers each lender's last gate (550, 551, 552, 553, 562: dim 6 -> 5, the exact propagated floor) and raises each follower's first gate (606, 635, 637, 638, 639: dim 4 -> 5, the exact ceiling), with their meet/join closures; gates unchanged", + "frames": [ + [ + "B", + 901, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 902, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 903, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 909, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 910, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "B", + 947, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 948, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 949, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 951, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 952, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1024, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1025, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1026, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1027, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1028, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1029, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1030, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1031, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1032, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1033, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1034, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1035, + [ + 257, + 129, + 76, + 42, + 30 + ] + ], + [ + "B", + 1040, + [ + 257, + 129, + 67, + 37, + 17, + 15 + ] + ], + [ + "B", + 1041, + [ + 257, + 129, + 68, + 34, + 22, + 8 + ] + ], + [ + "B", + 1042, + [ + 257, + 129, + 76, + 40, + 28, + 2 + ] + ], + [ + "B", + 1043, + [ + 257, + 129, + 73, + 42, + 27, + 5 + ] + ] + ], + "local_profile": { + "1": 2401, + "2": 639, + "3": 278, + "4": 129, + "5": 26, + "8": 8 + }, + "refit_log": [ + { + "h": 606, + "L": 550, + "lowered": [ + [ + 11940, + 6, + 5 + ] + ], + "raised": [ + [ + 11993, + 4, + 5 + ], + [ + 11994, + 4, + 5 + ], + [ + 11995, + 4, + 5 + ], + [ + 11997, + 4, + 5 + ], + [ + 11998, + 4, + 5 + ] + ] + }, + { + "h": 635, + "L": 551, + "lowered": [ + [ + 11941, + 6, + 5 + ] + ], + "raised": [ + [ + 12082, + 4, + 5 + ], + [ + 12083, + 4, + 5 + ], + [ + 12084, + 4, + 5 + ], + [ + 12085, + 4, + 5 + ], + [ + 12086, + 4, + 5 + ], + [ + 12087, + 4, + 5 + ], + [ + 12088, + 4, + 5 + ], + [ + 12089, + 4, + 5 + ], + [ + 12090, + 4, + 5 + ], + [ + 12091, + 4, + 5 + ], + [ + 12092, + 4, + 5 + ], + [ + 12093, + 4, + 5 + ], + [ + 12098, + 5, + 6 + ], + [ + 12099, + 5, + 6 + ], + [ + 12100, + 5, + 6 + ], + [ + 12101, + 5, + 6 + ] + ] + }, + { + "h": 637, + "L": 552, + "lowered": [ + [ + 11948, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 638, + "L": 553, + "lowered": [ + [ + 11949, + 6, + 5 + ] + ], + "raised": [] + }, + { + "h": 639, + "L": 562, + "lowered": [ + [ + 11942, + 6, + 5 + ] + ], + "raised": [] + } + ] +} diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43base.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43base.json new file mode 100644 index 0000000000..6779edb0aa --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43base.json @@ -0,0 +1,297 @@ +{ + "kind": "FRAME_REFIT_CERTIFIED_OPTIMAL_ALIASED", + "credit": "certified optimal frames of the aliased program (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): our #1186 toolkit optimal_frames on the borrow-word model of new/borrow/audit_local.py; gates, warps, start/final frames, compensation and widths unchanged", + "frames": [ + [ + "A", + 0, + [] + ], + [ + "A", + 1, + [] + ], + [ + "A", + 2, + [] + ], + [ + "A", + 3, + [] + ], + [ + "A", + 4, + [] + ], + [ + "A", + 5, + [] + ], + [ + "A", + 6, + [] + ], + [ + "A", + 7, + [] + ], + [ + "A", + 8, + [] + ], + [ + "A", + 9, + [] + ], + [ + "A", + 10, + [] + ], + [ + "A", + 11, + [] + ], + [ + "B", + 771, + [ + 392, + 64, + 33, + 17, + 3 + ] + ], + [ + "B", + 773, + [ + 395, + 64, + 33, + 18, + 4 + ] + ], + [ + "B", + 776, + [ + 259, + 132, + 76, + 33, + 18 + ] + ], + [ + "B", + 778, + [ + 260, + 131, + 76, + 33, + 18 + ] + ], + [ + "B", + 783, + [ + 390, + 65, + 33, + 19, + 13 + ] + ], + [ + "B", + 788, + [ + 257, + 134, + 64, + 33, + 30 + ] + ], + [ + "B", + 941, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 942, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 943, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 944, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 945, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 946, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 950, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1148, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 1149, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 1150, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 1151, + [ + 259, + 148, + 66, + 36, + 9 + ] + ], + [ + "B", + 1168, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 1169, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "restore", + 60, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43extra.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43extra.json new file mode 100644 index 0000000000..6779edb0aa --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit5c_43extra.json @@ -0,0 +1,297 @@ +{ + "kind": "FRAME_REFIT_CERTIFIED_OPTIMAL_ALIASED", + "credit": "certified optimal frames of the aliased program (retired5: Marius-Paul Dumitrean, with substantial AI assistance, Anthropic Claude via Claude Code): our #1186 toolkit optimal_frames on the borrow-word model of new/borrow/audit_local.py; gates, warps, start/final frames, compensation and widths unchanged", + "frames": [ + [ + "A", + 0, + [] + ], + [ + "A", + 1, + [] + ], + [ + "A", + 2, + [] + ], + [ + "A", + 3, + [] + ], + [ + "A", + 4, + [] + ], + [ + "A", + 5, + [] + ], + [ + "A", + 6, + [] + ], + [ + "A", + 7, + [] + ], + [ + "A", + 8, + [] + ], + [ + "A", + 9, + [] + ], + [ + "A", + 10, + [] + ], + [ + "A", + 11, + [] + ], + [ + "B", + 771, + [ + 392, + 64, + 33, + 17, + 3 + ] + ], + [ + "B", + 773, + [ + 395, + 64, + 33, + 18, + 4 + ] + ], + [ + "B", + 776, + [ + 259, + 132, + 76, + 33, + 18 + ] + ], + [ + "B", + 778, + [ + 260, + 131, + 76, + 33, + 18 + ] + ], + [ + "B", + 783, + [ + 390, + 65, + 33, + 19, + 13 + ] + ], + [ + "B", + 788, + [ + 257, + 134, + 64, + 33, + 30 + ] + ], + [ + "B", + 941, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 942, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 943, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 944, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 945, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 946, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 950, + [ + 409, + 80, + 40, + 5, + 2 + ] + ], + [ + "B", + 1148, + [ + 406, + 66, + 36, + 8, + 1 + ] + ], + [ + "B", + 1149, + [ + 385, + 66, + 36, + 22, + 9 + ] + ], + [ + "B", + 1150, + [ + 276, + 131, + 66, + 36, + 9 + ] + ], + [ + "B", + 1151, + [ + 259, + 148, + 66, + 36, + 9 + ] + ], + [ + "B", + 1168, + [ + 258, + 130, + 85, + 37, + 8 + ] + ], + [ + "B", + 1169, + [ + 258, + 130, + 67, + 45, + 22 + ] + ], + [ + "restore", + 60, + [ + 256, + 128, + 64, + 33, + 17, + 8, + 4, + 3 + ] + ] + ], + "local_profile": { + "1": 2386, + "2": 642, + "3": 274, + "4": 128, + "5": 26, + "8": 8 + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43base.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43base.json new file mode 100644 index 0000000000..0095915f00 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43base.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_FOR_TWO_HOSTEE_MOVES","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): new/borrow/refit/search lowers the last gates of the free retired lenders 564 (B911) and 565 (B912) from dim 6 to their exact propagated floor dim 5 (meet closure: no other gate changes); gates unchanged","frames":[["B",911,[258,130,84,44,1]],["B",912,[258,130,74,45,31]]],"local_profile":{"1":2388,"2":646,"3":268,"4":130,"5":26,"8":8},"previous_frames":[["B",911,[258,130,76,44,24,1]],["B",912,[258,130,74,43,25,6]]]} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43extra.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43extra.json new file mode 100644 index 0000000000..0095915f00 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit7_43extra.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_FOR_TWO_HOSTEE_MOVES","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): new/borrow/refit/search lowers the last gates of the free retired lenders 564 (B911) and 565 (B912) from dim 6 to their exact propagated floor dim 5 (meet closure: no other gate changes); gates unchanged","frames":[["B",911,[258,130,84,44,1]],["B",912,[258,130,74,45,31]]],"local_profile":{"1":2388,"2":646,"3":268,"4":130,"5":26,"8":8},"previous_frames":[["B",911,[258,130,76,44,24,1]],["B",912,[258,130,74,43,25,6]]]} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43base.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43base.json new file mode 100644 index 0000000000..acd4d17dc2 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43base.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_CERTIFIED_OPTIMAL_RETIRED7","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): certified optimal frames of the aliased program (our #1186 toolkit optimal_frames on the borrow-word model, certified=True); gates, warps, start/final frames, compensation and widths unchanged","frames":[["B",1170,[258,130,84,44,1]],["B",1171,[258,130,74,45,31]]],"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8}} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43extra.json b/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43extra.json new file mode 100644 index 0000000000..acd4d17dc2 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/inputs/refit7c_43extra.json @@ -0,0 +1 @@ +{"kind":"FRAME_REFIT_CERTIFIED_OPTIMAL_RETIRED7","credit":"retired7: Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code): certified optimal frames of the aliased program (our #1186 toolkit optimal_frames on the borrow-word model, certified=True); gates, warps, start/final frames, compensation and widths unchanged","frames":[["B",1170,[258,130,84,44,1]],["B",1171,[258,130,74,45,31]]],"local_profile":{"1":2382,"2":648,"3":268,"4":128,"5":26,"8":8}} \ No newline at end of file diff --git a/research/superior-replica-kappa/vendor/frontier/joint_engine.py b/research/superior-replica-kappa/vendor/frontier/joint_engine.py new file mode 100644 index 0000000000..e76585f43f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/joint_engine.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Restore retired source pairs before handoff; generate twelve joint aliases. + +Derived from PR2462 (Jeremy Kothe), PR2436 lifted-target work (Tekalign), +and PR2322 generator utilities (Vlado Vojdanovski), all with AI assistance. +This derivative: OpenAI Codex at the user's direction. See README for scope. +""" +import sys,json,gzip,copy,importlib.util +from pathlib import Path +from fractions import Fraction as Q +from collections import defaultdict,Counter +HERE=Path(__file__).resolve().parent +sys.path.insert(0,str(HERE/'vendor')) +import generate_words as G +import gf_chart as C +from target_transport import step + +def mod(name,path): + spec=importlib.util.spec_from_file_location(name,path);module=importlib.util.module_from_spec(spec);spec.loader.exec_module(module);return module + +def paid_lifted(w): + src=Path(G.__file__).read_text();src=src[src.index('def paid_profile('):src.index('\ndef build(')] + src=src.replace("for event in word['A']:\n gate(event)","""for event in word['A']: + if event[0]=='warp': + _,r,op,U,V=event + cols=word['warps'][abs(op)-1][2] + if op<0: + back={mapped(cols,x):x for x in range(512)};cols=[back[1<len(a):a.append(x) + for x in F: + if len(b)len(b):b.append(x) + assert len(a)==len(b)==4 + cols=C.gf_change(a,b,9);E=[C.gf_linear(cols,x) for x in U] if hasattr(C,'gf_linear') else [G.mapped(cols,x) for x in U] + op=len(w['warps'])+len(newrecords)+1;newrecords.append([first,r,cols,list(U),E]);replace[h]=r + nw['removed'].append(h);del nw['start_extra'][str(h)];nw['helper_final'].pop(str(h),None) + # Keep preexisting operator IDs stable; extra warps are appended to the table. + newB=[];position={} + for i in range(len(w['B'])+1): + newB.extend(before[i]);position[i]=len(newB) + if ilen(w['warps']),(t,r,op,q) + groups[r,op[0]][t]=-q + prelude=[];targetlines={} + for (r,op),coeff in groups.items(): + for g in nw['precondition']+nw['compensation']:coeff=step(coeff,g,set(range(112,224))) + record=nw['warps'][op-1];line=[G.mapped(record[2],w['ports'][r])] + for t in coeff: + assert t not in targetlines or targetlines[t]==line,(t,r,op,line,targetlines.get(t),dict(groups)) + targetlines[t]=line + prelude.append(['warp',r,op,[w['ports'][r]],line]) + for t,q in sorted(coeff.items()):prelude.append(['add',t,r,q.numerator,q.denominator,line]) + prelude.append(['warp',r,-op,line,[w['ports'][r]]]) + lifts=[] + for t,line in sorted(targetlines.items()): + key=str(t-112);old=nw['target_levels'].get(key,[]);assert not old or G.basis(old)==G.basis(line) + if not old:lifts.append(['scale',t,1,1,line]);nw['target_levels'][key]=line + nw['A']=lifts+prelude+nw['A'];nw['prelude_events']+=len(lifts)+len(prelude) + tmp=copy.deepcopy(nw);tmp['A']=tmp['A'][nw['prelude_events']:];nw['cleanup']=WP.derive_cleanup(tmp,WP.restored_of(w)) + pp,iv=paid_lifted(nw);nw['report']['local_profile']=pp;nw['report']['width_inventory']=iv + out=BASE/f'eight-alias-{tag}.json.gz';out.write_bytes(gzip.compress(json.dumps(nw,separators=(',',':')).encode())) + print('BUILT',tag,'newops',len(newrecords),'targets',targetlines,'file',out,flush=True) + AU2.run(out,BASE/f'eight-alias-{tag}-audit.json') + return nw diff --git a/research/superior-replica-kappa/vendor/frontier/packing_cap.py b/research/superior-replica-kappa/vendor/frontier/packing_cap.py new file mode 100644 index 0000000000..fe937f8667 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/packing_cap.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Uses Douglas Colkitt's exact ceiling engine (Claude-assisted), pinned unchanged. +# Adapter by Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Fixed-word coverage-law ceiling; separate from physical and outer admission.""" +import argparse, hashlib, importlib.util, json, sys +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +HERE = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +ENGINE_SHA = "86a1432870b3b21d8454106ec9162fddc0471472d9214c590a1420f2426cedfc" +IDLE = {1:17316,3:6594,5:9878,32:1,48:26558} +CANDIDATE = {1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} +ENDPOINT = Q('0.001717794984118634663827') + +def need(ok, message): + if not ok: + raise ValueError(message) + +def calculate(profile_path=None): + path = HERE / 'vendor/ceiling.py' + need(hashlib.sha256(path.read_bytes()).hexdigest() == ENGINE_SHA, 'ceiling source pin') + spec = importlib.util.spec_from_file_location('packing_ceiling', path) + engine = importlib.util.module_from_spec(spec); spec.loader.exec_module(engine) + h = {int(r): n for r,n in json.loads((profile_path or HERE/'PROFILE.json').read_text()).items()} + need(h == CANDIDATE and sum(r*n for r,n in h.items()) == 4816512, + 'complete candidate histogram and rank mass') + local = {r: Q(h[r]-IDLE.get(r,0),666) for r in h if h[r] != IDLE.get(r,0)} + need(local == {1:2382,2:648,3:268,4:128,5:26,8:8}, 'complete local profile') + model = engine.model(local,73,896,9,64) + need(model['total_mass']*666 == 4816512 and model['local_mass'] == 5188, 'coverage identity') + lo,hi = engine.ceiling(local,73,896,9,64) + need(engine.relax(local,73,896,9,64,hi)[0] > 1, 'upper cap rejection') + c = Q(json.loads((HERE/'CLAIM.json').read_text())['complex_lower']) + need(c == ENDPOINT, 'certified candidate endpoint') + with localcontext() as ctx: + ctx.prec = 50 + dec = lambda x: str(Decimal(x.numerator)/Decimal(x.denominator)) + return dict(status='PASS_FIXED_WORD_PACKING_CEILING',source_sha256=ENGINE_SHA, + local_per_call={str(r):str(n) for r,n in local.items()}, + dimension=73,families=896,stages=9,centre_rank_per_call=64,max_idle_rank=model['R'], + complex_cap_bracket=[str(lo),str(hi)],complex_cap_upper_decimal=dec(hi), + realized_fraction_lower=str(c/hi),realized_fraction_decimal=dec(c/hi), + scope='Fixed joint-twelve local word and hosted nine-stage coverage law; all remaining mass is relaxed to fractional rank51 children. This generic coverage-law ceiling is weaker than a window-aware packing or lattice bound. It does not certify or import the predecessor advertised lattice ceiling. It bounds this complex model, not different words or coverage laws. Modern outer admission is separate; no historical a/(1+a) conversion is used.') + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--output',type=Path) + ap.add_argument('--profile',type=Path,default=HERE/'PROFILE.json');a=ap.parse_args() + text=json.dumps(calculate(a.profile),indent=2)+'\n' + if a.output: + a.output.parent.mkdir(parents=True,exist_ok=True);a.output.write_text(text) + print(text,end='') +if __name__=='__main__': main() diff --git a/research/superior-replica-kappa/vendor/frontier/requirements.txt b/research/superior-replica-kappa/vendor/frontier/requirements.txt new file mode 100644 index 0000000000..816d0c8e91 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/requirements.txt @@ -0,0 +1,4 @@ +numpy==2.5.4 +sympy==1.14.0 +scipy==1.18.1 +mpmath==1.3.0 diff --git a/research/superior-replica-kappa/vendor/frontier/retired7_controls.py b/research/superior-replica-kappa/vendor/frontier/retired7_controls.py new file mode 100644 index 0000000000..67a9818ac7 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/retired7_controls.py @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: Apache-2.0 +# Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +"""retired7 tamper controls on a final BORROW-WORD (each mutant gets its inverse-reverse cleanup re-derived from its own forward +word; a rejection by a stale-cleanup/operator-id reason counts as a FAILURE): + refit7: each new lender's last-gate refit undone must be rejected by 'warp frame mismatch'; + hostmove2: per moved hostee - warp lender reverted, move undone (hostee back on its old lender, which now hosts the new alias), + warp before the new lender retires, G wrong; + alias7 (the PR2679 alias suite per new alias): borrowed read sign flipped, read doubled, write sign flipped, warp dropped, + G wrong, warp after the follower's first gate (the lender's own life ended in A, so 'before retirement' has no B position), + helper kept with an entrance frame; + refit7c: one certified frame corrupted. +usage: retired7_controls.py WORD INPUT_DIR TAG OUT (INPUT_DIR holds refit7/hostmove2/alias7/refit7c_43TAG.json; audit_local.py and +word_patch.py are imported from this directory)""" +import copy, contextlib, gzip, io, json, sys, tempfile +from pathlib import Path +VACUOUS = ('explicit cleanup differs', 'warp operator id') +def regs(e): return e[1:3] if e[0] == 'add' else e[1:2] +def relabel(m, start, a, b): + for i in range(start, len(m['B'])): + e = m['B'][i] + if e[0] == 'add': + if e[1] == a: e[1] = b + if e[2] == a: e[2] = b + elif e[1] == a: e[1] = b +def controls(w0, p7, ph, pa, pc, audit, WP): + """audit(word) -> None (accepted) or the rejection reason; returns (all_ok, results)""" + def rederive(m): + m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(w0)); m2['A'] = A; return m2 + res = {} + def expect(name, m, reason=None, fresh=True): + r = audit(rederive(m) if fresh else m) + ok = r is not None and not r.split(': ', 1)[-1].startswith(VACUOUS) and (reason is None or reason in r) + res[name] = dict(rejected=r is not None, reason=(r or '')[:160], real_reason=ok) + need = audit(w0); assert need is None, ('unmutated final word rejected', need) + for sec, i, fr in p7['previous_frames']: + m = copy.deepcopy(w0); m[sec][i][-1] = fr; expect(f'refit7 {sec}{i} lender refit undone', m, 'warp frame mismatch') + for mv in ph['moves']: + k = mv['op'] - 1; tag = f"move{mv['op']} {mv['L_old']}->{mv['L_new']}" + m = copy.deepcopy(w0); m['warps'][k][1] = mv['L_old']; expect(tag + ' warp lender reverted', m) + m = copy.deepcopy(w0); m['warps'][k] = copy.deepcopy(mv['old_record']); relabel(m, mv['old_pos'], mv['L_new'], mv['L_old']); expect(tag + ' move undone', m) + m = copy.deepcopy(w0); m['warps'][k][0] = mv['pos'] - 400; expect(tag + ' warp before lender retirement', m) + m = copy.deepcopy(w0); m['warps'][k][2][0] ^= m['warps'][k][2][1]; expect(tag + ' G wrong', m) + for a in pa['aliases']: + h, L = a['h'], a['L']; op = next(i for i, r in enumerate(w0['warps']) if r[1] == L and r[0] == a['pos']); tag = f'{h}<-{L}' + reads = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] + writes = [i for i, g in enumerate(w0['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] + m = copy.deepcopy(w0); m['B'][reads[0]][3] *= -1; expect(tag + ' borrowed read sign flipped', m) + m = copy.deepcopy(w0); m['B'][reads[0]][3] *= 2; expect(tag + ' borrowed read doubled', m) + if writes: m = copy.deepcopy(w0); m['B'][writes[0]][3] *= -1; expect(tag + ' borrowed write sign flipped', m) + m = copy.deepcopy(w0); del m['warps'][op] + for e in m['A'][:m['prelude_events']]: + if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 + expect(tag + ' warp dropped', m) + m = copy.deepcopy(w0); m['warps'][op][2][0] ^= m['warps'][op][2][1]; expect(tag + ' G wrong', m) + m = copy.deepcopy(w0); m['warps'][op][0] = a['pos'] + 1; expect(tag + " warp after the follower's first gate", m) + m = copy.deepcopy(w0); m['start_extra'][str(h)] = a['E']; expect(f'{h} kept with an entrance frame', m) + sec, i, fr = pc['frames'][0]; m = copy.deepcopy(w0); m[sec][i][-1] = [1]; expect('refit7c certified frame corrupted', m, fresh=False) + return all(r['real_reason'] for r in res.values()), res +if __name__ == '__main__': + here = Path(__file__).resolve().parent; sys.path.insert(0, str(here)) + import audit_local as al, word_patch as WP + w0 = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())); D = Path(sys.argv[2]); tag = sys.argv[3]; tmp = Path(tempfile.mkdtemp()) + p = {n: json.loads((D / f'{n}_43{tag}.json').read_text()) for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')} + def audit(w): + q = tmp / 'm.json.gz'; q.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode())) + try: + with contextlib.redirect_stdout(io.StringIO()): al.run(q, tmp / 'm.out.json', None, None) + return None + except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as e: + return (type(e).__name__ + ': ' + str(e))[:200] + ok, res = controls(w0, p['refit7'], p['hostmove2'], p['alias7'], p['refit7c'], audit, WP) + Path(sys.argv[4]).write_text(json.dumps(dict(all_rejected_for_real_reasons=ok, controls=res), indent=1) + '\n') + print(('ALL RETIRED7 CONTROLS REJECTED' if ok else 'RETIRED7 CONTROL FAILURE'), sum(r['real_reason'] for r in res.values()), 'of', len(res)); sys.exit(0 if ok else 1) diff --git a/research/superior-replica-kappa/vendor/frontier/test_integrity.py b/research/superior-replica-kappa/vendor/frontier/test_integrity.py new file mode 100644 index 0000000000..eedb99e86a --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/test_integrity.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Git-free read-only replay and fail-closed input/claim/optimization controls.""" +import hashlib,json,os,shutil,subprocess,sys,tempfile +from pathlib import Path +HERE=Path(__file__).resolve().parent +def need(ok,msg): + if not ok:raise RuntimeError(msg) +def hashes(root):return {str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in root.rglob('*') if p.is_file()} +def main(): + with tempfile.TemporaryDirectory(prefix='joint-twelve-retired7-controls-') as t: + p=Path(t)/'package';shutil.copytree(HERE,p);before=hashes(p) + def run(script='verify.py',flags=()): + return subprocess.run([sys.executable,'-I','-B',*flags,str(p/script)],cwd=t,env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1'),text=True,capture_output=True,timeout=300) + r=run();need(r.returncode==0 and 'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY' in r.stdout,'relocated positive: '+r.stderr);need(hashes(p)==before,'read-only replay') + r=run(flags=('-O',));need(r.returncode!=0 and 'run without -O' in r.stderr,'optimized verification refusal') + r=run('generate.py',('-O',));need(r.returncode!=0 and 'assertions must be enabled' in r.stderr,'optimized generator refusal') + f=p/'CLAIM.json';b=f.read_bytes();c=json.loads(b);c['kappa']='1';f.write_text(json.dumps(c));r=run();need(r.returncode!=0 and 'claim outer endpoint' in r.stderr,'claim corruption rejection');f.write_bytes(b) + f=p/'inputs/WORD-base.json.gz';b=f.read_bytes();f.write_bytes(b+b'corruption');r=run();need(r.returncode!=0 and 'input digest' in r.stderr,'word authentication rejection');f.write_bytes(b) + need(hashes(p)==before,'controls restore exact files') + print('PASS_JOINT_TWELVE_RELOCATED_READ_ONLY_AND_INTEGRITY_CONTROLS') +if __name__=='__main__':main() diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/GENERATOR-NOTICE.txt b/research/superior-replica-kappa/vendor/frontier/vendor/GENERATOR-NOTICE.txt new file mode 100644 index 0000000000..b075f7180e --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/GENERATOR-NOTICE.txt @@ -0,0 +1,129 @@ +Generator for PR2312 width exchange plus coherent four-handoff transformation +========================================================================== + +generate_words.py is new portable code prepared with substantial AI +assistance, under the repository Apache-2.0 license. It directly transforms +the pinned PR2312 width-exchange BORROW-WORDs and regenerates cleanup. The existing source +builder is not copied or imported at runtime. The independent native chain, +rather than the generator or its hashes, proves all-column circuit correctness +and exact physical Clifford phases. + +PR2312 width exchange is credited to Jeremy Kothe (@jeremykothe2), with +AI assistance: alias 651 is re-lent from lender 530 and alias 653 is dropped, +freeing register 554 for cold restoration and changing two width-8 helpers +to width 7. The exact frame re-solve of both borrowed words and the owner +fill for that source width inventory retain the source's credit to Jeremy +Kothe, with AI assistance. This generator consumes the resulting complete +source words; it does not reapply their kernels or width exchange. + +Consumed PR2312 source head: + fb76f799ccf078f51780076ebed3fd26b1db11c0 +Package: + research/gmx-t74-borrow43-width-exchange +Manifest SHA-256: + c545968fb8cf6e550b82ba631e92fd756484db75e621aee211347749cff55313 + +The two helper-donor kernels at pivots 518 and 506 are retained from +PR2302. Their kernel shape is credited to mdumitrean (PR1625); their search, +exact pricing and frame re-solve are credited to Jeremy Kothe +(@jeremykothe2), with AI assistance, as stated by the source. The PR2302 +source and this necessary derivative generator were prepared with AI +assistance. This generator composes the four block-616 handoffs after those +kernels, preserving all kernel scalar gates and their re-solved frames. + +Predecessor PR2302 source head: + d520b92d7bf18efcb7d84f12757face6fe9541f1 +Package: + research/gmx-t74-borrow43-k518-506 +Manifest SHA-256: + 74634d13d27026e2867973b58dfef5e31958d92c54454b29e52292b7fc2e1f0d + +WildIdeas is credited for the exact frame refits retained from PR2288. +The source's additional frame-solver credit to Jeremy Kothe, with AI +assistance, is retained. The predecessor's full credit and licensing notice +is reproduced below. + +Anticipatory dirty borrowing is credited first to Cinna Davis +(@1337isnot1337), PR2226, with substantial OpenAI Codex assistance. The +retired-register K_G handoff and inverse-reverse FULL cleanup with proper-ended +private zero buffers derive from that construction and its PR2288 realization. +PR2288 source head: 614c74a63b0f6d4a24c7740d7ddb90d37861b3c7. + +This code is licensed under Apache-2.0, inherited from the repository. +The original repository LICENSE and NOTICE remain in the predecessor source; +the consumed package NOTICE is reproduced verbatim below, along with the +additional PR2226 notice. The PR2312 and PR2302 package NOTICE files are byte-identical to the +PR2288 package NOTICE reproduced here. + +--- PR2288 package NOTICE (verbatim) --- + +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + + +--- PR2226 native-chain notice (verbatim) --- + +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the Borrow campaign's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. + + +Reproduction and equality +======================== + +Run: + python3 generate_words.py --source-root FETCHED_REPOSITORY --out NEW_DIRECTORY + +The generator checks the pinned source manifest and both consumed compressed +source-word hashes. It writes base.json.gz, extra.json.gz and GENERATION.json. +Canonical JSON hashes cover every output field, including frames, scalar +gates, operators, endpoints, cleanup and invoices. These hashes determine +regenerated circuit equality. The compressed container hashes are recorded +for provenance; Python/zlib changes can produce different gzip streams for +the same circuit. The OS header byte is normalized to 255. In the recorded generation +environment both output containers also exactly match the composed +word hashes. Recompression alone does not require repeating native phases. + +The four binary G maps are explicit construction constants, checked for +invertibility and the measured source-to-handoff chart identity on each run. +The native replay independently lowers their exact physical representatives. +Two old warp-basis representatives are rewritten only after verifying equal +GF(2) spans, preserving the frozen input serialization. No JSON patch file or +unrecorded local dependency is needed. + +Composition binding +=================== + +The source-manifest and source-word constants bind the consumed PR2312 +inputs. The canonical JSON target hashes cover every composed output field. +The literal base tag names PR2312 width exchange plus coherent joint616; +SOURCE_COMMIT and SOURCE_MANIFEST identify the consumed source. +This generation receipt does not establish native phases, owner admission, +or a new exponent; those require their separate independently replayed +native and global receipts. diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/LICENSE b/research/superior-replica-kappa/vendor/frontier/vendor/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/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/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-NOTICE b/research/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json b/research/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json new file mode 100644 index 0000000000..cd19eda259 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/UPSTREAM-VENDOR-SOURCES.json @@ -0,0 +1,26 @@ +{ + "vendor/gf_chart.py": { + "sha256": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6", + "source_commit": "19d9366de79dc3125429c3912e4040331d125a27", + "source_path": "research/complex-structure-seed39/nonzero-lender-evidence/census.py", + "mode": "four unchanged gf_* functions" + }, + "vendor/target_transport.py": { + "sha256": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86", + "source_commit": "19d9366de79dc3125429c3912e4040331d125a27", + "source_path": "research/complex-structure-seed39/nonzero-lender-evidence/target_transport.py", + "mode": "unchanged full file" + }, + "vendor/generate_words.py": { + "sha256": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7", + "source_commit": "002304ef01c4416a127916169ae6d94c1bee052b", + "source_path": "research/t74-joint-owner-hillclimb/generate_words.py", + "mode": "unchanged full file" + }, + "vendor/GENERATOR-NOTICE.txt": { + "sha256": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c", + "source_commit": "002304ef01c4416a127916169ae6d94c1bee052b", + "source_path": "research/t74-joint-owner-hillclimb/GENERATOR-NOTICE.txt", + "mode": "unchanged full file" + } +} diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/audit_local_pr2679.py b/research/superior-replica-kappa/vendor/frontier/vendor/audit_local_pr2679.py new file mode 100644 index 0000000000..8224873d04 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/audit_local_pr2679.py @@ -0,0 +1,501 @@ +"""Independent exact scalar/frame audit of the changed forward supplier. + +This does not import a generator, builder, stored compensation, or price. +All claimed endpoint matrices are derived from the input word's gates. +Optional --main checks the transported boundary against the pinned parent. +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. +""" +import argparse,gzip,json,hashlib,time +from pathlib import Path +from fractions import Fraction as F +from collections import Counter + +def require(x,label): + if not x:raise RuntimeError(label) + +def basis(vs): + piv={} + for a in vs: + while a: + bit=a.bit_length()-1 + if bit in piv:a^=piv[bit] + else: + piv[bit]=a;break + for k in sorted(piv): + for j in piv: + if j>k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1<>=1;i+=1 + return y + +def ginv(cols,h): + # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise + piv={}; + for i in range(h): + a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] + if a:return None + pre.append(b) + return pre # pre[t] = G^{-1}(e_t) + +def gtrans(cols,h): + # transpose: column j of G^T = row j of G + return [sum(((cols[i]>>j)&1)< E (used for B-phase warps and for A-phase prelude warps)""" + inv=ginv(cols,h);require(inv is not None,'G not invertible') + require(all(gmul(cols,inv[t])==1<(Gx, (G+G^-T)x + G^-T z) + GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} + # G^{-T}(z): via columns GiT + def M(vec): + x=vec&((1<>h + gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x + return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) + walg_add(rows[src],row,-c) + return + if e[0]=='warp': + op=e[2];s=(op>0)-(op<0) + if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol + rows[e[1]]=walg_warp(rows[e[1]],op);return + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + walg_add(rows[t],rows[s],q) + else: + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + +def invert_item(e,full): + if e[0]=='warp':return ['warp',e[1],-e[2]] + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def run_borrow(path,out,main,base,w,data,begin): + v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R + require((v,h)==(112,9),'wrong source geometry') + require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') + full=basis([1<=2*v,'correction source must be a remaining helper') + require(s not in entering,'correction source has nonzero entrance frame') + require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') + require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') + # the source is the lender of the operator it is read through + require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') + # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- + end=[full]*v+[basis([x for x in range(1,1<0 else list(to_),list(to_) if op_>0 else list(fr_),h) + require(cur[r_]==basis(fr_),'prelude warp frame mismatch '+str((r_,op_))) + cur[r_]=basis(to_) + else: + for q in registers(e):climb(q,e[-1]) + for e in Aord: + for q in registers(e):climb(q,e[-1]) + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + require(all(cur[v+t]==lev.get(t,()) for t in range(v)),'target centre levels') + for q,U in zip(w['centers'],w['center_frames']): + U=basis(U);require(cur[q]==U,'center frame') + served={lev.get(e[1]-v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(contained(T,U),'center path not nested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + byposition={} + for op,rec in enumerate(warps,1):byposition.setdefault(rec[0],[]).append(op) + B=w['B'];forward=[] # chronological program of the (recorded) non-target word + for e in Aord:forward.append(e) + for p in range(len(B)+1): + for op in byposition.get(p,[]): + _,lender,cols,U,E=warps[op-1] + require(cur[lender]==basis(U),'warp frame mismatch '+str((op,lender,cur[lender],basis(U)))) + cur[lender]=basis(E);forward.append(['warp',lender,op]) + if p 1 is a what-if for a changed coverage law only); + * the local word fixes its own paid child profile `local` (per call); + * every remaining unit of mass is an idle/remainder child of rank at most R, where the outer + recipe's halving guard m^2 > 2 R^2 bounds R (R = 51 for m = 73). + +Lemma. For a >= 0, a child of rank r costs (r/m)^(1-a) = r * c(r), with c(r) = r^(-a) m^(a-1) +non-increasing in r. Hence, with idle mass M fixed and idle ranks <= R, every idle histogram has +moment >= the relaxation that puts all of M into (possibly fractional) rank-R children: + + relax(a) = [ sum_local n_r (r/m)^(1-a) + (M/R) (R/m)^(1-a) ] / w (per call). + +The moment is increasing in a. So relax(a*) > 1 certifies that no hosting, owner packing or +idle-remainder change of the given local word, template and outer recipe certifies a saving +>= a*. Under the retained reduction kappa < a/(1+a) when the complex side binds, so +a*/(1+a*) also bounds kappa. This is a bound for the stated model, not for other local words, +templates, coverage laws or outer recipes. + +Exact rational intervals: ln k from atanh chains, exp by Taylor with Lagrange remainder, +outward rounding to 2^-PREC. Standard library only. Douglas Colkitt, with Claude (Anthropic) +assistance. +""" +from fractions import Fraction as Q +from functools import lru_cache +from math import isqrt + +PREC = 256 + + +def require(ok, why): + if not ok: + raise ValueError(why) + + +def down(x): + return Q((x.numerator << PREC) // x.denominator, 1 << PREC) + + +def up(x): + return -down(-x) + + +@lru_cache(None) +def atanh(t): + """Enclosure of atanh(t) for rational 0 < t <= 1/3.""" + require(0 < t <= Q(1, 3), 'atanh range') + s, p, k = Q(0), t, 0 + while True: + term = p / (2 * k + 1) + s += term + p *= t * t + k += 1 + tail = p / ((2 * k + 1) * (1 - t * t)) + if tail < Q(1, 1 << (PREC + 8)): + return down(s), up(s + tail) + + +@lru_cache(None) +def ln(k): + """Enclosure of ln k for an integer k >= 1: ln k = ln(k-1) + 2 atanh(1/(2k-1)).""" + require(isinstance(k, int) and k >= 1, 'ln domain') + if k == 1: + return Q(0), Q(0) + lo, hi = ln(k - 1) + a, b = atanh(Q(1, 2 * k - 1)) + return down(lo + 2 * a), up(hi + 2 * b) + + +def exp(lo, hi): + """Enclosure of exp([lo, hi]) for 0 <= lo <= hi <= 1/2.""" + require(0 <= lo <= hi <= Q(1, 2), 'exp range') + def series(y, upper): + s, t, k = Q(1), Q(1), 0 + while True: + k += 1 + t = t * y / k + s += t + if t * y < Q(1, 1 << (PREC + 8)): + return up(s + 2 * t * y / (k + 1)) if upper else down(s) + return series(lo, False), series(hi, True) + + +def child_cost(r, m, a): + """Enclosure of (r/m)^(1-a) = (r/m) exp(a ln(m/r)).""" + lm, um = ln(m) + lr, ur = ln(r) + e = exp(max(Q(0), a * (lm - ur)), a * (um - lr)) + return down(Q(r, m) * e[0]), up(Q(r, m) * e[1]) + + +def max_idle_rank(m): + """Largest R with m^2 > 2 R^2 (outer halving guard).""" + R = isqrt((m * m - 1) // 2) + while 2 * (R + 1) ** 2 < m * m: + R += 1 + while 2 * R * R >= m * m: + R -= 1 + return R + + +def model(local, m, families, stages, centre, R=None, unpaid=1): + """Per-call quantities. local: {rank: count per call (Fraction ok)}.""" + R = max_idle_rank(m) if R is None else R + require(2 * R * R < m * m, 'idle rank cap violates the halving guard') + require(all(0 < r < m for r in local) and all(n >= 0 for n in local.values()), 'local profile') + w = Q(families, stages) + require(1 <= unpaid < m, 'unpaid coordinates per family') + total = (m - unpaid) * w + centre + local_mass = sum(r * Q(n) for r, n in local.items()) + idle = total - local_mass + require(idle >= 0, 'local word pays more mass than the coverage law allows') + return dict(R=R, w=w, total_mass=total, local_mass=local_mass, idle_mass=idle, deficit=unpaid * w - centre) + + +def relax(local, m, families, stages, centre, a, R=None, unpaid=1): + """Enclosure of the per-call relaxation moment at saving a.""" + q = model(local, m, families, stages, centre, R, unpaid) + lo = hi = Q(0) + for r, n in local.items(): + c = child_cost(r, m, a) + lo, hi = lo + Q(n) * c[0], hi + Q(n) * c[1] + c = child_cost(q['R'], m, a) + k = q['idle_mass'] / q['R'] + lo, hi = lo + k * c[0], hi + k * c[1] + return down(lo / q['w']), up(hi / q['w']) + + +def ceiling(local, m, families, stages, centre, grid=Q(1, 10 ** 15), R=None, unpaid=1): + """Grid bracket [a_lo, a_hi]: relax(a_lo) < 1 < relax(a_hi), certified. a_hi is the ceiling.""" + lo, hi = Q(0), Q(1, 20) + require(relax(local, m, families, stages, centre, hi, R, unpaid)[0] > 1, 'search window too small') + require(relax(local, m, families, stages, centre, lo, R, unpaid)[1] < 1, 'relaxation has no positive saving') + while hi - lo > grid: + mid = Q(int((lo + hi) / 2 / grid)) * grid + if mid <= lo: + mid = lo + grid + v = relax(local, m, families, stages, centre, mid, R, unpaid) + if v[1] < 1: + lo = mid + elif v[0] > 1: + hi = mid + else: + raise ValueError('enclosure too wide to separate the grid point') + return lo, hi diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/generate_words.py b/research/superior-replica-kappa/vendor/frontier/vendor/generate_words.py new file mode 100644 index 0000000000..94bf0d8f29 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/generate_words.py @@ -0,0 +1,335 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +"""Construct four coherent handoffs on the pinned PR2312 width-exchange words. + +This is a direct circuit transformation, using Python's standard library only. +It moves the twelve block-616 correction gates, replaces four retired helper +roles by the source lenders (1,4,6,12), installs their explicit invertible chart +maps, and derives inverse-reverse cleanup from the changed non-target word. +The source and resulting word content are hash-bound. Hash equality is a +reproduction check; the independent all-column native chain proves correctness. +The input retains PR2312's width exchange (alias 651 re-lent from 530 and +alias 653 dropped), exact frame re-solve and the pivot-518/506 kernels. +Width exchange and its source frame/owner work are credited to Jeremy Kothe +(jeremykothe2), with AI assistance. The helper-donor kernels retain credit: +PR1625 shape by mdumitrean; PR2302 search, exact pricing and frame re-solve +by Jeremy Kothe (jeremykothe2), with AI assistance. This derivative was also +prepared with substantial AI assistance. See GENERATOR-NOTICE.txt for +inherited attribution and licensing. +""" +import argparse +import copy +import gzip +import hashlib +import json +import platform +import zlib +from collections import Counter, defaultdict +from pathlib import Path + +HERE = Path(__file__).resolve().parent +PACKAGE = Path('research/gmx-t74-borrow43-width-exchange') +SOURCE_COMMIT = 'fb76f799ccf078f51780076ebed3fd26b1db11c0' +SOURCE_MANIFEST = 'c545968fb8cf6e550b82ba631e92fd756484db75e621aee211347749cff55313' +SOURCE_WORDS = { + 'base': '4244149b59b287344b0e91aa50c6fa2a2491ee6c7a76d61cd352684a8182d005', + 'extra': '01d510cc4ba912567f6b02ea50b6b0e741ed231a3608de9c36e7eeccbdaf6cda', +} +TARGET_WORDS = { + 'base': '93c32c9dc8ca18394b7f3afac2cb4fa8582a6cb77399441b5107b396e63ca0f9', + 'extra': 'aae6592eaa4cf8638f21d50c44d09d4f8a6bb079ddcf5e377711a10ee2ddb526', +} +TARGET_SEMANTICS = { + 'base': '3659c066d5cc2413a6f59bae8d5886e05feb8148333516f65365ad5235e14f2a', + 'extra': '9369702d158c34d594481a1789a2bddc029d03007253620cf3834ec60a88b1a5', +} +HIGH = (619, 621, 622, 623) +LOW = (616, 617, 618, 620) +LENDERS = (1, 4, 6, 12) +COMMON5 = (260, 132, 75, 42, 25) +COMMON4 = (260, 132, 75, 51) +# Literal G(e_i) columns of the four new rank-zero K_G handoffs. Each map is +# independently checked below, then physically lowered by the native auditor. +G_COLUMNS = ( + (1, 2, 4, 54, 72, 8, 130, 16, 284), + (1, 2, 4, 8, 16, 32, 64, 135, 263), + (1, 2, 4, 54, 72, 8, 130, 16, 284), + (1, 2, 4, 8, 57, 66, 143, 16, 272), +) +PROFILE = {1: 2335, 2: 512, 3: 426, 4: 120, 5: 38, 8: 8} +WIDTHS = {4: 33, 5: 9, 7: 38, 8: 114, 9: 240} + + +def require(ok, message): + if not ok: + raise RuntimeError(message) + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def semantic_sha(value): + # JSON object keys are strings; normalize integer invoice keys before sorting. + value = json.loads(json.dumps(value)) + return sha(json.dumps(value, sort_keys=True, separators=(',', ':')).encode()) + + +def basis(vectors): + """Canonical reduced GF(2) row basis, independent of set iteration order.""" + piv = {} + for value in vectors: + while value: + bit = value.bit_length() - 1 + if bit in piv: + value ^= piv[bit] + else: + piv[bit] = value + break + for bit in sorted(piv): + for higher in piv: + if higher > bit and (piv[higher] >> bit) & 1: + piv[higher] ^= piv[bit] + return tuple(piv[bit] for bit in sorted(piv, reverse=True)) + + +def incident(gate): + return gate[1:3] if gate[0] == 'add' else gate[1:2] + + +def mapped(columns, vector): + result = 0 + for bit, column in enumerate(columns): + if (vector >> bit) & 1: + result ^= column + return result + + +def derive_cleanup(word): + """PR2226/PR2288 inverse-reverse cleanup, retaining proper-end buffers.""" + v = word['report']['v'] + n = 2 * v + word['report']['R'] + restored = set(map(int, word['helper_final'])) + full = list(basis(1 << bit for bit in range(word['report']['h']))) + buffer = lambda role: role + n if role in restored else role + by_position = defaultdict(list) + for operator, record in enumerate(word['warps'], 1): + by_position[record[0]].append((record[1], operator)) + forward = list(word['A']) + for position in range(len(word['B']) + 1): + forward.extend(['warp', role, operator] + for role, operator in by_position[position]) + if position < len(word['B']): + forward.append(word['B'][position]) + forward += word['restore'] + cleanup = [] + for gate in reversed(forward): + if gate[0] == 'warp': + cleanup.append(['warp', buffer(gate[1]), -gate[2], full]) + elif not v <= gate[1] < 2 * v: + if gate[0] == 'add': + cleanup.append(['add', buffer(gate[1]), buffer(gate[2]), + -gate[3], gate[4], full]) + else: + cleanup.append(['scale', buffer(gate[1]), gate[3], gate[2], full]) + return cleanup + + +def paid_profile(word): + """Recount literal native climbs, cut copies and retained helper widths.""" + v, h, helpers = (word['report'][key] for key in ('v', 'h', 'R')) + n = 2 * v + helpers + cur = [(port,) for port in word['ports']] + [()] * (v + helpers) + for role, frame in word['start_extra'].items(): + cur[int(role)] = basis(frame) + full = basis(1 << bit for bit in range(h)) + ends = [full] * v + [basis(x for x in range(1, 1 << h) + if (x & port).bit_count() % 2 == 0) + for port in word['ports']] + [full] * helpers + for role, frame in word['helper_final'].items(): + ends[int(role)] = basis(frame) + paid = Counter() + + def climb(role, frame): + frame = basis(frame) + require(basis(cur[role] + frame) == frame, 'Nonmonotone frame chain') + degree = len(frame) - len(cur[role]) + if degree: + paid[degree] += 1 + cur[role] = frame + + def gate(event): + for role in incident(event): + climb(role, event[-1]) + + for event in word['A']: + gate(event) + levels = {int(t): basis(frame) for t, frame in word['target_levels'].items()} + require(all(cur[v+t] == levels.get(t, ()) for t in range(v)), 'Cut target frame') + for role, frame in zip(word['centers'], word['center_frames']): + frame = basis(frame) + require(cur[role] == frame, 'Cut producer frame') + readers = {levels.get(event[1]-v, ()) for event in word['cut'] + if event[2] == role} + for reader in sorted(readers, key=lambda x: -len(x)): + require(basis(reader + frame) == frame, 'Unnested private copy') + if reader != frame: + paid[len(frame)-len(reader)] += 1 + frame = reader + by_position = defaultdict(list) + for record in word['warps']: + by_position[record[0]].append(record) + for position in range(len(word['B']) + 1): + for _, role, columns, old, new in by_position[position]: + require(cur[role] == basis(old), 'Handoff source frame') + require(len(basis(columns)) == h, 'Singular chart map') + require(basis(mapped(columns, x) for x in old) == basis(new), + 'Chart map does not carry the measured source frame') + cur[role] = basis(new) + if position < len(word['B']): + gate(word['B'][position]) + for event in word['restore']: + gate(event) + live = set(range(n)) - set(word['removed']) + for role in live: + climb(role, ends[role]) + widths = Counter(len(ends[role]) - len(basis(word['start_extra'].get(str(role), []))) + for role in live if role >= 2 * v) + return dict(sorted(paid.items())), dict(sorted(widths.items())) + + +def build(source): + word = copy.deepcopy(source) + require(word['report']['v'] == 112 and word['report']['h'] == 9 + and word['report']['R'] == 480, 'Unexpected source geometry') + roles = set(LOW + HIGH) + prep = [i for i, event in enumerate(word['B']) + if set(incident(event)) <= roles] + # The only internal gates before source acquisition are the twelve M gates. + first = next(i for i, event in enumerate(word['B']) + if event[0] == 'add' and event[1] in roles + and event[2] not in roles and len(event[-1]) >= 6) + prep = [i for i in prep if i < first] + require(len(prep) == 12 and prep == list(range(prep[0], prep[0]+12)), + 'Expected twelve consecutive block-616 correction gates') + lo, hi = prep[0], prep[-1] + 1 + require(all(not roles.intersection(incident(event)) + for event in word['B'][hi:first]), 'Block is not idle before relocation') + require(all(basis(word['B'][i][-1]) == basis(COMMON5) for i in prep), + 'Unexpected correction chart') + require(all(event[0] == 'add' and event[1] in LOW and event[2] in HIGH + for event in (word['B'][i] for i in prep)), 'Unexpected correction payload') + require(all(basis(word['start_extra'][str(role)]) == basis(COMMON5) + for role in HIGH), 'Unexpected removed helper entrance') + require(not any(record[0] in range(lo, hi+1) or record[0] == first + for record in word['warps']), 'Warp inside relocation boundary') + replace = dict(zip(HIGH, LENDERS)) + moved = [event[:-1] + [list(COMMON4)] for event in word['B'][lo:hi]] + word['B'] = word['B'][:lo] + word['B'][hi:first] + moved + word['B'][first:] + handoff = first - len(moved) + for event in word['B']: + for index in range(1, 3 if event[0] == 'add' else 2): + event[index] = replace.get(event[index], event[index]) + for record in word['warps']: + if hi <= record[0] < first: + record[0] -= len(moved) + # Preserve the already-audited literal basis representatives emitted by + # the original builder. These replacements span precisely the same U. + rewrite = {(384, 134, 120, 30): (384, 134, 102, 30), + (448, 56, 21, 11): (448, 38, 21, 11)} + old = tuple(record[3]) + if old in rewrite: + require(basis(old) == basis(rewrite[old]), 'Basis serialization changed U') + record[3] = list(rewrite[old]) + # Measure each retired source at the chronological handoff, without trusting + # a lender chart copied from a generated target artifact. + cur = [(port,) for port in word['ports']] + [()] * (112 + 480) + for role, frame in word['start_extra'].items(): + cur[int(role)] = basis(frame) + for event in source['A']: + for role in incident(event): + cur[role] = basis(event[-1]) + old_warps = defaultdict(list) + for record in source['warps']: + old_warps[record[0]].append(record) + for position in range(first): + for record in old_warps[position]: + cur[record[1]] = basis(record[4]) + for role in incident(source['B'][position]): + cur[role] = basis(source['B'][position][-1]) + for role, columns in zip(LENDERS, G_COLUMNS): + require(len(cur[role]) == 4, 'Retired lender must be rank 4') + require(max(i for i, event in enumerate(source['B']) + if role in incident(event)) < first, 'Source lender still live') + old_literal = (384, 131, 75, 51) if role == 4 else cur[role] + new_literal = (384, 132, 75, 51) + require(basis(old_literal) == cur[role] + and basis(new_literal) == basis(COMMON4), + 'Literal handoff representative changed its subspace') + word['warps'].append([handoff, role, list(columns), + list(old_literal), list(new_literal)]) + for role in HIGH: + del word['start_extra'][str(role)] + word['removed'] = sorted(set(word['removed']).union(HIGH)) + word['base'] = 'PR2312-width-exchange-plus-coherent-joint616' + profile, widths = paid_profile(word) + require(profile == PROFILE and widths == WIDTHS, 'Unexpected generated invoice') + word['report']['local_profile'] = profile + word['report']['width_inventory'] = widths + word['cleanup'] = derive_cleanup(word) + return word, dict(old_correction_interval=[lo, hi], old_first_input=first, + relocated_correction_interval=[handoff, handoff+12], + removed_roles=list(HIGH), lenders=list(LENDERS)) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--source-root', type=Path, required=True, + help='Repository root containing the pinned PR2312 package') + parser.add_argument('--out', '--output', type=Path, required=True, + help='Destination for base.json.gz, extra.json.gz and GENERATION.json') + args = parser.parse_args() + package = args.source_root.resolve() / PACKAGE + manifest_bytes = (package / 'MANIFEST.json').read_bytes() + require(sha(manifest_bytes) == SOURCE_MANIFEST, 'Unpinned upstream manifest') + manifest = json.loads(manifest_bytes) + args.out.mkdir(parents=True, exist_ok=True) + reports = {} + for kind in ('base', 'extra'): + relative = f'new/borrow/words/BORROW-WORD-43{kind}.json.gz' + raw = (package / relative).read_bytes() + require(sha(raw) == SOURCE_WORDS[kind] == manifest[relative], + 'Unpinned '+kind+' source word') + word, changes = build(json.loads(gzip.decompress(raw))) + content = json.dumps(word, separators=(',', ':')).encode() + canonical_hash = semantic_sha(word) + require(canonical_hash == TARGET_SEMANTICS[kind], + 'Generated '+kind+' circuit differs from the frozen audited input') + compressed = bytearray(gzip.compress(content, compresslevel=9, mtime=0)) + compressed[9] = 255 # Normalize the Python 3.11/3.12 gzip OS header byte. + compressed = bytes(compressed) + destination = args.out / (kind+'.json.gz') + destination.write_bytes(compressed) + reports[kind] = dict(source_word_sha256=sha(raw), output=destination.name, + output_sha256=sha(compressed), content_sha256=sha(content), + canonical_json_sha256=canonical_hash, + frozen_container_sha256=TARGET_WORDS[kind], + container_matches_frozen=sha(compressed) == TARGET_WORDS[kind], + local_profile=word['report']['local_profile'], + width_inventory=word['report']['width_inventory'], + changes=changes) + print('PASS_GENERATED_AUDITED_WORD_SEMANTICS', kind, canonical_hash, flush=True) + receipt = dict(status='PASS_SOURCE_BOUND_EXACT_WORD_GENERATION', + source_commit=SOURCE_COMMIT, source_manifest_sha256=SOURCE_MANIFEST, + generator_sha256=sha(Path(__file__).read_bytes()), words=reports, + compression_environment=dict(python=platform.python_version(), + zlib=zlib.ZLIB_RUNTIME_VERSION), + equality='Canonical JSON of every field; gzip container hashes are metadata', + scope='Exact source-bound reproduction of the independently audited words. ' + 'Circuit correctness, physical phases and the global owner invoice ' + 'are established by their separate native and global receipts.') + (args.out / 'GENERATION.json').write_text(json.dumps(receipt, indent=2)+'\n') + + +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/gf_chart.py b/research/superior-replica-kappa/vendor/frontier/vendor/gf_chart.py new file mode 100644 index 0000000000..11f5bfd882 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/gf_chart.py @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +# Exact GF(2) chart utilities extracted from PR2436 census.py; unchanged functions. + +def gf_rank(xs): + b = {} + for x in xs: + while x: + j = x.bit_length() + if j not in b: + b[j] = x + break + x ^= b[j] + return len(b) + +def gf_extend(xs, h): + out = list(xs) + for j in range(h): + if gf_rank(out + [1 << j]) > len(out): + out.append(1 << j) + assert len(out) == h + return out + +def gf_linear(cols, x): + out = 0 + for j, c in enumerate(cols): + if x >> j & 1: + out ^= c + return out + +def gf_change(source, target, h): + a, b = gf_extend(source, h), gf_extend(target, h) + back = {gf_linear(a, x): x for x in range(1 << h)} + assert len(back) == 1 << h + return [gf_linear(b, back[1 << j]) for j in range(h)] diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/target_transport.py b/research/superior-replica-kappa/vendor/frontier/vendor/target_transport.py new file mode 100644 index 0000000000..89ee0168c6 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/target_transport.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Exact target-vector transport; no physical/native admission is implied. + +For a final correction c, compute the unique simultaneous correction at every +boundary of a target-affine gate word. Non-target source terms cancel from the +difference. Transport through target mixing, not only target scales. +""" +from fractions import Fraction as Q + + +def need(ok, msg): + if not ok: + raise RuntimeError(msg) + + +def step(c, gate, targets, inverse=False): + out=dict(c) + kind=gate[0] + if kind not in ('add','scale'): + return out + t=gate[1] + if kind=='add': + s=gate[2] + need(not (s in targets and t not in targets), 'non-target reads target') + if t in targets and s in targets: + a=Q(gate[3],gate[4])*(-1 if inverse else 1) + out[t]=out.get(t,Q(0))+a*out.get(s,Q(0)) + elif t in targets: + a=Q(gate[2],gate[3]);need(a!=0,'zero target scale') + out[t]=out.get(t,Q(0))*(1/a if inverse else a) + return {t:a for t,a in out.items() if a} + + +def suffix_corrections(gates, final, targets): + need(set(final)<=set(targets),'correction outside targets') + c={t:Q(a) for t,a in final.items() if a} + vectors=[c] + for g in reversed(gates): + c=step(c,g,targets,inverse=True) + vectors.append(c) + return list(reversed(vectors)) + + +def verify_transport(gates, final, targets): + vectors=suffix_corrections(gates,final,targets) + need(len(vectors)==len(gates)+1,'missing boundary') + for i,g in enumerate(gates): + need(step(vectors[i],g,targets)==vectors[i+1],f'transport boundary {i}') + need(vectors[-1]=={t:Q(a) for t,a in final.items() if a},'wrong final') + return vectors + + +def controls(): + # A correction on source target 11 is mixed into target 10 by an ADD; + # a scalar-only backward transport would miss this exact obstruction. + targets={10,11};gates=[['add',10,11,3,2,[]],['scale',11,-2,1,[]]] + final={10:Q(5),11:Q(4)} + v=verify_transport(gates,final,targets) + need(v[0]=={10:Q(8),11:Q(-2)},'known noncommuting two-target example') + wrong=dict(v[0]);wrong[10]=Q(5) + for g in gates:wrong=step(wrong,g,targets) + need(wrong!=final,'ignored-mixing control accepted') + try:step({10:Q(1)},['add',0,10,1,1,[]],targets) + except RuntimeError:pass + else:raise RuntimeError('target read into non-target not rejected') + return {'noncommuting_target_mix':'rejected_scalar_only_transport','non_target_read':'rejected'} + + +if __name__=='__main__': + need(__debug__,'assertions must remain enabled') + controls() + print('PASS_EXACT_TARGET_TRANSPORT_CONTROLS') diff --git a/research/superior-replica-kappa/vendor/frontier/vendor/word_patch_pr2679.py b/research/superior-replica-kappa/vendor/frontier/vendor/word_patch_pr2679.py new file mode 100644 index 0000000000..492a3ef831 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/vendor/word_patch_pr2679.py @@ -0,0 +1,65 @@ +"""word_patch.py: exact structural edits of a BORROW-WORD (kernel edits found on the borrowed words, applied on top of the pinned rebuild). +apply_kernel(word, patch) replaces the sections listed in patch['sections'] (B, warps, and frame-only A/restore changes) and re-derives the explicit inverse-reverse cleanup exactly as build_word.py does; +kernel_gate_edit(old_B, new_B) returns the gate-level edit (frames ignored) that turns the old B section into the new one, so the edit declared in the patch can be checked.""" +import copy,difflib,json +V=112;N=704;FULL=[256,128,64,32,16,8,4,2,1] +def _key(g):return json.dumps(g[:-1]) +def kernel_gate_edit(old_B,new_B): + """[('delete',i,gate) | ('insert',i_new,gate)] between the two B sections, ignoring the trailing frame of every gate""" + ka=[_key(g) for g in old_B];kb=[_key(g) for g in new_B];ed=[] + for t,i1,i2,j1,j2 in difflib.SequenceMatcher(None,ka,kb,autojunk=False).get_opcodes(): + if t in('delete','replace'):ed+=[['delete',i,old_B[i][:-1]] for i in range(i1,i2)] + if t in('insert','replace'):ed+=[['insert',j,new_B[j][:-1]] for j in range(j1,j2)] + return ed +def derive_cleanup(w,restored): + byp={} + for op,rec in enumerate(w['warps'],1):byp.setdefault(rec[0],[]).append((op,rec)) + fw=list(w['A']) + for p in range(len(w['B'])+1): + for op,rec in sorted(byp.get(p,[]),key=lambda x:x[0]):fw.append(['warp',rec[1],op]) + if p=N}|{g[2]-N for g in w['cleanup'] if g[0]=='add' and g[2]>=N} +def apply_kernel(w,patch): + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['sections'].items():r[k]=copy.deepcopy(v) + r['report']['local_profile']=patch['local_profile'] + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_handoff(w,patch): + """coherent multi-helper handoff edit (retired-source replacement of high roles): replace the listed top-level fields and the report, re-derive the cleanup from the changed word""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_lowfour(w,patch): + """four low aliases through lifted-target compensation (PR2436 mechanism): replace the listed fields; the A section starts with the + explicit prelude (patch fields['prelude_events'] leading items); the inverse-reverse cleanup is derived WITHOUT the prelude.""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r['prelude_events']:] + r['cleanup']=derive_cleanup(t,rs) + return r + +def apply_prelife(w,patch): + """pre-life hosting (this package): a cold host h, after it has restored itself and retired, hosts the whole life of a dim-0-start + helper L through one B warp; h stops being cold, so the restored (private-buffer) set of the derived cleanup is the NEW helper_final + key set (not the input word's). Replace the listed fields and the report; re-derive the inverse-reverse cleanup without the prelude.""" + r=copy.deepcopy(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r.get('prelude_events',0):] + r['cleanup']=derive_cleanup(t,{int(q) for q in r['helper_final']}) + return r diff --git a/research/superior-replica-kappa/vendor/frontier/verify.py b/research/superior-replica-kappa/vendor/frontier/verify.py new file mode 100644 index 0000000000..d8101f1a28 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/verify.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Read-only finite replay: words, corrections, cleanup, hosting and exact moment. +No assertion-optimized execution; full native/outer release is separate. +""" +import copy,gzip,hashlib,json +from pathlib import Path +from fractions import Fraction as F +import sys +sys.path.insert(0,str(Path(__file__).resolve().parent)) +import composition as C +import independent_local as L +import independent_owners as I +import exact_moment as M +HERE=Path(__file__).resolve().parent +PROFILE={1: 1603728, 2: 431568, 3: 185082, 4: 85248, 5: 27194, 8: 5328, 32: 1, 48: 26558} +LOW=F('0.001717794984118634663827') +PROFILE2751={1:1593072,2:430236,3:204396,4:79920,5:22532,8:5328,32:1,48:26558} +LOW2751=F('0.001717141586348426338109') +ALIASES=[(606,550),(635,551),(637,552),(638,553),(639,562)] # retired5 +NEW7=[(667,401),(669,403)] # retired7: retired-lender aliases enabled by moving the hostees of warps 30/31 onto 564/565 +import importlib.util as _iu +_s=_iu.spec_from_file_location('word_patch_pr2679',Path(__file__).resolve().parent/'vendor/word_patch_pr2679.py');WP=_iu.module_from_spec(_s);_s.loader.exec_module(WP) +def refit_apply(w0,p): + w=copy.deepcopy(w0) + for sec,i,fr in p['frames']: + need(w[sec][i][:-1]==w0[sec][i][:-1],'refit changes a gate');w[sec][i][-1]=fr + w['report']['local_profile']=p['local_profile'];return w +def compact(fill,old_words,new_words,old_prov,new_prov,order,dispatch): + live=lambda w:[r for r in range(224,704) if r not in set(w['removed'])] + L0=live(old_words['gauge44']);L1=live(new_words['gauge44']);need(L0==live(old_words['extra']) and L1==live(new_words['extra']),'live helper sets') + gone=set(L0)-set(L1);need(set(L1)<=set(L0) and sorted(gone)==sorted([h for h,_ in ALIASES]+[h for h,_ in NEW7]),'removed helpers') + i1={r:i for i,r in enumerate(L1)};bins={} + for pid in ('gauge44','extra'):need([old_prov[pid]['widths'][L0.index(r)] for r in L1]==new_prov[pid]['widths'],'renumbered widths') + for t,h,o,c,p,off in fill['rows']: + if L0[h] in gone:continue + bins.setdefault((o,c,p),[]).append([t,i1[L0[h]],o,c,p,off]) + rows=[] + for key,rs in bins.items(): + rs.sort(key=lambda x:x[5]);pos=0 + for x in rs:x[5]=pos;pos+=new_prov[dispatch[tuple(order[x[0]])]]['widths'][x[1]];rows.append(x) + rows.sort(key=lambda x:(x[0],x[1]));return dict(fill,rows=rows) +def need(ok,msg): + if not ok:raise ValueError(msg) +def rd(name): + p=HERE/'inputs'/name;b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def run(): + need(__debug__,'run without -O: inherited independent local checker uses assertions') + pins=json.loads((HERE/'INPUT-PINS.json').read_text()) + for path,digest in pins.items():need(hashlib.sha256((HERE/path).read_bytes()).hexdigest()==digest,'input digest '+path) + claim=json.loads((HERE/'CLAIM.json').read_text()) + need({int(k):v for k,v in claim['profile'].items()}==PROFILE,'claim profile') + need(F(claim['complex_lower'])==LOW and F(claim['complex_upper'])==LOW+F(1,10**24),'claim bracket') + need(F(claim['kappa'])==LOW-F(1,10**46)-F(1,10**70),'claim outer endpoint') + for name in ('PR2733','PR2745','PR2751','PR2766','PR2767'): + previous=json.loads((HERE/'evidence'/(f'{name}-OUTER-CLAIM.json' if name=='PR2767' else f'{name}-CLAIM.json')).read_text()) + need(F(claim['kappa'])>F(previous['kappa']),'strict improvement over '+name) + words={} + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=rd('WORD-'+tag+'.json.gz');words[pid]=w + L.check_frames(w);L.check_cleanup(w);L.algebra(w) + need(set(int(t)+112 for t in w['target_levels']).isdisjoint(g[1] for g in w['cut']),'lifted targets avoid every cut read') + for label in ['drop_anticipatory','reverse_anticipatory','reverse_recovery']: + bad=copy.deepcopy(w) + if label=='drop_anticipatory':bad['initial_corrections'].pop() + elif label=='reverse_anticipatory':bad['initial_corrections'][0]['coefficient']=str(-F(bad['initial_corrections'][0]['coefficient'])) + else: + j=next(i for i,g in enumerate(bad['B']) if g[:5]==['add',49,33,-1,1]);bad['B'][j][3]=1 + try:L.algebra(bad) + except AssertionError:pass + else:raise ValueError('accepted mutation '+label) + order,fill,providers=rd('ORDER.json'),rd('FILL.json.gz'),rd('PROVIDERS.json') + dispatch={(s,r):p for s,r,p in rd('DISPATCH.json.gz')} + need(order==rd('SOURCE-ORDER.json'),'source order') + # retired5: PR2751's own construction (its words, providers and fill) is reproduced first ... + words51={'gauge44':rd('WORD2751-base.json.gz'),'extra':rd('WORD2751-extra.json.gz')};prov51=rd('PROVIDERS2751.json');fill51=rd('FILL2751.json.gz') + constructed,_,_=C.transform(rd('SOURCE-PROVIDERS.json'),prov51,rd('SOURCE-FILL.json.gz'),order,dispatch,words51) + need(constructed==fill51,'complete deterministic PR2751 fill') + # ... then the declared stages turn its words into the candidate words exactly ... + for tag,pid in [('base','gauge44'),('extra','extra')]: + w=refit_apply(words51[pid],rd('refit5_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias5_43'+tag+'.json'));w=refit_apply(w,rd('refit5c_43'+tag+'.json')) + w=refit_apply(w,rd('refit7_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('hostmove2_43'+tag+'.json'));w=WP.apply_lowfour(w,rd('alias7_43'+tag+'.json'));w=refit_apply(w,rd('refit7c_43'+tag+'.json')) # retired7 + need(w==words[pid],'declared stages reproduce the candidate word '+tag) + d2=dict(dispatch) + for s,r,p in fill['dispatch_overrides']:d2[s,r]=p + # ... and the candidate fill is PR2751's fill with the seven removed helpers' roles dropped, renumbered and re-tiled as bin prefixes + need(compact(fill51,words51,words,prov51,providers,order,d2)==fill,'complete deterministic candidate fill') + owner=I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,fill,providers,dispatch,PROFILE) + bad=copy.deepcopy(fill);bad['rows'][0][5]=999 + try:I.check(rd('PLAN.json.gz'),rd('GLOBAL-TEMPLATE.json.gz'),order,bad,providers,dispatch,PROFILE) + except (ValueError,RuntimeError):pass + else:raise ValueError('accepted out-of-bin placement') + _,a=M.moment_bounds(PROFILE,LOW);b,_=M.moment_bounds(PROFILE,LOW+F(1,10**24));need(a<6630466304,'PR2751 rejects candidate endpoint') + return {'status':'PASS_JOINT_TWELVE_RETIRED7_FINITE_REPLAY','roles':owner['roles'],'local_mutations_rejected':6,'owner_mutations_rejected':1,'complex_lower':str(LOW),'complex_upper':str(LOW+F(1,10**24)),'scope':'Independent local symbolic identity, actual frame bill, cleanup, exact hosting and moment only. Native/strict supplier/outer release is separate.'} +if __name__=='__main__':print(json.dumps(run(),indent=2)) diff --git a/research/superior-replica-kappa/vendor/frontier/verify_retired7.py b/research/superior-replica-kappa/vendor/frontier/verify_retired7.py new file mode 100644 index 0000000000..0f2c1ee50f --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/verify_retired7.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Marius-Paul Dumitrean, with substantial AI assistance (Anthropic Claude, via Claude Code). +# retired7 extension of verify_retired5.py (same author). +"""Bounded replay of retired7 on PR2751's words: the five retired-lender aliases (retired5 stages) plus two hostee moves that free +two more retired lenders (retired7 stages refit7 -> hostmove2 -> alias7 -> refit7c). Read-only, standard library only. + +1. Rebuilds both candidate words from PR2751's words through the seven declared stages (refit5, alias5, refit5c, refit7, hostmove2, + alias7, refit7c) and checks each stage's declared structure exactly. +2. Runs the pinned PR2679 BORROW-WORD auditor (vendor/audit_local_pr2679.py, byte-identical) on every state. +3. Tamper controls, each rejected by that auditor for a real reason: every lender refit undone (warp frame mismatch), every + follower raise undone, the PR2679 alias suite (7 mutations per alias, cleanup re-derived), one certified frame corrupted. +4. Literal owner check of the complete fill (independent_owners.py, integer chronology and bit-mask bins). +5. Exact endpoint: rational adjacent bracket of the moment root at 1e-24, an 80-digit decimal root, and + kappa = C - 10^-46 - 10^-70 strictly above the pinned exact claims of PR2751, PR2766 and PR2767. +""" +import contextlib, copy, gzip, hashlib, importlib.util, io, json, sys, tempfile +from decimal import Decimal, getcontext +from fractions import Fraction as F +from pathlib import Path +HERE = Path(__file__).resolve().parent +sys.dont_write_bytecode = True +sys.path.insert(0, str(HERE)) +ALIASES = [(606, 550), (635, 551), (637, 552), (638, 553), (639, 562)] +MOVES = [(30, 401, 564, 911), (31, 403, 565, 912)] # retired7: (warp op, old lender, new lender, new lender's last B gate) +NEW7 = [(667, 401), (669, 403)] +H5 = [h for h, _ in ALIASES]; L5 = [L for _, L in ALIASES] +def need(ok, msg): + if not ok: raise ValueError(msg) +def rd(name): + p = HERE / name; b = p.read_bytes(); return json.loads(gzip.decompress(b) if p.suffix == '.gz' else b) +def load(name, path): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); s.loader.exec_module(m); return m +def regs(e): return e[1:3] if e[0] == 'add' else e[1:2] +def refit_apply(w0, p): + w = copy.deepcopy(w0) + for sec, i, fr in p['frames']: + need(w[sec][i][:-1] == w0[sec][i][:-1], 'refit changes a gate'); w[sec][i][-1] = fr + w['report']['local_profile'] = p['local_profile']; return w +def frames_only(x, y): + need(set(x) == set(y) and all(x[k] == y[k] for k in x if k not in ('A', 'B', 'restore', 'report')), 'non-frame field changed') + need(all(len(x[k]) == len(y[k]) and all(a[:-1] == b[:-1] for a, b in zip(x[k], y[k])) for k in ('A', 'B', 'restore')), 'gate changed') + return {(k, i) for k in ('A', 'B', 'restore') for i, (a, b) in enumerate(zip(x[k], y[k])) if a != b} +def main(): + need(__debug__, 'run without -O: the pinned auditor and these checks use assertions') + pins = rd('INPUT-PINS.json') + for path, digest in pins.items(): need(hashlib.sha256((HERE / path).read_bytes()).hexdigest() == digest, 'input digest ' + path) + for name, digest in (('vendor/audit_local_pr2679.py', AUDITOR_SHA), ('vendor/word_patch_pr2679.py', WORD_PATCH_SHA)): + need(hashlib.sha256((HERE / name).read_bytes()).hexdigest() == digest, 'vendored source pin ' + name) + AU = load('audit_local_pr2679', HERE / 'vendor/audit_local_pr2679.py'); WP = load('word_patch_pr2679', HERE / 'vendor/word_patch_pr2679.py') + import independent_owners as I, exact_moment as M, retired7_controls as R7 + tmp = Path(tempfile.mkdtemp(prefix='retired5-')) + def audit(w, name): + p = tmp / (name + '.json.gz'); p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + try: + with contextlib.redirect_stdout(io.StringIO()): AU.run(p, tmp / (name + '.out.json'), None, None) + return None + except (AssertionError, RuntimeError, ValueError, KeyError, IndexError) as exc: + return (type(exc).__name__ + ': ' + str(exc))[:200] + def rederive(m, ref): + m2 = copy.deepcopy(m); A = m2['A']; m2['A'] = A[m2['prelude_events']:]; m2['cleanup'] = WP.derive_cleanup(m2, WP.restored_of(ref)); m2['A'] = A; return m2 + out = dict(words={}, controls={}) + for tag in ('base', 'extra'): + w0 = rd(f'inputs/WORD2751-{tag}.json.gz'); final = rd(f'inputs/WORD-{tag}.json.gz') + p1, p2, p3 = rd(f'inputs/refit5_43{tag}.json'), rd(f'inputs/alias5_43{tag}.json'), rd(f'inputs/refit5c_43{tag}.json') + s1 = refit_apply(w0, p1); ch1 = frames_only(w0, s1); need(ch1 == {(s, i) for s, i, _ in p1['frames']}, 'refit5 declared frames') + lastL = {L: max(p for p, e in enumerate(w0['B']) if L in regs(e)) for L in L5}; firstH = {h: min(p for p, e in enumerate(w0['B']) if h in regs(e)) for h in H5} + need(all(lastL[L] < firstH[h] for h, L in ALIASES) and not any(L in regs(e) for L in L5 for e in w0['restore']), 'lenders retired before their followers enter') + need(all(len(s1['B'][p][-1]) == len(w0['B'][p][-1]) - 1 == 5 for p in lastL.values()), 'lender last gates lowered 6 -> 5') + need(all(len(s1['B'][p][-1]) == len(w0['B'][p][-1]) + 1 == 5 for p in firstH.values()), 'follower first gates raised 4 -> 5') + s2 = WP.apply_lowfour(s1, p2) + need(WP.kernel_gate_edit(s1['B'], s2['B']) == p2['declared_gate_edit'] and sorted(set(s2['removed']) - set(s1['removed'])) == H5, 'alias5 declared edit and removed helpers') + need(s2['warps'][:len(s1['warps'])] == s1['warps'] and [x[1] for x in s2['warps'][len(s1['warps']):]] == L5 and all(len(x[3]) == len(x[4]) == 5 for x in s2['warps'][-5:]), 'alias5 warps') + need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p2['aliases']] == s2['warps'][-5:] and s2['A'] == s1['A'] and s2['restore'] == s1['restore'], 'alias5 records') + need(s2['start_extra'] == {k: v for k, v in s1['start_extra'].items() if int(k) not in H5} and not any(h in regs(e) for h in H5 for e in s2['B'] + s2['restore']), 'helpers fully removed') + need(all(s2[k] == s1[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias5 changes nothing else') + s3 = refit_apply(s2, p3); ch3 = frames_only(s2, s3); need(ch3 == {(s, i) for s, i, _ in p3['frames']}, 'refit5c declared frames') + p4, p5, p6, p7 = (rd(f'inputs/{n}_43{tag}.json') for n in ('refit7', 'hostmove2', 'alias7', 'refit7c')) + s4 = refit_apply(s3, p4); ch4 = frames_only(s3, s4); need(ch4 == {('B', g) for _, _, _, g in MOVES} == {(s, i) for s, i, _ in p4['frames']}, 'refit7 declared frames') + need(all(len(s3['B'][g][-1]) == 6 and len(s4['B'][g][-1]) == 5 and L1 in regs(s3['B'][g]) and max(p for p, e in enumerate(s3['B']) if L1 in regs(e)) == g for _, _, L1, g in MOVES), 'new lenders: last gates lowered 6 -> 5') + need(not any(L1 in regs(e) for _, _, L1, _ in MOVES for e in s3['restore']) and p4['previous_frames'] == [[s, i, s3[s][i][-1]] for s, i, _ in p4['frames']], 'new lenders retired; previous frames recorded') + s5 = WP.apply_lowfour(s4, p5) + need(WP.kernel_gate_edit(s4['B'], s5['B']) == p5['declared_gate_edit'] and s5['removed'] == s4['removed'] and s5['start_extra'] == s4['start_extra'], 'hostmove2 declared edit') + for i, (a, b) in enumerate(zip(s4['B'], s5['B'])): + c = list(a) + for op, L0, L1, _ in MOVES: + if i >= s4['warps'][op - 1][0]: c = [L1 if (j in (1, 2) if c[0] == 'add' else j == 1) and x == L0 else x for j, x in enumerate(c)] + need(c[:-1] == b[:-1], 'hostmove2 is exactly the relabel of the hostees from their warp positions') + need([i for i, (x, y) in enumerate(zip(s4['warps'], s5['warps'])) if x != y] == [op - 1 for op, _, _, _ in MOVES] and len(s5['warps']) == len(s4['warps']), 'hostmove2 replaces exactly warps 30 and 31 in place') + need(all(s4['warps'][op - 1][1] == L0 and s5['warps'][op - 1][1] == L1 and len(s5['warps'][op - 1][3]) == len(s5['warps'][op - 1][4]) == 5 and s5['warps'][op - 1][0] > g for op, L0, L1, g in MOVES), 'moved warps: new lenders, dim 5, after the lenders retire') + need([[m['pos'], m['L_new'], m['G'], m['U'], m['E']] for m in p5['moves']] == [s5['warps'][op - 1] for op, _, _, _ in MOVES] and [m['old_record'] for m in p5['moves']] == [s4['warps'][op - 1] for op, _, _, _ in MOVES], 'hostmove2 records') + need(all(not any(L0 in regs(e) for e in s5['B'] + s5['restore']) for _, L0, _, _ in MOVES), 'old lenders untouched after their A lives') + need(all(s5[k] == s4[k] for k in ('A', 'restore', 'helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'hostmove2 changes nothing else') + s6 = WP.apply_lowfour(s5, p6); H7 = [h for h, _ in NEW7]; L7 = [L for _, L in NEW7] + need(WP.kernel_gate_edit(s5['B'], s6['B']) == p6['declared_gate_edit'] and s6['removed'] == s5['removed'] + H7, 'alias7 declared edit and removed helpers') + need(s6['warps'][:len(s5['warps'])] == s5['warps'] and [x[1] for x in s6['warps'][len(s5['warps']):]] == L7 and all(len(x[3]) == len(x[4]) == 4 for x in s6['warps'][-2:]), 'alias7 warps') + need([[a['pos'], a['L'], a['G'], a['U'], a['E']] for a in p6['aliases']] == s6['warps'][-2:] and [a['h'] for a in p6['aliases']] == H7 and s6['A'] == s5['A'] and s6['restore'] == s5['restore'], 'alias7 records') + need(all(max([p for p, e in enumerate(s5['B']) if L in regs(e)], default=-1) < min(p for p, e in enumerate(s5['B']) if h in regs(e)) for h, L in NEW7) and not any(L in regs(e) for L in L7 for e in s5['restore']), 'alias7 lenders retired before their followers enter') + need(s6['start_extra'] == {k: v for k, v in s5['start_extra'].items() if int(k) not in H7} and not any(h in regs(e) for h in H7 for e in s6['B'] + s6['restore']), 'alias7 helpers fully removed') + need(all(s6[k] == s5[k] for k in ('helper_final', 'compensation', 'initial_corrections', 'precondition', 'cut', 'target_levels', 'centers', 'center_frames', 'ports', 'prelude_events')), 'alias7 changes nothing else') + s7 = refit_apply(s6, p7); ch7 = frames_only(s6, s7); need(ch7 == {(s, i) for s, i, _ in p7['frames']}, 'refit7c declared frames') + need(s7 == final, 'declared stages rebuild the candidate word ' + tag) + for j, (name, w) in enumerate((('pr2751', w0), ('refit5', s1), ('alias5', s2), ('retired5', s3), ('refit7', s4), ('hostmove2', s5), ('alias7', s6), ('candidate', s7))): + r = audit(w, f'{tag}-{name}'); need(r is None, f'auditor rejects {tag} {name}: {r}') + c = {} + for L, p in lastL.items(): + m = copy.deepcopy(final); m['B'][p][-1] = w0['B'][p][-1]; r = audit(m, f'{tag}-lender{L}'); c[f'lender {L} refit undone'] = r; need(r is not None and 'warp frame mismatch' in r, f'{tag} lender {L} refit undone not rejected by warp frame mismatch: {r}') + for h, p in firstH.items(): + m = copy.deepcopy(final); m['B'][p][-1] = w0['B'][p][-1]; r = audit(m, f'{tag}-follower{h}'); c[f'follower {h} raise undone'] = r; need(r is not None, f'{tag} follower {h} raise undone accepted') + for a in p2['aliases']: + h, L = a['h'], a['L']; op = next(i for i, x in enumerate(final['warps']) if x[1] == L and x[0] == a['pos']) + reads = [i for i, g in enumerate(final['B']) if i >= a['pos'] and g[0] == 'add' and g[2] == L] + writes = [i for i, g in enumerate(final['B']) if i >= a['pos'] and g[0] == 'add' and g[1] == L] + muts = [] + m = copy.deepcopy(final); m['B'][reads[0]][3] *= -1; muts.append(('borrowed read sign flipped', m)) + m = copy.deepcopy(final); m['B'][reads[0]][3] *= 2; muts.append(('borrowed read doubled', m)) + if writes: m = copy.deepcopy(final); m['B'][writes[0]][3] *= -1; muts.append(('borrowed write sign flipped', m)) + m = copy.deepcopy(final); del m['warps'][op] + for e in m['A'][:m['prelude_events']]: + if e[0] == 'warp' and abs(e[2]) > op + 1: e[2] -= 1 if e[2] > 0 else -1 + muts.append(('warp dropped', m)) + m = copy.deepcopy(final); m['warps'][op][2][0] ^= m['warps'][op][2][1]; muts.append(('G wrong', m)) + m = copy.deepcopy(final); m['warps'][op][0] = a['pos'] - 400; muts.append(('warp before lender retirement', m)) + m = copy.deepcopy(final); m['start_extra'][str(h)] = a['E']; muts.append(('helper kept with an entrance frame', m)) + for nm, m in muts: + r = audit(rederive(m, final), f'{tag}-{h}-{nm.replace(" ", "_")}'); c[f'{h}<-{L} {nm}'] = r + need(r is not None and not r.split(': ', 1)[-1].startswith(('explicit cleanup differs', 'warp operator id')), f'{tag} {h}<-{L} {nm}: not rejected for a real reason: {r}') + sec, i, fr = p3['frames'][len(p3['frames']) // 2]; m = copy.deepcopy(final); m[sec][i][-1] = [1]; r = audit(m, f'{tag}-refit5c-tamper'); c['certified frame corrupted'] = r; need(r is not None, f'{tag} refit5c tamper accepted') + ok7, c7 = R7.controls(final, p4, p5, p6, p7, lambda w: audit(w, f'{tag}-r7'), WP); need(ok7, f'{tag} retired7 controls: ' + json.dumps({k: v['reason'] for k, v in c7.items() if not v['real_reason']})[:300]) + c.update({k: v['reason'] for k, v in c7.items()}) + out['words'][tag] = dict(refit5_frames=len(ch1), alias5_gate_edits=len(p2['declared_gate_edit']), refit5c_frames=len(ch3), refit7_frames=len(ch4), hostmove2_gate_edits=len(p5['declared_gate_edit']), alias7_gate_edits=len(p6['declared_gate_edit']), refit7c_frames=len(ch7), retired7_controls=len(c7), local_profile=final['report']['local_profile']) + out['controls'][tag] = {k: v[:90] for k, v in c.items()} + # literal owner check of the complete candidate fill + order, fill, providers = rd('inputs/ORDER.json'), rd('inputs/FILL.json.gz'), rd('inputs/PROVIDERS.json') + dispatch = {(s, r): p for s, r, p in rd('inputs/DISPATCH.json.gz')} + profile = {int(k): v for k, v in rd('CLAIM.json')['profile'].items()} + owner = I.check(rd('inputs/PLAN.json.gz'), rd('inputs/GLOBAL-TEMPLATE.json.gz'), order, fill, providers, dispatch, profile) + need(owner['roles'] == 666 * 408 and owner['helpers_per_call'] == 408, 'owner fill size') + # exact endpoint and kappa + claim = rd('CLAIM.json'); C = F(claim['complex_lower']) + need(F(claim['complex_upper']) == C + F(1, 10 ** 24) and C.denominator <= 10 ** 24 and (C * 10 ** 24).denominator == 1, 'endpoint is a 1e-24 grid point') + _, a = M.moment_bounds(profile, C); b, _ = M.moment_bounds(profile, C + F(1, 10 ** 24)); need(a < 66304 < b, 'exact adjacent root bracket') + getcontext().prec = 90 + def g(z): return sum(Decimal(n) * (Decimal(r) / 73) ** (1 - z) for r, n in profile.items()) - 66304 + def dg(z): return sum(-Decimal(n) * (Decimal(r) / 73) ** (1 - z) * (Decimal(r) / 73).ln() for r, n in profile.items()) + z = Decimal(C.numerator) / Decimal(C.denominator) + for _ in range(8): z -= g(z) / dg(z) + need(F(str(z)) >= C and F(str(z)) < C + F(1, 10 ** 24), '80-digit root inside the certified bracket') + K = F(claim['kappa']); need(K == C - F(1, 10 ** 46) - F(1, 10 ** 70), 'claim kappa = C - 1e-46 - 1e-70') + margins = {} + for name, rel in (('PR2751', 'evidence/PR2751-CLAIM.json'), ('PR2766', 'evidence/PR2766-CLAIM.json'), ('PR2767', 'evidence/PR2767-OUTER-CLAIM.json')): + k = F(rd(rel)['kappa']); need(K > k, 'strict improvement over ' + name); d = K - k + margins[name] = dict(decimal=str(Decimal(d.numerator) / Decimal(d.denominator))[:40], exact=str(d) if len(str(d)) < 120 else 'K - kappa(' + rel + ')') + out.update(status='PASS_T74_JOINT_TWELVE_RETIRED7_STAGES_AUDITOR_CONTROLS_OWNERS_ENDPOINT', owner=dict(status=owner['status'], roles=owner['roles']), + complex_lower=str(C), root_80_digits=str(+z)[:82], kappa=str(K), margins=margins, + scope='Finite construction replay only: word stages, the pinned PR2679 auditor and its controls, the literal owner fill and exact moment arithmetic. Native providers, strict supplier and outer release are the full replay (full_replay.py).') + print(json.dumps(out, indent=1)) +AUDITOR_SHA = 'a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90' +WORD_PATCH_SHA = '9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce' +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/vendor/frontier/workflow/admit.py b/research/superior-replica-kappa/vendor/frontier/workflow/admit.py new file mode 100644 index 0000000000..282ff24766 --- /dev/null +++ b/research/superior-replica-kappa/vendor/frontier/workflow/admit.py @@ -0,0 +1,248 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Tekalign (@tekuuu), with substantial OpenAI Codex assistance. +"""Prepare and fully admit a composed-word COMPOSED order/fill derivative. + +Research runtime only: native providers must already have passed freshly and +are authenticated by --native-receipt. --prepare-only stops before discovery. +Default complete admission preserves the original verify.py and release stages. +Source inputs and the native cache are read-only; all output uses fresh --work. +""" +import argparse +from fractions import Fraction as Q +import gzip +import hashlib +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import tarfile +import time + +SOURCE_COMMIT = 'local-joint12-pr2733' +SOURCE_MANIFEST = '9c72b4301057a6c204c40bb6584eb74b779e06618bcd98d706d726c3e2c92451' # retired7 derived source: PR2751 overlay + five retired-lender aliases + two hostee moves and two aliases +PARENT_MANIFEST = 'e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4' +PRECISION = dict(endpoint_digits=24, grid_digits=18, margin_digits=28, bootstrap_steps=12) +NATIVE_STAGES = ['native', 'ledgers', 'local-replay', 'wrappers', 'phases'] + + +def need(ok, why): + if not ok: + raise RuntimeError(why) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read(path): + body = path.read_bytes() + return json.loads(gzip.decompress(body) if path.suffix == '.gz' else body) + + +def write(path, value): + path.write_text(json.dumps(value, sort_keys=True, indent=2) + '\n') + + +def tree(root, exclude=()): + result = {} + for path in sorted(root.rglob('*')): + need(not path.is_symlink(), 'unbound symlink: ' + str(path)) + name = path.relative_to(root).as_posix() + if path.is_file() and name not in exclude: + result[name] = sha(path) + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + for name in ('source', 'fill', 'order', 'native-cache', 'native-receipt', 'work'): + ap.add_argument('--' + name, type=Path, required=True) + ap.add_argument('--jobs', type=int, default=4) + ap.add_argument('--prepare-only', action='store_true') + a = ap.parse_args() + need(not sys.flags.optimize and a.jobs > 0, 'enabled assertions and positive jobs required') + source, cache, work = a.source.resolve(), a.native_cache.resolve(), a.work.resolve() + need(not work.exists() and not work.is_relative_to(source) and not work.is_relative_to(cache), + 'fresh external work required') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST, 'COMPOSED manifest pin') + source_files = read(source / 'MANIFEST.json') + need(len(source_files) == 506 and tree(source, ('MANIFEST.json',)) == source_files, + 'complete COMPOSED source inventory and hashes') + native_receipt = read(a.native_receipt) + need(native_receipt['status'] == 'PASS_COMPOSED_FRESH_NATIVE_PROVIDERS_AND_AUTHENTICATED_CACHE' + and native_receipt['source_commit'] == SOURCE_COMMIT + and native_receipt['manifest_sha256'] == SOURCE_MANIFEST, 'native receipt source binding') + need(tree(cache) == native_receipt['cache_files'], 'complete native/parent cache hashes') + old = source / 'vendor/pr1297' + need(sha(old / 'MANIFEST.json') == PARENT_MANIFEST, 'retained parent pin') + parent_receipt = cache / '_receipts' / PARENT_MANIFEST / 'RECEIPT.json' + need(sha(parent_receipt) == native_receipt['retained_parent_receipt_sha256'], 'parent receipt pin') + pr = read(parent_receipt) + need(pr['vendor_manifest_sha256'] == PARENT_MANIFEST and pr['claim_sha256'] == sha(old / 'CLAIM.json'), + 'parent receipt claim binding') + for name, digest in pr['files'].items(): + need(sha(parent_receipt.parent / name) == digest, 'parent receipt file') + parent_result = read(parent_receipt.parent / 'RESULT.json') + need(parent_result['status'] == 'PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' + and parent_result['kappa'] == read(old / 'CLAIM.json')['kappa'], 'retained parent completed admission') + natives = {} + for tag in ('base', 'extra'): + word = source / ('new/borrow/words/BORROW-WORD-43' + tag + '.json.gz') + entry = cache / sha(word) + binding = native_receipt['providers'][tag] + need(binding['word_sha256'] == sha(word) + and tree(entry, ('CACHE.json',)) == binding['complete_native_files'], 'native full-tree binding') + need(read(entry / 'local/FULL-WORD.json.gz') == read(word), 'native complete word') + stages = read(entry / 'STEPS.json') + need([s['step'] for s in stages] == NATIVE_STAGES and all(s['exit_code'] == 0 for s in stages), + 'native five-stage coverage') + checks = read(entry / 'local/LOCAL-CHECKS.json') + need(all(checks[o]['paid_profile'] == read(word)['report']['local_profile'] for o in ('forward', 'backward')), + 'native actual paid profiles') + natives[tag] = entry + work.mkdir(parents=True) + package = work / 'package' + shutil.copytree(source, package) + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONUTF8='1', PYTHONINTMAXSTRDIGITS='0', + OPENBLAS_NUM_THREADS='1', OMP_NUM_THREADS='1', AUDIT_FAST_SHARDS=str(a.jobs)) + for name in ('PYTHONOPTIMIZE', 'WITNESS_SPEC', 'WITNESS_DISCOVER', 'WITNESS_RECORD'): + env.pop(name, None) + stages, patches = [], [] + + def run(name, script, *args): + start = time.monotonic() + command = [sys.executable, '-B', str(script), *map(str, args)] + log = work / (name + '.log') + with log.open('w') as output: + result = subprocess.run(command, env=env, cwd=work, stdin=subprocess.DEVNULL, + stdout=output, stderr=subprocess.STDOUT) + stages.append(dict(name=name, exit_code=result.returncode, seconds=time.monotonic() - start, + script_sha256=sha(script), log_sha256=sha(log), command=command)) + write(work / 'STAGES.json', stages) + need(result.returncode == 0, 'failed ' + name + '; see ' + str(log)) + print('PASS', name, flush=True) + + def patch(name, replacements): + path = package / name + before = sha(path) + body = path.read_text() + for old_text, new_text in replacements: + need(body.count(old_text) == 1, 'exact patch preimage: ' + name + ': ' + old_text[:80]) + body = body.replace(old_text, new_text) + path.write_text(body) + patches.append(dict(path=name, before_sha256=before, after_sha256=sha(path), replacements=replacements)) + + # PR2530's already checked correction: restored zero buffers occupy physical + # rows. COMPOSED's shipped SPEC includes them; its rebound SPEC omitted them. + patch('new/rebind.py', [ + ("physical=spec['expected']['live'] + 8 + R + 2)", + "physical=spec['expected']['live'] + 8 + R + 2 + max(len(rd(d / 'CANONICAL-WORD.json.gz').get('zero_buffers', [])) for d in locs.values()))")]) + # Preserve the exact fixed-grid-maximum equality while deriving precision + # from the same SPEC read by both independent outer arithmetic checkers. + patch('verify_release.py', [ + ('Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022)', + "Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 46)) - Fraction(1, 10 ** (spec['outer_refinement']['endpoint_digits'] + 22))"), + ('epsilon=1-(1025/1024)e-3080', "epsilon=1-(1025/1024)e-{spec['outer_refinement']['endpoint_digits']+80}"), + ('at the one 3000-digit rejection call', "at the one {spec['outer_refinement']['endpoint_digits']}-digit rejection call")]) + write(work / 'RUNTIME-PATCHES.json', patches) + shutil.copy2(a.fill, package / 'new/borrow-fill/FILL.json.gz') + shutil.copy2(a.order, package / 'new/borrow-fill/ORDER.json') + run('owners', package / 'reconstruct.py', '--out', work / 'owners') + run('parent-lift', package / 'lift_parent.py', '--owners', work / 'owners', '--out', work / 'parent-data') + for name in ('PLAN.json', 'OWNERS.json.gz', 'DISPATCH.json', 'PROFILE.json', 'CONSTRUCTION.json', + 'GLOBAL-TEMPLATE.json.gz', 'SPEC.json'): + shutil.copy2(work / 'parent-data' / name, package / name) + shutil.copy2(work / 'owners/ORDER.json', package / 'ORDER.json') + spec = read(package / 'SPEC.json') + spec['outer_refinement'] = PRECISION + spec['expected']['live'] = 66304 + # COMPOSED's pre-life mechanism changes which helper labels retain width8. + # Preserve its declared spot set; rebind and the original strict verifier + # still check the actual native widths, including every other helper. + source_spots = read(source / 'new/SPEC.json')['width_spot_helpers'] + need(source_spots == [278, 281, 284, 289], 'COMPOSED source spot-width pins') + spec['width_spot_helpers'] = source_spots + write(package / 'new/SPEC.json', spec) + run('rebind', package / 'new/rebind.py', package, natives['base'] / 'local', + natives['extra'] / 'local', work / 'rebound') + spec = read(work / 'rebound/SPEC.json') + need(spec['expected']['physical'] == 66794, 'complete physical cost including 72 buffers (R 408)') + layout = work / 'layout' + layout.mkdir() + with tarfile.open(old / 'upstream-layout.tar.gz') as archive: + need(all(m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + for m in archive.getmembers()), 'retained archive paths') + archive.extractall(layout, filter='data') + runtime = layout / 'packing74' + runtime.mkdir() + for name in ('replay.py', 'freeze_spec.py', 'audit_mixed.py', 'independent_core.py', 'geometry_controls.py', 'audit_fast.py'): + shutil.copy2(package / name, runtime / name) + for name in ('code', 'construction', 'inputs'): + shutil.copytree(package / name, runtime / name) + shutil.copytree(work / 'rebound', runtime / 'candidate') + shutil.copytree(natives['extra'], runtime / 'native-extra') + data = runtime / 'candidate' + result = dict(status='PREPARED_COMPOSED_SAME_WORD_DERIVATIVE_NOT_ADMITTED', source_commit=SOURCE_COMMIT, + source_manifest_sha256=SOURCE_MANIFEST, native_receipt_sha256=sha(a.native_receipt), + fill_sha256=sha(package / 'new/borrow-fill/FILL.json.gz'), + order_sha256=sha(package / 'new/borrow-fill/ORDER.json'), profile=read(work / 'rebound/PROFILE.json'), + patches=patches, scope='Prepared only; source/native/parent inputs authenticated and literal owner fill reconstructed.') + write(work / 'RESULT.json', result) + if a.prepare_only: + print(result['status'], flush=True) + return + run('discovery', runtime / 'replay.py', '--data', data, '--work', work / 'discovery', + '--local', natives['base'] / 'local', '--discover') + supplier = read(work / 'discovery/RESULT.json') + for name in ('PLAN.json', 'PROFILE.json', 'SPEC.json'): + shutil.copy2(data / name, package / 'new' / name) + spec = read(package / 'new/SPEC.json') + original_claim = read(source / 'CLAIM.json') + claim = dict(status='CONDITIONAL_CANDIDATE_EXPECTED_BY_REPLAY', kappa=supplier['kappa'], + kappa_decimal=supplier['kappa_decimal'], baseline_pr=2679, baseline_head=SOURCE_COMMIT, + baseline_kappa=read(source / 'outer/OUTER-CLAIM.json')['kappa'], outer_refinement=PRECISION, + scope=original_claim['scope'], kappa_layers=original_claim['kappa_layers'], + headline_kappa_source='outer/OUTER-CLAIM.json', + verification='Candidate discovered from literal fill; full original verification must pass separately.') + write(package / 'CLAIM.json', claim) + C = Q(spec['expected']['complex_lower']) + write(package / 'outer/B.json', dict(b=str(C-Q(1,10**104)), b_above_endpoint=str(C+Q(1,10**24)), + profile=spec['expected']['global_profile'], live=spec['expected']['live'])) + for name in ('check_ledger.py', 'independent_check.py'): + run('outer-' + name, package / 'outer' / name) + ledger = read(package / 'outer/LEDGER.json') + row = ledger['rows']['struct_boundary_radix_union']['kappa'] + kappa = Q(row['rational']) + previous = Q('0.0017161404259974415161889999999999999999999998999999999999999999999999') + need(kappa == C-Q(1,10**70)-Q(1,10**46) and kappa > previous and kappa > Q('17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000'), # retired5: also strictly above PR2751 + 'candidate must strictly improve pinned COMPOSED before full release') + outer_claim = read(source / 'outer/OUTER-CLAIM.json') + outer_claim.update(kappa=row['decimal'], kappa_rational=row['rational'], + baseline_head=SOURCE_COMMIT, baseline_kappa=str(previous), gain=str(kappa-previous), + b='certified complex_lower - 1e-104 (outer/B.json)', + retuned_slacks='Endpoint precision24; free gaps follow outer/check_ledger.py from the frozen SPEC.', + fixed_grid_maximum='kappa=C-10^-70-10^-46 exactly; same fixed-grid-maximum proof at precision24.') + write(package / 'outer/OUTER-CLAIM.json', outer_claim) + write(package / 'MANIFEST.json', tree(package, ('MANIFEST.json',))) + run('release', package / 'verify_release.py', '--main', source.parents[1], '--work', work / 'release', + '--native-cache', cache, '--jobs', a.jobs) + receipt = read(work / 'release/RELEASE-RECEIPT.json') + need(receipt['status'] == 'PASS_RELEASE' and Q(receipt['kappa_decimal']) == kappa + and receipt['manifest_sha256'] == sha(package / 'MANIFEST.json'), 'complete release binding') + need(sha(source / 'MANIFEST.json') == SOURCE_MANIFEST + and tree(source, ('MANIFEST.json',)) == source_files and tree(cache) == native_receipt['cache_files'], + 'read-only source/cache inputs changed') + result.update(status='PASS_COMPOSED_ORDER_FILL_DERIVATIVE_COMPLETE_RELEASE', + complex_lower=str(C), kappa=str(kappa), kappa_decimal=row['decimal'], + gain=str(kappa-previous), release_receipt_sha256=sha(work / 'release/RELEASE-RECEIPT.json'), + package_manifest_sha256=sha(package / 'MANIFEST.json'), stages=stages, + scope='Conditional finite construction and modern outer arithmetic. Exact inherited theorem obligations remain. Both native providers explicitly reused from authenticated fresh five-stage runs.') + write(work / 'RESULT.json', result) + print(result['status'], row['decimal'], flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/superior-replica-kappa/verify.py b/research/superior-replica-kappa/verify.py new file mode 100644 index 0000000000..45a1f05225 --- /dev/null +++ b/research/superior-replica-kappa/verify.py @@ -0,0 +1,79 @@ +"""Source inventory and independently replayed finite controls. Apache-2.0.""" +from __future__ import annotations +from hashlib import sha256 +import json +from pathlib import Path + +ALLOWED_AXIOMS = {"propext", "Classical.choice", "Quot.sound"} + +def need(condition, message): + if not condition: + raise ValueError(message) + +def digest(path): + return sha256(Path(path).read_bytes()).hexdigest() + +def inventory(root): + root = Path(root) + pins = json.loads((root / "MANIFEST.json").read_text(encoding="utf-8")) + actual = {p.relative_to(root).as_posix() for p in root.rglob("*") + if p.is_file() and ".lake" not in p.relative_to(root).parts + and "__pycache__" not in p.relative_to(root).parts + and p.relative_to(root).as_posix() != "MANIFEST.json"} + need(actual == set(pins), "exact package source inventory differs") + for name, expected in pins.items(): + p = root / name + need(not p.is_symlink() and p.resolve().is_relative_to(root.resolve()), "external source: " + name) + need(digest(p) == expected, "source hash differs: " + name) + return pins + +def validate_audit(rows, expected_names, expected_modules): + need(isinstance(rows, list) and rows, "empty declaration audit") + names = [r.get("name") for r in rows] + need(len(names) == len(set(names)), "duplicate declaration reports") + need(set(names) == set(expected_names), "missing or unexpected declaration reports") + need(all(r.get("module") in expected_modules for r in rows), "foreign defining module") + need(set(r["module"] for r in rows) == set(expected_modules), "missing defining module coverage") + for row in rows: + need(row.get("kind") in {"theorem", "definition", "opaque", "axiom", "other"}, "missing declaration kind") + need(row["kind"] != "axiom", "package declares its own axiom: " + row["name"]) + need(isinstance(row.get("axioms"), list), "missing axiom list") + need(set(row["axioms"]) <= ALLOWED_AXIOMS, "unapproved dependency: " + row["name"]) + need(any(r["kind"] == "theorem" for r in rows), "no actual theorem audit") + +def audit_controls(): + good = [{"name": "MultitapeToolkit.fixture", "module": "MultitapeToolkit.Model", "kind": "theorem", "axioms": ["propext"]}, + {"name": "_private.MultitapeToolkit.Model.0.helper", "module": "MultitapeToolkit.Model", "kind": "theorem", "axioms": []}] + expected = [r["name"] for r in good] + modules = {"MultitapeToolkit.Model"} + validate_audit(good, expected, modules) + cases = [([], "zero reports"), (good[:1], "missing report"), + (good + [good[0]], "duplicate report"), + (good + [dict(good[0], name="MultitapeToolkit.extra")], "unexpected report"), + ([dict(good[0], axioms=["sorryAx"]), good[1]], "unproved theorem"), + ([dict(good[0], axioms=["arbitraryOracle"]), good[1]], "unproved oracle"), + ([dict(r, kind="definition") for r in good], "no theorem"), + ([dict(good[0], axioms=None), good[1]], "absent axiom list"), + ([dict(good[0], kind="axiom", axioms=[]), good[1]], "forged empty own axiom"), + ([dict(good[0], module="Foreign.Model"), good[1]], "foreign ownership"), + ([dict(good[0], module="MultitapeToolkit.Trace"), good[1]], "unexpected module")] + for rows, label in cases: + try: + validate_audit(rows, expected, modules) + except (ValueError, TypeError): + continue + raise ValueError("accepted audit corruption: " + label) + return len(cases) + + +def main(): + import argparse + parser=argparse.ArgumentParser(description=__doc__) + parser.parse_args() + root=Path(__file__).resolve().parent + pins=inventory(root) + controls=audit_controls() + print(json.dumps(dict(status="PASS_SOURCE_INVENTORY_AND_AUDIT_CONTROLS",files=len(pins),audit_corruptions_rejected=controls,kernel_checked=False))) + +if __name__=="__main__": + main()